guix-commits
[Top][All Lists]
Advanced

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

03/03: ftp-client: Switch to binary mode before using the "SIZE" command


From: Ludovic Courtès
Subject: 03/03: ftp-client: Switch to binary mode before using the "SIZE" command.
Date: Thu, 19 Mar 2015 12:02:11 +0000

civodul pushed a commit to branch master
in repository guix.

commit 2a31e1dadefc522d13b47c671254f706fb5ea3a6
Author: Ludovic Courtès <address@hidden>
Date:   Thu Mar 19 13:00:04 2015 +0100

    ftp-client: Switch to binary mode before using the "SIZE" command.
    
    * guix/ftp-client.scm (ftp-size): Add '%ftp-command' call.
---
 guix/ftp-client.scm |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm
index 761980a..ab72405 100644
--- a/guix/ftp-client.scm
+++ b/guix/ftp-client.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2010, 2011, 2012, 2013, 2014 Ludovic Courtès <address@hidden>
+;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès 
<address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -144,6 +144,11 @@ or a TCP port number), and return it."
 
 (define (ftp-size conn file)
   "Return the size in bytes of FILE."
+
+  ;; Ask for "binary mode", otherwise some servers, such as sourceware.org,
+  ;; fail with 550 ("SIZE not allowed in ASCII mode").
+  (%ftp-command "TYPE I" 200 (ftp-connection-socket conn))
+
   (let ((message (%ftp-command (string-append "SIZE " file) 213
                                (ftp-connection-socket conn))))
     (string->number (string-trim-both message))))



reply via email to

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