From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alexandre Garreau Newsgroups: gmane.emacs.devel Subject: Re: GStreamer xwidget Date: Thu, 25 Nov 2021 12:34:54 +0100 Message-ID: <3078729.DpKycgFFEj@galex-713.eu> References: <87ee7cq2mu.fsf.ref@yahoo.com> <87pmqozm99.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36290"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Po Lu , larsi@gnus.org, Richard Stallman To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 25 13:03:40 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mqDTX-0009Cm-Ss for ged-emacs-devel@m.gmane-mx.org; Thu, 25 Nov 2021 13:03:39 +0100 Original-Received: from localhost ([::1]:50744 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mqDTW-00065G-Js for ged-emacs-devel@m.gmane-mx.org; Thu, 25 Nov 2021 07:03:38 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:43460) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mqDRw-00051f-Aq for emacs-devel@gnu.org; Thu, 25 Nov 2021 07:02:00 -0500 Original-Received: from [2a00:5884:8305::1] (port=60918 helo=galex-713.eu) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mqDRu-0000ID-Kb; Thu, 25 Nov 2021 07:01:59 -0500 Original-Received: from gal by galex-713.eu with local (Exim 4.92) (envelope-from ) id 1mqD1i-0006Mi-Ir; Thu, 25 Nov 2021 12:34:54 +0100 In-Reply-To: <87pmqozm99.fsf@yahoo.com> X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:5884:8305::1 (failed) Received-SPF: pass client-ip=2a00:5884:8305::1; envelope-from=galex-713@galex-713.eu; helo=galex-713.eu X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:280101 Archived-At: Le Thursday, 25 November 2021, 09:13:06 CET Po Lu a =C3=A9crit : > Richard Stallman writes: > > > As GStreamer doesn't load plugins by yourself, you do so by making > > > sure > > > to only pass good plugin names to the element factory. > >=20 > > We're starting to close in on the crucial point. > >=20 > > Can you show me the code Emacs would use to control which plug-ins are > > permitted? In other words, how does a program "pass plug-in names" > > to the element factory? >=20 > In the function call to `gst_element_factory_make'. We would have to > verify that the first argument, a C string, names a plugin included in > `gst-plugins-base' or `gst-plugins-good'. > > I'm trying to do a kind of security analysis of this. Does passing > > the right list of plug-in names depend on the cooperation of other > > projects? >=20 > The GStreamer developers, who overlap greatly with other Freedesktop.org > projects. > We would have to trust them to place only free plugins in > `gst-plugins-good' and `gst-plugins-base', and to document the plugins > correctly. Wait, it=E2=80=99s not needed to trust anyone. There aren=E2=80=99t millio= ns of plugins,=20 maximum hundreds: it would be perfectly feasible to include the list of=20 all of them into emacs. The question is whether to *delegate* that work=20 to GNOME, and the issue would then be when that list changes, what about=20 updates, etc. Btw, why whitelisting good and base, instead of blacklisting bad and ugly? = =20 Do we want to blacklist any unknown plugins? GNU software, through=20 configure for instance, has been known to ease not only classical hacking,= =20 by distros and full forks, but also by individual users, private=20 configurations, etc. and still have all software interactions working=E2=80= =A6 Isn=E2=80=99t there a way to tell the license of the plugin inside each of = him? if=20 I remember well, GCC had some sort of a such thing (something to declare=20 explicitely the plugin is under GPLv3 or GPLv3+), and I guess emacs too,=20 right? It would be bad, I believe, if any individual programs a gst plugin= =20 for themselves (to begin, before to publish it), and cannot use it into=20 emacs, even though it=E2=80=99s free=E2=80=A6 and neither a friend of them = can, although=20 they would be a free license to make the friend free=E2=80=A6 it would mea= n to=20 centralize the decision of =E2=80=9Cwhat plugins can run=E2=80=9D into GNOM= E=E2=80=99s hand, and=20 it=E2=80=99s actually, I believe, some sort of free-software, weak (*becaus= e* it=E2=80=99s=20 free-software, then modifiable (btw it would be even better if that=20 checking was done in lisp, or had some kind of configuration option for=20 it: afaiu it=E2=80=99s illegal to distribute software with incompatible lic= enses,=20 but not using one so, so an individual could still use emacs with some=20 plugin that=E2=80=99s not juridically free-software because it has no licen= se and=20 the author is the only person to possess a copy of that plugin)) DRM=E2=80= =A6 On the other hand, the main risk here is if a distribution includes bad or= =20 ugly, then emacs would use proprietary software, not that the user=20 programs or download one plugin, and that, by disfortune, the plugin the=20 user chose is possibly proprietary, right? because since the user choose,=20 well they can just as well choose a free software, and the 4 categories=20 (good, base, bad, ugly) established by GNOME are outside of that=E2=80=A6