Loading CHANGES +7 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,13 @@ Changelog Daniel S (15 September 2007) - Michal Marek made libcurl automatically append ";type=<a|i>" when using HTTP proxies for FTP urls. - Günter Knauf fixed LDAP builds in the Windows makefiles and fixed LDAPv3 support on Windows. Dan F (13 September 2007) - Added LDAPS, SCP and SFTP to curl-config --protocols. Removed and fixed some AC_SUBST configure entries. Loading RELEASE-NOTES +2 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ Curl and libcurl 7.17.1 This release includes the following changes: o o automatically append ";type=<a|i>" when using HTTP proxies for FTP urls This release includes the following bugfixes: Loading @@ -32,6 +32,6 @@ New curl mirrors: This release would not have looked like this without help, code, reports and advice from friends like these: Dan Fandrich Dan Fandrich, Michal Marek Thanks! (and sorry if I forgot to mention someone) lib/http.c +20 −1 Original line number Diff line number Diff line Loading @@ -1740,6 +1740,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) CURLcode result=CURLE_OK; struct HTTP *http; char *ppath = data->reqdata.path; char ftp_typecode[sizeof(";type=?")] = ""; char *host = conn->host.name; const char *te = ""; /* transfer-encoding */ char *ptr; Loading Loading @@ -1950,6 +1951,23 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) } } ppath = data->change.url; /* when doing ftp, append ;type=<a|i> if not present */ if (checkprefix("ftp://", ppath) || checkprefix("ftps://", ppath)) { char *p = strstr(ppath, ";type="); if (p && p[6] && p[7] == 0) { switch (toupper(p[6])) { case 'A': case 'D': case 'I': break; default: p = NULL; } } if (!p) snprintf(ftp_typecode, sizeof(ftp_typecode), ";type=%c", data->set.prefer_ascii ? 'a' : 'i'); } } if(HTTPREQ_POST_FORM == httpreq) { /* we must build the whole darned post sequence first, so that we have Loading Loading @@ -2093,7 +2111,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) result = add_bufferf(req_buffer, "%s " /* GET/HEAD/POST/PUT */ "%s HTTP/%s\r\n" /* path + HTTP version */ "%s%s HTTP/%s\r\n" /* path + HTTP version */ "%s" /* proxyuserpwd */ "%s" /* userpwd */ "%s" /* range */ Loading @@ -2108,6 +2126,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) request, ppath, ftp_typecode, httpstring, conn->allocptr.proxyuserpwd? conn->allocptr.proxyuserpwd:"", Loading tests/data/test208 +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ the ^User-Agent:.* </strip> <protocol> PUT ftp://daniel:mysecret@host.com/we/want/208 HTTP/1.1 PUT ftp://daniel:mysecret@host.com/we/want/208;type=i HTTP/1.1 Authorization: Basic ZGFuaWVsOm15c2VjcmV0 Host: host.com:21 Pragma: no-cache Loading tests/data/test79 +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 -x %HOSTIP:%HTTPPORT ^User-Agent:.* </strip> <protocol> GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 HTTP/1.1 GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79;type=i HTTP/1.1 Host: %HOSTIP:%HTTPPORT Pragma: no-cache Accept: */* Loading Loading
CHANGES +7 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,13 @@ Changelog Daniel S (15 September 2007) - Michal Marek made libcurl automatically append ";type=<a|i>" when using HTTP proxies for FTP urls. - Günter Knauf fixed LDAP builds in the Windows makefiles and fixed LDAPv3 support on Windows. Dan F (13 September 2007) - Added LDAPS, SCP and SFTP to curl-config --protocols. Removed and fixed some AC_SUBST configure entries. Loading
RELEASE-NOTES +2 −2 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ Curl and libcurl 7.17.1 This release includes the following changes: o o automatically append ";type=<a|i>" when using HTTP proxies for FTP urls This release includes the following bugfixes: Loading @@ -32,6 +32,6 @@ New curl mirrors: This release would not have looked like this without help, code, reports and advice from friends like these: Dan Fandrich Dan Fandrich, Michal Marek Thanks! (and sorry if I forgot to mention someone)
lib/http.c +20 −1 Original line number Diff line number Diff line Loading @@ -1740,6 +1740,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) CURLcode result=CURLE_OK; struct HTTP *http; char *ppath = data->reqdata.path; char ftp_typecode[sizeof(";type=?")] = ""; char *host = conn->host.name; const char *te = ""; /* transfer-encoding */ char *ptr; Loading Loading @@ -1950,6 +1951,23 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) } } ppath = data->change.url; /* when doing ftp, append ;type=<a|i> if not present */ if (checkprefix("ftp://", ppath) || checkprefix("ftps://", ppath)) { char *p = strstr(ppath, ";type="); if (p && p[6] && p[7] == 0) { switch (toupper(p[6])) { case 'A': case 'D': case 'I': break; default: p = NULL; } } if (!p) snprintf(ftp_typecode, sizeof(ftp_typecode), ";type=%c", data->set.prefer_ascii ? 'a' : 'i'); } } if(HTTPREQ_POST_FORM == httpreq) { /* we must build the whole darned post sequence first, so that we have Loading Loading @@ -2093,7 +2111,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) result = add_bufferf(req_buffer, "%s " /* GET/HEAD/POST/PUT */ "%s HTTP/%s\r\n" /* path + HTTP version */ "%s%s HTTP/%s\r\n" /* path + HTTP version */ "%s" /* proxyuserpwd */ "%s" /* userpwd */ "%s" /* range */ Loading @@ -2108,6 +2126,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) request, ppath, ftp_typecode, httpstring, conn->allocptr.proxyuserpwd? conn->allocptr.proxyuserpwd:"", Loading
tests/data/test208 +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ the ^User-Agent:.* </strip> <protocol> PUT ftp://daniel:mysecret@host.com/we/want/208 HTTP/1.1 PUT ftp://daniel:mysecret@host.com/we/want/208;type=i HTTP/1.1 Authorization: Basic ZGFuaWVsOm15c2VjcmV0 Host: host.com:21 Pragma: no-cache Loading
tests/data/test79 +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 -x %HOSTIP:%HTTPPORT ^User-Agent:.* </strip> <protocol> GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79 HTTP/1.1 GET ftp://%HOSTIP:%HTTPPORT/we/want/that/page/79;type=i HTTP/1.1 Host: %HOSTIP:%HTTPPORT Pragma: no-cache Accept: */* Loading