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