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