From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joakim@verona.se Newsgroups: gmane.emacs.devel Subject: code signing with foreign function interface? Date: Sun, 07 Mar 2010 07:24:47 +0100 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1267962002 24981 80.91.229.12 (7 Mar 2010 11:40:02 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 7 Mar 2010 11:40:02 +0000 (UTC) To: Emacs development discussions Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Mar 07 07:25:13 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1No9vK-0004dH-Bm for ged-emacs-devel@m.gmane.org; Sun, 07 Mar 2010 07:25:10 +0100 Original-Received: from localhost ([127.0.0.1]:38063 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1No9vJ-0006UU-HI for ged-emacs-devel@m.gmane.org; Sun, 07 Mar 2010 01:25:09 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1No9vA-0006Sg-Pv for emacs-devel@gnu.org; Sun, 07 Mar 2010 01:25:00 -0500 Original-Received: from [140.186.70.92] (port=56280 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1No9v7-0006Qd-Hh for emacs-devel@gnu.org; Sun, 07 Mar 2010 01:24:57 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1No9v6-00085G-Ef for emacs-devel@gnu.org; Sun, 07 Mar 2010 01:24:57 -0500 Original-Received: from iwfs.imcode.com ([82.115.149.64]:38701 helo=gate.verona.se) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1No9v6-00084r-18 for emacs-devel@gnu.org; Sun, 07 Mar 2010 01:24:56 -0500 Original-Received: from localhost.localdomain (IDENT:1005@localhost [127.0.0.1]) by gate.verona.se (8.13.4/8.11.4) with ESMTP id o276OlVP025142 for ; Sun, 7 Mar 2010 07:24:48 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.90 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:121683 Archived-At: The GPL cannot prevent free and non-free code being distributed together. Therefore a distributor can push GPL non-compliance to an unknowing user. If code signing of dynamic libraries is employed, the end-user can be made aware he is breaking the intentions of the GPL. Would this be enough to satisfy the requirements for an Emacs FFI? Recently I was involved in a project which made me understand better why dynamic linking might be problematic for a free project. Also I didn't find a mention of this particular approach to an Emacs FFI, so that's why I (probably mistakenly) bring up this subject again. Here are some statements the list might want to refute or confirm: - While DRM is evil, code signing is not in itself. - Supporting code signing in Emacs should be simple on some platforms, but maybe not all interesting ones. - Removing the code-signing check is of course trivial, but no more trivial than adding a FFI to Emacs withouth checks today. - We don't necessarily need a complete secure infrastructure for this. A simple solution might be to check for the presence of a form of GNU license in binary form in the dll. This particular GNU license is itself protected by copyright and cannot be combined with other works without creating a derived work. This signature might be added to an existing dll by code signing. While this is of course circumventable, I dont see that it opens any new holes. -- Joakim Verona