aboutsummaryrefslogtreecommitdiff
path: root/guix/ftp-client.scm
Commit message (Collapse)AuthorAge
* download: Pass the timeout to 'ftp-retr'.Ludovic Courtès2017-11-14
| | | | | | | | | | This ensures the timeout applies when connecting to the port returned by PASV. * guix/ftp-client.scm (ftp-list): Add #:timeout parameter. Use 'connect*' instead of 'connect' and pass TIMEOUT. (ftp-retr): Likewise. * guix/build/download.scm (ftp-fetch): Pass TIMEOUT to 'ftp-retr'.
* ftp-client: Allow custom username and password for FTP servers.Roel Janssen2017-03-21
| | | | * guix/ftp-client.scm (ftp-open): Add username and password arguments.
* Use (ice-9 binary-ports) instead of (rnrs io ports).Ludovic Courtès2016-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reduces the closure of (guix ui) from 123 to 106 modules. * guix/derivations.scm: Use (ice-9 binary-ports) instead of (rnrs io ports). (map-derivation)[substitute-file]: Use 'read-string' instead of 'get-string-all'. * guix/ftp-client.scm: Likewise. * guix/hash.scm: Likewise. * guix/http-client.scm: Likewise. * guix/pki.scm (ensure-acl, current-acl): Likewise. * guix/scripts/archive.scm (authorize-key)[read-key]: Likewise. * guix/scripts/authenticate.scm (read-canonical-sexp) (read-hash-data): Likewise. * guix/scripts/download.scm: Likewise. * guix/scripts/offload.scm (register-gc-root, remove-gc-roots) (send-files): Likewise. * guix/scripts/publish.scm (lazy-read-file-sexp): Likewise. * guix/scripts/refresh.scm: Likewise. * guix/scripts/substitute.scm (check-acl-initialized): Likewise. * guix/serialization.scm (read-maybe-utf8-string): Likewise. * guix/scripts/hash.scm (guix-hash): Use 'force-output' instead of 'flush-output-port'. * guix/store.scm (process-stderr): Likewise. * guix/tests.scm: Likewise. * guix/utils.scm: Use (ice-9 binary-ports) and autoload (rnrs io ports) for 'make-custom-binary-input-port'.
* ftp-client: Default port for 'ftp-open' is now "ftp".Ludovic Courtès2015-11-22
| | | | | | * guix/ftp-client.scm (ftp-open): Change default #:port to "ftp". * guix/scripts/lint.scm (probe-uri): Remove 'port' parameter to 'ftp-open'.
* ftp-client: Fix off-by-one when trying addresses in 'ftp-open'.Ludovic Courtès2015-11-22
| | | | | | * guix/ftp-client.scm (ftp-open): Change to use 'match' instead of car/cdr, and fix off-by-one (was '(null? addresses)' instead of '(null? (cdr addresses))'.)
* ftp-client: Restrict to TCP/IP connections.Ludovic Courtès2015-11-17
| | | | | | | | | Fixes <http://bugs.gnu.org/21925>. Regression introduced in 279ec1d. Reported by Chris Marusich <cmmarusich@gmail.com>. * guix/ftp-client.scm (ftp-open): Restrict sockets to SOCK_STREAM/IPPROTO_IP.
* download: Always use AI_ADDRCONFIG when resolving host names.Ludovic Courtès2015-11-12
| | | | | | | * guix/build/download.scm (open-socket-for-uri): Always pass AI_ADDRCONFIG to 'getaddrinfo' as recommended in the fine Guile manual. * guix/ftp-client.scm (ftp-open): Ditto.
* ftp-client: Add timeout parameter to 'ftp-open'.Ludovic Courtès2015-11-12
| | | | | | | * guix/ftp-client.scm (catch-EINPROGRESS): New macro. (connect*): New procedure. (ftp-open): Add #:timeout parameter. Use 'connect*' instead of 'connect' and pass it TIMEOUT.
* ftp-client: Restrict to TCP connections.Ludovic Courtès2015-11-12
| | | | | * guix/ftp-client.scm (ftp-open): Force SOCK_STREAM as the socket type to avoid calling 'connect' on a datagram socket.
* ftp-client: Throw when log-in fails.Ludovic Courtès2015-05-20
| | | | | * guix/ftp-client.scm (ftp-open): When '%ftp-listen' returns something different from 220, throw instead of writing an error message.
* ftp-client: Switch to binary mode before using the "SIZE" command.Ludovic Courtès2015-03-19
| | | | * guix/ftp-client.scm (ftp-size): Add '%ftp-command' call.
* ftp-client: Add missing CR in "USER" command.Ludovic Courtès2014-05-03
| | | | | | * guix/ftp-client.scm (%ftp-login): Add #\return before #\newline. Fixes access to some FTP servers, such as ftp://invisible-island.net ("ProFTPD 1.3.4a Server").
* ftp-client: Let callers handle `ftp-open' exceptions.Ludovic Courtès2013-05-14
| | | | | | * guix/ftp-client.scm (ftp-open): Let exceptions through. * guix/scripts/package.scm (waiting): Wrap EXP in a `dynamic-wind', so the line is always cleared.
* ftp-client: `ftp-chdir' changes one step at a time.Ludovic Courtès2013-04-27
| | | | | | * guix/ftp-client.scm (%char-set:not-slash): New variable. (ftp-chdir): Add docstring. Change to DIR one step at a time. (ftp-retr): Fix indentation.
* ftp-client: Add `ftp-size'.Ludovic Courtès2013-01-06
| | | | * guix/ftp-client.scm (ftp-size): New procedure.
* Update license headers.Ludovic Courtès2013-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change all license headers, except guix/build/* and ld-wrapper.scm, with this code: (use-modules (guix build utils) (srfi srfi-1)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (remove (lambda (f) (or (string-contains f ".tar.") (string-contains f ".git/") (string-contains f ".so") (string-suffix? ".o" f) (string-suffix? ".a" f) (string-suffix? ".go" f) (string-suffix? ".pdf" f) (string-suffix? ".png" f) (string-suffix? ".info" f) (equal? (basename f) "guix-daemon") (equal? (basename f) "nix-setuid-helper") (string-contains f "nix-upstream/") (string-contains f "distro/packages/bootstrap/"))) (find-files "." "\\.[a-z]+$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) Change headers using C-style comments manually.
* http/ftp: Tweak to avoid depending on libc's NSS.Ludovic Courtès2012-10-18
| | | | | | | | | | | * guix/build/http.scm (open-connection-for-uri): New procedure. (http-fetch): Use it. Pass the result as a #:port argument to `http-get'. Add hack to modify the `set-port-encoding!' binding in (web response). * guix/ftp-client.scm (ftp-open): Add optional `port' parameter, defaulting to 21. When calling `getaddrinfo', convert PORT to a string and pass AI_NUMERICSERV when PORT is a number.
* ftp-client: Try all the addresses returned by `getaddrinfo'.Ludovic Courtès2012-10-13
| | | | | * guix/ftp-client.scm (ftp-open): Upon connection failure, try the other addresses returned by `getaddrinfo'.
* Add (guix ftp) and companion modules.Ludovic Courtès2012-09-12
* guix/ftp-client.scm, guix/ftp.scm, guix/build/ftp.scm: New files. * Makefile.am (MODULES): Add them. * distro/base.scm (libffi): Use `ftp-fetch'.