curl/lib
2015-05-18 08:57:18 +02:00
..
vtls gtls: properly retrieve certificate status 2015-05-04 13:42:45 +02:00
.gitignore
amigaos.c
amigaos.h
arpa_telnet.h
asyn-ares.c
asyn-thread.c
asyn.h
base64.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
checksrc.pl checksrc: Windows-specific input fixes 2015-03-30 22:39:13 +02:00
checksrc.whitelist
CMakeLists.txt
config-amigaos.h
config-dos.h
config-mac.h
config-os400.h
config-riscos.h
config-symbian.h
config-tpf.h
config-vxworks.h
config-win32.h
config-win32ce.h checksrc: Windows-specific input fixes 2015-03-30 22:39:13 +02:00
conncache.c Curl_conncache_add_conn: fix memory leak on OOM 2015-05-14 14:06:44 +02:00
conncache.h bundles: merged into conncache.c 2015-05-12 23:21:33 +02:00
connect.c connection cache: avoid Curl_hash_alloc() 2015-05-12 09:15:02 +02:00
connect.h
content_encoding.c
content_encoding.h
cookie.c cookie: cookie parser out of boundary memory access 2015-04-21 23:20:36 +02:00
cookie.h
curl_addrinfo.c
curl_addrinfo.h
curl_base64.h
curl_config.h.cmake
curl_des.c
curl_des.h
curl_endian.c
curl_endian.h
curl_fnmatch.c
curl_fnmatch.h
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c
curl_gssapi.h
curl_hmac.h
curl_ldap.h
curl_md4.h
curl_md5.h
curl_memory.h curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
curl_memrchr.c
curl_memrchr.h
curl_multibyte.c
curl_multibyte.h
curl_ntlm_core.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
curl_ntlm_core.h
curl_ntlm_msgs.c Curl_ssl_md5sum: return CURLcode 2015-03-25 08:32:12 +01:00
curl_ntlm_msgs.h
curl_ntlm_wb.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
curl_ntlm_wb.h
curl_ntlm.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
curl_ntlm.h
curl_printf.h
curl_rtmp.c
curl_rtmp.h
curl_sasl_gssapi.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
curl_sasl_sspi.c sasl_sspi: Populate domain from the realm in the challenge 2015-04-26 16:12:23 +02:00
curl_sasl.c sasl_sspi: Populate domain from the realm in the challenge 2015-04-26 16:12:23 +02:00
curl_sasl.h sasl_sspi: Populate domain from the realm in the challenge 2015-04-26 16:12:23 +02:00
curl_sec.h
curl_setup_once.h
curl_setup.h
curl_sspi.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
curl_sspi.h sasl_sspi: Populate domain from the realm in the challenge 2015-04-26 16:12:23 +02:00
curl_threads.c
curl_threads.h
curlx.h
dict.c dict: rename byte to avoid compiler shadowed declaration warning 2015-03-23 10:16:10 +01:00
dict.h
dotdot.c
dotdot.h
easy.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
easyif.h
escape.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
escape.h
file.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
file.h
fileinfo.c
fileinfo.h
firefox-db2pem.sh firefox-db2pem: fix wildcard to find Firefox default profile 2015-04-13 15:31:26 +02:00
formdata.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
formdata.h
ftp.c FTP: fix dangling conn->ip_addr dereference on verbose EPSV. 2015-05-08 15:28:48 +02:00
ftp.h
ftplistparser.c
ftplistparser.h
getenv.c
getinfo.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
getinfo.h
gopher.c
gopher.h
hash.c hostcache: made all host caches use structs, not pointers 2015-05-12 09:46:53 +02:00
hash.h hostcache: made all host caches use structs, not pointers 2015-05-12 09:46:53 +02:00
hmac.c
hostasyn.c
hostcheck.c
hostcheck.h
hostip4.c
hostip6.c
hostip.c hostcache: made all host caches use structs, not pointers 2015-05-12 09:46:53 +02:00
hostip.h hostcache: made all host caches use structs, not pointers 2015-05-12 09:46:53 +02:00
hostsyn.c
http2.c http2: Fix bug that data to be drained are overwritten by pending "paused" data 2015-05-18 08:57:18 +02:00
http2.h
http_chunks.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
http_chunks.h
http_digest.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
http_digest.h
http_negotiate_sspi.c http_negotiate_sspi: added missing data variable 2015-04-30 12:13:49 +02:00
http_negotiate.c Negotiate: custom service names for SPNEGO. 2015-04-28 08:29:56 +02:00
http_negotiate.h
http_proxy.c proxy: add newline to info message 2015-05-08 15:56:25 +02:00
http_proxy.h
http.c http2: force "drainage" of streams 2015-05-18 08:57:17 +02:00
http.h http2: Don't call nghttp2_session_mem_recv while it is paused by a stream 2015-05-18 08:57:18 +02:00
idn_win32.c
if2ip.c
if2ip.h
imap.c
imap.h
inet_ntop.c
inet_ntop.h
inet_pton.c
inet_pton.h
krb5.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
ldap.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
libcurl.def
libcurl.plist
libcurl.rc
libcurl.vers.in
llist.c
llist.h
Makefile.am README.pipelining: removed 2015-05-15 22:34:12 +02:00
makefile.amiga
Makefile.b32 build: update depedency versions, urls, example makefiles 2015-04-30 08:29:00 +02:00
makefile.dj
Makefile.inc bundles: merged into conncache.c 2015-05-12 23:21:33 +02:00
Makefile.m32 build: update depedency versions, urls, example makefiles 2015-04-30 08:29:00 +02:00
Makefile.netware build: update depedency versions, urls, example makefiles 2015-04-30 08:29:00 +02:00
Makefile.vc6 build: removed bundles.c from make files 2015-05-14 14:55:48 +02:00
Makefile.vxworks
Makefile.Watcom build: update depedency versions, urls, example makefiles 2015-04-30 08:29:00 +02:00
md4.c
md5.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
memdebug.c checksrc: detect and remove space before trailing semicolons 2015-03-17 14:06:48 +01:00
memdebug.h
mk-ca-bundle.pl
mk-ca-bundle.vbs
mprintf.c
multi.c CURLMOPT_PIPELINE: bit 1 is for multiplexing 2015-05-18 08:57:18 +02:00
multihandle.h CURLMOPT_PIPELINE: bit 1 is for multiplexing 2015-05-18 08:57:18 +02:00
multiif.h CURLMOPT_PIPELINE: bit 1 is for multiplexing 2015-05-18 08:57:18 +02:00
netrc.c netrc: Read in text mode when cygwin 2015-05-06 02:34:31 -04:00
netrc.h
non-ascii.c
non-ascii.h
nonblock.c
nonblock.h
nwlib.c
nwos.c
objnames-test08.sh
objnames-test10.sh
objnames.inc
openldap.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
parsedate.c
parsedate.h
pingpong.c
pingpong.h
pipeline.c pipeline: move function to pipeline.c and make static 2015-05-18 08:57:18 +02:00
pipeline.h
pop3.c
pop3.h
progress.c
progress.h
rawstr.c
rawstr.h
README.ares
README.curl_off_t
README.curlx
README.encoding
README.hostip
README.http2 README.http2: refreshed and added TODO items 2015-03-25 12:13:16 +01:00
README.httpauth
README.memoryleak
README.multi_socket
README.pingpong
rtsp.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
rtsp.h
security.c
select.c
select.h
sendf.c CURLMOPT_PIPELINE: bit 1 is for multiplexing 2015-05-18 08:57:18 +02:00
sendf.h
setup-os400.h
setup-vms.h
share.c hostcache: made all host caches use structs, not pointers 2015-05-12 09:46:53 +02:00
share.h hostcache: made all host caches use structs, not pointers 2015-05-12 09:46:53 +02:00
sigpipe.h
slist.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
slist.h
smb.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
smb.h
smtp.c
smtp.h
sockaddr.h
socks_gssapi.c
socks_sspi.c
socks.c
socks.h
speedcheck.c
speedcheck.h
splay.c
splay.h
ssh.c
ssh.h
strdup.c
strdup.h
strequal.c
strequal.h
strerror.c
strerror.h
strtok.c
strtok.h
strtoofft.c
strtoofft.h
telnet.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
telnet.h
tftp.c curl_memory: make curl_memory.h the second-last header file loaded 2015-03-24 23:47:01 +01:00
tftp.h
timeval.c
timeval.h
transfer.c CURLMOPT_PIPELINE: bit 1 is for multiplexing 2015-05-18 08:57:18 +02:00
transfer.h
url.c CURLMOPT_PIPELINE: bit 1 is for multiplexing 2015-05-18 08:57:18 +02:00
url.h Negotiate: custom service names for SPNEGO. 2015-04-28 08:29:56 +02:00
urldata.h http2: leave WAITPERFORM when conn is multiplexed 2015-05-18 08:57:18 +02:00
version.c
warnless.c
warnless.h
wildcard.c
wildcard.h
x509asn1.c cyassl: Implement public key pinning 2015-04-22 17:07:19 -04:00
x509asn1.h cyassl: Implement public key pinning 2015-04-22 17:07:19 -04:00

Date: December 5, 2009

Pingpong
========

 Pingpong is just my (Daniel's) jestful collective name on the protocols that
 share a very similar kind of back-and-forth procedure with command and
 responses to and from the server. FTP was previously the only protocol in
 that family that libcurl supported, but when POP3, IMAP and SMTP joined the
 team I moved some of the internals into a separate pingpong module to be
 easier to get used by all these protocols to reduce code duplication and ease
 code re-use between these protocols.

FTP

 In 7.20.0 we converted code to use the new pingpong code from previously
 having been all "native" FTP code.

POP3

 There's no support in the documented URL format to specify the exact mail to
 get, but we support that as the path specified in the URL.

IMAP

SMTP

 There's no official URL syntax defined for SMTP, but we use only the generic
 one and we provide two additional libcurl options to specify receivers and
 sender of the actual mail.