1Wed May 13 11:49:09 CEST 2015
2	Releasing libmicrohttpd 0.9.42. -CG
3
4Wed May 13 11:33:59 CEST 2015
5	Fix off-by-one in MHD_start_daemon_va() error handling logic
6	when initialization of threads for thread pool fails for some
7	reason. -CG/JC
8
9Thu May  7 17:05:46 CEST 2015
10	Add support for poll() in W32. -EG
11
12Wed May  6 18:07:38 CEST 2015
13	Fix #3784: actually implement MHD_CONNECTION_INFO_SOCKET_CONTEXT. -asherkin
14
15Thu Apr 30 00:03::49 CEST 2015
16	Releasing libmicrohttpd 0.9.41. -CG
17
18Thu Apr 30 00:02:33 CEST 2015
19	Fix issue where resumed connections would not continue
20	unless other requests are active in certain
21	event-loop modes. Thanks to Mike Castillo for reporting. -CG
22
23Wed Apr 15 03:16:18 CEST 2015
24	Fixing issue #3753 (testcase issue). -CG
25
26Wed Apr 15 00:30:34 CEST 2015
27	Fix looping issue when using MHD_USE_POLL_INTERNALLY
28	and a client times out. -LB
29
30Sun Apr 12 21:48:50 CEST 2015
31	Fix looping issue when combining MHD_USE_EPOLL_LINUX_ONLY
32	with HTTPS and slow clients. -CG
33
34Fri Apr 10 22:02:27 CEST 2015
35	Fix logic to add "Connection: Close" that was broken in 0.9.38
36	when adding MHD_RF_HTTP_VERSION_1_0_ONLY. -CG
37
38Fri Apr 10 00:38:40 CEST 2015
39	Ensure fast termination in MHD_USE_THREAD_PER_CONNECTION
40	mode on W32 by using signal pipe. -CG
41
42Thu Apr  9 09:01:15 CEST 2015
43	Fixing issue with undrained signal pipe when using
44	MHD_USE_SELECT_INTERNALLY and MHD_USE_POLL in combination
45	with MHD_resume_connection(), causing 100% CPU usage. -DD
46
47Tue Apr  7 00:12:36 CEST 2015
48	Releasing libmicrohttpd 0.9.40. -CG
49
50Sat Apr  4 18:28:24 CEST 2015
51	Fix potential deadlock issue in MHD_USE_THREAD_PER_CONNECTION
52	mode if shutdown is initiated while connections are active. -CG
53
54Sat Apr  4 17:48:13 CEST 2015
55	Fix issue in thread-pool mode where a MHD_stop_daemon()
56	might not reach threads that stopped listening because
57	we hit the maximum number of concurrent connections and
58	the option MHD_USE_PIPE_FOR_SHUTDOWN was also not used.
59	Testcase added as well. -CG
60
61Fri Apr  3 12:55:31 CEST 2015
62	Update HTTPS testcases to avoid SSLv3, as SSLv3 is dead.
63
64Fri Apr  3 12:25:28 CEST 2015
65	Do not enforce FD_SETSIZE-limit on worker control
66	pipe when using MHD_USE_EPOLL_LINUX_ONLY (#3751). -MH/CG
67
68Tue Mar 31 10:28:26 CEST 2015
69	Adding MHD_OPTION_NOTIFY_CONNECTION,
70	MHD_CONNECTION_NOTIFY_STARTED,
71	MHD_CONNECTION_NOTIFY_CLOSED and
72	MHD_CONNECTION_INFO_SOCKET_CONTEXT to allow
73	applications to trigger operations when TCP
74	connections start or end, instead of just
75	exposing HTTP requests starting and ending. -RG/CG
76
77Thu Feb 26 09:55:43 CET 2015
78	Fixing bug that prevented MHD_OPTION_HTTPS_MEM_DHPARAMS
79	from working within a MHD_OPTION_ARRAY. -DD
80
81Sun Feb  8 01:24:38 CET 2015
82	Adding MHD_OPTION_HTTPS_KEY_PASSWORD as proposed by
83	Andrew Basile. -CG/AB
84
85Wed Feb  4 20:34:22 CET 2015
86	Fix issue where for HTTP/1.0-clients that set
87	Connection: Keep-Alive header a response of
88	indefinite size was generated with chunked encoding. -CG
89
90Sun Jan 18 20:09:06 CET 2015
91	Fix potential infinite loop on shutdown in multi-threaded mode
92	under certain conditions. -CG
93
94Mon Dec 22 16:33:18 CET 2014
95	Releasing 0.9.39. -CG
96
97Mon Dec 22 13:02:36 CET 2014
98	Fix generated compiler flags for Solaris Studio linker (#3584). -CG
99
100Sat Dec 20 00:35:40 CET 2014
101	Adding MHD_http_unescape() to public API (#3585). -CG
102	Updating documentation to document
103	MHD_is_feature_supported(). -CG
104
105Thu Dec  4 00:43:10 CET 2014
106	If "Connection: upgrade" is requested, do not add
107	"Connection: Keep-Alive" in the response. -GJ
108
109Tue Nov 18 13:52:29 CET 2014
110	Call MHD_cleanup_connections() during MHD_DAEMON_INFO_CURRENT_CONNECTIONS
111	processing for more accurate results. -MS
112
113Wed Oct 29 20:45:21 CET 2014
114	Adding MHD_OPTION_LISTENING_ADDRESS_REUSE option allowing clients
115	to force allowing re-use of the address:port combination
116	(SO_REUSEPORT). -MS
117
118Wed Oct 29 16:27:05 CET 2014
119	Adding MHD_DAEMON_INFO_CURRENT_CONNECTIONS to allow clients
120	to query the number of active connections. -MS
121
122Fri Oct  3 14:28:58 CEST 2014
123	Releasing 0.9.38. -CG
124
125Mon Sep 29 22:25:34 CEST 2014
126	Properly decode '+' in URL-encoded POST data. -CG/KM
127
128Fri Sep 12 17:32:09 CEST 2014
129	Fix --disable-dauth configure option (#3543). -doostee
130
131Thu Jun 26 21:06:04 CEST 2014
132	Fix failure to terminate 'instantly' in thread-per-connection
133	mode if there is a client with open connections.
134	Thanks to Kenneth Mastro for reporting. -CG
135
136Sun Jun 22 12:22:08 CEST 2014
137	Actually, avoid locking on response as responses must
138	not be modified in a connection-specific way; instead
139	modify the connection's data buffer to add missing
140	responses headers.  If we are forced to add
141	"Connection: close", suppress output of conflicting
142	application-provided "Connection: Keep-Alive" header. -CG
143
144Sun Jun 22 00:22:08 CEST 2014
145	Lock on response if adding headers, needed if response
146	object is shared across threads and connections. -CG
147
148Thu Jun 19 17:32:32 CEST 2014
149	Ensure that listen FD is bound to epoll FD even before
150	MHD_run() is called if running with MHD_USE_EPOLL_LINUX_ONLY
151	in combination with 'external select' mode.  Thanks to
152	Marcos Pindado Sebastian for reporting. -CG
153
154Sun Jun  8 15:10:44 CEST 2014
155	Add 'MHD_set_response_options' as a way to set per-response
156	flags.  Add flag to force HTTP 1.0-only conservative
157	behavior, in particular suppressing adding "Connection"
158	headers. -CG
159
160Mon Jun  2 00:03:28 CEST 2014
161	Added back unescaping for URI path (#3413) but without
162	unescaping '+' (#3371) to remain compatible with
163	MHD 0.9.34 and before.  Note that applications providing
164	a custom MHD_OPTION_UNESCAPE_CALLBACK are no longer expected
165	to replace '+' with ' ', as that is now done separately for
166	the locations where this transformation is appropriate.
167	Releasing 0.9.37. -CG
168
169Wed May 28 15:30:56 CEST 2014
170	Properly applying patch that was supposed to be
171	committed on "May  2 20:22:45 CEST 2014" to address
172	infinite loop (DoS) when HTTP connection is reset (#3392). -GM
173
174Sun May 25 20:18:27 CEST 2014
175	Fixed W32 build issues. -EG
176	Releasing 0.9.36. -CG
177
178Sat May 17 06:47:00 CEST 2014
179	Fix notifying client about completed request twice
180	under certain circumstances. -CG
181
182Tue May 13 18:24:37 CEST 2014
183	Fix accidental transmission of footer termination '\r\n'
184	for responses with zero byte payload and non-chunked
185	encoding (#3397).  Thanks to amatus for reporting. -CG
186
187Sun May  4 11:05:26 CEST 2014
188	Fix gnutls header check to make it cross-compile aware. -BK
189
190May  2 20:22:45 CEST 2014
191	Fix infinite loop (DoS) when HTTP connection is reset (#3392). -GM
192	Fix possible issue from combination of epoll and suspend/resume
193	logic if edge trigger event is lost; also simplify logic to
194	maintain simpler invariants on the epoll state. -CG
195	Use OpenSSL cipher list "HIGH" in libmicrospdy (#3391). -CG
196	Releasing 0.9.35. -CG
197
198Thu Apr 10 09:39:38 CEST 2014
199	Removed unescaping for URI path (#3371) as '+' should not
200	be converted to space in accordance with
201	http://www.w3.org/TR/html401/appendix/notes.html#ampersands-in-uris
202	and http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
203	Note that we now also no longer convert '#38;' to '&'; if needed,
204	the application needs to apply unescaping to the path of the URI
205	itself (before, MHD unescaped '#38;' but not '&', so this
206	inconsistency was now resolved by simply not unescaping anything
207	before the first '&'). -CG
208
209Tue Apr 08 15:35:44 CET 2014
210	Added support for W32 native threads.
211	Added --with-threads=LIB configure parameter. -EG
212
213Mon Apr  7 13:25:30 CEST 2014
214	Add MHD_OPTION_HTTPS_MEM_DHPARAMS to allow applications
215	to enable PFS. -HB/CG
216
217Tue Apr 01 07:10:23 CET 2014
218	Added usage of native mutex on W32. -EG
219
220Sat Mar 29 16:12:03 CET 2014
221	Added MHD_is_feature_supported() function. -EG
222
223Thu Mar 27 14:47:54 CET 2014
224	Used larger FD_SETSIZE internally on W32.
225	Extended API to work with non-default FD_SETSIZE. -EG
226
227Tue Mar 25 12:53:55 CET 2014
228	Fix limiting by IPv6 address. -EG
229
230Tue Mar 25 09:06:13 CET 2014
231	Added more FD_SETSIZE checks.
232	Implemented FD_SETSIZE checks for W32. -EG
233
234Wed Mar 05 13:15:05 CET 2014
235	Cleanup and refactoring of configure.ac.
236	m4 macros updated.
237	Custom configure macros replaced with autoconf archive macros.
238	SPDY disabled by default on W32.
239	Changed configure flag from '--disable-pipe' to
240	'--enable-socketpair'.
241	Added configure flags '--disable-doc' and '--disable-examples'.
242	Narrowed down extrenal lib specific compiler and linker flags
243	usage. -EG
244
245Wed Feb 26 17:42:34 CET 2014
246	Refactoring of configure.ac: custom macros replaced with macros
247	from Autoconf Archive.
248	Minor corrections of configure.ac.
249	Excluded pthread flags from global flags, pthread now used only
250	where required.
251	W32: fixed .dll resource compilation with '-isystem' CPPFLAG.
252	W32: improved header compatibility with MSVC.
253	W32: now tested on Win64, compiled by MinGW-w64. -EG
254
255Mon Feb 24 23:13:53 CET 2014
256	Added support for TCP FASTOPEN. -SHT
257	Releasing 0.9.34. -CG
258
259Thu Feb 20 14:17:05 CET 2014
260	W32: Added creation of libmicrohttpd.lib, libmicrohttpd.def,
261	libmicrohttpd.exp and libmicrohttpd-static.lib for easy use
262	compiled MHD with MSVC.
263	W32: Use MS lib.exe tool if available for creating MSVC staff.
264	W32: Added .dll information resource. -EG
265
266Tue Feb 18 19:46:45 CET 2014
267	Removed dependency on plibc for simpler compilation for W32.
268	Added configure option "--disable-pipes" to use socketpairs
269	instead of pipes for signalling to child threads. Pipes are
270	always disabled on W32.
271	Some code refactoring. -EG
272
273Sat Feb  8 15:08:35 CET 2014
274	Corrected some uses of 'int' vs. 'size_t'. -EG/CG
275
276Wed Jan 22 09:44:33 CET 2014
277	MHD_USE_DUAL_STACK in libmicrohttpd currently just *inhibits
278	setting* the IPV6_V6ONLY socket option, but per Microsoft's
279	documentation the default on Windows is that this is enabled, thus
280	MHD_USE_DUAL_STACK will not work (since it leaves the
281	default). libmicrohttpd should probably just unconditionally set
282	IPV6_V6ONLY to the desired value when the option is available. -LJ
283
284Wed Jan  1 21:38:18 CET 2014
285	Allow Keep-Alive with HTTP 1.0 (if explicitly requested),
286	and automatically set "Connection: Keep-Alive" in response
287	in this case as well. -CG
288
289Tue Dec 24 12:27:39 CET 2013
290	Adding explicit annotations to hide symbols that are not for
291	export in the C code (gcc 4.0 or higher only). -CG
292
293Sun Dec 22 14:54:30 CET 2013
294	Adding a few lines to avoid warnings from picky compilers. -CG
295
296Sat Dec 21 17:26:08 CET 2013
297	Fixed an issue with a missing argument in the postexample.
298	Fixed issue with bogus offset increment involving sendfile
299	on GNU/Linux.  Adding support for SNI.
300	Releasing 0.9.33. -CG
301
302Mon Dec  9 21:41:57 CET 2013
303	Fix for per-worker daemon pipes enabled with
304	MHD_USE_SUSPEND_RESUME that were not closed in
305	MHD_stop_daemon. -MH
306
307Sat Dec  7 00:44:49 CET 2013
308	Fixing warnings and build issue if --disable-https is given
309	to configure. -CG
310
311Tue Dec  3 21:25:56 CET 2013
312	Security fix: do not read past 0-terminator when unescaping
313	strings (thanks to Florian Weimer for reporting).
314	Releasing 0.9.32. -CG
315
316Tue Dec  3 21:05:38 CET 2013
317	Signaling n times for shutdown works, but for resume we need to
318	wake up the correct daemon. Even if we signal n times in that
319	case also, there's no guarantee that some daemon can't run
320	through its select loop more than once before the daemon we want
321	to wake up gets a chance to read.  Thus we need a signal pipe
322	per thread in the thread pool IF MHD_suspend_connection is used.
323	This introduces a new flag MHD_USE_SUSPEND_RESUME to add those
324	additional pipes and only allow MHD_suspend_connection to be
325	used in conjunction with this flag.
326
327	Also, as MHD_resume_connection() will be called on a non-daemon
328	thread, but none of the queue insert/delete calls are thread safe,
329	we need to be concerned about (a) corrupting the queue, and (b)
330	having to add mutex protection around every access to the queues,
331	including loops through timer queues, etc. This wasn't a problem
332	before adding resume; even suspend should be safe since it happens
333	in a callback from the daemon.
334
335	I think it's easier to (a) have MHD_suspend_connection() move the
336	connection to a suspended queue, (b) have MHD_resume_connection()
337	mark the connection as resuming, and then (c) do all the actual
338	queue manipulations in MHD_select (poll, epoll, etc.) to move the
339	resumed connections back to their normal queues, in response to
340	the wake up. The changes are simpler & cleaner. There is a cost to
341	the basic select loop that is avoided by making suspend/resume a
342	startup option. The per-worker pipes can then also be enabled only
343	with that option set. -MH
344
345Fri Nov 29 20:17:03 CET 2013
346	Eliminating theoretical stack overflow by limiting length
347	of URIs in authentication headers to 32k (only applicable
348	if the application explicitly raised the memroy limits,
349	and only applies to MHD_digest_auth_check). Issue was
350	reported by Florian Weimer. -CG
351
352Tue Nov 26 01:26:15 CET 2013
353	Fix race on shutdown signal with thread pool on non-Linux
354	systems by signalling n times for n threads. -CG
355
356Sun Nov 24 13:41:15 CET 2013
357	Introduce state to mark connections in suspended state (with
358	epoll); add missing locking operations in MHD_suspend_connection.
359	Fix definition of MHD_TLS_CONNECTION_INIT.  -MH/JC
360
361Wed Oct 30 09:34:20 CET 2013
362	Fixing issue in PostProcessor when getting partial boundary
363	at the beginning, expanding test suite. -CG
364
365Sun Oct 27 15:19:44 CET 2013
366	Implementing faster processing of upload data in multipart
367	encoding (thanks to performance analysis by Adam Homolya). -CG
368
369Thu Oct 24 10:40:03 CEST 2013
370	Adding support for connection flow control via
371	MHD_suspend_connection and MHD_resume_connection. -CG
372
373Sat Oct 19 16:40:32 CEST 2013
374	Releasing libmicrohttpd 0.9.31. -CG
375
376Mon Sep 23 20:24:48 CEST 2013
377	Fixing build issues on OS X with CLOCK_MONOTONIC not being
378	implemented on OS X. -CG
379
380Mon Sep 23 14:15:00 CEST 2013
381	Make libmicrohttpd play nicely with upcoming libgcrypt 1.6.0. -CG
382
383Fri Sep 20 17:01:37 CEST 2013
384	Improved configure checks for cURL. -CG
385
386Wed Sep 18 18:29:24 CEST 2013
387	Signal connection termination as OK (and not as ERROR) if the
388	stream was terminated by the callback returning
389	MHD_CONTENT_READER_END_OF_STREAM. Also, release response
390	mutex before calling the termination callback, to avoid
391	possible deadlock if the client destroys the response in
392	the termination callback (due to non-recursiveness of the
393	lock). -CG
394
395Wed Sep 18 14:31:35 CEST 2013
396	Adding #define MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN. -CG
397
398Tue Sep 17 21:32:47 CEST 2013
399	Also pass MHD connection handle in URI log callback. -CG
400
401Fri Sep  6 10:00:44 CEST 2013
402	Improved check for proper OpenSSL version for
403	libmicrospdy. -CG
404
405Wed Sep  4 17:23:15 CEST 2013
406	Set IPV6_V6ONLY socket option correctly when IPv6 is
407	enabled (MHD_USE_IPv6) but not dual stack
408	(MHD_USE_DUAL_STACK) -MW
409
410Mon Sep  2 22:59:45 CEST 2013
411	Fix use-after-free in epoll()-mode on read error.
412	Releasing libmicrohttpd 0.9.30. -CG
413
414Sun Sep  1 21:55:53 CEST 2013
415	Fixing build issues on FreeBSD. -CG
416
417Fri Aug 30 13:53:04 CEST 2013
418	Started to implement #3008 (RFC 2616, section 8.1.4
419	says HTTP server SHOULD terminate connection if the
420	client closes it for writing via TCP FIN, so we should
421	continue to try to read and react differently
422	if recv() returns zero). -CG
423
424Wed Aug 28 18:40:47 CEST 2013
425	Fix #3007 (build issue if messages are disabled). -CG
426
427Tue Aug 27 18:39:08 CEST 2013
428	Fix build issue if SOCK_NONBLOCK/EPOLL_CLOEXEC are not
429	defined (as is the case on older glibc versions). -CG
430
431Fri Aug 23 14:28:02 CEST 2013
432	Releasing libmicrohttpd 0.9.29. -CG
433
434Mon Aug 12 23:51:18 CEST 2013
435	Updated manual, documenting W32 select/shutdown issue. -CG
436
437Sat Aug 10 21:01:18 CEST 2013
438	Fixed #2983. -CG
439
440Sat Aug 10 20:39:27 CEST 2013
441	Use 'errno' to indicate why 'MHD_add_connection' failed
442	(#2984). -CG
443
444Sat Aug 10 17:31:31 CEST 2013
445	Disable use of 'shutdown' on W32 always as winsock
446	doesn't properly behave with half-closed connections
447	(see http://www.chilkatsoft.com/p/p_299.asp). -CG/LRN
448
449Thu Aug  8 07:55:07 CEST 2013
450	Fixing issue with pipelining not working as desired. -CG
451
452Wed Aug  7 08:17:40 CEST 2013
453	Removing dependency on liberty (on W32). -MC
454
455Fri Aug  2 20:55:47 CEST 2013
456	Fix HTTP 1.1 compliance with respect to not returning
457	content-length headers for successful "CONNECT" requests.
458	Note that for unsuccessful "CONNECT" requests with an
459	empty response body, users must now explicitly set the
460	content-length header. -CG
461
462Sun Jul 28 16:35:17 CEST 2013
463	Fixing build issue (missing #ifdef) in conjunction with
464	--disable-messages. -blueness
465
466Sat Jul 20 12:35:40 CEST 2013
467	Fixing combination of MHD_USE_SSL and MHD_USE_EPOLL_LINUX_ONLY. -CG
468
469Fri Jul 19 09:57:27 CEST 2013
470	Fix issue where connections were not cleaned up when
471	'MHD_run_from_select' was used.  Adding experimental
472	TURBO mode.
473	Releasing libmicrohttpd 0.9.28. -CG
474
475Sun Jul 14 19:57:56 CEST 2013
476	Removing 'shutdown' calls that happen just before close or
477	that are for read-only and for a client that has already
478	stopped sending anyway (thus reducing number of system calls
479	slightly). -CG
480
481Sun Jul 14 19:37:37 CEST 2013
482	Name MHD worker threads on glibc >= 2.12. -,L4X[o](B
483
484Fri Jul  5 12:05:01 CEST 2013
485	Added MHD_OPTION_CONNECTION_MEMORY_INCREMENT to allow users
486	to specify a custom value for incrementing read buffer
487	sizes (#2899). -MH
488
489Fri Jun 28 14:05:15 CEST 2013
490	If we shutdown connection for reading on POST due to error,
491	really do not process further requests even if we already
492	read the next request from the connection.  Furthermore, do
493	not shutdown connections for reading on GET/HEAD/etc. just
494	because	the application queued a response immediately ---
495	reserve that behavior for PUT/POST. -CG
496
497Tue Jun 25 15:08:30 CEST 2013
498	Added option 'MHD_USE_DUAL_STACK' to support a single
499	daemon for IPv4 and IPv6 without the application having
500	to do the binding. -CG
501
502Mon Jun 24 22:33:34 CEST 2013
503	Finished integration with epoll, including benchmarking and
504	documentation. -CG
505
506Sun Jun 23 15:28:13 CEST 2013
507	Added option 'MHD_USE_PIPE_FOR_SHUTDOWN' to cleanly support
508	'MHD_quiesce_daemon' with thread pools and per-connection
509	threads (we then need a pipe for shutdown, but if
510	'MHD_quiesce_daemon' is not used, we do not want to
511	require the use of a pipe; introducing the pipe after
512	the threads have been started can also fail, so the
513	application needs to tell us early on). -CG
514
515Sat Jun 22 20:24:17 CEST 2013
516	Removed locking calls for thread modes that do not need them.
517	Reorganized way to obtain connection's event loop state.
518	Added sorted XDLL for connections with default timeout to
519	avoid having to loop over all connections to determine current
520	timeout (custom per-connection timeouts are in another list
521	which is iterated each time). -CG
522
523Fri Jun 21 20:55:48 CEST 2013
524	Preparing build system and tests for epoll support. -CG
525
526Tue May 21 14:34:36 CEST 2013
527	Improving configure tests for OpenSSL and spdylay to
528	avoid build errors in libmicrospdy code if those libraries
529	are not present. -CG
530
531Mon May 20 12:29:35 CEST 2013
532	Added MHD_CONNECTION_INFO_CONNECTION_FD to allow clients
533	direct access to connection socket; useful for COMET
534	applications that need to disable NAGLE (#2886). -CG
535
536Mon May 15 12:49:01 CEST 2013
537	Fixing #2859. -CG
538
539Sun May  5 21:44:08 CEST 2013
540	Merged libmicrospdy code with libmicrohttpd build system
541	(no major changes to libmicrospdy itself yet). -CG
542
543Sun May  5 20:13:59 CEST 2013
544	Improved documentation and code style a bit.
545	Releasing libmicrohttpd 0.9.27. -CG
546
547Thu Apr 25 13:08:10 CEST 2013
548	Added 'MHD_quiesce_daemon' to allow application to stop
549	processing new incoming connections while finishing
550	ongoing requests. -CG
551
552Sun Mar 31 23:17:13 CEST 2013
553	Added MHD demonstration code 'src/examples/demo.c'. -CG
554
555Sun Mar 31 20:27:48 CEST 2013
556	Adding new API call 'MHD_run_from_select' to allow programs
557	running in 'external select mode' to reduce the number of
558	'select' calls by a factor of two. -CG
559
560Sun Mar 31 20:03:48 CEST 2013
561	Performance improvements, updated documentation.
562	Make better use of available memory pool memory for
563	reading (especially important for large POST uploads);
564	improve post processor speed by internally adjusting the
565	buffer size by 4 bytes to ensure "round" IO sizes given
566	a "round" post processor buffer size argument.  Note
567	that applications that previously added 4 bytes to the
568	post processor buffer size might now perform worse.
569	Using the new 'demo' example, POST upload speed
570	increased from ~90 MB/s to ~120 MB/s for a large file
571	(note that the improvement comes from better aligned
572	disk IO; without disk IO, the speed was (and remains)
573	at ~1500 MB/s on this system). -CG
574
575Fri Mar 29 16:44:29 CET 2013
576	Renaming testcases to consistenly begin with test_;
577	Changing build system to build examples in doc/.
578	Releasing libmicrohttpd 0.9.26. -CG
579
580Thu Mar  7 10:13:08 CET 2013
581	Fix bug in postprocessor URL parser (#2818). -jgresula
582
583Mon Mar  4 13:45:35 CET 2013
584	Fix dropping of SSL connections if uptime is less than
585        MHD_OPTION_CONNECTION_TIMEOUT due to integer underflow (#2802). -greed
586
587Fri Mar  1 01:11:57 CET 2013
588	Fully initialize cleanup mutex struct for each thread (#2803). -Ulion
589
590Wed Feb  6 01:51:52 CET 2013
591	Releasing libmicrohttpd 0.9.25. -CG
592
593Fri Feb  1 10:19:44 CET 2013
594	Handle case where POST data contains "key=" without value
595	at the end and is not new-line terminated by invoking the
596	callback with the "key" during MHD_destroy_post_processor (#2733). -CG
597
598Wed Jan 30 13:09:30 CET 2013
599	Adding more 'const' to allow keeping of reason phrases in ROM.
600	(see mailinglist). -CG/MV
601
602Tue Jan 29 21:27:56 CET 2013
603	Make code work with PlibC 0.1.7 (which removed plibc_init_utf8).
604	Only relevant for W32. Fixes #2734. -CG
605
606Sat Jan 26 21:26:48 CET 2013
607	Fixing regression introduced Jan 6 (test on data_size instead
608	of total_size. -CG
609
610Fri Jan 11 23:21:55 CET 2013
611	Also return MHD_YES from MHD_destroy_post_processor if
612	we did not get '\r\n' in the upload. -CG
613
614Sun Jan  6 21:10:13 CET 2013
615	Enable use of "MHD_create_response_from_callback" with
616	body size of zero. -CG
617
618Tue Dec 25 16:16:30 CET 2012
619	Releasing libmicrohttpd 0.9.24. -CG
620
621Tue Dec 18 21:18:11 CET 2012
622	Given both 'chunked' encoding and 'content-length',
623	ignore the 'content-length' header as per RFC. -ES
624
625Thu Dec  6 10:14:44 CET 2012
626	Force adding "Connection: close" header to response if
627	client asked for connection to be closed (so far, we
628	did close the connection, but did not send the
629	"Connection: close" header explicitly, which some clients
630	seem to dislike. (See discussion on mailinglist).
631	Also, if there is already a transfer-encoding other
632	than 'chunked' set by the application, we also now close
633	the connection if the response is of unknown size. -CG
634
635Wed Dec  5 19:22:26 CET 2012
636	Fixing parameter loss of POST parameters with IE8 and Chrome
637	in the PostProcessor as the code failed to properly handle
638	partial data. -MM
639
640Fri Nov  9 21:36:46 CET 2012
641	Releasing libmicrohttpd 0.9.23. -CG
642
643Thu Nov  8 22:32:59 CET 2012
644	Ship our own version of tsearch and friends if not provided by platform,
645	so that MHD works nicely on Android. -JJ
646
647Mon Oct 22 13:05:01 CEST 2012
648	Immediately do a second read if we get a full buffer from
649	TLS as there might be more data in the TLS buffers even if
650	there is no activity on the socket. -CG
651
652Tue Oct 16 01:33:55 CEST 2012
653	Consistently use "#ifdef" and "#ifndef" WINDOWS, and not
654	sometimes "#if". -CG
655
656Sat Sep  1 20:51:21 CEST 2012
657	Releasing libmicrohttpd 0.9.22. -CG
658
659Sat Sep  1 20:38:35 CEST 2012
660	Adding configure option to allow selecting support for basic
661	and digest authentication separately (#2525). -CG
662
663Thu Aug 30 21:12:56 CEST 2012
664	Fixing URI argument parsing when string contained keys without
665	equals sign (i.e. '&bar&') in the middle of the argument (#2531).
666	Also replacing 'strstr' with more efficient 'strchr' when
667	possible. -CG
668
669Tue Aug 21 14:36:17 CEST 2012
670	Use "int" instead of "enum X" in 'va_arg' calls to be nice to
671	compilers that use 'short' (i.e. 8 or 16 bit) enums but pass
672	enums still as "int" in varargs. (See discussion on mailinglist). -CG/MV
673
674Tue Aug 21 14:31:54 CEST 2012
675	Reduce default size in post processor buffer (for small systems;
676	performance impact on large systems should be minimal). -CG/MV
677
678Thu Jul 19 21:48:42 CEST 2012
679	Releasing libmicrohttpd 0.9.21. -CG
680
681Thu Jul 19 11:34:50 CEST 2012
682	Consistently use 'panic' function instead of ever directly
683	calling 'abort ()'.  Eliminating unused mutex in SSL mode.
684	Removing check in testcases that fails depending on which
685	version of gnuTLS is involved. -CG
686
687Tue Jul 17 23:50:43 CEST 2012
688	Stylistic code clean up.  Allowing lookup up of trailing values
689	without keys using "MHD_lookup_connection_value" with a key of NULL
690	(thus achieving consistency with the existing iterator API). -CG
691
692Tue Jul 17 22:37:05 CEST 2012
693	Adding experimental (!) code for MHD operation without listen socket. -CG
694
695Tue Jul 17 22:15:57 CEST 2012
696	Making sendfile test pass again on non-W32 systems. -CG
697
698Mon Jul  9 13:43:35 CEST 2012
699	Misc changes to allow testcases to pass on W32. -LRN
700
701Sun Jul  8 15:05:31 CEST 2012
702	Misc changes to fix build on W32. -LRN
703
704Fri Jun 22 11:31:25 CEST 2012
705	Make sure sockets opened by MHD are non-inheritable by default (#2414). -CG
706
707Tue Jun 19 19:44:53 CEST 2012
708	Change various uses of time(NULL) to new MHD_monotonic_time() function to
709	make timeouts immune to the system real time clock changing. -MC
710
711Tue Jun 12 21:35:00 CEST 2012
712	Adding 451 status code. -CG
713
714Thu May 31 13:33:45 CEST 2012
715	Releasing 0.9.20. -CG
716
717Tue May 29 13:55:03 CEST 2012
718	Fixed some testcase build issues with disabled post processor. -CG
719
720Tue May 29 13:45:15 CEST 2012
721	Fixing bug where MHD failed to call connection termination callback
722	if a connection either was closed due to read errors or if MHD
723	was terminated with certain threading models.  Added new
724	termination code MHD_REQUEST_TERMINATED_READ_ERROR for the
725	read-termination cause. -CG
726
727Thu Mar 15 23:47:53 CET 2012
728	Eliminating code clone in tls connection read/write handlers. -CG
729
730Fri Mar  2 23:44:56 CET 2012
731	Making sure that MHD_get_connection_values iterates over the
732	headers in the order in which they were received. -CG
733
734Wed Feb  1 09:39:12 CET 2012
735	Fixed compilation problem on MinGW. -BS
736
737Tue Jan 31 17:50:24 CET 2012
738	Releasing 0.9.19. -CG
739
740Mon Jan 30 20:02:34 CET 2012
741	Fixed handling of garbage prior to first multipart boundary
742	(#2126). -woof
743
744Fri Jan 27 11:00:43 CET 2012
745	Fixed postprocessor failure for applications that enclosed boundary
746	in quotes (#2120). -woof
747
748Tue Jan 24 16:07:53 CET 2012
749	Added configure check for sin_len in 'struct sockaddr' and adding
750	code to initialize this field if it exists now. -CG
751
752Mon Jan 23 14:02:26 CET 2012
753	Fixed double-free if specified cipher was not valid (during
754	MHD_daemon_start).  Releasing 0.9.18. -CG
755
756Thu Jan 19 22:11:12 CET 2012
757	Switch to non-blocking sockets for all systems but Cygwin
758	(we already used non-blocking sockets for GNU/Linux); also
759	use non-blocking sockets on Cygwin for HTTPS as this is
760	required to avoid DoS-by-partial-record via gnutls.  On
761	Cygwin, #1824 implies that we need to use blocking sockets
762	for HTTP on Cygwin for now. -CG
763
764Thu Jan 19 17:46:05 CET 2012
765	Fixing use of uninitialized 'earliest_deadline' variable in
766	MHD_get_timeout which can lead to returning an incorrect
767	(too early) timeout (#2085). -tclaveirole
768
769Thu Jan 19 13:31:27 CET 2012
770	Fixing digest authentication for GET requests with URI arguments
771	(#2059). -CG
772
773Sat Jan  7 17:30:48 CET 2012
774	Digest authentication expects nonce count in base 16, not base 10
775	(#2061). -tclaveirole
776
777Thu Jan  5 22:01:37 CET 2012
778	Partial fix for #2059, digest authentication with GET arguments. -CG
779
780Thu Dec  1 15:22:57 CET 2011
781	Updated authorization_example.c to actually demonstrate the current
782	MHD API. -SG
783
784Mon Nov 21 18:51:30 CET 2011
785	Added option to suppress generation of the 'Date:' header to be
786	used on embedded systems without RTC.  Documented the new option
787	and the configure options. -CG
788
789Sat Nov 19 20:08:40 CET 2011
790	Releasing 0.9.17. -CG
791
792Fri Nov 18 20:17:22 CET 2011
793	Fixing return value of MHD_get_timeout if timeouts are not in use.
794        (#1914). -rboulton
795
796Sun Nov 13 13:34:29 CET 2011
797	Trying to fix accidental addition of a "Connection: close" footer
798	under certain (rare) circumstances. -CG
799
800Fri Nov  4 10:03:00 CET 2011
801	Small updates to the tutorial.
802	Releasing 0.9.16. -CG
803
804Thu Nov  3 10:14:59 CET 2011
805	shutdown(RDWR) fails on OS X after shutdown(RD), so only use
806	shutdown(WR) if we already closed the socket for reading (otherwise
807	OS X might not do shutdown (WR) at all). -CG
808
809Tue Nov  1 18:51:50 CET 2011
810	Force adding of 'Connection: close' to the header if we (for whatever
811	reason) are shutting down the socket for reading (see also
812	#1760). -CG
813
814Thu Oct 27 14:16:34 CEST 2011
815	Treat EAGAIN the same way as EINTR (helps on W32). -LRN
816
817Wed Oct 12 10:40:12 CEST 2011
818	Made sockets blocking again for non-Linux platforms as non-blocking
819	sockets cause problems (#1824) on Cygwin but offer better performance
820	on Linux (see change on August 11 2011). -CG/pross
821
822Fri Oct  7 19:50:07 CEST 2011
823 	Fixed problems with testcases on W32. -LRN
824
825Fri Sep 30 17:56:36 CEST 2011
826	Fixed MHD_CONNECTION_OPTION_TIMEOUT for HTTPS (#1811). -CG
827
828Wed Sep 28 08:37:55 CEST 2011
829	Releasing libmicrohttpd 0.9.15. -CG
830
831Tue Sep 27 13:07:36 CEST 2011
832	Added ability to access URL arguments of the form 'url?foo' (without
833	'=').  Added testcase and updated documentation accordingly. -CG
834
835Mon Sep 26 21:24:00 CEST 2011
836	Only run response cleanup testcase if curl binary was found by
837	configure. -CG
838
839Wed Sep 21 09:53:18 CEST 2011
840	Reverting to using pipes for signalling select on non-Linux
841	platforms where shutdown-on-listen-sockets does not work. -WB/CG
842
843Mon Sep 19 14:06:30 CEST 2011
844	Fixing problem introduced with prompt response cleanup code. -CG
845
846Wed Sep 14 13:43:26 CEST 2011
847	Fixing minor memory leak if daemon with HTTPS support failed to
848	initialize (#1766). -CG
849
850Tue Sep 13 09:47:58 CEST 2011
851	Try to release responses more promptly upon connection termination. -CG
852
853Mon Sep 12 10:20:28 CEST 2011
854	Releasing libmicrohttpd 0.9.14. -CG
855
856Mon Sep 12 10:05:36 CEST 2011
857	Added new function to allow setting of a custom timeout value
858	for an individual connection (the MHD_set_connection_option is
859	more generic, but this is currently the only use). -CG
860
861Sat Sep 10 07:30:12 CEST 2011
862	Documenting that MHD_CONNECTION_INFO_GNUTLS_CLIENT_CERT is not
863	implemented and will not be implemented, and what to use instead. -CG
864
865Fri Sep  9 13:42:20 CEST 2011
866	Added testcase to demonstrate that response cleanup calling is
867	working. No bug was found. -CG
868
869Thu Aug 18 11:05:16 CEST 2011
870	Fixed bug with wrong state transition if callback returned
871	MHD_CONTENT_READER_END_OF_STREAM causing spurious extra callbacks
872	to the handler (thanks to Jan Seeger for pointing it out). -CG/JS
873
874Thu Aug 11 11:40:03 CEST 2011
875	Changing sockets to be non-blocking as suggested by Eivind Sarto
876	on the mailinglist. -CG
877
878Mon Jul 25 16:13:15 CEST 2011
879	Added a logo. -CG
880
881Sat Jul 16 22:42:10 CEST 2011
882	Change type of nonce to 'unsigned long int' to match return type
883	from 'strtoul'.  Fixes ERANGE check which would have previously
884	failed. -CG
885
886Wed Jul 13 09:26:17 CEST 2011
887	Fixing HTTP error status strings for certain high-numbered status codes.
888	Added support for some more (non-standard) status codes.
889	Releasing libmicrohttpd 0.9.13. -CG
890
891Thu Jul  7 10:24:20 CEST 2011
892	Adding performance measurements. -CG
893
894Thu Jun 23 14:21:13 CEST 2011
895	Releasing libmicrohttpd 0.9.12. -CG
896
897Wed Jun 22 14:32:23 CEST 2011
898	Force closing connection if either the client asked it or
899	if the response contains 'Connection: close' (so far,
900	only the client's request was considered). -CG/RV
901
902Wed Jun 22 10:37:35 CEST 2011
903	Removing listen socket from poll/select sets in
904	MHD_USE_THREAD_PER_CONNECTION mode; using 'shutdown'
905	on connection sockets to signal termination instead. -CG
906
907Wed Jun 22 10:25:13 CEST 2011
908	Eliminate unnecessary (and badly synchronized) calls to
909	MHD_get_timeout in MHD_USE_THREAD_PER_CONNECTION mode.
910	Document that this is not acceptable. -CG
911
912Tue Jun 21 13:54:59 CEST 2011
913	Fixing tiny memory leak in SSL code from 'gnutls_priority_init'.
914	Fixing data race between code doing connection shutdown and
915	connection cleanup.
916	Changing code to reduce connection cleanup cost from O(n) to O(1).
917	Cleaning up logging code around 'connection_close_error'. -CG
918
919Sat Jun 11 13:05:12 CEST 2011
920	Replacing use of sscanf by strtoul (#1688). -CG/bplant
921
922Fri Jun  3 15:26:42 CEST 2011
923	Adding MHD_CONNECTION_INFO_DAEMON to obtain MHD_Daemon
924	responsible for a given connection. -CG
925
926Wed May 25 14:23:20 CEST 2011
927	Trying to fix stutter problem on timeout described by
928	David Myers on the mailinglist (5/10/2011). -CG
929
930Fri May 20 22:11:55 CEST 2011
931	Fixed bug in testcase setup code causing crashes in
932	tls_session_timeout_test on some systems.
933	Releasing libmicrohttpd 0.9.11. -CG
934
935Fri May 20 19:34:59 CEST 2011
936	Fixed bug in parsing multipart/form-data with post processor where
937	the code failed to add a 0-terminator in the correct position. -PP
938
939Thu May 12 14:40:46 CEST 2011
940	Fixed bug where if multiple HTTP request messages are piped in at once,
941	microhttpd would call the handler with the wrong upload_data_size. -HZM
942
943Thu May 12 14:40:08 CEST 2011
944	Documented possible issue with off_t being sometimes
945	32-bit and sometimes 64-bit depending on #includes. -CG
946
947Sun May  8 21:52:47 CEST 2011
948	Allow MHD_SIZE_UNKNOWN to be used in conjunction with
949	MHD_create_response_from_fd (fixing #1679). -TG
950
951Wed Apr 27 16:11:18 CEST 2011
952	Releasing libmicrohttpd 0.9.10. -CG
953
954Fri Apr  8 11:40:35 CEST 2011
955	Workaround for cygwin poll brokenness. -TS
956
957Sun Apr  3 13:56:52 CEST 2011
958	Fixing compile error on OS X. -CG
959
960Wed Mar 30 12:56:09 CEST 2011
961	Initialize tv_usec in MHD_USE_THREAD_PER_CONNECTION with select
962	and per-connection timeout. -CG
963
964Tue Mar 29 14:15:13 CEST 2011
965	Releasing libmicrohttpd 0.9.9. -CG
966
967Tue Mar 29 14:11:19 CEST 2011
968	Fixed call to mmap for memory pool, extended testcase to cover
969	POLL. -CG
970
971Wed Mar 23 23:24:25 CET 2011
972	Do not use POLLIN when we only care about POLLHUP (significantly
973	improves performance when using MHD_USE_THREAD_PER_CONNECTION
974	in combination with MHD_USE_POLL). -ES
975
976Sun Mar 20 09:16:53 CET 2011
977	Fixing race when using MHD_USE_THREAD_PER_CONNECTION in combination
978	with MHD_USE_POLL. -CG
979
980Fri Mar 18 13:23:47 CET 2011
981	Removing MSG_DONTWAIT which should not be needed and was presumably
982	causing problems with EAGAIN under certain circumstances. -ES
983
984Fri Mar 11 22:25:29 CET 2011
985	Fixing bug in MHD_create_response_from_fd_at_offset with non-zero offsets. -ES
986
987Sat Mar  5 22:00:36 CET 2011
988	Do not use POLLRDHUP, which causes build errors on OS X / OpenSolaris
989	(#1667). -CG
990
991Fri Mar  4 10:24:04 CET 2011
992	Added new API to allow MHD server to initiate connection to
993	client (special use-case for servers behind NAT), thereby
994	addressing #1661 (externally created connections).
995	Releasing libmicrohttpd 0.9.8. -CG
996
997Fri Mar  4 10:07:18 CET 2011
998	Avoid using a pipe for signalling as well, just use server
999	socket shutdown (also for thread-per-connection). -CG
1000
1001Thu Mar  3 21:42:47 CET 2011
1002	Fixing issue where Base64 decode fails when char is defined
1003        as unsigned char  (Mantis 1666). -CG/tmayer
1004
1005Tue Mar  1 13:58:04 CET 2011
1006	Allow use of 'poll' in combination with the external select mode.
1007	Avoid using pthread signals (SIGALRM), use pipe instead.
1008	Corrected timeout calculation (s vs. ms). -CG
1009
1010Wed Feb 23 14:21:44 CET 2011
1011	Removing useless code pointed out by Eivind Sarto. -CG
1012
1013Fri Feb 18 11:03:59 CET 2011
1014	Handle large (>2 GB) file transfers with sendfile on 32-bit
1015	systems better; handle odd sendfile failures by libc/kernel
1016	by falling back to standard 'SEND'. -CG
1017
1018Sun Feb 13 10:52:29 CET 2011
1019	Handle gnutls receive error(s) for interrupted SSL
1020	connections better. -MS
1021	Releasing libmicrohttpd 0.9.7. -CG
1022
1023Fri Feb 11 10:15:38 CET 2011
1024	Fixing parameter ordering in documentation (#1659). -wellska
1025
1026Thu Jan 27 10:51:39 CET 2011
1027	Disable 'EXTRA_CHECKS's by default as suggested in #1652
1028 	(I guess it is time). -CG/timn
1029
1030Thu Jan 27 10:48:55 CET 2011
1031	Removing bogus assertion in basic authentication code (#1651). -CG/timn
1032
1033Tue Jan 25 14:10:45 CET 2011
1034	Releasing libmicrohttpd 0.9.6. -CG
1035
1036Mon Jan 24 16:36:35 CET 2011
1037	Fixing compilation error if DAUTH_SUPPORT was 0 (#1646). -CG/bplant
1038
1039Tue Jan 18 23:58:09 CET 2011
1040	Fixing hash calculation in digest auth; old function had
1041	collisions causing the browser to challenge users for
1042	authentication too often. -CG/AW
1043
1044Fri Jan 14 19:19:45 CET 2011
1045	Removing dead code, adding missing new symbols to export list.
1046	Fixed two missing NULL checks after malloc operations. -CG
1047
1048Mon Jan 10 14:07:33 CET 2011
1049	Releasing libmicrohttpd 0.9.5. -CG
1050
1051Wed Jan  5 15:20:11 CET 2011
1052	Fixing double-locking on non-Linux platforms when using
1053	MHD_create_response_from_fd (#1639). -CG
1054	Avoid use of strndup for better portability (#1636). -CG
1055
1056Tue Jan  4 13:07:21 CET 2011
1057	Added MHD_create_response_from_buffer, deprecating
1058	MHD_create_response_from_data.  Deprecating
1059	MHD_create_response_from_fd as well. -CG
1060
1061Sun Dec 26 00:02:15 CET 2010
1062	Releasing libmicrohttpd 0.9.4. -CG
1063
1064Sat Dec 25 21:57:14 CET 2010
1065	Adding support for basic authentication.
1066	Documented how to obtain client SSL certificates in tutorial. -MS
1067
1068Thu Dec 23 15:40:36 CET 2010
1069	Increasing nonce length to 128 to support digest authentication
1070	with Opera (see #1633).
1071
1072Mon Dec 20 21:22:57 CET 2010
1073	Added macro MHD_LONG_LONG to allow change of MHD's "long long" use
1074	to some other type on platforms that do not support "long long"
1075	(Mantis #1631). -CG/bplant
1076
1077Sun Dec 19 19:54:15 CET 2010
1078	Added 'MHD_create_response_from_fd_at_offset'. -CG
1079
1080Sun Dec 19 15:16:16 CET 2010
1081	Fixing --enable and --disable configure options to behave properly. -CG
1082
1083Sun Dec 19 13:46:52 CET 2010
1084	Added option to specify size of stacks for threads created by MHD. -CG
1085
1086Tue Nov 23 09:41:00 CET 2010
1087	Releasing libmicrohttpd 0.9.3. -CG
1088
1089Thu Nov 18 23:10:36 CET 2010
1090	Fixing #1619 (testcases not working with NSS on Fedora). -CG/timn
1091
1092Thu Nov 18 22:55:58 CET 2010
1093	Fixing #1621 (socket not closed under certain circumstances). -CG/jaredc
1094
1095Wed Nov 17 12:16:53 CET 2010
1096	Allowing signalling of errors in generating chunked responses to
1097	clients (by closing connectins) using the new
1098	MHD_CONTENT_READER_END_WITH_ERROR ((size_t)-2) return value.  Also
1099	introducing MHD_CONTENT_READER_END_OF_STREAM constant instead
1100	of (size_t) -1 / SIZE_MAX.
1101
1102Sun Nov 14 20:45:45 CET 2010
1103	Adding API call to generate HTTP footers in response. -CG
1104
1105Sat Oct 16 12:38:43 CEST 2010
1106	Releasing libmicrohttpd 0.9.2. -CG
1107
1108Tue Oct 12 15:41:51 CEST 2010
1109	Fixed issue with data received via SSL being delayed in the
1110	GNUtls buffer if sender stopped transmitting (but did not close
1111	the connection) and MHD buffer size was smaller than last fragment,
1112	resulting in possibly significantly delayed processing of
1113	incoming data.  -CG
1114
1115Wed Sep 22 09:48:59 CEST 2010
1116	Changed port argument from 'unsigned short' to 'uint16_t'.
1117	Removed dead code when compiling with messages enabled.
1118	Minimal unrelated code cleanup. -CG
1119
1120Tue Sep 21 15:12:41 CEST 2010
1121	Use "size_t" for buffer size instead of "int". -CG
1122
1123Sat Sep 18 07:16:30 CEST 2010
1124	Adding support for SHOUTcast. -CG
1125
1126Wed Sep 15 09:33:46 CEST 2010
1127	Fixed double-free. -CG/ES
1128
1129Fri Sep 10 14:47:11 CEST 2010
1130	Releasing libmicrohttpd 0.9.1. -CG
1131
1132Fri Sep 10 14:29:37 CEST 2010
1133	Adding proper nonce counter checking for digest authentication. -CG/AA
1134
1135Sat Sep  4 21:55:52 CEST 2010
1136	Digest authentication now seems to be working. -CG/AA
1137
1138Wed Sep  1 13:59:16 CEST 2010
1139	Added ability to specify external unescape function.
1140	"microhttpd.h" now includes the right headers for GNU/Linux
1141	systems unless MHD_PLATFORM_H is defined (in which case it
1142	is assumed that the right headers were already determined by
1143	some configure-like process). -CG
1144
1145Tue Aug 31 15:39:25 CEST 2010
1146	Fixed bug with missing call to response cleanup in case of
1147	connection handling error (for example, after getting a SIGPIPE). -CG
1148
1149Tue Aug 24 11:39:25 CEST 2010
1150	Fixed bug in handling EAGAIN from GnuTLS (caused
1151	needlessly dropped SSL connections). -CG
1152
1153Sun Aug 22 16:49:13 CEST 2010
1154	Initial draft for digest authentication. -AA
1155
1156Thu Aug 19 14:15:01 CEST 2010
1157	Changed code to enable error messages and HTTPS by default;
1158	added option to disable post processor API (use
1159	breaks binary compatibility, should only be done
1160	for embedded systems that require minimal footprint). -CG
1161
1162Thu Aug 19 13:26:00 CEST 2010
1163	Patches for Windows to ease compilation trouble. -GT/CG
1164
1165Sat Aug 14 15:43:30 CEST 2010
1166	Fixed small, largely hypothetical leaks.
1167	Reduced calls to strlen for header processing. -CG
1168
1169Fri Aug  6 12:51:59 CEST 2010
1170	Fixing (small) memory leak on daemon-shutdown with
1171	SSL enabled. -CG/PG
1172
1173Thu Aug  5 22:24:37 CEST 2010
1174	Fixing timeout bug on systems that think it's still
1175	1970 (can happen if system time not initialized). -CG
1176
1177Mon Jul 26 10:46:57 CEST 2010
1178	Releasing libmicrohttpd 0.9.0. -CG
1179
1180Sun Jul 25 14:57:47 CEST 2010
1181	Adding support for sendfile on Linux.  Adding support
1182	for systemd-style passing of an existing listen socket
1183	as an option.  IPv6 sockets now only bind to IPv6
1184	(if platform supports this). -CG
1185
1186Sun Jul 25 11:10:45 CEST 2010
1187	Changed code to use external libgnutls code instead of
1188	the "fork".  Minor API changes for setting TLS options. -CG
1189
1190Sun Jun 13 10:52:34 CEST 2010
1191	Cleaned up example code. -CG
1192
1193Fri Apr 23 09:56:37 CEST 2010
1194	Do not return HTTP headers for requests without version
1195	numbers.  Do return HTTP version 1.0 if client requested
1196	HTTP version 1.1 (previously, we returned HTTP/1.1 even
1197	if the client specified HTTP/1.0).  -GM/CG
1198
1199Sat Mar 13 09:41:01 CET 2010
1200	Releasing libmicrohttpd 0.4.6. -CG
1201
1202Wed Mar 10 13:18:26 CET 2010
1203	Fixing bug in 100 CONTINUE replacement when handling POSTs
1204	(see report on mailinglist), with testcase. -CG/MC
1205
1206Tue Feb 23 09:16:15 CET 2010
1207	Added configure check for endianness to define WORDS_BIGENDIAN
1208	which fixes SSL support on big endian architectures. -JA/CG
1209
1210Sat Feb 20 10:01:09 CET 2010
1211	Added check for inconsistent options (MHD_OPTION_PROTOCOL_VERSION
1212	without MHD_USE_SSL) causing instant segfault. -JA/CG
1213
1214Tue Feb  9 20:31:51 CET 2010
1215	Fixed issue with poll doing busy waiting. -BK/CG
1216
1217Thu Jan 28 21:28:56 CET 2010
1218	Releasing libmicrohttpd 0.4.5. -CG
1219
1220Thu Jan 28 20:35:48 CET 2010
1221	Make sure addresses returned by memory pool are
1222	aligned (fixes bus errors on Sparc). -CG
1223
1224Thu Dec 17 20:26:52 CET 2009
1225	poll.h is not stricly required anymore. -ND
1226
1227Fri Dec  4 13:17:50 CET 2009
1228	Adding MHD_OPTION_ARRAY. -CG
1229
1230Mon Nov 16 14:41:26 CET 2009
1231	Fixed busy-loop in internal select mode for inactive
1232	clients with infinite connection timeout. -CG
1233
1234Thu Nov 12 16:19:14 CET 2009
1235	Adding support for setting a custom error handler for
1236	fatal errors (previously, the implementation always
1237	called 'abort' in these cases). -CG/ND
1238
1239Wed Nov 11 12:54:16 CET 2009
1240	Adding support for poll (alternative to select allowing
1241	for more than FD_SETSIZE parallel connections). -JM
1242
1243Wed Oct 28 20:26:00 CET 2009
1244 	Releasing libmicrohttpd 0.4.4. -CG
1245
1246Wed Oct 14 14:37:37 CEST 2009
1247	Fixing (rare) deadlock due to SELECT missing SIGALRM by
1248	making all SELECT calls block for at most 1s.  While this
1249	can in (rare) situations delay the shutdown by 1s, I think
1250	this is preferable (both performance and possibly portability-wise)
1251	over using a pipe for the signal. -CG
1252
1253Sun Oct 11 14:57:29 CEST 2009
1254	Adding eCos license as an additional license for the
1255	non-HTTPS code of MHD. -CG
1256
1257Sun Oct 11 11:24:27 CEST 2009
1258	Adding support for Symbian. -MR
1259
1260Fri Oct  9 15:21:29 CEST 2009
1261	Check for error codes from pthread operations (to help with
1262	error diagnostics) and abort if something went wrong. -CG
1263
1264Thu Oct  8 10:43:02 CEST 2009
1265	Added check for sockets being '< FD_SETSIZE' (just to be safe). -CG
1266
1267Mon Oct  5 21:17:26 CEST 2009
1268	Adding "COOKIE" header string #defines. -CG
1269
1270Mon Oct  5 08:29:06 CEST 2009
1271	Documenting default values. -CG
1272
1273Fri Aug 28 22:56:47 CEST 2009
1274 	Releasing libmicrohttpd 0.4.3. -CG
1275
1276Sun Aug 23 16:21:35 UTC 2009
1277	Allow MHD_get_daemon_info to return the daemon's listen socket.
1278	Includes a test case that uses this functionality to bind a server to
1279	an OS-assigned port, look the port up with getsockname, and curl it. -DR
1280
1281Tue Aug  4 00:14:04 CEST 2009
1282	 Fixing double-call to read from content-reader callback for first
1283	 data segment (as reported by Alex on the mailinglist). -CG
1284
1285Thu Jul 29 21:41:52 CEST 2009
1286 	 Fixed issue with the code not using the "block_size" argument
1287         given to MHD_create_response_from_callback causing inefficiencies
1288	 for values < 2048 and segmentation faults for values > 2048
1289	 (as reported by Andre Colomb on the mailinglist). -CG
1290
1291Sun May 17 03:29:46 MDT 2009
1292 	 Releasing libmicrohttpd 0.4.2. -CG
1293
1294Fri May 15 11:00:20 MDT 2009
1295	 Grow reserved read buffer more aggressively so that we are not
1296	 needlessly stuck reading only a handfull of bytes in each iteration. -CG
1297
1298Thu May 14 21:20:30 MDT 2009
1299	 Fixed issue where the "NOTIFY_COMPLETED" handler could be called
1300	 twice (if a socket error or timeout occured for a pipelined
1301	 connection after successfully completing a request and before
1302	 the next request was successfully transmitted).  This could
1303	 confuse applications not expecting to see a connection "complete"
1304	 that they were never aware of in the first place. -CG
1305
1306Mon May 11 13:01:16 MDT 2009
1307         Fixed issue where error code on timeout was "TERMINATED_WITH_ERROR"
1308         instead of "TERMINATED_TIMEOUT_REACHED". -CG
1309
1310Wed Apr  1 21:33:05 CEST 2009
1311         Added MHD_get_version(). -ND
1312
1313Wed Mar 18 22:59:07 MDT 2009
1314	 Releasing libmicrohttpd 0.4.1. -CG
1315
1316Wed Mar 18 17:46:58 MDT 2009
1317	 Always RECV/SEND with MSG_DONTWAIT to (possibly) address
1318	 strange deadlock reported by Erik on the mailinglist ---
1319	 and/or issues with blocking read after select on GNU/Linux
1320	 (see select man page under bugs). -CG
1321
1322Tue Mar 17 01:19:50 MDT 2009
1323	 Added support for thread-pools. -CG/RA
1324
1325Mon Mar  2 23:44:08 MST 2009
1326	 Fixed problem with 64-bit upload and download sizes and
1327	 "-1" being used to indicate "unknown" by introducing
1328	 new 64-bit constant "MHD_SIZE_UNKNOWN". -CG/DC
1329
1330Wed Feb 18 08:13:56 MST 2009
1331	 Added missing #include for build on arm-linux-uclibc. -CG/CC
1332
1333Mon Feb 16 21:12:21 MST 2009
1334	 Moved MHD_get_connection_info so that it is always defined,
1335	 even if HTTPS support is not enabled. -CG
1336
1337Sun Feb  8 21:15:30 MST 2009
1338	 Releasing libmicrohttpd 0.4.0. -CG
1339
1340Thu Feb  5 22:43:45 MST 2009
1341	 Incompatible API change to allow 64-bit uploads and downloads.
1342	 Clients must use "uint64_t" for the "pos"
1343	 argument (MHD_ContentReaderCallback) and the "off"
1344	 argument (MHD_PostDataIterator) and the "size"
1345	 argument (MHD_create_response_from_callback) now.
1346	 Also, "unsigned int" was changed to "size_t" for
1347	 the "upload_data_size" argument (MHD_AccessHandlerCallback),
1348	 the argument to MHD_OPTION_CONNECTION_MEMORY_LIMIT,
1349	 the "block_size" argument (MHD_create_response_from_callback),
1350	 the "buffer_size" argument (MHD_create_post_processor) and
1351	 the "post_data_len" argument (MHD_post_process).  You may
1352	 need to #include <stdint.h> before <microhttpd.h> from now on. -CG
1353
1354Thu Feb  5 20:21:08 MST 2009
1355	 Allow getting address information about the connecting
1356	 client after the accept call. -CG
1357
1358Mon Feb  2 22:21:48 MST 2009
1359	 Fixed missing size adjustment for offsets for %-encoded
1360	 arguments processed by the post processor (Mantis #1447). -CG/SN
1361
1362Fri Jan 23 16:57:21 MST 2009
1363	 Support charset specification (ignore) after content-type
1364	 when post-processing HTTP POST requests (Mantis #1443). -CG/SN
1365
1366Fri Dec 26 23:08:04 MST 2008
1367	 Fixed broken check for identical connection address. -CG
1368	 Making cookie parser more RFC2109 compliant (handle
1369	 spaces around key, allow value to be optional). -CG
1370
1371Sat Dec  6 18:36:17 MST 2008
1372	 Added configure option to disable checking for CURL support.
1373	 Added MHD_OPTION to allow specification of custom logger. -CG
1374
1375Tue Nov 18 01:19:53 MST 2008
1376	 Removed support for untested and/or broken SSL features
1377	 and (largely useless) options. -CG
1378
1379Sun Nov 16 16:54:54 MST 2008
1380	 Added option to get unparsed URI via callback.
1381	 Releasing GNU libmicrohttpd 0.4.0pre1. -CG
1382
1383Sun Nov 16 02:48:14 MST 2008
1384	 Removed tons of dead code. -CG
1385
1386Sat Nov 15 17:34:24 MST 2008
1387	 Added build support for code coverage analysis. -CG
1388
1389Sat Nov 15 00:31:33 MST 2008
1390	 Removing (broken) support for HTTPS servers with
1391	 anonymous (aka "no") certificates as well as
1392	 various useless dead code. -CG
1393
1394Sat Nov  8 02:18:42 MST 2008
1395	 Unset TCP_CORK at the end of transmitting a response
1396	 to improve performance (on systems where this is
1397	 supported). -MM
1398
1399Tue Sep 30 16:48:08 MDT 2008
1400	 Make MHD useful to Cygwin users; detect IPv6 headers
1401	 in configure.
1402
1403Sun Sep 28 14:57:46 MDT 2008
1404	 Unescape URIs (convert "%ef%e4%45" to "$BCf9q(B"). -CG
1405
1406Wed Sep 10 22:43:59 MDT 2008
1407	 Releasing GNU libmicrohttpd 0.4.0pre0. -CG
1408
1409Wed Sep 10 21:36:06 MDT 2008
1410	 Fixed data race on closing sockets during
1411	 shutdown (in one-thread-per-connection mode). -CG
1412
1413Thu Sep  4 23:37:18 MDT 2008
1414	 Fixed some boundary issues with processing
1415	 chunked requests; removed memmove from a
1416	 number of spots, in favor of using an index into
1417	 the current buffer instead. -GS
1418
1419Sun Aug 24 13:05:41 MDT 2008
1420	 Now handling clients returning 0 from response callback
1421	 as specified in the documentation (abort if internal
1422	 select is used, retry immediately if a thread per
1423	 connection is used). -CG
1424
1425Sun Aug 24 12:44:43 MDT 2008
1426	 Added missing reason phrase. -SG
1427
1428Sun Aug 24 10:33:22 MDT 2008
1429	 Fixed bug where MHD failed to transmit the response when
1430	 the client decided not to send "100 CONTINUE" during
1431	 a PUT/POST request. -CG
1432
1433Wed Jul 16 18:54:03 MDT 2008
1434	 Fixed bug generating chunked responses with chunk sizes
1435	 greater than 0xFFFFFF (would cause protocol violations). -CG
1436
1437Mon May 26 13:28:57 MDT 2008
1438	 Updated and improved documentation.
1439	 Releasing GNU libmicrohttpd 0.3.1. -CG
1440
1441Fri May 23 16:54:41 MDT 2008
1442	 Fixed issue with postprocessor not handling URI-encoded
1443	 values of more than 1024 bytes correctly. -CG
1444
1445Mon May  5 09:18:29 MDT 2008
1446	 Fixed date header (was off by 1900 years). -JP
1447
1448Sun Apr 13 01:06:20 MDT 2008
1449	 Releasing GNU libmicrohttpd 0.3.0. -CG
1450
1451Sat Apr 12 21:34:26 MDT 2008
1452	 Generate an internal server error if the programmer fails
1453	 to handle upload data correctly.  Tweaked testcases to
1454	 avoid running into the problem in the testcases.
1455	 Completed zzuf-based fuzzing testcases.  -CG
1456
1457Sat Apr 12 15:14:05 MDT 2008
1458	 Restructured the code (curl-testcases and zzuf testcases
1459	 are now in different directories; code examples are in
1460	 src/examples/).
1461	 Fixed a problem (introduced in 0.2.3) with handling very
1462	 large requests (the code did not return proper error code).
1463	 If "--enable-messages" is specified, the code now includes
1464	 reasonable default HTML webpages for various build-in
1465	 errors (such as request too large and malformed requests).
1466	 Without that flag, the webpages returned will still be
1467	 empty.
1468	 Started to add zzuf-based fuzzing-testcases (these require
1469	 the zzuf and socat binaries to be installed). -CG
1470
1471Fri Apr 11 20:20:34 MDT 2008
1472	 I hereby dub libmicrohttpd a GNU package. -Richard Stallman
1473
1474Sat Mar 29 22:36:09 MDT 2008
1475	 Fixed bugs in handling of malformed HTTP requests
1476	 (causing either NULL dereferences or connections to
1477	 persist until time-out, if any). -CG
1478
1479	 Updated and integrated TexInfo documentation. -CG
1480
1481Tue Mar 25 13:40:53 MDT 2008
1482	 Prevent multi-part post-processor from going to error
1483	 state when the input buffer is full and current token
1484	 just changes processor state without consuming any data.
1485	 Also, the original implementation would not consume any
1486	 input in process_value_to_boundary if there is no new
1487	 line character in sight. -AS
1488
1489	 Remove checks for request method after it finished writing
1490	 response footers as it's only _pipelined_ requests that
1491	 should not be allowed after POST or PUT requests.  Reusing
1492	 the existing connection is perfectly ok though.  And there
1493	 is no reliable way to detect pipelining on server side
1494	 anyway so it is the client's responsibility to not send new
1495	 data before it gets a response after a POST operation. -AS
1496
1497	 Clarified license in man page. Releasing
1498         libmicrohttpd 0.2.3 -CG
1499
1500Sat Mar 22 01:12:38 MDT 2008
1501	 Releasing libmicrohttpd 0.2.2. -CG
1502
1503Mon Feb 25 19:13:53 MST 2008
1504	 Fixed a problem with sockets closed for reading ending up
1505	 in the read set under certain circumstances. -CG
1506
1507Wed Jan 30 23:15:44 MST 2008
1508	 Added support for nested multiparts to post processor.
1509	 Made sure that MHD does not allow pipelining for methods
1510	 other than HEAD and GET (and of course still also only
1511	 allows it for http 1.1).  Releasing libmicrohttpd 0.2.1.  -CG
1512
1513Mon Jan 21 11:59:46 MST 2008
1514	 Added option to limit number of concurrent connections
1515	 accepted from the same IP address. -CG
1516
1517Fri Jan  4 16:02:08 MST 2008
1518	 Fix to properly close connection if application signals
1519	 problem handling the request. - AS
1520
1521Wed Jan  2 16:41:05 MST 2008
1522	 Improvements and bugfixes to post processor implementation. - AS
1523
1524Wed Dec 19 21:12:04 MST 2007
1525	 Implemented chunked (HTTP 1.1) downloads (including
1526	 sending of HTTP footers).  Also allowed queuing of
1527	 a response early to suppress the otherwise automatic
1528	 "100 CONTINUE" response.  Removed the mostly useless
1529	 "(un)register handler" methods from the API.  Changed
1530	 the internal implementation to use a finite state
1531	 machine (cleaner code, slightly less memory consumption).
1532	 Releasing libmicrohttpd 0.2.0. - CG
1533
1534Sun Dec 16 03:24:13 MST 2007
1535	 Implemented handling of chunked (HTTP 1.1) uploads.
1536	 Note that the upload callback must be able to
1537	 process chunks in the size uploaded by the client,
1538	 MHD will not "join" small chunks into a big
1539	 contiguous block of memory (even if buffer space
1540	 would be available).  - CG
1541
1542Wed Dec  5 21:39:35 MST 2007
1543	 Fixed race in multi-threaded server mode.
1544	 Fixed handling of POST data when receiving a
1545	 "Connection: close" header (#1296).
1546	 Releasing libmicrohttpd 0.1.2. - CG
1547
1548Sat Nov 17 00:55:24 MST 2007
1549	 Fixed off-by-one in error message string matching.
1550	 Added code to avoid generating SIGPIPE on platforms
1551	 where this is possible (everywhere else, the main
1552	 application should install a handler for SIGPIPE).
1553
1554Thu Oct 11 11:02:06 MDT 2007
1555	 Releasing libmicrohttpd 0.1.1. - CG
1556
1557Thu Oct 11 10:09:12 MDT 2007
1558	 Fixing response to include HTTP status message. - EG
1559
1560Thu Sep 27 10:19:46 MDT 2007
1561	 Fixing parsing of "%xx" in URLs with GET arguments. - eglaysher
1562
1563Sun Sep  9 14:32:23 MDT 2007
1564	 Added option to compile debug/warning messages;
1565	 error messages are now disabled by default.
1566	 Modified linker option for GNU LD to not export
1567	 non-public symbols (further reduces binary size).
1568	 Releasing libmicrohttpd 0.1.0. - CG
1569
1570Sat Sep  8 21:54:04 MDT 2007
1571	 Extended API to allow for incremental POST
1572	 processing.  The new API is binary-compatible
1573	 as long as the app does not handle POSTs, but
1574	 since that maybe the case, we're strictly speaking
1575	 breaking backwards compatibility (since url-encoded
1576	 POST data is no longer obtained the same way). - CG
1577
1578Thu Aug 30 00:59:24 MDT 2007
1579	 Improving API to allow clients to associate state
1580         with a connection and to be notified about request
1581         termination (this is a binary-compatible change). - CG
1582	 Fixed compile errors under OS X. - HL
1583
1584Sun Aug 26 03:11:46 MDT 2007
1585	 Added MHD_USE_PEDANTIC_CHECKS option which enforces
1586	 receiving a "Host:" header in HTTP 1.1 (and sends a
1587	 HTTP 400 status back if this is violated). - CG
1588
1589Tue Aug 21 01:01:46 MDT 2007
1590	 Fixing assertion failure that occured when a client
1591	 closed the connection after sending some data but
1592	 not the full headers. - CG
1593
1594Sat Aug 18 03:06:09 MDT 2007
1595	 Check for out of memory when adding headers to
1596	 responses.  Check for NULL key when looking
1597	 for headers.   If a content reader callback
1598	 for a response returns zero (has no data yet),
1599	 do not possibly fall into busy waiting when
1600	 using external select (with internal selects
1601	 we have no choice).  - CG
1602
1603Wed Aug 15 01:46:44 MDT 2007
1604	 Extending API to allow timeout of connections.
1605	 Changed API (MHD_create_response_from_callback) to
1606	 allow user to specify IO buffer size.
1607	 Improved error handling.
1608         Released libmicrohttpd 0.0.3. - CG
1609
1610Tue Aug 14 19:45:49 MDT 2007
1611	 Changed license to LGPL (with consent from all contributors).
1612         Released libmicrohttpd 0.0.2. - CG
1613
1614Sun Aug 12 00:09:26 MDT 2007
1615	 Released libmicrohttpd 0.0.1. - CG
1616
1617Fri Aug 10 17:31:23 MDT 2007
1618	 Fixed problems with handling of responses created from
1619	 callbacks.  Allowing accept policy callback to be NULL
1620	 (to accept from all).  Added minimal fileserver example.
1621	 Only send 100 continue header when specifically requested. - CG
1622
1623Wed Aug  8 01:46:06 MDT 2007
1624	 Added pool allocation and connection limitations (total
1625	 number and memory size).  Released libmicrohttpd 0.0.0. - CG
1626
1627Tue Jan  9 20:52:48 MST 2007
1628	 Created project build files and updated API. - CG
1629