curl/lib
parazyd a1f06f32b8
gopher: Implement secure gopher protocol.
This commit introduces a "gophers" handler inside the gopher protocol if
USE_SSL is defined. This protocol is no different than the usual gopher
prococol, with the added TLS encapsulation upon connecting. The protocol
has been adopted in the gopher community, and many people have enabled
TLS in their gopher daemons like geomyidae(8), and clients, like clic(1)
and hurl(1).

I have not implemented test units for this protocol because my knowledge
of Perl is sub-par. However, for someone more knowledgeable it might be
fairly trivial, because the same test that tests the plain gopher
protocol can be used for "gophers" just by adding a TLS listener.

Signed-off-by: parazyd <parazyd@dyne.org>

Closes #6208
2020-12-15 12:58:12 +01:00
..
vauth digest_sspi: Show InitializeSecurityContext errors in verbose mode 2020-12-14 00:25:10 -05:00
vquic quiche: remove fprintf() leftover 2020-12-14 11:19:48 +01:00
vssh infof/failf calls: fix format specifiers 2020-11-24 13:18:41 +01:00
vtls openssl: make the OCSP verification verify the certificate id 2020-12-07 09:27:10 +01:00
.gitattributes test122[12]: remove these two tests 2020-10-15 07:56:19 +02:00
.gitignore VC: remove the makefile.vc6 build infra 2017-01-23 14:27:32 +01:00
altsvc.c altsvc: minimize variable scope and avoid "DEAD_STORE" 2020-11-07 18:10:21 +01:00
altsvc.h curl.se: new home 2020-11-04 23:59:47 +01:00
amigaos.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
amigaos.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
arpa_telnet.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
asyn-ares.c asyn: use 'struct thread_data *' instead of 'void *' 2020-11-23 22:54:18 +01:00
asyn-thread.c asyn: use 'struct thread_data *' instead of 'void *' 2020-11-23 22:54:18 +01:00
asyn.h curl.se: new home 2020-11-04 23:59:47 +01:00
base64.c curl.se: new home 2020-11-04 23:59:47 +01:00
checksrc.pl curl.se: new home 2020-11-04 23:59:47 +01:00
CMakeLists.txt cmake: use libcurl.rc in all Windows builds 2020-11-19 14:43:31 +01:00
config-amigaos.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
config-dos.h curl.se: new home 2020-11-04 23:59:47 +01:00
config-mac.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
config-os400.h curl.se: new home 2020-11-04 23:59:47 +01:00
config-plan9.h curl.se: new home 2020-11-04 23:59:47 +01:00
config-riscos.h curl.se: new home 2020-11-04 23:59:47 +01:00
config-tpf.h curl.se: new home 2020-11-04 23:59:47 +01:00
config-vxworks.h curl.se: new home 2020-11-04 23:59:47 +01:00
config-win32.h curl.se: new home 2020-11-04 23:59:47 +01:00
config-win32ce.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
conncache.c curl.se: new home 2020-11-04 23:59:47 +01:00
conncache.h tests/server/disabled: add "wakeup" 2020-12-11 17:42:17 +01:00
connect.c connect: defer port selection until connect() time 2020-12-10 08:55:42 +01:00
connect.h ftp: retry getpeername for FTP with TCP_FASTOPEN 2020-12-06 11:18:28 +01:00
content_encoding.c curl.se: new home 2020-11-04 23:59:47 +01:00
content_encoding.h curl.se: new home 2020-11-04 23:59:47 +01:00
cookie.c curl.se: new home 2020-11-04 23:59:47 +01:00
cookie.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_addrinfo.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_addrinfo.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_base64.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_config.h.cmake cmake: check for linux/tcp.h 2020-12-01 12:32:55 +01:00
curl_ctype.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_ctype.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_des.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_des.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_endian.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_endian.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_fnmatch.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_fnmatch.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_get_line.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_get_line.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_gethostname.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_gethostname.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_gssapi.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_gssapi.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_hmac.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_krb5.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_ldap.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_md4.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_md5.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_memory.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_memrchr.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_memrchr.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_multibyte.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_multibyte.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_ntlm_core.c ntlm: avoid malloc(0) on zero length user and domain 2020-11-29 11:24:54 +01:00
curl_ntlm_core.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_ntlm_wb.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_ntlm_wb.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_path.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_path.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_printf.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_range.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_range.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_rtmp.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_rtmp.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_sasl.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_sasl.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_setup_once.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_setup.h curl_setup: USE_RESOLVE_ON_IPS is for Apple native resolver use 2020-11-26 17:26:59 +01:00
curl_sha256.h curl.se: new home 2020-11-04 23:59:47 +01:00
curl_sspi.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_sspi.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curl_threads.c curl.se: new home 2020-11-04 23:59:47 +01:00
curl_threads.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
curlx.h curl.se: new home 2020-11-04 23:59:47 +01:00
dict.c curl.se: new home 2020-11-04 23:59:47 +01:00
dict.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
doh.c curl.se: new home 2020-11-04 23:59:47 +01:00
doh.h curl.se: new home 2020-11-04 23:59:47 +01:00
dotdot.c curl.se: new home 2020-11-04 23:59:47 +01:00
dotdot.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
dynbuf.c curl.se: new home 2020-11-04 23:59:47 +01:00
dynbuf.h curl.se: new home 2020-11-04 23:59:47 +01:00
easy.c curl.se: new home 2020-11-04 23:59:47 +01:00
easygetopt.c curl.se: new home 2020-11-04 23:59:47 +01:00
easyif.h curl.se: new home 2020-11-04 23:59:47 +01:00
easyoptions.c curl.se: new home 2020-11-04 23:59:47 +01:00
easyoptions.h curl.se: new home 2020-11-04 23:59:47 +01:00
escape.c curl_easy_escape: limit output string length to 3 * max input 2020-11-09 23:01:06 +01:00
escape.h curl.se: new home 2020-11-04 23:59:47 +01:00
file.c file: avoid duplicated code sequence 2020-11-25 23:39:28 +01:00
file.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
fileinfo.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
fileinfo.h curl.se: new home 2020-11-04 23:59:47 +01:00
firefox-db2pem.sh curl.se: new home 2020-11-04 23:59:47 +01:00
formdata.c curl.se: new home 2020-11-04 23:59:47 +01:00
formdata.h curl.se: new home 2020-11-04 23:59:47 +01:00
ftp.c ftp: make wc_statemach loop instead of recurse 2020-12-07 09:25:48 +01:00
ftp.h curl.se: new home 2020-11-04 23:59:47 +01:00
ftplistparser.c curl.se: new home 2020-11-04 23:59:47 +01:00
ftplistparser.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
getenv.c curl.se: new home 2020-11-04 23:59:47 +01:00
getinfo.c curl.se: new home 2020-11-04 23:59:47 +01:00
getinfo.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
gopher.c gopher: Implement secure gopher protocol. 2020-12-15 12:58:12 +01:00
gopher.h gopher: Implement secure gopher protocol. 2020-12-15 12:58:12 +01:00
hash.c curl.se: new home 2020-11-04 23:59:47 +01:00
hash.h curl.se: new home 2020-11-04 23:59:47 +01:00
hmac.c curl.se: new home 2020-11-04 23:59:47 +01:00
hostasyn.c curl.se: new home 2020-11-04 23:59:47 +01:00
hostcheck.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
hostcheck.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
hostip4.c curl.se: new home 2020-11-04 23:59:47 +01:00
hostip6.c curl.se: new home 2020-11-04 23:59:47 +01:00
hostip.c curl.se: new home 2020-11-04 23:59:47 +01:00
hostip.h curl.se: new home 2020-11-04 23:59:47 +01:00
hostsyn.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
hsts.c hsts: remove debug code leftovers 2020-11-06 08:22:14 +01:00
hsts.h curl.se: new home 2020-11-04 23:59:47 +01:00
http2.c infof/failf calls: fix format specifiers 2020-11-24 13:18:41 +01:00
http2.h curl.se: new home 2020-11-04 23:59:47 +01:00
http_chunks.c curl.se: new home 2020-11-04 23:59:47 +01:00
http_chunks.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
http_digest.c curl.se: new home 2020-11-04 23:59:47 +01:00
http_digest.h curl.se: new home 2020-11-04 23:59:47 +01:00
http_negotiate.c curl.se: new home 2020-11-04 23:59:47 +01:00
http_negotiate.h curl.se: new home 2020-11-04 23:59:47 +01:00
http_ntlm.c curl.se: new home 2020-11-04 23:59:47 +01:00
http_ntlm.h curl.se: new home 2020-11-04 23:59:47 +01:00
http_proxy.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
http_proxy.h curl.se: new home 2020-11-04 23:59:47 +01:00
http.c infof/failf calls: fix format specifiers 2020-11-24 13:18:41 +01:00
http.h curl.se: new home 2020-11-04 23:59:47 +01:00
idn_win32.c curl.se: new home 2020-11-04 23:59:47 +01:00
if2ip.c curl.se: new home 2020-11-04 23:59:47 +01:00
if2ip.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
imap.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
imap.h curl.se: new home 2020-11-04 23:59:47 +01:00
inet_ntop.c copyrights: fix copyright year range 2019-11-08 14:51:42 +01:00
inet_ntop.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
inet_pton.c checksrc: warn on space after exclamation mark 2020-10-02 16:35:53 +02:00
inet_pton.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
krb5.c sendf: move the verbose-check into Curl_debug 2020-11-02 22:49:36 +01:00
ldap.c infof/failf calls: fix format specifiers 2020-11-24 13:18:41 +01:00
libcurl.plist curl.se: new home 2020-11-04 23:59:47 +01:00
libcurl.rc copyright: fix year ranges 2020-11-05 08:22:10 +01:00
libcurl.vers.in
llist.c curl.se: new home 2020-11-04 23:59:47 +01:00
llist.h curl.se: new home 2020-11-04 23:59:47 +01:00
Makefile.am curl.se: new home 2020-11-04 23:59:47 +01:00
makefile.amiga curl.se: new home 2020-11-04 23:59:47 +01:00
makefile.dj curl.se: new home 2020-11-04 23:59:47 +01:00
Makefile.inc curl.se: new home 2020-11-04 23:59:47 +01:00
Makefile.m32 Makefile.m32: add support for UNICODE builds 2020-11-23 16:56:27 +00:00
Makefile.netware curl.se: new home 2020-11-04 23:59:47 +01:00
Makefile.vxworks curl.se: new home 2020-11-04 23:59:47 +01:00
md4.c curl.se: new home 2020-11-04 23:59:47 +01:00
md5.c curl.se: new home 2020-11-04 23:59:47 +01:00
memdebug.c curl.se: new home 2020-11-04 23:59:47 +01:00
memdebug.h curl.se: new home 2020-11-04 23:59:47 +01:00
mime.c curl.se: new home 2020-11-04 23:59:47 +01:00
mime.h curl.se: new home 2020-11-04 23:59:47 +01:00
mk-ca-bundle.pl curl.se: new home 2020-11-04 23:59:47 +01:00
mk-ca-bundle.vbs curl.se: new home 2020-11-04 23:59:47 +01:00
mprintf.c curl.se: new home 2020-11-04 23:59:47 +01:00
mqtt.c mqtt: deal with 0 byte reads correctly 2020-12-15 11:38:29 +01:00
mqtt.h curl.se: new home 2020-11-04 23:59:47 +01:00
multi.c Revert "multi: implement wait using winsock events" 2020-12-06 22:40:38 +01:00
multihandle.h tests/server/disabled: add "wakeup" 2020-12-11 17:42:17 +01:00
multiif.h curl.se: new home 2020-11-04 23:59:47 +01:00
netrc.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
netrc.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
non-ascii.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
non-ascii.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
nonblock.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
nonblock.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
nwlib.c curl.se: new home 2020-11-04 23:59:47 +01:00
nwos.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
openldap.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
optiontable.pl curl.se: new home 2020-11-04 23:59:47 +01:00
parsedate.c curl.se: new home 2020-11-04 23:59:47 +01:00
parsedate.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
pingpong.c curl.se: new home 2020-11-04 23:59:47 +01:00
pingpong.h curl.se: new home 2020-11-04 23:59:47 +01:00
pop3.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
pop3.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
progress.c Curl_pgrsStartNow: init speed limit time stamps at start 2020-11-09 08:19:09 +01:00
progress.h curl.se: new home 2020-11-04 23:59:47 +01:00
psl.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
psl.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
quic.h curl.se: new home 2020-11-04 23:59:47 +01:00
rand.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
rand.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
rename.c curl.se: new home 2020-11-04 23:59:47 +01:00
rename.h curl.se: new home 2020-11-04 23:59:47 +01:00
rtsp.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
rtsp.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
select.c curl.se: new home 2020-11-04 23:59:47 +01:00
select.h curl.se: new home 2020-11-04 23:59:47 +01:00
sendf.c cmake: check for linux/tcp.h 2020-12-01 12:32:55 +01:00
sendf.h curl.se: new home 2020-11-04 23:59:47 +01:00
setopt.c cmake: check for linux/tcp.h 2020-12-01 12:32:55 +01:00
setopt.h curl.se: new home 2020-11-04 23:59:47 +01:00
setup-os400.h curl.se: new home 2020-11-04 23:59:47 +01:00
setup-vms.h curl.se: new home 2020-11-04 23:59:47 +01:00
setup-win32.h curl.se: new home 2020-11-04 23:59:47 +01:00
sha256.c curl.se: new home 2020-11-04 23:59:47 +01:00
share.c curl.se: new home 2020-11-04 23:59:47 +01:00
share.h curl.se: new home 2020-11-04 23:59:47 +01:00
sigpipe.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
slist.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
slist.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
smb.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
smb.h curl.se: new home 2020-11-04 23:59:47 +01:00
smtp.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
smtp.h curl.se: new home 2020-11-04 23:59:47 +01:00
sockaddr.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
socketpair.c curl.se: new home 2020-11-04 23:59:47 +01:00
socketpair.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
socks_gssapi.c infof/failf calls: fix format specifiers 2020-11-24 13:18:41 +01:00
socks_sspi.c curl.se: new home 2020-11-04 23:59:47 +01:00
socks.c socks: check for DNS entries with the right port number 2020-11-26 22:29:34 +01:00
socks.h curl.se: new home 2020-11-04 23:59:47 +01:00
speedcheck.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
speedcheck.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
splay.c splay: rename Curl_splayremovebyaddr to Curl_splayremove 2020-12-01 08:09:51 +01:00
splay.h splay: rename Curl_splayremovebyaddr to Curl_splayremove 2020-12-01 08:09:51 +01:00
strcase.c curl.se: new home 2020-11-04 23:59:47 +01:00
strcase.h curl.se: new home 2020-11-04 23:59:47 +01:00
strdup.c curl.se: new home 2020-11-04 23:59:47 +01:00
strdup.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
strerror.c curl.se: new home 2020-11-04 23:59:47 +01:00
strerror.h curl.se: new home 2020-11-04 23:59:47 +01:00
strtok.c curl.se: new home 2020-11-04 23:59:47 +01:00
strtok.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
strtoofft.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
strtoofft.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
system_win32.c curl.se: new home 2020-11-04 23:59:47 +01:00
system_win32.h curl.se: new home 2020-11-04 23:59:47 +01:00
telnet.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
telnet.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
tftp.c curl.se: new home 2020-11-04 23:59:47 +01:00
tftp.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
timeval.c curl.se: new home 2020-11-04 23:59:47 +01:00
timeval.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
transfer.c urldata: remove 'void *protop' and create the union 'p' 2020-11-23 16:16:16 +01:00
transfer.h copyright: fix year ranges 2020-11-05 08:22:10 +01:00
url.c gopher: Implement secure gopher protocol. 2020-12-15 12:58:12 +01:00
url.h curl.se: new home 2020-11-04 23:59:47 +01:00
urlapi-int.h urlapi: don't accept blank port number field without scheme 2020-12-07 00:50:49 +01:00
urlapi.c urlapi: don't accept blank port number field without scheme 2020-12-07 00:50:49 +01:00
urldata.h urldata: restore comment on ssl_connect_data.use 2020-12-07 18:45:47 -05:00
version_win32.c curl.se: new home 2020-11-04 23:59:47 +01:00
version_win32.h curl.se: new home 2020-11-04 23:59:47 +01:00
version.c gopher: Implement secure gopher protocol. 2020-12-15 12:58:12 +01:00
warnless.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
warnless.h curl.se: new home 2020-11-04 23:59:47 +01:00
wildcard.c copyright: fix year ranges 2020-11-05 08:22:10 +01:00
wildcard.h curl.se: new home 2020-11-04 23:59:47 +01:00
x509asn1.c curl.se: new home 2020-11-04 23:59:47 +01:00
x509asn1.h curl.se: new home 2020-11-04 23:59:47 +01:00