Loading lib/ftp.c +11 −3 Original line number Diff line number Diff line Loading @@ -812,7 +812,7 @@ ftp_pasv_verbose(struct connectdata *conn, #ifdef HAVE_INET_NTOA_R char ntoa_buf[64]; #endif char hostent_buf[8192]; char hostent_buf[9000]; #if defined(HAVE_INET_ADDR) in_addr_t address; Loading @@ -824,12 +824,19 @@ ftp_pasv_verbose(struct connectdata *conn, # ifdef HAVE_GETHOSTBYADDR_R # ifdef HAVE_GETHOSTBYADDR_R_5 /* AIX, Digital Unix style: /* AIX, Digital Unix (OSF1, Tru64) style: extern int gethostbyaddr_r(char *addr, size_t len, int type, struct hostent *htent, struct hostent_data *ht_data); */ /* Fred Noz helped me try this out, now it at least compiles! */ /* Bjorn Reese (November 28 2001): The Tru64 man page on gethostbyaddr_r() says that the hostent struct must be filled with zeroes before the call to gethostbyaddr_r(). */ memset(hostent_buf, 0, sizeof(struct hostent)); if(gethostbyaddr_r((char *) &address, sizeof(address), AF_INET, (struct hostent *)hostent_buf, Loading Loading @@ -1297,7 +1304,8 @@ CURLcode ftp_use_pasv(struct connectdata *conn) char newhost[48]; char *newhostp=NULL; for (modeoff = 0; mode[modeoff]; modeoff++) { for (modeoff = (data->set.ftp_use_epsv?0:1); mode[modeoff]; modeoff++) { result = Curl_ftpsendf(conn, mode[modeoff]); if(result) return result; Loading lib/url.c +6 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,7 @@ CURLcode Curl_open(struct SessionHandle **curl) data->state.current_speed = -1; /* init to negative == impossible */ data->set.httpreq = HTTPREQ_GET; /* Default HTTP request */ data->set.ftp_use_epsv = TRUE; /* FTP defaults to EPSV operations */ /* make libcurl quiet by default: */ data->set.hide_progress = TRUE; /* CURLOPT_NOPROGRESS changes these */ Loading Loading @@ -523,6 +524,11 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...) data->set.ftpport = va_arg(param, char *); data->set.ftp_use_port = data->set.ftpport?1:0; break; case CURLOPT_FTP_USE_EPSV: data->set.ftp_use_epsv = va_arg(param, long)?TRUE:FALSE; break; case CURLOPT_HTTPHEADER: /* * Set a list with HTTP headers to use (or replace internals with) Loading lib/urldata.h +1 −0 Original line number Diff line number Diff line Loading @@ -567,6 +567,7 @@ struct UserDefined { bool reuse_forbid; /* forbidden to be reused, close after use */ bool reuse_fresh; /* do not re-use an existing connection */ bool expect100header; /* TRUE if we added Expect: 100-continue */ bool ftp_use_epsv; /* if EPSV is to be attempted or not */ }; /* Loading Loading
lib/ftp.c +11 −3 Original line number Diff line number Diff line Loading @@ -812,7 +812,7 @@ ftp_pasv_verbose(struct connectdata *conn, #ifdef HAVE_INET_NTOA_R char ntoa_buf[64]; #endif char hostent_buf[8192]; char hostent_buf[9000]; #if defined(HAVE_INET_ADDR) in_addr_t address; Loading @@ -824,12 +824,19 @@ ftp_pasv_verbose(struct connectdata *conn, # ifdef HAVE_GETHOSTBYADDR_R # ifdef HAVE_GETHOSTBYADDR_R_5 /* AIX, Digital Unix style: /* AIX, Digital Unix (OSF1, Tru64) style: extern int gethostbyaddr_r(char *addr, size_t len, int type, struct hostent *htent, struct hostent_data *ht_data); */ /* Fred Noz helped me try this out, now it at least compiles! */ /* Bjorn Reese (November 28 2001): The Tru64 man page on gethostbyaddr_r() says that the hostent struct must be filled with zeroes before the call to gethostbyaddr_r(). */ memset(hostent_buf, 0, sizeof(struct hostent)); if(gethostbyaddr_r((char *) &address, sizeof(address), AF_INET, (struct hostent *)hostent_buf, Loading Loading @@ -1297,7 +1304,8 @@ CURLcode ftp_use_pasv(struct connectdata *conn) char newhost[48]; char *newhostp=NULL; for (modeoff = 0; mode[modeoff]; modeoff++) { for (modeoff = (data->set.ftp_use_epsv?0:1); mode[modeoff]; modeoff++) { result = Curl_ftpsendf(conn, mode[modeoff]); if(result) return result; Loading
lib/url.c +6 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,7 @@ CURLcode Curl_open(struct SessionHandle **curl) data->state.current_speed = -1; /* init to negative == impossible */ data->set.httpreq = HTTPREQ_GET; /* Default HTTP request */ data->set.ftp_use_epsv = TRUE; /* FTP defaults to EPSV operations */ /* make libcurl quiet by default: */ data->set.hide_progress = TRUE; /* CURLOPT_NOPROGRESS changes these */ Loading Loading @@ -523,6 +524,11 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...) data->set.ftpport = va_arg(param, char *); data->set.ftp_use_port = data->set.ftpport?1:0; break; case CURLOPT_FTP_USE_EPSV: data->set.ftp_use_epsv = va_arg(param, long)?TRUE:FALSE; break; case CURLOPT_HTTPHEADER: /* * Set a list with HTTP headers to use (or replace internals with) Loading
lib/urldata.h +1 −0 Original line number Diff line number Diff line Loading @@ -567,6 +567,7 @@ struct UserDefined { bool reuse_forbid; /* forbidden to be reused, close after use */ bool reuse_fresh; /* do not re-use an existing connection */ bool expect100header; /* TRUE if we added Expect: 100-continue */ bool ftp_use_epsv; /* if EPSV is to be attempted or not */ }; /* Loading