unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* open-{gnutls,network}-stream backwards compatibility
@ 2019-01-02 16:49 Robert Pluim
  2019-01-02 17:04 ` Eli Zaretskii
  0 siblings, 1 reply; 21+ messages in thread
From: Robert Pluim @ 2019-01-02 16:49 UTC (permalink / raw)
  To: emacs-devel

Hi,

Iʼm working on a fix for bug 33780 [1].

I have two questions:

1.  As part of that fix, Iʼd 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 parameters)

    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ʼm 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 ‘gnutls.el’ functions directly." 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ʼm 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ʼd ask here before doing anything.
    
Cheers

Robert

Footnotes:
[1]  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33780#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





^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2019-01-12 11:16 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-02 16:49 open-{gnutls,network}-stream backwards compatibility Robert Pluim
2019-01-02 17:04 ` Eli Zaretskii
2019-01-02 17:47   ` Robert Pluim
2019-01-02 18:07     ` Eli Zaretskii
2019-01-02 18:56       ` Robert Pluim
2019-01-04 14:06         ` Eli Zaretskii
2019-01-04 22:29           ` Robert Pluim
2019-01-05  6:58             ` Eli Zaretskii
2019-01-05  7:36               ` Robert Pluim
2019-01-05  8:40                 ` Eli Zaretskii
2019-01-09 21:50                 ` Robert Pluim
2019-01-10 15:53                   ` Ted Zlatanov
2019-01-10 16:05                     ` Eli Zaretskii
2019-01-12 11:16                   ` Eli Zaretskii
2019-01-02 18:12     ` Ted Zlatanov
2019-01-02 18:30       ` Eli Zaretskii
2019-01-02 19:18         ` Ted Zlatanov
2019-01-02 19:49           ` Eli Zaretskii
2019-01-02 20:01             ` Robert Pluim
2019-01-02 20:25             ` Ted Zlatanov
2019-01-04 11:15               ` Robert Pluim

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).