Tatsuhiro Tsujikawa 4ac6cc3ebd Require nghttp2 v1.0.0
This commit requires nghttp2 v1.0.0 to compile, and migrate to v1.0.0,
and utilize recent version of nghttp2 to simplify the code,

First we use nghttp2_option_set_no_recv_client_magic function to
detect nghttp2 v1.0.0.  That function only exists since v1.0.0.

Since nghttp2 v0.7.5, nghttp2 ensures header field ordering, and
validates received header field.  If it found error, RST_STREAM with
PROTOCOL_ERROR is issued.  Since we require v1.0.0, we can utilize
this feature to simplify libcurl code.  This commit does this.

Migration from 0.7 series are done based on nghttp2 migration
document.  For libcurl, we removed the code sending first 24 bytes
client magic.  It is now done by nghttp2 library.
on_invalid_frame_recv callback signature changed, and is updated
accordingly.
2015-05-18 09:33:48 +02:00
..
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2013-02-14 10:41:45 +01:00
2015-03-03 23:17:43 +01:00
2015-03-17 13:57:37 +01:00
2014-10-08 12:25:07 +02:00
2015-03-03 23:17:43 +01:00
2015-03-03 12:36:18 +01:00
2015-03-16 15:01:15 +01:00
2015-03-03 12:36:18 +01:00
2015-03-03 12:36:18 +01:00
2015-03-03 12:36:18 +01:00
2015-03-03 12:36:18 +01:00
2015-03-03 12:36:18 +01:00
2015-05-18 09:33:48 +02:00
2015-05-18 09:33:47 +02:00
2015-03-03 12:36:18 +01:00
2014-12-16 13:52:06 +01:00
2015-03-16 15:01:15 +01:00
2015-03-03 12:36:18 +01:00
2015-03-17 13:57:37 +01:00
2010-03-24 11:02:54 +01:00
2015-05-15 22:34:12 +02:00
2011-04-16 00:11:43 +02:00
2015-05-12 23:21:33 +02:00
2015-03-17 13:57:37 +01:00
2015-05-06 02:34:31 -04:00
2014-12-20 14:43:02 +00:00
2015-03-03 12:36:18 +01:00
2015-03-03 12:36:18 +01:00
2010-03-24 11:02:54 +01:00
2015-03-17 13:57:37 +01:00
2014-10-13 16:33:47 +02:00
2015-03-17 13:57:37 +01:00
2014-12-30 13:10:30 +00:00
2015-03-16 15:01:15 +01:00
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2015-03-17 13:57:37 +01:00
2013-02-14 10:41:45 +01:00
2013-02-14 10:41:45 +01:00
2015-03-17 13:57:37 +01:00
2013-02-01 08:14:46 +01:00
2015-05-18 09:33:47 +02:00
2015-03-03 12:36:18 +01:00
2013-02-01 08:14:46 +01: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.