summaryrefslogtreecommitdiffstats
path: root/src/pacsync.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pacsync.c')
-rw-r--r--src/pacsync.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/pacsync.c b/src/pacsync.c
index 72b0a0d4..fce3a29b 100644
--- a/src/pacsync.c
+++ b/src/pacsync.c
@@ -42,6 +42,7 @@ static int offset;
/* pacman options */
extern char *pmo_root;
+extern unsigned char pmo_nopassiveftp;
/* sync servers */
extern PMList *pmc_syncs;
@@ -150,10 +151,12 @@ int downloadfiles(PMList *servers, char *localpath, PMList *files)
sync_fnm[24] = '\0';
if(!server->islocal) {
- /* passive mode */
- /* TODO: make passive ftp an option */
- if(!FtpOptions(FTPLIB_CONNMODE, FTPLIB_PASSIVE, control)) {
- fprintf(stderr, "warning: failed to set passive mode\n");
+ if(!pmo_nopassiveftp) {
+ if(!FtpOptions(FTPLIB_CONNMODE, FTPLIB_PASSIVE, control)) {
+ fprintf(stderr, "warning: failed to set passive mode\n");
+ }
+ } else {
+ vprint("FTP passive mode not set\n");
}
if(!FtpSize(fn, &fsz, FTPLIB_IMAGE, control)) {
fprintf(stderr, "warning: failed to get filesize for %s\n", fn);