From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ted Zlatanov Newsgroups: gmane.emacs.devel Subject: Re: Opportunistic STARTTLS in smtpmail.el Date: Mon, 02 May 2011 13:52:20 -0500 Organization: =?utf-8?B?0KLQtdC+0LTQvtGAINCX0LvQsNGC0LDQvdC+0LI=?= @ Cienfuegos Message-ID: <8762ptue8r.fsf@lifelogs.com> References: <87d3kal0za.fsf@lifelogs.com> <874o5mky4o.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1304362372 16284 80.91.229.12 (2 May 2011 18:52:52 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 2 May 2011 18:52:52 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon May 02 20:52:48 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QGyEf-0001eY-Sp for ged-emacs-devel@m.gmane.org; Mon, 02 May 2011 20:52:46 +0200 Original-Received: from localhost ([::1]:39197 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QGyEf-0007rT-9r for ged-emacs-devel@m.gmane.org; Mon, 02 May 2011 14:52:45 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:49341) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QGyEa-0007rM-Jz for emacs-devel@gnu.org; Mon, 02 May 2011 14:52:43 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QGyEW-0007yc-6e for emacs-devel@gnu.org; Mon, 02 May 2011 14:52:40 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:45088) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QGyEV-0007yW-Nm for emacs-devel@gnu.org; Mon, 02 May 2011 14:52:36 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QGyEU-0001X3-1R for emacs-devel@gnu.org; Mon, 02 May 2011 20:52:34 +0200 Original-Received: from 38.98.147.130 ([38.98.147.130]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 02 May 2011 20:52:32 +0200 Original-Received: from tzz by 38.98.147.130 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 02 May 2011 20:52:32 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 52 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 38.98.147.130 X-Face: bd.DQ~'29fIs`T_%O%C\g%6jW)yi[zuz6; d4V0`@y-~$#3P_Ng{@m+e4o<4P'#(_GJQ%TT= D}[Ep*b!\e,fBZ'j_+#"Ps?s2!4H2-Y"sx" User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:1ozmanse3e7H9o7o41bOSjPugGk= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:138977 Archived-At: On Mon, 02 May 2011 00:19:18 +0200 Lars Magne Ingebrigtsen wrote: LMI> Lars Magne Ingebrigtsen writes: >> Hm... perhaps I should convert smtpmail.el to use opportunistic >> STARTTLS while I'm at it. LMI> Oh, now I remember why I didn't do the smtpmail.el `open-network-stream' LMI> conversion the last time. LMI> smtpmail.el provides an option to pass TLS credentials to the server via LMI> switches like LMI> "--x509keyfile" "--x509certfile" LMI> to gnutlc-cli. `open-network-stream' has no concept of these things, LMI> and I'm not sure gnutls.c has, either. Ted? Yes, definitely, with the :keyfiles and :trustfiles parameters to `gnutls-boot'. But I haven't tested that much (the functionality is on the GnuTLS side in any case). So you'd need some dynamically-scoped global variables like `gnutls-keyfiles' and `gnutls-trustfiles' to hold these, so they can be overridden as needed. LMI> If gnutls.c has, I can extend `open-network-stream' to take keywords for LMI> the keyfile and the certfile, if that is the way we want to go. Or LMI> perhaps add a global variable like `smtpmail-starttls-credentials', LMI> ;;(setq smtpmail-starttls-credentials LMI> ;; '(("YOUR SMTP HOST" 25 "~/.my_smtp_tls.key" "~/.my_smtp_tls.cert"))) LMI> but call it `network-tls-credentials', and have `open-network-stream' LMI> deal with this stuff itself -- if it's doing a STARTTLS or a TLS LMI> connection, is can consult the `network-tls-credential' variable, see if LMI> it finds a match, and then feed the required data to LMI> starttls.el/tls.el/gnutls.c. (*Phew*.) This is all nasty, nasty for the user. The whole `smtpmail-starttls-credentials' structure can be replaced with `auth-source-search' calls for all possible use cases. The user can say, for instance: machine mysmtpserver.com login tzz password mypassword keyfile "~/.keyfile" LMI> But I'm wondering -- does anybody use this credential stuff for talking LMI> to their SMTP servers? LMI> I'd rather just delete `smtpmail-starttls-credentials' and pretend that LMI> I've never heard about it. Credentials are useful. Move them to auth-source. Ted