From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.devel Subject: open-{gnutls,network}-stream backwards compatibility Date: Wed, 02 Jan 2019 17:49:13 +0100 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1546447693 20876 195.159.176.226 (2 Jan 2019 16:48:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 2 Jan 2019 16:48:13 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 02 17:48:09 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from listsout.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gejgf-0005K2-Hi for ged-emacs-devel@m.gmane.org; Wed, 02 Jan 2019 17:48:09 +0100 Original-Received: from localhost ([127.0.0.1]:46056 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gejim-0001OX-9E for ged-emacs-devel@m.gmane.org; Wed, 02 Jan 2019 11:50:20 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:42567) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gejhz-0001Mt-Ui for emacs-devel@gnu.org; Wed, 02 Jan 2019 11:49:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gejhu-00054k-I9 for emacs-devel@gnu.org; Wed, 02 Jan 2019 11:49:31 -0500 Original-Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:41326) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gejhs-0004vF-Pd for emacs-devel@gnu.org; Wed, 02 Jan 2019 11:49:25 -0500 Original-Received: by mail-wr1-x42a.google.com with SMTP id x10so31064428wrs.8 for ; Wed, 02 Jan 2019 08:49:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:mail-followup-to:mail-copies-to:gmane-reply-to-list :date:message-id:mime-version:content-transfer-encoding; bh=8cjaK34QWaakiS1aQlwy+xUnS+o9Ta5nLX/9RWLVpvY=; b=A83MTN3J841+MpAMxniy8JnAXI6TBayh7IH/dT7aK2NA+4TKRBS9dP8zAE5aJ5Eoi3 7qHWkzmp2BczDyTqrJq9DtLkPa5PRQc+eA4kyOaHR5uhTsQ/8PXqE+5XfTLnHW4eO2uk nd7urPF6gKWcpCv3CaYbi5TnNIb86tNxBdrp3+SirRksoUjErNPGBbmZTIh0Hyt8v4w5 uMZN2ieadtVnSUnbdIh7TBg5dixOZqvYBJlp9klLglbXz5Q+hnzj2YKsnef9ubsBE7kG Us3dWrA87HVkVFansjLGN5Lw3g3uwhS+LZthZDzeVbPfbNqqpI+sdzzj8Ex0X3vRvIVU uk1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:mail-followup-to:mail-copies-to :gmane-reply-to-list:date:message-id:mime-version :content-transfer-encoding; bh=8cjaK34QWaakiS1aQlwy+xUnS+o9Ta5nLX/9RWLVpvY=; b=NbEfeM27upfIpLgu4M+dFNw2A94XBu+VFcr52nzdFZWYtcSF0OJGHEfPjz+MFyP1un bgocGMjNgPaMsNqqkSx0g7Y9zpiLGrcGi2lvNXNQmItQF/82Ek6qHNQuMSoByouIVhNX WnzqGdTExhKcsIaSn/ndg9Roe/WvA/HlS/j+e2EFlAMeiPMeWfL2wn8VkRd4OG3dWmjT td6qspNJgovK6wJCsY90Q8Mg8IzGqMxelO34saaXQ6maV7jWknbV91Tv/tKwX7Gz1gyV Y9lLbwvbIka5qUpxM7hmkVPvCIMnKhdZRHtmERDpkveTvqWL1X23ZF/YhRzHKmnPUGTA iNow== X-Gm-Message-State: AJcUukcmpJYk/WRa0V0XO4lWSrI+OR+gp744xcvzRFE2Bg4zUhxaqNPF Y1fk+r5y7OxgYxe5/6ITtw5k0JKb X-Google-Smtp-Source: ALg8bN5olkVf15PUVEVFHiVvyuRPb2oI8laTTT6ie4+aPnbuT5WbAt2FupgjlgbAHCsAKaQBJm4ZFA== X-Received: by 2002:a5d:4b01:: with SMTP id v1mr36902513wrq.5.1546447755946; Wed, 02 Jan 2019 08:49:15 -0800 (PST) Original-Received: from rpluim-mac ([2a01:e34:ecfc:a860:49e7:b838:816f:540b]) by smtp.gmail.com with ESMTPSA id i192sm39767820wmg.7.2019.01.02.08.49.14 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 02 Jan 2019 08:49:14 -0800 (PST) Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Gmane-Reply-To-List: yes X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42a X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:232092 Archived-At: Hi, I=CA=BCm working on a fix for bug 33780 [1]. I have two questions: 1. As part of that fix, I=CA=BCd like to change the signature of open-gnutls-stream from (open-gnutls-stream name buffer host service &optional nowait) to (open-gnutls-stream name buffer host service &optional nowait parameter= s) Normally this would be fine, I think, except that the caller in Emacs core derives the value of 'nowait' from the plist that would be passed in via 'parameters' anyway, so I=CA=BCm tempted to just change it to: (open-gnutls-stream name buffer host service &optional parameters) then adjust the single in-core caller and have open-gnutls-stream call plist-get. Does anyone see any issue with doing this? I have no idea if this function is used by external code, but the Emacs GnuTLS manual says "You should not have to use the =E2=80=98gnutls.el=E2=80=99 functions d= irectly." so that should mean the calling convention is fair game. [2] 2. The whole reason for doing this is so that people can use client certificates rather than passwords for authentication of network connections. Of course, for this to work at all, all the callers of open-network-stream [3] need to be updated to pass in ':client-certificate t' to cause 'auth-source' lookups to be performed for those certificates. Again I=CA=BCm tempted to change open-network-stream such that not specifying :client-certificate is the same as specifying t, so that all Emacs core and external packages can take advantage of the feature just by adjusting their .authinfo entries, similarly to how password lookup automatically works today. However, this would be a change in default behaviour, plus I know some people are very sensitive to changes in this particular area, so I thought I=CA=BCd ask here before doing anything. =20=20=20=20 Cheers Robert Footnotes: [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D33780#17 [2] I could keep the single optional parameter, and have it be the union of nil/t/plist, with nil/t referring to :nowait, but that seems needlessly complicated [3] Of which there are at least 12 in Emacs itself