From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 20 08:10:36 2017 Received: (at submit) by debbugs.gnu.org; 20 Mar 2017 12:10:36 +0000 Received: from localhost ([127.0.0.1]:35944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cpw8w-0005xy-QM for submit@debbugs.gnu.org; Mon, 20 Mar 2017 08:10:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41499) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cpw8v-0005xm-8q for submit@debbugs.gnu.org; Mon, 20 Mar 2017 08:10:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cpw8p-0006Us-2s for submit@debbugs.gnu.org; Mon, 20 Mar 2017 08:10:28 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:57242) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cpw8o-0006Uj-VL for submit@debbugs.gnu.org; Mon, 20 Mar 2017 08:10:26 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60703) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpw8n-0000qe-Mo for guix-patches@gnu.org; Mon, 20 Mar 2017 08:10:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cpw8i-0006Sq-Ng for guix-patches@gnu.org; Mon, 20 Mar 2017 08:10:25 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59680) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpw8i-0006Si-J8 for guix-patches@gnu.org; Mon, 20 Mar 2017 08:10:20 -0400 Received: from ip-80-113-14-101.ip.prioritytelecom.net ([80.113.14.101]:47857 helo=antelope) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cpw8h-0007ZG-VL for guix-patches@gnu.org; Mon, 20 Mar 2017 08:10:20 -0400 User-agent: mu4e 0.9.18; emacs 25.1.1 From: Roel Janssen To: guix-patches@gnu.org Subject: Allow custom FTP logins. Message-ID: <87h92o175o.fsf@gnu.org> Date: Mon, 20 Mar 2017 13:10:08 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-ftp-client-Allow-custom-username-and-password-for-FT.patch >From 8536ba69ec3a04930e8a78c8f2b824df3e8c0454 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 20 Mar 2017 12:57:25 +0100 Subject: [PATCH 1/2] ftp-client: Allow custom username and password for FTP servers. * guix/ftp-client.scm (ftp-open): Add username and password arguments. --- guix/ftp-client.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm index 0a179282e..054a00ad7 100644 --- a/guix/ftp-client.scm +++ b/guix/ftp-client.scm @@ -121,7 +121,10 @@ seconds to wait for the connection to succeed." (raise-error errno))))) (connect s sockaddr))) -(define* (ftp-open host #:optional (port "ftp") #:key timeout) +(define* (ftp-open host #:optional (port "ftp") + #:key timeout + (username "anonymous") + (password "guix@example.com")) "Open an FTP connection to HOST on PORT (a service-identifying string, or a TCP port number), and return it. @@ -156,7 +159,7 @@ TIMEOUT, an ETIMEDOUT error is raised." (if (eqv? code 220) (begin ;;(%ftp-command "OPTS UTF8 ON" 200 s) - (%ftp-login "anonymous" "guix@example.com" s) + (%ftp-login username password s) (%make-ftp-connection s ai)) (begin (close s) -- 2.11.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-download-Handle-username-and-password-properties-for.patch >From e7263ce1d1a242f187c9801b14ea47043f59be8e Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 20 Mar 2017 12:59:59 +0100 Subject: [PATCH 2/2] download: Handle username and password properties for FTP uris. guix/build/download.scm (ftp-fetch): Process username and password from a URI. --- guix/build/download.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 36c815c16..f48da7500 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -241,7 +241,14 @@ and 'guix publish', something like (define* (ftp-fetch uri file #:key timeout) "Fetch data from URI and write it to FILE. Return FILE on success. Bail out if the connection could not be established in less than TIMEOUT seconds." - (let* ((conn (ftp-open (uri-host uri) #:timeout timeout)) + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) + (username (if (and (> (length userinfo) 0) + (not (string= (car userinfo) ""))) + (car userinfo) #f)) + (password (if (> (length userinfo) 1) (cadr userinfo) #f)) + (conn (ftp-open (uri-host uri) #:timeout timeout + #:username username + #:password password)) (size (false-if-exception (ftp-size conn (uri-path uri)))) (in (ftp-retr conn (basename (uri-path uri)) (dirname (uri-path uri))))) -- 2.11.1 --=-=-= Content-Type: text/plain Dear guix, These two patches enable the handling of usernames and passwords in a FTP uri. Kind regards, Roel Janssen --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 20 15:10:46 2017 Received: (at 26191) by debbugs.gnu.org; 20 Mar 2017 19:10:46 +0000 Received: from localhost ([127.0.0.1]:36663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cq2hZ-0007eu-UY for submit@debbugs.gnu.org; Mon, 20 Mar 2017 15:10:46 -0400 Received: from lb1.openmailbox.org ([5.79.108.160]:49938 helo=mail.openmailbox.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cq2hX-0007em-Ox for 26191@debbugs.gnu.org; Mon, 20 Mar 2017 15:10:44 -0400 Received: by mail.openmailbox.org (Postfix, from userid 20002) id 3E3FB508A0E; Mon, 20 Mar 2017 20:10:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org; s=openmailbox; t=1490037042; bh=iRqcTNCCDjgTf/y6+So+PeP7JGGglewMUrdckS20VFg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=m7fGncHPEh/WEKh7F6DNGlSEzSdJbNcHjz82WIOHJsUQYFvCDIxq6AVq5K0jlXq4t FmmzJoFYJ1IDVl9liO99+i8md84guZRNx6h3N49lfoaiVa5FSEFejLKyw9beuftnax 5/znjjX0U5lJiR72KBfi4cY0Z2+eBdwh3AiYXtu8= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ZDZR002 X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=NO_RECEIVED,NO_RELAYS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=disabled version=3.4.0 From: Kei Kebreau DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=openmailbox.org; s=openmailbox; t=1490037040; bh=iRqcTNCCDjgTf/y6+So+PeP7JGGglewMUrdckS20VFg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=huNPR+AqFu1aXluwL7kTp1XzSHMqe59uk1XDj9NSj+PSxHZ5NUU5ZaChhpfFJlUwG 9gR9wCtv2/X2MaH6eju6VZm97xhlLVeHDrVuG2yHi1Amk68Dqu3foHiH3Pjvh9LUrF BQQW5TWP2WKywvFaT2c+eXnkMj4ssag0wxsp8AVY= To: Roel Janssen Subject: Re: bug#26191: Allow custom FTP logins. References: <87h92o175o.fsf@gnu.org> Date: Mon, 20 Mar 2017 15:10:14 -0400 In-Reply-To: <87h92o175o.fsf@gnu.org> (Roel Janssen's message of "Mon, 20 Mar 2017 13:10:08 +0100") Message-ID: <87y3vz4ve1.fsf@openmailbox.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 26191 Cc: 26191@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --=-=-= Content-Type: text/plain Roel Janssen writes: >>>From e7263ce1d1a242f187c9801b14ea47043f59be8e Mon Sep 17 00:00:00 2001 > From: Roel Janssen > Date: Mon, 20 Mar 2017 12:59:59 +0100 > Subject: [PATCH 2/2] download: Handle username and password properties for FTP > uris. > > guix/build/download.scm (ftp-fetch): Process username and password from a URI. > --- > guix/build/download.scm | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/guix/build/download.scm b/guix/build/download.scm > index 36c815c16..f48da7500 100644 > --- a/guix/build/download.scm > +++ b/guix/build/download.scm > @@ -241,7 +241,14 @@ and 'guix publish', something like > (define* (ftp-fetch uri file #:key timeout) > "Fetch data from URI and write it to FILE. Return FILE on success. Bail > out if the connection could not be established in less than TIMEOUT seconds." > - (let* ((conn (ftp-open (uri-host uri) #:timeout timeout)) > + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) > + (username (if (and (> (length userinfo) 0) > + (not (string= (car userinfo) ""))) > + (car userinfo) #f)) > + (password (if (> (length userinfo) 1) (cadr userinfo) #f)) > + (conn (ftp-open (uri-host uri) #:timeout timeout > + #:username username > + #:password password)) > (size (false-if-exception (ftp-size conn (uri-path uri)))) > (in (ftp-retr conn (basename (uri-path uri)) > (dirname (uri-path uri))))) Hi Roel, The code looks good and seems to work fine, but seeing that this is my first time reviewing a patch to the "inner workings" of Guix, I'll defer to the opinion of someone more experienced. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAljQKRcACgkQ5qXuPBlG eg25jA//cB21Fu2Q6CEq8/MUA7qgqhPGN5VLIIWXOJElRgurvAhT9/8cqYp+oz6g NnWIIZcd2yNfhLS0JxwaMIkGaosgBdsn9MdheUs2lcsC4qEwghVs1hir3rcwGq/j N5+KQwmjJrZXqgRz0CP5Iu7w52YLq7ZJROMcfaSNuiZAPf0vxSt0TzPqxEukZE2Y Mu1ayjZvGeIN/4T/xRIwo48MycEfienFS00V8UULYDTms4kd2wQYrZjgW/iGrihn v//gyEsirDo+lJdlbrqfbu+YXljIjwXo9OBrQw/Xm5JeNqoF35VI1sI9sJ5QcpEQ Wy4DtYE4SunZLXjWbZjn6LDrTkgn8icfvJUuX70KLbPrlX0nGxTRCdfJbBHcWhsR ET45sS0lWCeWzjNcbVSi9YfgHxV1NKShf0r2enrmDluLI/E/QeF9YKisfY23JfUa mXCcbOtLsoowY3B2gS4/v60McYMmajTeW2E9t4UKJ5dexxHaHVLlaYwchluzl+yn EZZbCKhIuCMVKMXZJklnCjDWsqr5V25dOAP45rmwrxa1TPIo8m3x6f3pMCURCx9q 7khpi1VFH9GVKTkQOgAebU1h1RQ5nX7Jg1s00p57FD7fJf01a4IC33E1yEVloiI4 aj3R5WItnVdJEeb7S+A39opdP4kqMtrxTn439hEg+Tr1ZS7bTAs= =cc+h -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 20 15:45:02 2017 Received: (at 26191) by debbugs.gnu.org; 20 Mar 2017 19:45:02 +0000 Received: from localhost ([127.0.0.1]:36697 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cq3Ej-0000B5-Mm for submit@debbugs.gnu.org; Mon, 20 Mar 2017 15:45:01 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:33016) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cq3Ei-0000Ao-TZ for 26191@debbugs.gnu.org; Mon, 20 Mar 2017 15:45:01 -0400 Received: from localhost (178.113.150.208.wireless.dyn.drei.com [178.113.150.208]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 0A4491CA0199; Mon, 20 Mar 2017 20:44:56 +0100 (CET) Date: Mon, 20 Mar 2017 20:44:48 +0100 From: Danny Milosavljevic To: Roel Janssen Subject: Re: bug#26191: Allow custom FTP logins. Message-ID: <20170320204448.5be3a0f2@scratchpost.org> In-Reply-To: <87h92o175o.fsf@gnu.org> References: <87h92o175o.fsf@gnu.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26191 Cc: 26191@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Roel, On Mon, 20 Mar 2017 13:10:08 +0100 Roel Janssen wrote: > + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) > + (username (if (and (> (length userinfo) 0) > + (not (string= (car userinfo) ""))) > + (car userinfo) #f)) > + (password (if (> (length userinfo) 1) (cadr userinfo) #f)) It would make it more readable if you used (match ...). From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 20 16:31:06 2017 Received: (at 26191) by debbugs.gnu.org; 20 Mar 2017 20:31:06 +0000 Received: from localhost ([127.0.0.1]:36744 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cq3xJ-0001Ho-Po for submit@debbugs.gnu.org; Mon, 20 Mar 2017 16:31:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:54339) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cq3xH-0001HK-O9 for 26191@debbugs.gnu.org; Mon, 20 Mar 2017 16:31:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cq3x9-0000CT-9A for 26191@debbugs.gnu.org; Mon, 20 Mar 2017 16:30:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39441) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cq3x9-0000CM-0l for 26191@debbugs.gnu.org; Mon, 20 Mar 2017 16:30:55 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:59176 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cq3x8-00015H-9P; Mon, 20 Mar 2017 16:30:54 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Roel Janssen Subject: Re: bug#26191: Allow custom FTP logins. References: <87h92o175o.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 =?utf-8?Q?Vent=C3=B4se?= an 225 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Mon, 20 Mar 2017 21:30:52 +0100 In-Reply-To: <87h92o175o.fsf@gnu.org> (Roel Janssen's message of "Mon, 20 Mar 2017 13:10:08 +0100") Message-ID: <87d1dbu1vn.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26191 Cc: 26191@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Roel Janssen skribis: > From 8536ba69ec3a04930e8a78c8f2b824df3e8c0454 Mon Sep 17 00:00:00 2001 > From: Roel Janssen > Date: Mon, 20 Mar 2017 12:57:25 +0100 > Subject: [PATCH 1/2] ftp-client: Allow custom username and password for F= TP > servers. > > * guix/ftp-client.scm (ftp-open): Add username and password arguments. OK! > From e7263ce1d1a242f187c9801b14ea47043f59be8e Mon Sep 17 00:00:00 2001 > From: Roel Janssen > Date: Mon, 20 Mar 2017 12:59:59 +0100 > Subject: [PATCH 2/2] download: Handle username and password properties fo= r FTP > uris. > > guix/build/download.scm (ftp-fetch): Process username and password from a= URI. [...] > + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) > + (username (if (and (> (length userinfo) 0) > + (not (string=3D (car userinfo) ""))) > + (car userinfo) #f)) > + (password (if (> (length userinfo) 1) (cadr userinfo) #f)) > + (conn (ftp-open (uri-host uri) #:timeout timeout > + #:username username > + #:password password)) Of course I have to agree with Danny here regarding =E2=80=98match=E2=80=99= . ;-) (let ((user (match userinfo (() #f) (("") #f) (((? string? user)) user))) (pass (match userinfo =E2=80=A6))) =E2=80=A6) OK with a change along these lines. Thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 21 04:52:31 2017 Received: (at 26191) by debbugs.gnu.org; 21 Mar 2017 08:52:31 +0000 Received: from localhost ([127.0.0.1]:37175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqFWp-0003mM-1T for submit@debbugs.gnu.org; Tue, 21 Mar 2017 04:52:31 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55335) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqFWo-0003m9-6b for 26191@debbugs.gnu.org; Tue, 21 Mar 2017 04:52:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cqFWi-0003C3-45 for 26191@debbugs.gnu.org; Tue, 21 Mar 2017 04:52:25 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD, T_FILL_THIS_FORM_SHORT autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48893) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cqFWc-00037X-IQ; Tue, 21 Mar 2017 04:52:18 -0400 Received: from ip-80-113-14-101.ip.prioritytelecom.net ([80.113.14.101]:14903 helo=antelope) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cqFWb-0005KQ-E6; Tue, 21 Mar 2017 04:52:18 -0400 References: <87h92o175o.fsf@gnu.org> <87d1dbu1vn.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.1.1 From: Roel Janssen To: Ludovic =?utf-8?Q?Court=C3=A8s?= , Danny Milosavljevic Subject: Re: bug#26191: Allow custom FTP logins. In-reply-to: <87d1dbu1vn.fsf@gnu.org> Date: Tue, 21 Mar 2017 09:51:57 +0100 Message-ID: <871strvwpe.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26191 Cc: 26191@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-download-Handle-username-and-password-properties-for.patch >From c5e193ba69392efdb3ef9769ea4e3eb705dbb2f0 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Tue, 21 Mar 2017 09:41:49 +0100 Subject: [PATCH] download: Handle username and password properties for FTP URIs. * guix/build/download.scm (ftp-fetch): Process username and password from a URI. --- guix/build/download.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 36c815c..c5dddf8 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -241,7 +241,18 @@ and 'guix publish', something like (define* (ftp-fetch uri file #:key timeout) "Fetch data from URI and write it to FILE. Return FILE on success. Bail out if the connection could not be established in less than TIMEOUT seconds." - (let* ((conn (ftp-open (uri-host uri) #:timeout timeout)) + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) + (conn (match userinfo + (("") + (ftp-open (uri-host uri) #:timeout timeout)) + (((? string? user)) + (ftp-open (uri-host uri) #:timeout timeout + #:username user)) + (((? string? user) (? string? pass)) + (ftp-open (uri-host uri) #:timeout timeout + #:username user + #:password pass)) + (_ (ftp-open (uri-host uri) #:timeout timeout)))) (size (false-if-exception (ftp-size conn (uri-path uri)))) (in (ftp-retr conn (basename (uri-path uri)) (dirname (uri-path uri))))) -- 2.7.4 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Hello Danny and Ludo’, Thanks for your quick responses and feedback! Ludovic Courtès writes: > Roel Janssen skribis: > >> From 8536ba69ec3a04930e8a78c8f2b824df3e8c0454 Mon Sep 17 00:00:00 2001 >> From: Roel Janssen >> Date: Mon, 20 Mar 2017 12:57:25 +0100 >> Subject: [PATCH 1/2] ftp-client: Allow custom username and password for FTP >> servers. >> >> * guix/ftp-client.scm (ftp-open): Add username and password arguments. > > OK! > >> From e7263ce1d1a242f187c9801b14ea47043f59be8e Mon Sep 17 00:00:00 2001 >> From: Roel Janssen >> Date: Mon, 20 Mar 2017 12:59:59 +0100 >> Subject: [PATCH 2/2] download: Handle username and password properties for FTP >> uris. >> >> guix/build/download.scm (ftp-fetch): Process username and password from a URI. > > [...] > >> + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) >> + (username (if (and (> (length userinfo) 0) >> + (not (string= (car userinfo) ""))) >> + (car userinfo) #f)) >> + (password (if (> (length userinfo) 1) (cadr userinfo) #f)) >> + (conn (ftp-open (uri-host uri) #:timeout timeout >> + #:username username >> + #:password password)) > > Of course I have to agree with Danny here regarding ‘match’. ;-) > > (let ((user (match userinfo > (() #f) > (("") #f) > (((? string? user)) user))) > (pass (match userinfo > …))) > …) > > OK with a change along these lines. I am unsure about this patch (see attached). Is this what you had in mind? I would probably have to add a copyright line as well, right? Thank you! Kind regards, Roel Janssen --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 21 06:50:02 2017 Received: (at 26191) by debbugs.gnu.org; 21 Mar 2017 10:50:02 +0000 Received: from localhost ([127.0.0.1]:37252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqHMY-0006f9-CS for submit@debbugs.gnu.org; Tue, 21 Mar 2017 06:50:02 -0400 Received: from eggs.gnu.org ([208.118.235.92]:33329) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqHMW-0006eb-RB for 26191@debbugs.gnu.org; Tue, 21 Mar 2017 06:50:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cqHMN-0007jE-Mj for 26191@debbugs.gnu.org; Tue, 21 Mar 2017 06:49:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50676) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cqHMN-0007j3-Jh; Tue, 21 Mar 2017 06:49:51 -0400 Received: from [193.50.110.74] (port=37312 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cqHMM-00055N-So; Tue, 21 Mar 2017 06:49:51 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Roel Janssen Subject: Re: bug#26191: Allow custom FTP logins. References: <87h92o175o.fsf@gnu.org> <87d1dbu1vn.fsf@gnu.org> <871strvwpe.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 1 Germinal an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Tue, 21 Mar 2017 11:49:48 +0100 In-Reply-To: <871strvwpe.fsf@gnu.org> (Roel Janssen's message of "Tue, 21 Mar 2017 09:51:57 +0100") Message-ID: <877f3ivr8z.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26191 Cc: 26191@debbugs.gnu.org, Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Roel, Roel Janssen skribis: > Ludovic Court=C3=A8s writes: > >> Roel Janssen skribis: >> >>> From 8536ba69ec3a04930e8a78c8f2b824df3e8c0454 Mon Sep 17 00:00:00 2001 >>> From: Roel Janssen >>> Date: Mon, 20 Mar 2017 12:57:25 +0100 >>> Subject: [PATCH 1/2] ftp-client: Allow custom username and password for= FTP >>> servers. >>> >>> * guix/ftp-client.scm (ftp-open): Add username and password arguments. >> >> OK! >> >>> From e7263ce1d1a242f187c9801b14ea47043f59be8e Mon Sep 17 00:00:00 2001 >>> From: Roel Janssen >>> Date: Mon, 20 Mar 2017 12:59:59 +0100 >>> Subject: [PATCH 2/2] download: Handle username and password properties = for FTP >>> uris. >>> >>> guix/build/download.scm (ftp-fetch): Process username and password from= a URI. >> >> [...] >> >>> + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) >>> + (username (if (and (> (length userinfo) 0) >>> + (not (string=3D (car userinfo) ""))) >>> + (car userinfo) #f)) >>> + (password (if (> (length userinfo) 1) (cadr userinfo) #f)) >>> + (conn (ftp-open (uri-host uri) #:timeout timeout >>> + #:username username >>> + #:password password)) >> >> Of course I have to agree with Danny here regarding =E2=80=98match=E2=80= =99. ;-) >> >> (let ((user (match userinfo >> (() #f) >> (("") #f) >> (((? string? user)) user))) >> (pass (match userinfo >> =E2=80=A6))) >> =E2=80=A6) >> >> OK with a change along these lines. > > I am unsure about this patch (see attached). Is this what you had in min= d? > I would probably have to add a copyright line as well, right? Yes, LGTM! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 21 07:19:06 2017 Received: (at 26191-done) by debbugs.gnu.org; 21 Mar 2017 11:19:06 +0000 Received: from localhost ([127.0.0.1]:37257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqHof-0007SN-VM for submit@debbugs.gnu.org; Tue, 21 Mar 2017 07:19:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40300) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqHoe-0007Re-BB for 26191-done@debbugs.gnu.org; Tue, 21 Mar 2017 07:19:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cqHoY-0005r5-E3 for 26191-done@debbugs.gnu.org; Tue, 21 Mar 2017 07:18:59 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51029) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cqHoS-0005lk-SC; Tue, 21 Mar 2017 07:18:52 -0400 Received: from ip-80-113-14-101.ip.prioritytelecom.net ([80.113.14.101]:18458 helo=antelope) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cqHoS-0006D2-4F; Tue, 21 Mar 2017 07:18:52 -0400 References: <87h92o175o.fsf@gnu.org> <87d1dbu1vn.fsf@gnu.org> <871strvwpe.fsf@gnu.org> <877f3ivr8z.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.1.1 From: Roel Janssen To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#26191: Allow custom FTP logins. In-reply-to: <877f3ivr8z.fsf@gnu.org> Date: Tue, 21 Mar 2017 12:18:40 +0100 Message-ID: <874lym514f.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26191-done Cc: 26191-done@debbugs.gnu.org, Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Ludovic Courtès writes: > Hi Roel, > > Roel Janssen skribis: > >> Ludovic Courtès writes: >> >>> Roel Janssen skribis: >>> >>>> From 8536ba69ec3a04930e8a78c8f2b824df3e8c0454 Mon Sep 17 00:00:00 2001 >>>> From: Roel Janssen >>>> Date: Mon, 20 Mar 2017 12:57:25 +0100 >>>> Subject: [PATCH 1/2] ftp-client: Allow custom username and password for FTP >>>> servers. >>>> >>>> * guix/ftp-client.scm (ftp-open): Add username and password arguments. >>> >>> OK! >>> >>>> From e7263ce1d1a242f187c9801b14ea47043f59be8e Mon Sep 17 00:00:00 2001 >>>> From: Roel Janssen >>>> Date: Mon, 20 Mar 2017 12:59:59 +0100 >>>> Subject: [PATCH 2/2] download: Handle username and password properties for FTP >>>> uris. >>>> >>>> guix/build/download.scm (ftp-fetch): Process username and password from a URI. >>> >>> [...] >>> >>>> + (let* ((userinfo (string-split (uri-userinfo uri) #\:)) >>>> + (username (if (and (> (length userinfo) 0) >>>> + (not (string= (car userinfo) ""))) >>>> + (car userinfo) #f)) >>>> + (password (if (> (length userinfo) 1) (cadr userinfo) #f)) >>>> + (conn (ftp-open (uri-host uri) #:timeout timeout >>>> + #:username username >>>> + #:password password)) >>> >>> Of course I have to agree with Danny here regarding ‘match’. ;-) >>> >>> (let ((user (match userinfo >>> (() #f) >>> (("") #f) >>> (((? string? user)) user))) >>> (pass (match userinfo >>> …))) >>> …) >>> >>> OK with a change along these lines. >> >> I am unsure about this patch (see attached). Is this what you had in mind? >> I would probably have to add a copyright line as well, right? > > Yes, LGTM! Ok, thanks! I pushed the two patches. Kind regards, Roel Janssen From unknown Tue Jun 24 19:09:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 18 Apr 2017 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator