From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#38284: 27.0.50; [PATCH] Make auth-source-pass-search understand port lists Date: Wed, 20 Nov 2019 00:20:28 +0000 Message-ID: <87ftijz9df.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="78902"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: Damien Cassou , Nicolas Petton To: 38284@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Nov 20 01:22:22 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iXDlG-000KO4-KW for geb-bug-gnu-emacs@m.gmane.org; Wed, 20 Nov 2019 01:22:22 +0100 Original-Received: from localhost ([::1]:52538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iXDlE-0007W9-R6 for geb-bug-gnu-emacs@m.gmane.org; Tue, 19 Nov 2019 19:22:20 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:32927) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iXDl3-0007VG-Jo for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2019 19:22:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iXDl2-0000xA-Ff for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2019 19:22:09 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39934) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iXDl2-0000x4-C7 for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2019 19:22:08 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iXDl0-0006Ae-3p; Tue, 19 Nov 2019 19:22:06 -0500 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: damien@cassou.me, nicolas@petton.fr, bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Nov 2019 00:22:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 38284 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org X-Debbugs-Original-Xcc: Damien Cassou , Nicolas Petton Original-Received: via spool by submit@debbugs.gnu.org id=B.157420927123647 (code B ref -1); Wed, 20 Nov 2019 00:22:05 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 Nov 2019 00:21:11 +0000 Original-Received: from localhost ([127.0.0.1]:48754 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXDk7-00069L-Cd for submit@debbugs.gnu.org; Tue, 19 Nov 2019 19:21:11 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:40940) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXDk5-00069C-74 for submit@debbugs.gnu.org; Tue, 19 Nov 2019 19:21:10 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60621) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iXDk4-0007LD-11 for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2019 19:21:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iXDk1-0008IN-2s for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2019 19:21:06 -0500 Original-Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:50295) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iXDjz-0008Di-AO for bug-gnu-emacs@gnu.org; Tue, 19 Nov 2019 19:21:03 -0500 Original-Received: by mail-wm1-x332.google.com with SMTP id l17so5197202wmh.0 for ; Tue, 19 Nov 2019 16:21:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:user-agent:mime-version; bh=7qL6eQmuM05REfIStsGvRB0xH73s1MTKl/KfOYUmPPA=; b=ta4ZnWlsmQxml3BEXE2A8EMn/82B/4cJCLaTG5ub5/bzGnrvSnscrzuHS/kqN59DAs ebQe6oskpg//yqA1pfwKL+20jz9DFpHm3on1E53JU3ioF79AwcILicrCVnLl4crfnRwI ljDEb+9oG+leGeB4qYJbZxpnD4CnD83su3YWXdlJ6GKWRQM3xKIfNDLV0PEJEY4QwEMy JYk+7ryaO1sJpNO0Dm/rAIFr161ipqhHMTtbhXVZS8njMQ1SjwJdPNqrze9jSFzLKUXU /7F7L5oKGNf7i3JxVRnUJpJsgsgVvdmoPQQfUoVVacGwtXrLj4iqLOs4gMZ3NDU3kdzk CZNg== 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:date:message-id:user-agent :mime-version; bh=7qL6eQmuM05REfIStsGvRB0xH73s1MTKl/KfOYUmPPA=; b=iYDn2R1eTjsWc/HoDeyxvrxYX3LE7Pw6MsozXsTGe7WQvdY72iQJ5Av2ie9X4JVRF4 fmzjbD6QhsWSFAfpr/rdgx8RCsZp28iE6UXceM3JohIJ5UAqBm4pxo0vncSxRSncTr6k aJ4JL0pzNZ7ZspBIeg++oyg1KTiRTus5f9A81ePyrzuGjNtHt0C0bGvgV9LIbfhfT5oe /iOS5LuhCG+hwhvOywBejCtsHr3aNs86R1/cqE+WE3tALabPGFAj6rHF5MAcWMJYan3r rTznCErR9KIyXlF0SGMeUmUxms2CIOOSlUnzLu/E5qyT+SzUDv+T/OLEvo2kd8GRgq3N tBTw== X-Gm-Message-State: APjAAAWab8CHttN7IFmiKE9QcInO4ujj50ukQ8U3/V4nRisBnHTu3WXz DhB/chrmryPQf3k4RwhUHLn8yr5K X-Google-Smtp-Source: APXvYqzTcxsvRk1GWFgy3O6m+U/atkjziD4VQ2COH06h3nt8X3zAQZwtuKl4ot4OIqT5E9JEjyQBLg== X-Received: by 2002:a1c:f317:: with SMTP id q23mr70641wmq.97.1574209259386; Tue, 19 Nov 2019 16:20:59 -0800 (PST) Original-Received: from lolita.yourcompany.com ([89.180.145.231]) by smtp.gmail.com with ESMTPSA id f14sm28613067wrv.17.2019.11.19.16.20.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Nov 2019 16:20:58 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:172032 Archived-At: --=-=-= Content-Type: text/plain Hi, When trying to follow along a tutorial on setting up Gnus for GMAIL, I tried to use auth-source-pass.el to access encrypted entries under ~/.password-store instead of the usual ~/.authinfo.gpg. After much wrestling with the system, I couldn't figure out why my entry: gmail:imap.gpg whose contents are NotReallyThePassword host: imap.gmail.com user: joaotavora@gmail.com port: 993 weren't being understood by the new auth-source. Eventually I came to this patch, which seems to do the right thing. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Make-auth-source-pass-search-understand-port-lists.patch >From 4a6c24c23c9f7097807c1ef58688b51db330f503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Wed, 20 Nov 2019 00:11:00 +0000 Subject: [PATCH] Make auth-source-pass-search understand port lists For cases such as a typical IMAP Gnus setup, auto-source-pass-search will be passed a list of "port aliases" like (993 "imaps" "imap" "993" "143") in hopes of finding a matching ~/.password-store entry. This modification makes this library understand and unroll the port list so that, i.e. "domain:993", "domain:imaps"", "domain:imap", etc. are computed as potential suffixes. Previously a nonsensical string "domain:(993 imaps imap ...)" was return. * lisp/auth-source-pass.el (auth-source-pass--generate-entry-suffixes): Allow PORT to be a list of ports. --- lisp/auth-source-pass.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/auth-source-pass.el b/lisp/auth-source-pass.el index 524a72792c..cc0a6fe4de 100644 --- a/lisp/auth-source-pass.el +++ b/lisp/auth-source-pass.el @@ -269,10 +269,15 @@ auth-source-pass--generate-entry-suffixes Based on the supported pathname patterns for HOSTNAME, USER, & PORT, return a list of possible suffixes for matching entries in -the password-store." +the password-store. + +PORT may be a list of ports." (let ((domains (auth-source-pass--domains (split-string hostname "\\.")))) - (seq-mapcat (lambda (n) - (auth-source-pass--name-port-user-suffixes n user port)) + (seq-mapcat (lambda (d) + (seq-mapcat + (lambda (p) + (auth-source-pass--name-port-user-suffixes d user p)) + (if (listp port) port (list port)))) domains))) (defun auth-source-pass--domains (name-components) -- 2.24.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Please have a look, Jo=C3=A3o --=-=-=--