~ruther/guix-local

862d2479f686abaa4d1881ad6eafb689bec157e8 — Ludovic Courtès 10 years ago d6d3398
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'.
2 files changed, 7 insertions(+), 4 deletions(-)

M guix/ftp-client.scm
M guix/scripts/lint.scm
M guix/ftp-client.scm => guix/ftp-client.scm +6 -3
@@ 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

M guix/scripts/lint.scm => guix/scripts/lint.scm +1 -1
@@ 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)