guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: ftp-client: Default port for 'ftp-open' is now "ftp".


From: Ludovic Courtès
Subject: 03/03: ftp-client: Default port for 'ftp-open' is now "ftp".
Date: Sun, 22 Nov 2015 13:38:04 +0000

civodul pushed a commit to branch master
in repository guix.

commit 862d2479f686abaa4d1881ad6eafb689bec157e8
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 22 14:35:28 2015 +0100

    ftp-client: Default port for 'ftp-open' is now "ftp".
    
    * guix/ftp-client.scm (ftp-open): Change default #:port to "ftp".
    * guix/scripts/lint.scm (probe-uri): Remove 'port' parameter to
    'ftp-open'.
---
 guix/ftp-client.scm   |    9 ++++++---
 guix/scripts/lint.scm |    2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm
index a6a54a4..22d4c7d 100644
--- a/guix/ftp-client.scm
+++ b/guix/ftp-client.scm
@@ -121,15 +121,18 @@ seconds to wait for the connection to succeed."
              (raise-error errno)))))
       (connect s sockaddr)))
 
-(define* (ftp-open host #:optional (port 21) #:key timeout)
+(define* (ftp-open host #:optional (port "ftp") #:key timeout)
   "Open an FTP connection to HOST on PORT (a service-identifying string,
 or a TCP port number), and return it.
 
 When TIMEOUT is not #f, it must be a (possibly inexact) number denoting the
 maximum duration in seconds to wait for the connection to complete; passed
 TIMEOUT, an ETIMEDOUT error is raised."
-  ;; Use 21 as the default PORT instead of "ftp", to avoid depending on
-  ;; libc's NSS, which is not available during bootstrap.
+  ;; Using "ftp" for PORT instead of 21 allows 'getaddrinfo' to return only
+  ;; TCP/IP addresses (otherwise it would return SOCK_DGRAM and SOCK_RAW
+  ;; addresses as well.)  With our bootstrap Guile, which includes a
+  ;; statically-linked NSS, resolving "ftp" works well, as long as
+  ;; /etc/services is available.
 
   (define addresses
     (getaddrinfo host
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index a7618ee..034f0f9 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -316,7 +316,7 @@ for connections to complete; when TIMEOUT is #f, wait as 
long as needed."
       ('ftp
        (catch #t
          (lambda ()
-           (let ((conn (ftp-open (uri-host uri) 21 #:timeout timeout)))
+           (let ((conn (ftp-open (uri-host uri) #:timeout timeout)))
              (define response
                (dynamic-wind
                  (const #f)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]