CHANGES revision 269847
1Serf 1.3.7 [2014-08-11, from /tags/1.3.7, r2411] 2 Handle NUL bytes in fields of an X.509 certificate. (r2393, r2399) 3 4Serf 1.3.6 [2014-06-09, from /tags/1.3.6, r2372] 5 Revert r2319 from serf 1.3.5: this change was making serf call handle_response 6 multiple times in case of an error response, leading to unexpected behavior. 7 8Serf 1.3.5 [2014-04-27, from /tags/1.3.5, r2355] 9 Fix issue #125: no reverse lookup during Negotiate authentication for proxies. 10 Fix a crash caused by incorrect reuse of the ssltunnel CONNECT request (r2316) 11 Cancel request if response parsing failed + authn callback set (r2319) 12 Update the expired certificates in the test suite. 13 14 15Serf 1.3.4 [2014-02-08, from /tags/1.3.4, r2310] 16 Fix issue #119: Endless loop during ssl tunnel setup with Negotiate authn 17 Fix issue #123: Can't setup ssl tunnel which sends Connection close header 18 Fix a race condition when initializing OpenSSL from multiple threads (r2263) 19 Fix issue #138: Incorrect pkg-config file when GSSAPI isn't configured 20 21 22Serf 1.3.3 [2013-12-09, from /tags/1.3.3, r2242] 23 Fix issue 129: Try more addresses of multihomed servers 24 Handle X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE correctly (r2225) 25 Return APR_TIMEUP from poll() to enable detecting connection timeouts (r2183) 26 27 28Serf 1.3.2 [2013-10-04, from /tags/1.3.2, r2195] 29 Fix issue 130: HTTP headers should be treated case-insensitively 30 Fix issue 126: Compilation breaks with Codewarrior compiler 31 Fix crash during cleanup of SSL buckets in apr_terminate() (r2145) 32 Fix Windows build: Also export functions with capital letters in .def file 33 Fix host header when url contains a username or password (r2170) 34 Ensure less TCP package fragmentation on Windows (r2145) 35 Handle authentication for responses to HEAD requests (r2178,-9) 36 Improve serf_get: add option to add request headers, allow url with query, 37 allow HEAD requests (r2143,r2175,-6) 38 Improve RFC conformance: don't expect body for certain responses (r2011,-2) 39 Do not invoke progress callback when no data was received (r2144) 40 And more test suite fixes and build warning cleanups 41 SCons-related fixes: 42 Fix build when GSSAPI not in default include path (2155) 43 Fix OpenBSD build: always map all LIBPATH entries into RPATH (r2156) 44 Checksum generation in Windows shared libraries for release builds (2162) 45 Mac OS X: Use MAJOR version only in dylib install name (r2161) 46 Use both MAJOR and MINOR version for the shared library name (2163) 47 Fix the .pc file when installing serf in a non-default LIBDIR (r2191) 48 49 50Serf 1.3.1 [2013-08-15, from /tags/1.3.1, r2138] 51 Fix issue 77: Endless loop if server doesn't accept Negotiate authentication. 52 Fix issue 114: ssl/tls renegotiation fails 53 Fix issue 120: error with ssl tunnel over proxy with KeepAlive off and 54 Basic authentication. 55 Fixed bugs with authentication (r2057,2115,2118) 56 SCons-related fixes: 57 Fix issue 111: add flag to set custom library path 58 Fix issue 112: add soname 59 Fix issue 113: add gssapi libs in the serf pc file 60 Fix issue 115: Setting RPATH on Solaris broken in SConstruct 61 Fix issue 116: scons check should return non-zero exit staths 62 Fix issue 121: make CFLAGS, LIBS, LINKFLAGS and CPPFLAGS take a space- 63 separated list of flags. 64 Fix issue 122: make scons PREFIX create the folder if it doesn't exist 65 Mac OS X: Fix scons --install-sandbox 66 Solaris: Fix build with cc, don't use unsupported compiler flags 67 Require SCons version 2.3.0 or higher now (for the soname support). 68 69 70Serf 1.3.0 [2013-07-23, from /tags/1.3.0, r2074] 71 Fix issue 83: use PATH rather than URI within an ssltunnel (r1952) 72 Fix issue 108: improved error reporting from the underlying socket (r1951) 73 NEW: Switch to the SCons build system; retire serfmake, serf.mak, autotools 74 Improved Basic and Digest authentication: 75 - remember credentials on a per-server basis 76 - properly manage authentication realms 77 - continue functioning when a server sets KeepAlive: off 78 Windows: add support for NTLM authentication 79 Improved 2617 compliance: always use strongest authentication (r1968,1971) 80 Fixed bugs with proxy authentication and SSL tunneling through a proxy 81 Fixed bugs the response parser (r2032,r2036) 82 SSL connection performance improvements 83 Huge expansion of the test suite 84 85 86Serf 1.2.1 [2013-06-03, from /tags/1.2.1, r1906] 87 Fix issue 95: add gssapi switches to configure (r1864, r1900) 88 Fix issue 97: skip mmap bucket if APR_HAS_MMAP is undefined (r1877) 89 Fix issue 100: building against an old Windows Platform SDK (r1881) 90 Fix issue 102: digest authentication failures (r1885) 91 Improve error return values in SSPI authentication (r1804) 92 Ensure serf-1.pc is constructed by serfmake (r1865) 93 Optimize SPNego authentication processing (r1868) 94 Reject certs that application does not like (r1794) 95 Fix possible endless loop in serf_linebuf_fetch() (r1816) 96 Windows build: dereference INTDIR in serf.mak (r1882) 97 98 99Serf 1.2.0 [2013-02-22, from /tags/1.2.0, r1726] 100 Fixed issue 94: Serf can enter an infinite loop when server aborts conn. 101 Fixed issue 91: Serf doesn't handle an incoming 408 Timeout Request 102 Fixed issue 80: Serf is not handling Negotiate authentication correctly 103 Fixed issue 77: Endless loop if server doesn't accept Negotiate authn 104 Fixed issue 93: cleanup-after-fork interferes with parent (r1714) 105 Fixed most of issue 89: Support REAL SPNEGO authentication 106 Enable Negotiate/Kerberos support for proxy servers. 107 Return error when C-L, chunked, gzip encoded response bodies were 108 truncated (due to aborted connection) (r1688) 109 Add a logging mechanism that can be enabled at compile-time. 110 Don't lookup server address if a proxy was configured. (r1706) 111 Fix an off-by-one in buffer sizing (r1695) 112 Disable SSL compression by default + API to enable it (r1692) 113 New serf_connection_get_latency() for estimated network latency (r1689) 114 New error code and RFC compliance for the HTTPS tunnel (r1701, r1644) 115 Handle EINTR when a user suspends and then backgrounds the app (r1708) 116 Minor fixes and test suite improvements. 117 118 119Serf 1.1.1 [2012-10-04, from /tags/1.1.1, r1657] 120 Fixed issue 86: ensure requeued requests are correctly handled. 121 This fixes: 122 - infinite loop with multiple connection resets or SIGPIPE errors 123 - "connection" hang where we would not re-queue requests that are 124 held after we re-connect 125 Fixed issue 74: test_all goes in an endless loop 126 Fix memleak when conn. is closed explicitly/due to pool cleanups (r1623) 127 Windows: Fix https connection aborts (r1628..-30,-33,-34,-37) 128 Add new error codes for the SSL bucket 129 130 131Serf 1.1.0 [2012-06-07, from /tags/1.1.0, r1617] 132 New: serf_bucket_request_set_CL() for C-L based, non-chunked requests 133 New: serf_ssl_server_cert_chain_callback_set() for full-chain validation 134 135 136Serf 1.0.3 [2012-03-20, from /tags/1.0.3, r1586] 137 Map more OpenSSL errors into SERF_SSL_CERT_UNKNOWNCA (r1573) 138 139 140Serf 1.0.2 141 Not released. 142 143 144Serf 1.0.1 [2012-02-15, from /tags/1.0.1, r1569] 145 FreeBSD fixes in the test suite (r1560, r1565) 146 Minor build fixes 147 148 149Serf 1.0.0 [2011-07-15, from /tags/1.0.0, r1540] 150 Fixed issue 38: enable builds using non-GNU make 151 Fixed issue 49: support SSL tunnels for HTTPS via a proxy 152 Fixed issue 56: allow Subject Alternative Name, and enable SNI 153 Fixed issue 61: include order dependencies 154 Fixed issue 66: improved error reporting when creating install dirs 155 Fixed issue 71: handle ECONNREFUSED on Windows 156 Fixed issue 79: destroy the APR allocator, if we create one 157 Fixed issue 81: build failed on APR 0.9.x 158 Major performance improvements and bug fixes for SSL buckets/handling (r1462) 159 Add a new "iovec" bucket type (r1434) 160 Minimize network packet writes based on ra_serf analysis (r1467, r1471) 161 Fix out of order issue with multiple priority requests (r1469) 162 Work around broken WSAPoll() impl on Windows introduced in APR 1.4.0 (r1506) 163 Fix 100% CPU usage with many pipelined requests (r1456) 164 Corrected contents of build/serf.def; it now includes bucket types (r1512) 165 Removed "snapshot" feature from buckets (r1503) 166 Various improvements to the test system 167 Various memory leak fixes 168 169 170Serf 0.7.2 [2011-03-12, from /tags/0.7.2, r1452] 171 Actually disable Nagle when creating a connection (r1441) 172 Return error when app asks for HTTPS over proxy connection (r1433) 173 174 175Serf 0.7.1 [2011-01-25, from /tags/0.7.1, r1432] 176 Fix memory leak when using SSL (r1408, r1416) 177 Fix build for blank apr-util directory (r1421) 178 179 180Serf 0.7.0 [2010-08-25, from /tags/0.7.0, r1407] 181 Fix double free abort when destroying request buckets 182 Fix test server in unit test framework to avoid random test failures 183 Allow older Serf programs which don't use the new authn framework to still 184 handle authn without forcing them to switch to the new framework. (r1401) 185 Remove the SERF_DECLARE macros, preferring a .DEF file for Windows 186 Barrier buckets now pass read_iovec to their wrapped bucket 187 Fix HTTP header parsing to allow for empty header values 188 189 190Serf 0.6.1 [2010-05-14, from /tags/0.6.1, r1370] 191 Generally: this release fixes problems with the 0.4.0 packaging 192 Small compilation fix in outgoing.c for Windows builds 193 194 195Serf 0.6.0 196 Not released. 197 198 199Serf 0.5.0 200 Not released. 201 202 203Serf 0.4.0 204 WITHDRAWN: this release misstated itself as 0.5.0; use a later release 205 206 Provide authn framework, supporting Basic, Digest, Kerberos (SSPI, GSS), 207 along with proxy authn using Basic or Digest 208 Added experimental listener framework, along with test_server.c 209 Improvements and fixes to SSL support, including connection setup changes 210 Experimental support for unrequested, arriving ("async") responses 211 Experimental BWTP support using the async arrival feature 212 Headers are combined on read (not write), to ease certian classes of parsing 213 Experimental feature on aggregate buckets for a callback-on-empty 214 Fix the bucket allocator for when APR is using its pool debugging features 215 Proxy support in the serf_get testing utility 216 Fix to include the port number in the Host header 217 serf_get propagates errors from the response, instead of aborting (Issue 52) 218 Added serf_lib_version() for runtime version tests 219 220 221Serf 0.3.1 [2010-02-14, from /tags/0.3.1, r1322] 222 Fix loss of error on request->setup() callback. (Issue 47) 223 Support APR 2.x. (Issue 48) 224 Fixed slowdown in aggregate bucket with millions of child buckets 225 Avoid hang in apr_pollset_poll() by unclosed connections after fork() 226 227 228Serf 0.3.0 [2009-01-26, from /tags/0.3.0, r1217] 229 Support LTFLAGS override as a config-time env. variable (Issue 44) 230 Fix CUTest test harness compilation on Solaris (Issue 43) 231 Fix small race condition in OpenSSL initialization (Issue 39) 232 Handle content streams larger than 4GB on 32-bit OSes (Issue 41) 233 Fix test_ssl.c compilation with mingw+msys 234 Fix conn close segfault by explicitly closing conn when pool is destroyed 235 Expose the depth of the SSL certificate so the validator can use that info 236 Fix socket address family issue when opening a connection to a proxy 237 Provide new API to take snapshots of buckets 238 Implement snapshot API for simple and aggregate buckets 239 Build with bundled apr and apr-util VPATH builds 240 Build with bundled OpenSSL builds 241 242 243Serf 0.2.0 [2008-06-06, from /tags/0.2.0, r1189] 244 Enable use of external event loop: serf_create_context_ex 245 Enable adding new requests at the beginning of the request queue 246 Handle 'Connection:close' headers 247 Enable limiting the number of outstanding requests 248 Add readline function to simple buckets 249 Concatenate repeated headers using comma as separator, as per RFC 2616, 250 section 4.2. (Issue 29) 251 Add proxy server support 252 Add progress feedback support. (Issue 11) 253 Provide new API to simplify use of proxy and progress feedback support 254 Add callback to validate SSL server certificates. (Issue 31) 255 Add new test framework 256 Send current version string in the test programs (Issue 21) 257 Bugfixes: 258 Fix segfault with epoll when removing a NULL socket 259 Reset OpenSSL thread-safety callbacks when apr_terminate() called 260 Do not remove the socket from the pollset on pool cleanup 261 Do not issue double close on skt w/second one being close(-1) (Issue 33) 262 263 264Serf 0.1.2 [2007-06-18, from /tags/0.1.2, r1115] 265 Enable thread-safety with OpenSSL (Issue 19) 266 Teach serfmake to install headers into include/serf-0 267 Be more tolerant when servers close the connection without telling us 268 Do not open the connection until we have requests to deliver 269 Fix serfmake to produce the library that corresponds to the minor version 270 Fix a memory leak with the socket bucket (Issue 14) 271 Fix uninitialized branch in serf_spider (Issue 15) 272 273 274Serf 0.1.1 [2007-05-12, from /tags/0.1.1, r1105] 275 Add SSL client certificate support 276 Implement optimized iovec reads for header buckets 277 Fix up 'make clean' and 'make distclean' (Issues 9, 10) 278 Add SERF_VERSION_AT_LEAST macro 279 Remove abort() calls (Issue 13) 280 281 282Serf 0.1.0 [2006-12-14, from /tags/0.1.0, r1087] 283 Initial packaged release 284