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