diff --git a/CHANGES b/CHANGES index 66c1c7f4b..989bb69fb 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,10 @@ Changelog Daniel (16 January 2006) +- David Shaw finally removed all traces of Gopher and we are now officially + not supporting it. It hasn't been functioning for years anyway, so this is + just finally stating what already was true. And a cleanup at the same time. + - Bryan Henderson turned the 'initialized' variable for curl_global_init() into a counter, and thus you can now do multiple curl_global_init() and you are then supposed to do the same amount of calls to curl_global_cleanup(). diff --git a/RELEASE-NOTES b/RELEASE-NOTES index dbb399025..c583961b1 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -11,6 +11,7 @@ Curl and libcurl 7.15.2 This release includes the following changes: + o Gopher is now officially abandoned as a protocol (lib)curl tries to support. o curl_global_init() and curl_global_cleanup() are now using a refcount so that it is now legal to call them multiple times. See updated info for details. @@ -39,6 +40,7 @@ This release would not have looked like this without help, code, reports and advice from friends like these: Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan - Fandrich, Alexander Lazic, Michael Jahn, Andrew Benham, Bryan Henderson + Fandrich, Alexander Lazic, Michael Jahn, Andrew Benham, Bryan Henderson, + David Shaw Thanks! (and sorry if I forgot to mention someone) diff --git a/configure.ac b/configure.ac index 48a6d6dc6..792afbb1e 100644 --- a/configure.ac +++ b/configure.ac @@ -185,10 +185,8 @@ AC_HELP_STRING([--disable-http],[Disable HTTP support]), no) AC_MSG_RESULT(no) AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP]) - AC_MSG_WARN([disable HTTP disables FTP over proxy and GOPHER too]) - AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable GOPHER]) + AC_MSG_WARN([disable HTTP disables FTP over proxy]) AC_SUBST(CURL_DISABLE_HTTP, [1]) - AC_SUBST(CURL_DISABLE_GOPHER, [1]) ;; *) AC_MSG_RESULT(yes) ;; @@ -210,21 +208,6 @@ AC_HELP_STRING([--disable-ftp],[Disable FTP support]), esac ], AC_MSG_RESULT(yes) ) -AC_MSG_CHECKING([whether to support gopher]) -AC_ARG_ENABLE(gopher, -AC_HELP_STRING([--enable-gopher],[Enable GOPHER support]) -AC_HELP_STRING([--disable-gopher],[Disable GOPHER support]), -[ case "$enableval" in - no) - AC_MSG_RESULT(no) - AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable GOPHER]) - AC_SUBST(CURL_DISABLE_GOPHER, [1]) - ;; - *) AC_MSG_RESULT(yes) - ;; - esac ], - AC_MSG_RESULT(yes) -) AC_MSG_CHECKING([whether to support file]) AC_ARG_ENABLE(file, AC_HELP_STRING([--enable-file],[Enable FILE support]) diff --git a/curl-config.in b/curl-config.in index 2f5187185..8f89049ca 100644 --- a/curl-config.in +++ b/curl-config.in @@ -101,9 +101,6 @@ while test $# -gt 0; do echo "FTPS" fi fi - if test "@CURL_DISABLE_GOPHER@" != "1"; then - echo "GOPHER" - fi if test "@CURL_DISABLE_FILE@" != "1"; then echo "FILE" fi diff --git a/docs/FAQ b/docs/FAQ index 70bcbdc90..e970e657c 100644 --- a/docs/FAQ +++ b/docs/FAQ @@ -114,7 +114,7 @@ FAQ libcurl A free and easy-to-use client-side URL transfer library, supporting FTP, - FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports + FTPS, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more! @@ -132,8 +132,7 @@ FAQ A command line tool for getting or sending files using URL syntax. Since curl uses libcurl, it supports a range of common Internet protocols, - currently including HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and - FILE. + currently including HTTP, HTTPS, FTP, FTPS, LDAP, DICT, TELNET and FILE. We pronounce curl and cURL with an initial k sound: [kurl]. diff --git a/docs/FEATURES b/docs/FEATURES index 52f03bc1c..a41c01619 100644 --- a/docs/FEATURES +++ b/docs/FEATURES @@ -109,10 +109,6 @@ LDAP (*2) DICT - extended DICT URL support -GOPHER - - GET - - via http-proxy - FILE - URL support - "uploads" diff --git a/docs/INSTALL b/docs/INSTALL index f719dc34e..b44168051 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -260,7 +260,6 @@ Win32 CURL_DISABLE_TELNET disables TELNET CURL_DISABLE_DICT disables DICT CURL_DISABLE_FILE disables FILE - CURL_DISABLE_GOPHER disables GOPHER If you want to set any of these defines you have the following possibilities: diff --git a/docs/MANUAL b/docs/MANUAL index 86449d7d3..0622696f5 100644 --- a/docs/MANUAL +++ b/docs/MANUAL @@ -23,10 +23,6 @@ SIMPLE USAGE curl ftp://cool.haxx.se/ - Get a gopher document from funet's gopher server: - - curl gopher://gopher.funet.fi - Get the definition of curl from a dictionary: curl dict://dict.org/m:curl @@ -94,10 +90,6 @@ USING PASSWORDS Probably most commonly used with private certificates, as explained below. - GOPHER - - Curl features no password support for gopher. - PROXY Get an ftp file using a proxy named my-proxy that uses port 888: @@ -748,7 +740,7 @@ ENVIRONMENT VARIABLES Curl reads and understands the following environment variables: - http_proxy, HTTPS_PROXY, FTP_PROXY, GOPHER_PROXY + http_proxy, HTTPS_PROXY, FTP_PROXY They should be set for protocol-specific proxies. General proxy should be set with diff --git a/docs/curl-config.1 b/docs/curl-config.1 index b44de2a02..8ac77dbe4 100644 --- a/docs/curl-config.1 +++ b/docs/curl-config.1 @@ -53,10 +53,10 @@ in $prefix/lib and its header files are installed in $prefix/include and so on. The prefix is set with "configure --prefix". .IP "--protocols" Lists what particular protocols the installed libcurl was built to support. At -the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, GOPHER, -FILE, TELNET, LDAP, DICT. Do not assume any particular order. The protocols -will be listed using uppercase and are separated by newlines. There may be -none, one or several protocols in the list. (Added in 7.13.0) +the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, FILE, +TELNET, LDAP, DICT. Do not assume any particular order. The protocols will +be listed using uppercase and are separated by newlines. There may be none, +one or several protocols in the list. (Added in 7.13.0) .IP "--version" Outputs version information about the installed libcurl. .IP "--vernum" diff --git a/docs/curl.1 b/docs/curl.1 index af2e817aa..8269b7b5e 100644 --- a/docs/curl.1 +++ b/docs/curl.1 @@ -30,8 +30,8 @@ curl \- transfer a URL .SH DESCRIPTION .B curl is a tool to transfer data from or to a server, using one of the supported -protocols (HTTP, HTTPS, FTP, FTPS, TFTP, GOPHER, DICT, TELNET, LDAP or -FILE). The command is designed to work without user interaction. +protocols (HTTP, HTTPS, FTP, FTPS, TFTP, DICT, TELNET, LDAP or FILE). +The command is designed to work without user interaction. curl offers a busload of useful tricks like proxy support, user authentication, ftp upload, HTTP post, SSL (https:) connections, cookies, file @@ -1198,8 +1198,6 @@ Sets proxy server to use for HTTP. Sets proxy server to use for HTTPS. .IP "FTP_PROXY [protocol://][:port]" Sets proxy server to use for FTP. -.IP "GOPHER_PROXY [protocol://][:port]" -Sets proxy server to use for GOPHER. .IP "ALL_PROXY [protocol://][:port]" Sets proxy server to use if no protocol-specific proxy is set. .IP "NO_PROXY " diff --git a/docs/libcurl/libcurl.m4 b/docs/libcurl/libcurl.m4 index 882770924..c6fba644e 100644 --- a/docs/libcurl/libcurl.m4 +++ b/docs/libcurl/libcurl.m4 @@ -46,7 +46,6 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG], AH_TEMPLATE([LIBCURL_PROTOCOL_HTTPS],[Defined if libcurl supports HTTPS]) AH_TEMPLATE([LIBCURL_PROTOCOL_FTP],[Defined if libcurl supports FTP]) AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS]) - AH_TEMPLATE([LIBCURL_PROTOCOL_GOPHER],[Defined if libcurl supports GOPHER]) AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE]) AH_TEMPLATE([LIBCURL_PROTOCOL_TELNET],[Defined if libcurl supports TELNET]) AH_TEMPLATE([LIBCURL_PROTOCOL_LDAP],[Defined if libcurl supports LDAP]) @@ -188,7 +187,7 @@ x=CURLOPT_VERBOSE; # We don't have --protocols, so just assume that all # protocols are available - _libcurl_protocols="HTTP FTP GOPHER FILE TELNET LDAP DICT" + _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT" if test x$libcurl_feature_SSL = xyes ; then _libcurl_protocols="$_libcurl_protocols HTTPS" diff --git a/lib/setup.h b/lib/setup.h index 26494dcc7..ea8b4691c 100644 --- a/lib/setup.h +++ b/lib/setup.h @@ -30,7 +30,6 @@ #define CURL_DISABLE_TELNET #define CURL_DISABLE_DICT #define CURL_DISABLE_FILE -#define CURL_DISABLE_GOPHER #endif /* HTTP_ONLY */ #if !defined(WIN32) && defined(__WIN32__) @@ -357,10 +356,6 @@ typedef int curl_socket_t; #endif #endif -#if defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_GOPHER) -#define CURL_DISABLE_GOPHER -#endif - #ifdef CURLDEBUG #define DEBUGF(x) x #else diff --git a/lib/url.c b/lib/url.c index e012e01af..b8927fbcd 100644 --- a/lib/url.c +++ b/lib/url.c @@ -2485,14 +2485,12 @@ static CURLcode CreateConnection(struct SessionHandle *data, /* Note: if you add a new protocol, please update the list in * lib/version.c too! */ - if(checkprefix("GOPHER.", conn->host.name)) - strcpy(conn->protostr, "gopher"); + if(checkprefix("FTP.", conn->host.name)) + strcpy(conn->protostr, "ftp"); #ifdef USE_SSL else if(checkprefix("FTPS", conn->host.name)) strcpy(conn->protostr, "ftps"); #endif /* USE_SSL */ - else if(checkprefix("FTP.", conn->host.name)) - strcpy(conn->protostr, "ftp"); else if(checkprefix("TELNET.", conn->host.name)) strcpy(conn->protostr, "telnet"); else if (checkprefix("DICT.", conn->host.name)) @@ -2596,7 +2594,6 @@ static CURLcode CreateConnection(struct SessionHandle *data, * http_proxy=http://some.server.dom:port/ * https_proxy=http://some.server.dom:port/ * ftp_proxy=http://some.server.dom:port/ - * gopher_proxy=http://some.server.dom:port/ * no_proxy=domain1.dom,host.domain2.dom * (a comma-separated list of hosts which should * not be proxied, or an asterisk to override @@ -2778,25 +2775,6 @@ static CURLcode CreateConnection(struct SessionHandle *data, " was built with SSL disabled, https: not supported!"); return CURLE_UNSUPPORTED_PROTOCOL; #endif /* !USE_SSL */ - } - else if (strequal(conn->protostr, "GOPHER")) { -#ifndef CURL_DISABLE_GOPHER - conn->port = PORT_GOPHER; - conn->remote_port = PORT_GOPHER; - /* Skip // in path if present */ - if (isdigit((int)conn->path[1])) { - conn->path = strchr(&conn->path[1], '/'); - if (conn->path == NULL) - conn->path = conn->pathbuffer; - } - conn->protocol |= PROT_GOPHER; - conn->curl_do = Curl_http; - conn->curl_do_more = NULL; - conn->curl_done = Curl_http_done; -#else - failf(data, LIBCURL_NAME - " was built with GOPHER disabled, gopher: not supported!"); -#endif } else if(strequal(conn->protostr, "FTP") || strequal(conn->protostr, "FTPS")) { diff --git a/lib/urldata.h b/lib/urldata.h index 0293dd5ad..94889234a 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -30,7 +30,6 @@ #define PORT_FTP 21 #define PORT_FTPS 990 #define PORT_TELNET 23 -#define PORT_GOPHER 70 #define PORT_HTTP 80 #define PORT_HTTPS 443 #define PORT_DICT 2628 @@ -541,7 +540,6 @@ struct connectdata { long protocol; /* PROT_* flags concerning the protocol set */ #define PROT_MISSING (1<<0) -#define PROT_GOPHER (1<<1) #define PROT_HTTP (1<<2) #define PROT_HTTPS (1<<3) #define PROT_FTP (1<<4) @@ -703,7 +701,6 @@ struct connectdata { /* previously this was in the urldata struct */ union { struct HTTP *http; - struct HTTP *gopher; /* alias, just for the sake of being more readable */ struct HTTP *https; /* alias, just for the sake of being more readable */ struct FTP *ftp; void *tftp; /* private for tftp.c-eyes only */ diff --git a/lib/version.c b/lib/version.c index 42bdfd99c..53e2b56ef 100644 --- a/lib/version.c +++ b/lib/version.c @@ -87,9 +87,6 @@ static const char * const protocols[] = { #ifndef CURL_DISABLE_FTP "ftp", #endif -#ifndef CURL_DISABLE_GOPHER - "gopher", -#endif #ifndef CURL_DISABLE_TELNET "telnet", #endif diff --git a/packages/Linux/RPM/curl-ssl.spec.in b/packages/Linux/RPM/curl-ssl.spec.in index 066eb49a7..d953b3960 100644 --- a/packages/Linux/RPM/curl-ssl.spec.in +++ b/packages/Linux/RPM/curl-ssl.spec.in @@ -5,7 +5,7 @@ %define curlroot %{_builddir}/%{tarball}-%{version} -Summary: get a file from a FTP, GOPHER or HTTP server. +Summary: get a file from an FTP or HTTP server. Name: %{name} Version: %{version} Release: %{release} diff --git a/packages/Linux/RPM/curl.spec.in b/packages/Linux/RPM/curl.spec.in index a5e8d2dd7..8b81726b7 100644 --- a/packages/Linux/RPM/curl.spec.in +++ b/packages/Linux/RPM/curl.spec.in @@ -5,7 +5,7 @@ %define builddir $RPM_BUILD_DIR/%{name}-%{version} -Summary: get a file from a FTP, GOPHER or HTTP server. +Summary: get a file from an FTP or HTTP server. Name: %{name} Version: %{version} Release: %{release} diff --git a/packages/Win32/cygwin/README b/packages/Win32/cygwin/README index 67509cac5..313daccbe 100644 --- a/packages/Win32/cygwin/README +++ b/packages/Win32/cygwin/README @@ -1,5 +1,5 @@ Curl is a tool for transferring files with URL syntax, supporting - FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. + FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, @@ -91,7 +91,7 @@ Packaging Instructions: @ curl sdesc: "a client that groks URLs" ldesc: "Curl is a tool for transferring files with URL syntax, - supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE + supporting FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, diff --git a/perl/contrib/checklinks.pl.in b/perl/contrib/checklinks.pl.in index 17032b36a..6be659faa 100644 --- a/perl/contrib/checklinks.pl.in +++ b/perl/contrib/checklinks.pl.in @@ -269,7 +269,7 @@ for(@links) { if($url =~ /^([^:]+):/) { $prot = $1; -# if($prot !~ /(http|ftp|gopher)/i) { +# if($prot !~ /(http|ftp)/i) { if($prot !~ /http/i) { # this is an unsupported protocol, we ignore this next linkloop; diff --git a/tests/README b/tests/README index 1c3d1b7fd..b7fb2c86d 100644 --- a/tests/README +++ b/tests/README @@ -85,4 +85,4 @@ TEST CASE NUMBERS TODO: - * Add tests for TELNET, GOPHER, LDAP, DICT... + * Add tests for TELNET, LDAP, DICT... diff --git a/tests/runtests.pl b/tests/runtests.pl index a982dc712..cb36edda1 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -204,7 +204,7 @@ $SIG{KILL} = \&catch_zap; # to prevent them to interfere with our testing! my $protocol; -foreach $protocol (('ftp', 'http', 'ftps', 'https', 'gopher', 'no')) { +foreach $protocol (('ftp', 'http', 'ftps', 'https', 'no')) { my $proxy = "${protocol}_proxy"; # clear lowercase version $ENV{$proxy}=undef;