12008-02-03  Tim-Philipp Müller  <tim at centricular dot net>
2
3	* NEWS:
4	* RELEASE:
5	* debian/changelog:
6	  Update for upcoming 2.0.8 release.
7
82008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
9
10	* tests/check/Makefile.am:
11	* tests/check/gnet/gnetabi.c:
12	* tests/check/gnet/struct_ppc64.h:
13	* tests/check/gnet/struct_ppc32.h:
14	  Include header based on userland ABI, not on kernel/CPU.
15
162008-01-06  Tim-Philipp Müller  <tim at centricular dot net>
17
18	* doc/tmpl/conn.sgml:
19	  Clarify docs a bit.
20
212008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
22
23	* tests/check/gnet/gnetconnhttp.c: (test_conn_http_post_local):
24	  Disable SOCKS use for test that connects to server on
25	  localhost.
26
272008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
28
29	* configure.ac:
30	  Require check 0.9.4 or later.
31
32	* tests/check/gnetcheck.h: (__gnet_tcase_add_test), (_tcase_add_test):
33	  Fix up things so that in case of failure the test that failed
34	  is shown properly (before the variable name 'tf' would get
35	  stringified instead of the test function name).
36
372008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
38
39	* tests/check/gnetcheck.c: (gnet_check_init):
40	  Call gnet_socks_set_enabled() if the SOCKS_SERVER environment
41	  variable is set, so we can run the unit tests through the
42	  SOCKS implementation too (e.g. in connection with ssh -D).
43
442007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
45
46	* src/uri.c: (gnet_uri_parse), (parse_inplace_munge_string_part),
47	  (gnet_uri_parse_inplace):
48	* src/uri.h:
49	  API: add gnet_uri_parse_inplace()
50
51	* tests/check/gnet/gneturi.c:
52	* doc/gnet-sections.txt:
53	* doc/tmpl/uri.sgml:
54	  Add unit test and docs for the above.
55
562007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
57
58	* src/tcp.c: (gnet_tcp_socket_get_remote_inetaddr):
59	* src/udp.c: (gnet_udp_socket_unref):
60	  Two small doc additions.
61
62	* doc/tmpl/conn-http.sgml:
63	* doc/tmpl/conn.sgml:
64	* doc/tmpl/inetaddr.sgml:
65	* doc/tmpl/tcp.sgml:
66	  Update templates to trunk.
67
682007-12-14  Tim-Philipp Müller  <tim at centricular dot net>
69
70	Patch by: Jeff Garzik <jeff at garzik org>.
71
72	* src/uri.c: (field_unescape):
73	  Micro-optimisation: avoid unnecessary read/writes.
74
752007-12-09  Tim-Philipp Müller  <tim at centricular dot net>
76
77	* src/uri.c: (neednt_escape_table), (StringPart), (DUP_STRING_PART),
78	  (ISSPACE), (gnet_uri_parse), (gnet_uri_new):
79	  Split out URI parsing code.
80
812007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
82
83	* NEWS:
84	* src/conn-http.h:
85	  GConnHttp is no longer marked as experimental API (which doesn't
86	  mean that it's bug-free, of course).
87
882007-11-05  Tim-Philipp Müller  <tim at centricular dot net>
89
90	* src/conn.c: (gnet_conn_new_socket):
91	  Improvie docs a bit.
92
93	* src/gnet-private.h:
94	  Change refcount field from guint to gint to avoid compiler
95	  warnings when using GLib's g_atomic_* macros.
96
972007-11-05  Tim-Philipp Müller  <tim at centricular dot net>
98
99	* doc/gnet-sections.txt:
100	* src/conn-http.c: (gnet_conn_http_ia_cb), (gnet_conn_http_run_async),
101	  (gnet_conn_http_run), (gnet_conn_http_delete_internal),
102	  (gnet_http_get), (gnet_conn_http_set_main_context):
103	* src/conn-http.h: (GConnHttpFunc):
104	  API: add gnet_conn_http_set_main_context().
105	  Make GConnHttp work with a custom main context.
106
107	* tests/check/gnet/gnetconnhttp.c: (icy_async_cb), (test_shoutcast):
108	  Use our own main context in the shoutcast unit test, to make sure
109	  GConnHttp works fine with a custom main context.
110
1112007-11-05  Tim-Philipp Müller  <tim at centricular dot net>
112
113	* src/conn-http.c: (gnet_conn_http_conn_recv_response):
114	  Check the server response for a supported protocol and emit an
115	  error event if a non-supported protocol is encountered; also emit
116	  an error if the response is malformed.
117
118	* src/conn-http.h:
119	  Fix typo in docs.
120
121	* tests/check/gnet/gnetconnhttp.c: (icy_async_cb),
122	  (test_shoutcast), (gnetconnhttp_suite):
123	  Add unit test to make sure we accept shoutcast (ICY) server responses
124	  in addition to HTTP server responses.
125
1262007-11-05  Tim-Philipp Müller  <tim at centricular dot net>
127
128	* src/socks-private.c: (_gnet_socks_tcp_socket_server_accept):
129	* src/tcp.c: (gnet_tcp_socket_ref), (gnet_tcp_socket_unref_internal),
130	  (gnet_tcp_socket_unref), (tcp_socket_server_accept_async_cb):
131	  Do atomic refcounting for GTcpSocket (however much sense that makes).
132
1332007-11-05  Tim-Philipp Müller  <tim at centricular dot net>
134
135	* tests/check/Makefile.am:
136	* tests/check/gnet/gnetmisc.c: (test_versions), (gnetmisc_suite),
137	  (gnetmisc):
138	  Unit tests for compile-time version macros and run-time version
139	  reporting.
140
1412007-11-05  Tim-Philipp Müller  <tim at centricular dot net>
142
143	* src/conn.c: (gnet_conn_set_main_context):
144	  Also allow setting a context when we already have a socket
145	  as long as no watches have been set up yet.
146
147	* tests/check/gnet/gnetconn.c: (conn_fail_cb), (conn_cb),
148	  (test_conn_new), (test_conn_new_inetaddr), (test_conn_new_socket),
149	  (gnetconn_suite):
150	  Some more unit tests.
151
1522007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
153
154	* tests/check/Makefile.am:
155	* tests/check/gnet/gnetconn.c: (conn_cb), (test_conn),
156	(gnetconn_suite), (gnetconn):
157	  Add very simple test for gnet_conn_new() and running things
158	  in a user-specified GMainContext.
159
1602007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
161
162	* src/conn-http.c:
163	* src/conn-http.h:
164	  UTF-8-ise.
165
1662007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
167
168	* src/conn.c: (ADD_WATCH), (REMOVE_WATCH), (gnet_conn_disconnect),
169	  (conn_check_read_queue), (gnet_conn_timeout):
170	  Use the configured main context (if any) to hook up or remove
171	  watches and timeouts.
172
1732007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
174
175	* src/inetaddr.c: (gnet_inetaddr_new_list_async_cancel),
176	  (gnet_inetaddr_get_name_async_cancel):
177	* src/tcp.c: (gnet_tcp_socket_new_async_cancel):
178	  Remove sources from correct main context.
179
1802007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
181
182	* src/gnet-private.c: (_gnet_idle_add_full), (_gnet_timeout_add_full),
183	  (_gnet_io_watch_add_full), (_gnet_source_remove):
184	* src/gnet-private.h:
185	  Add private _gnet_source_remove() to remove a source by id from a
186	  certain main context. Also accept NULL as context for the other
187	  functions in place of the default main context.
188
1892007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
190
191	* doc/gnet-sections.txt:
192	* src/conn.c: (gnet_conn_new_socket), (gnet_conn_set_main_context),
193	  (gnet_conn_connect):
194	* src/conn.h:
195	  API: add gnet_conn_set_main_context()
196
1972007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
198
199	* src/tcp.c: (gnet_tcp_socket_connect),
200	  (gnet_tcp_socket_connect_async_full),
201	  (gnet_tcp_socket_connect_async),
202	  (gnet_tcp_socket_connect_inetaddr_cb),
203	  (gnet_tcp_socket_connect_tcp_cb),
204	  (gnet_tcp_socket_connect_async_cancel):
205	* src/tcp.h: (GTcpSocketConnectAsyncFunc):
206	  API: add gnet_tcp_socket_connect_async_full().
207
2082007-11-04  Tim-Philipp Müller  <tim at centricular dot net>
209
210	* src/socks-private.h:
211	* src/socks-private.c: (_gnet_socks_tcp_socket_new), (SocksAsyncData),
212	  (socks_async_cb), (_gnet_socks_tcp_socket_new_async_full),
213	  (_gnet_socks_tcp_socket_new_async):
214	  Add _gnet_socks_tcp_socket_new_async_full() variant that takes a
215	  caller-specified GMainContext.
216
217	* doc/gnet-sections.txt:
218	* src/tcp.h: (GTcpSocketNewAsyncFunc):
219	* src/tcp.c: (gnet_tcp_socket_new_direct),
220	  (gnet_tcp_socket_new_async_full), (gnet_tcp_socket_new_async),
221	  (gnet_tcp_socket_new_async_direct_full),
222	  (gnet_tcp_socket_new_async_direct), (gnet_tcp_socket_new_async_cb),
223	  (gnet_tcp_socket_new_async_cancel):
224	  API: add gnet_tcp_socket_new_async_direct_full()
225	  API: add gnet_tcp_socket_new_direct_full()
226	  Add _full() variants that take a caller-specified GMainContext.
227
2282007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
229
230	* src/gnet-private.c: (_gnet_create_ipv4_listen_socket),
231	  (_gnet_create_ipv6_listen_socket), (_gnet_create_listen_socket),
232	  (_gnet_io_channel_new), (_gnet_idle_add_full), (_gnet_timeout_add_full),
233	  (_gnet_io_watch_add_full):
234	* src/gnet-private.h:
235	* src/inetaddr.c: (gnet_inetaddr_new_list_async_full),
236	  (inetaddr_new_list_async_gthread), (inetaddr_get_name_async_gthread):
237	* src/mcast.c: (gnet_mcast_socket_new_full):
238	* src/socks-private.c: (_gnet_socks_tcp_socket_new),
239	  (_gnet_socks_tcp_socket_new_async), (_gnet_socks_tcp_socket_server_new),
240	  (_gnet_socks_tcp_socket_server_accept),
241	  (_gnet_socks_tcp_socket_server_accept_async),
242	  (socks_tcp_socket_server_accept_async_cb):
243	* src/socks-private.h:
244	* src/tcp.c: (gnet_tcp_socket_new), (gnet_tcp_socket_new_async),
245	  (gnet_tcp_socket_get_io_channel), (gnet_tcp_socket_server_new_full),
246	  (gnet_tcp_socket_server_accept),
247	  (gnet_tcp_socket_server_accept_nonblock),
248	  (gnet_tcp_socket_server_accept),
249	  (gnet_tcp_socket_server_accept_nonblock),
250	  (gnet_tcp_socket_server_accept_async):
251	* src/udp.c: (gnet_udp_socket_new_full), (gnet_udp_socket_get_io_channel):
252	* src/unix.c: (gnet_unix_socket_get_io_channel):
253	  Rename private function from gnet_private_foo() to _gnet_foo(), which is
254	  a bit shorter and makes it easier to make sure those symbols aren't
255	  exported later. Also rename __gnet_foo_add_full() to _gnet_foo_add_full()
256	  for consistency.
257
2582007-10-28  Tim-Philipp Müller  <tim at centricular dot net>
259
260	* src/tcp.h: (GTcpSocketNewAsyncID):
261	  Typedef GTcpSocketNewAsyncID to real structure instead of gpointer
262	  so the compiler can help us catch nonsense.
263
264	* src/socks-private.c: (gnet_private_socks_tcp_socket_new_async):
265	  Like this.
266
2672007-10-28  Tim-Philipp Müller  <tim at centricular dot net>
268
269	* src/gnet-private.c: (__gnet_io_watch_add_full):
270	* src/gnet-private.h:
271	  Implement (private) __gnet_io_watch_add_full(), which we'll
272	  need shortly.
273
2742007-10-27  Tim-Philipp Müller  <tim at centricular dot net>
275
276	* tests/check/gnet/gnetinetaddr.c:
277	  Add unit tests for the various _async() and _async_full()
278	  functions.
279
2802007-10-27  Tim-Philipp Müller  <tim at centricular dot net>
281
282	* doc/gnet-sections.txt:
283	* src/gnet-private.c: (gnet_uninitialize_windows_sockets),
284	  (__gnet_idle_add_full), (__gnet_timeout_add_full):
285	* src/gnet-private.h:
286	* src/inetaddr.c: (gnet_inetaddr_delete_list),
287	  (gnet_inetaddr_new_async_full), (gnet_inetaddr_new_async),
288	  (gnet_inetaddr_new_async_cancel), (inetaddr_new_async_cb),
289	  (gnet_inetaddr_new_list_async_full), (gnet_inetaddr_new_list_async),
290	  (inetaddr_new_list_async_nonblock_dispatch),
291	  (inetaddr_new_list_async_gthread),
292	  (inetaddr_new_list_async_gthread_dispatch),
293	  (gnet_inetaddr_new_list_async_cancel),
294	  (gnet_inetaddr_get_name_nonblock),
295	  (gnet_inetaddr_get_name_async_full), (gnet_inetaddr_get_name_async),
296	  (gnet_inetaddr_get_name_async_cancel),
297	  (inetaddr_get_name_async_gthread_dispatch),
298	  (inetaddr_get_name_async_gthread):
299	* src/inetaddr.h:
300	  API: add gnet_inetaddr_new_async_full()
301	  API: add gnet_inetaddr_new_list_async_full()
302	  API: add gnet_inetaddr_get_name_async_full()
303	  Add _full variants for async lookup functions with destroy notify
304	  function, main context and priority parameters.
305
3062007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
307
308	* src/inetaddr.c (inetaddr_new_list_async_gthread):
309	  If we've been cancelled, free the correct inetaddr list and
310	  not a yet-unassigned NULL list.
311
312	* tests/check/gnetcheck.h:
313	  Some more comments.
314
3152007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
316
317	* src/inetaddr.c (gnet_inetaddr_get_name_async),
318	  (gnet_inetaddr_get_name_async_cancel),
319	  (inetaddr_get_name_async_gthread_dispatch),
320	  (inetaddr_get_name_async_gthread):
321	  Don't take lock in reverse lookup thread while it's doing the
322	  blocking reverse lookup, otherwise a _cancel() from the main thread
323	  will block until the blocking operation in the thread has finished,
324	  which isn't what we want; fix a small leak when cancelling a lookup;
325	  no need to take the lock before starting the lookup thread, just set
326	  up the structure before starting the thread (no point optimising for
327	  an unlikely failure case).
328
329	* tests/check/gnet/gnetinetaddr.c: (gnetinetaddr_suite):
330	  Add dumb unit test for reverse lookup cancellation.
331
3322007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
333
334	* configure.ac:
335	  Check if valgrind.h is available, so we can use it in
336	  unit tests to check if we're running under valgrind
337	  (and wait for threads to finish etc.).
338
3392007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
340
341	* tests/check/gnetcheck.c:
342	  Don't leak function string array when using GNET_CHECKS.
343
3442007-10-23  Tim-Philipp Müller  <tim at centricular dot net>
345
346	* configure.ac:
347	* tests/check/Makefile.am:
348	* tests/check/gnet/gnetconnhttp.c:
349	* tests/check/gnet/gnettcpsocket.c:
350	  Fix --disable-network-tests configure option.
351
3522007-10-23  Tim-Philipp Müller  <tim at centricular dot net>
353
354	* src/inetaddr.c:
355	  Remove some now-unused structure members (of privat structure).
356
3572007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
358
359	* NEWS:
360	* src/gnet.c:
361	* src/inetaddr.c:
362	* configure.ac:
363	  Remove fork()-and-pipe-based fallback for asynchronous DNS lookups,
364	  which was used when GLib has been compiled without support for
365	  threading, ie. G_THREADS_ENABLED was not defined.  This code is
366	  unused in practice, pointless and I simply don't want to maintain it.
367	  Also, it's 2007.  Besides, getting rid of this cruft might make it
368	  a bit easier for someone to implement a non-thread async dns variant.
369	  Lastly, fixes some cases where we didn't lock or free mutexes because
370	  we checked against a non-existant G_THREADS_ENABLES define.
371
3722007-10-17  Tim-Philipp Müller  <tim at centricular dot net>
373
374	* src/gnet-private.h:
375	* src/inetaddr.c:
376	  Do refcounting of GInetAddr structures atomically. Not that
377	  that is particularly useful given how the API isn't thread-safe,
378	  but it can't hurt either.
379
3802007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
381
382	* tests/check/gnetcheck.c:
383	* tests/check/gnetcheck.h:
384	  Support running only specific checks of a unit test
385	  via the GNET_CHECKS environment variable (specify
386	  test case function names, comma-separated).
387
3882007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
389
390	* NEWS:
391	* src/conn-http.c:
392	  Fix parsing of POST method response if the server returns
393	  optional headers after the initial 100-Continue response.
394	  Should fix #459895.
395
396	* tests/check/gnet/gnetconnhttp.c:
397	  Add unit test for the above.
398
3992007-08-12  Tim-Philipp Müller  <tim at centricular dot net>
400
401	* MAINTAINERS:
402	  Obscure e-mail addresses with spaces only, as suggested on
403	  desktop-devel.
404
4052007-08-09  Tim-Philipp Müller  <tim at centricular dot net>
406
407	* MAINTAINERS:
408	  Format maintainers file as requested by the sysadmins on
409	  the gnome devel-announce mailing list.
410
4112007-08-08  Tim-Philipp Müller  <tim at centricular dot net>
412
413	* examples/xmlrpc/Makefile.am:
414	  Don't use absolute path from top_builddir for local target, make
415	  isn't smart enough to recognise it's a local target which makes
416	  the build fail when using make -j2 or similar.
417
4182007-08-04  Tim-Philipp Müller  <tim at centricular dot net>
419
420	* src/conn-http.c:
421	  Add more info to docs about the implications of gnet_http_get()
422	  and gnet_conn_http_run() running a main loop iterating the default
423	  GLib main context.
424
4252007-07-29  Tim-Philipp Müller  <tim at centricular dot net>
426
427	* configure.ac:
428	* tests/Makefile.am:
429	* tests/check/Makefile.am:
430	* tests/check/gnet/gnetconnhttp.c:
431	* tests/check/gnet/gnetinetaddr.c:
432	* tests/check/gnet/gnetipv6.c:
433	* tests/check/gnet/gnettcpsocket.c:
434	* tests/conn_http_test.c:
435	* tests/inetaddr_test.c:
436	* tests/ipv6_test.c:
437	* tests/tcp_test.c:
438	  Move some more tests over to the check unit testing framework.
439
4402007-07-28  Tim-Philipp Müller  <tim at centricular dot net>
441
442	* tests/Makefile.am:
443	* tests/base64_test.c:
444	* tests/check/Makefile.am:
445	* tests/check/gnet/gnetbase64.c:
446	* tests/check/gnet/gnethash.c:
447	* tests/check/gnet/gnetpack.c:
448	* tests/check/gnet/gnetunpack.c:
449	* tests/check/gnet/gneturi.c:
450	* tests/hash_test.c:
451	* tests/pack_test.c:
452	* tests/unpack_test.c:
453	* tests/uri_test.c:
454	  Migrate some of the existing unit tests over to the check unit
455	  testing framework (will currently only be run if you do
456	  'make check' in tests/check/). While we're at it, fix up packing
457	  and unpacking checks for 64-bit platforms.
458
4592007-07-28  Tim-Philipp Müller  <tim at centricular dot net>
460
461	* tests/check/gnetcheck.c:
462	* tests/check/gnetcheck.h:
463	  Call the internal gnet_check_init() when setting up a unit test,
464	  so we intercept criticals and ASSERT_WARNING() in the tests works.
465
4662007-07-27  Tim-Philipp Müller  <tim at centricular dot net>
467
468	* src/pack.c:
469	* src/pack.h:
470	  Const-ify input buffer arguments to gnet_unpack*().
471
4722007-07-27  Tim-Philipp Müller  <tim at centricular dot net>
473
474	* src/pack.c: (flipmemcpy):
475	  Fix broken flipmemcpy() function - it never actually reversed the
476	  order! Which noone ever noticed, because it is only used if more
477	  than four bytes need reversing, and the only types with a possible
478	  size of more than four bytes are void* and double and at least for
479	  the latter the endianness modifiers are ignored. Not sure what to
480	  do about pointers yet, we should probably just ignore those
481	  modifiers for pointers too. Also fix gtk-doc blurb.
482
4832007-07-27  Tim-Philipp Müller  <tim at centricular dot net>
484
485	* src/base64.c: (gnet_base64_encode), (gnet_base64_decode):
486	* src/base64.h:
487	  Make arguments for input buffers constant; add more guards against
488	  invalid arguments.
489
4902007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
491
492	* Makefile.am:
493	* configure.ac:
494	* macros/Makefile.am:
495	* macros/gnet-arch.m4:
496	* tests/Makefile.am:
497	* tests/check/Makefile.am:
498	* tests/check/gnet-valgrind.supp:
499	* tests/check/gnet/gnetabi.c:
500	* tests/check/gnet/struct_i386.h:
501	* tests/check/gnet/struct_ppc64.h:
502	* tests/check/gnet/struct_x86_64.h:
503	* tests/check/gnetcheck.c:
504	* tests/check/gnetcheck.h:
505	  Add build infrastructure for unit tests based on libcheck.
506
5072007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
508
509	* autogen.sh:
510	  Use '=' instead of '==' to test for equality, dash in gutsy (which
511	  seems to be the default shell now) doesn't seem to like '=='.
512
513	* tests/conn_http_test.c:
514	  Add cast to fix compiler warnings due to printf format.
515
5162007-06-11  Tim-Philipp Müller  <tim at centricular dot net>
517
518	Patch by: Samuel Cormier-Iijima <sciyoshi@gmail.com>
519
520	* examples/xmlrpc/xmlrpc-server.c:
521	(create_response_string):
522	  Printf format fix for 64-bit systems.
523
5242007-04-30  Tim-Philipp Müller  <tim at centricular dot net>
525
526	* TODO:
527	  Minor update.
528
529	* src/server.h:
530	  Document where to find details of the connecting client in the
531	  GServer callback.
532
5332007-03-26  Tim-Philipp Müller  <tim at centricular dot net>
534
535        * doc/gnet-docs.sgml:
536	  The pkg-config module name is gnet-2.0, not gnet. Fix docs.
537
5382007-02-23  Dov Grobgeld  <dov.grobgeld@gmail.com>
539
540	* examples/xmlrpc: Added option to split the call and the reply for xmlrpc
541	commands through the addition of command gnet_xmlrpc_server_register_async_command(),
542	which passes the connection variable but does not return a reply. This is useful
543	when the reply may not be given immediately (in terms of mainloop interaction).
544
5452007-02-14  Tim-Philipp Müller  <tim at centricular dot net>
546
547        * src/conn-http.c: (gnet_conn_http_reset),
548	(gnet_conn_http_free_event):
549	  Fix two small memory leaks.
550
5512007-02-07  Tim-Philipp Müller  <tim at centricular dot net>
552
553	* src/unix.c: (gnet_unix_socket_unlink):
554	  Make this function static, it's an internal utility function.
555	  Also shuffle a few macros around.
556
5572007-02-07  Tim-Philipp Müller  <tim at centricular dot net>
558
559	Patch by: Zeeshan Ali <zeenix gmail com>
560
561	* AUTHORS:
562	* NEWS:
563	* configure.ac:
564	* doc/gnet-sections.txt:
565	* doc/tmpl/unix.sgml:
566	* examples/echoclient-unix.c:
567	* examples/echoserver-unix.c:
568	* src/unix.c: (gnet_sun_len), (gnet_unix_socket_new_internal),
569	(gnet_unix_socket_new),	(gnet_unix_socket_new_abstract),
570	(gnet_unix_socket_unref), (gnet_unix_socket_server_new_internal),
571	(gnet_unix_socket_server_new), (gnet_unix_socket_server_new_abstract):
572	* src/unix.h:
573	* tests/client_server_test.pl:
574	  API: gnet_unix_socket_new_abstract()
575	  API: gnet_unix_socket_server_new_abstract()
576	  Add support for abstract unix sockets. If not supported on the
577	  platform used, the new functions will try to create normal unix
578	  sockets. (#404583)
579
5802007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
581
582        * doc/tmpl/base64.sgml:
583        * doc/tmpl/conn-http.sgml:
584        * doc/tmpl/conn.sgml:
585        * doc/tmpl/gnet.sgml:
586        * doc/tmpl/inetaddr.sgml:
587        * doc/tmpl/iochannel.sgml:
588        * doc/tmpl/ipv6.sgml:
589        * doc/tmpl/mcast.sgml:
590        * doc/tmpl/md5.sgml:
591        * doc/tmpl/pack.sgml:
592        * doc/tmpl/server.sgml:
593        * doc/tmpl/sha.sgml:
594        * doc/tmpl/socks.sgml:
595        * doc/tmpl/tcp.sgml:
596        * doc/tmpl/udp.sgml:
597        * doc/tmpl/unix.sgml:
598        * doc/tmpl/uri.sgml:
599	  Update.
600
6012007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
602
603	Based on patch by: Zeeshan Ali  <zeenix at gmail.com>
604
605	* NEWS:
606	* src/unix.c: (gnet_unix_socket_new), (gnet_unix_socket_server_new):
607	  Pass SUN_LEN (struct sockaddr_un) as size parameter to bind() and
608	  connect() rather than just sizeof (struct sockaddr_un); apparently
609	  this matters in some environments (yay for great APIs; also yay for
610	  wrong man pages). Fixes #403197.
611	  Also do a bunch of small clean-ups, and don't leak memory/sockets
612	  in some failure cases.
613
6142007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
615
616	* examples/echoclient-unix.c: (main):
617	  Don't print a welcome message to stdout, it confuses the
618	  automatic testing script.
619
620	* tests/client_server_test.pl:
621	  Test unix socket server/client as well.
622
6232007-01-04  Tim-Philipp Müller  <tim at centricular dot net>
624
625	Patch by: Jeff Garzik <jeff at garzik org>
626
627	* src/conn.c:
628	(gnet_conn_unref):
629	* src/inetaddr.c:
630	(gnet_inetaddr_unref):
631	(gnet_inetaddr_get_name_async_cb):
632	* src/md5.c:
633	(gnet_md5_delete):
634	* src/sha.c:
635	(gnet_sha_delete):
636	* src/tcp.c:
637	(gnet_tcp_socket_connect_async_cancel):
638	* src/uri.c:
639	(gnet_uri_set_scheme):
640	(gnet_uri_set_userinfo):
641	(gnet_uri_set_hostname):
642	(gnet_uri_set_path):
643	(gnet_uri_set_query):
644	(gnet_uri_set_fragment):
645	  Eliminate unnecessary non-NULL checks in front of g_free().
646	  g_free() handles NULL just fine and will do nothing in that case.
647
648	* tests/conn_http_test.c:
649	(test_simple_get):
650	  Fix typo.
651
6522006-12-10  Tim-Philipp Müller  <tim at centricular dot net>
653
654	* examples/xmlrpc/xmlrpc-client.c: (gnet_xmlrpc_client_call),
655	(build_xmlrpc_message):
656	  Use gsize where appropriate; add cast from gsize to correct printf
657	  format. Patch by Jeff Garzik <jeff at garzik org>.
658
6592006-10-30  Tim-Philipp Müller  <tim at centricular dot net>
660
661	* src/conn-http.c: (gnet_conn_http_conn_connected),
662	(gnet_conn_http_conn_recv_response),
663	(gnet_conn_http_conn_recv_headers),
664	(gnet_conn_http_conn_recv_chunk_body),
665	(gnet_conn_http_conn_recv_nonchunked_data),
666	(gnet_conn_http_conn_cb):
667	  Fix behaviour when the server closes the connection (this is not
668	  automatically an error). Fix retrieval of non-text data in
669	  non-chunked mode (we would use _readline() for non-chunked mode,
670	  but this might cause data at the end of the file to be lost if
671	  the file is random binary data).
672
6732006-10-30  Tim-Philipp Müller  <tim at centricular dot net>
674
675	* src/conn-http.c: (gnet_conn_http_conn_recv_chunk_body),
676	(gnet_conn_http_conn_recv_nonchunked_data):
677	  Don't forget to set the buffer_length member in our
678	  GConnHttpEventData structure when emitting a PARTIAL_DATA
679	  event.
680
681	* tests/conn_http_test.c: (http_async_callback):
682	  Check that GConnHttpEventData members are set for PARTIAL_DATA
683	  events.
684
6852006-10-30  Tim-Philipp Müller  <tim at centricular dot net>
686
687	* src/conn-http.c: (gnet_conn_http_append_to_buf),
688	(gnet_conn_http_new), (gnet_conn_http_set_user_agent):
689	  Append comment with GNet version to any custom user agent
690	  strings; minor indentation fix in _append_to_buf().
691
6922006-10-30  Tim-Philipp Müller  <tim at centricular dot net>
693
694	Based on patch by: Samuel Cormier-Iijima  <sciyoshi@gmail.com>
695
696	* NEWS:
697	* doc/gnet-sections.txt:
698	* src/conn-http.c: (gnet_conn_http_set_uri_internal),
699	(gnet_conn_http_set_uri), (gnet_conn_http_set_escaped_uri):
700	* src/conn-http.h:
701	  API: added gnet_conn_http_set_escaped_uri().
702
7032006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
704
705	* src/base64.c: (gnet_base64_encode), (gnet_base64_decode):
706	  Add guards for NULL input. A 0-length input to gnet_base64_encode()
707	  should return an empty string and not NULL. In the case of
708	  gnet_base64_decode(), use strlen(src) for all non-positive values
709	  of srclen and not just 0, since glib usually uses -1 for this
710	  (0-sized input should really just have returned a 0-sized output
711	  buffer, but we can't change that now for backwards compatibility
712	  reasons).
713
7142006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
715
716	* README:
717	  Update (no more glib-1.2).
718
7192006-09-13  Tim-Philipp Müller  <tim at centricular dot net>
720
721	* tests/.cvsignore:
722	* tests/Makefile.am:
723	* tests/tcp_test.c:
724	  Add unit test for bug #305854.
725
726	* examples/sdr.c: (main):
727	  Add some refs/unrefs to test the derived nature of GMcastSocket and
728	  the run-time 'type checks'.
729
7302006-09-13  Tim-Philipp Müller  <tim at centricular dot net>
731
732	* src/gnet-private.h:
733	* src/inetaddr.c: (gnet_inetaddr_new_async):
734	* src/tcp.c: (gnet_tcp_socket_connect_async),
735	(gnet_tcp_socket_connect_inetaddr_cb):
736	  Move more private and only locally used structs into the
737	  appropriate .c files; make some internal functions static;
738	  use proper AsyncID types for such IDs; don't leak mutex.
739
7402006-09-13  Tim-Philipp Müller  <tim at centricular dot net>
741
742	* AUTHORS:
743	* MAINTAINERS:
744	* Makefile.am:
745	  Add maintainers file, update/utf8-ise/reformat authors file.
746
7472006-09-13  Tim-Philipp Müller  <tim at centricular dot net>
748
749	* src/tcp.c: (gnet_tcp_socket_connect_async_cancel):
750	  We used gnet_inetaddr_new_list_async(), so we also need to call
751	  gnet_inetaddr_new_list_async_cancel() to cancel it, and not
752	  gnet_inetaddr_new_async_cancel(). Would cause invalid memory access,
753	  double frees and other weird things when cancelling an asynchronous
754	  TCP connect before the dns lookup has finished. Fixes #305854.
755
756	* src/gnet-private.h:
757	* src/inetaddr.h:
758	* src/tcp.h:
759	  The compiler can help us with stuff like this. Let's let it.
760
7612006-09-12  Tim-Philipp Müller  <tim at centricular dot net>
762
763	* src/gnet-private.h:
764	* src/mcast.c: (gnet_mcast_socket_new_full),
765	(gnet_mcast_socket_delete), (gnet_mcast_socket_ref),
766	(gnet_mcast_socket_unref), (gnet_mcast_socket_get_io_channel),
767	(gnet_mcast_socket_get_local_inetaddr),
768	(gnet_mcast_socket_join_group), (gnet_mcast_socket_leave_group),
769	(gnet_mcast_socket_get_ttl), (gnet_mcast_socket_set_ttl),
770	(gnet_mcast_socket_is_loopback), (gnet_mcast_socket_set_loopback):
771	* src/mcast.h:
772	* src/udp.c:
773	  Move GUdpSocket structure back into gnet-private.h and make
774	  GMcastSocket derive from it explicitly and properly. More and
775	  better guards for input to public gnet_mcast_*() functions.
776
7772006-09-12  Tim-Philipp Müller  <tim at centricular dot net>
778
779	* src/gnet-private.h:
780	* src/unix.c:
781	  Move another private structure that is only used locally
782	  to where it belongs.
783
7842006-09-11  Tim-Philipp Müller  <tim at centricular dot net>
785
786	* configure.ac:
787	  Require at least GLib-2.6. Give more extensive error message if
788	  GLib development files are not found.
789
790	* src/gnet-private.h:
791	* src/udp.c: (gnet_udp_socket_new_full), (gnet_udp_socket_delete),
792	(gnet_udp_socket_ref), (gnet_udp_socket_unref),
793	(gnet_udp_socket_get_io_channel),
794	(gnet_udp_socket_get_local_inetaddr), (gnet_udp_socket_send),
795	(gnet_udp_socket_receive), (gnet_udp_socket_has_packet),
796	(gnet_udp_socket_get_ttl), (gnet_udp_socket_set_ttl):
797	  Move private struct over to where it belongs (udp.c); guard all
798	  public functions properly against bad input; try harder to guard
799	  against bad input by adding a type cookie to the beginning of
800	  our struct; do refcounting atomically for GUdpSocket.
801
8022006-09-11  Tim-Philipp Müller  <tim at centricular dot net>
803
804	* src/gnet-private.c: (gnet_private_io_channel_new):
805	  No need to special-case for GLib-2.0 any more, since we don't
806	  support 1.2 any longer.
807
8082006-09-11  Tim-Philipp Müller  <tim at centricular dot net>
809
810	* src/uri.c: (gnet_uri_new), (gnet_uri_get_string):
811	* tests/uri_test.c: (main):
812	  Add support for absolute file:// URIs and add two simple test cases.
813	  Not entirely convinced about the required fix to _get_string(), but
814	  it doesn't seem to break any of the tests, so it can't be too bad
815	  even if it's not entirely correct. Fixes bug #317456. Based
816	  on patch by Milosz Derezynski <internalerror at gmail com>
817
8182006-09-10  Tim-Philipp Müller  <tim at centricular dot net>
819
820	Patch by: Dov Grobgeld <dov dot grobgeld at gmail dot com>
821
822	* configure.ac:
823	* examples/Makefile.am:
824	* examples/xmlrpc/.cvsignore:
825	* examples/xmlrpc/Makefile.am:
826	* examples/xmlrpc/README:
827	* examples/xmlrpc/test-xmlrpc-client.c:
828	* examples/xmlrpc/test-xmlrpc-server.c:
829	* examples/xmlrpc/xmlrpc-client.c:
830	* examples/xmlrpc/xmlrpc-server.c:
831	* examples/xmlrpc/xmlrpc.h:
832	  Add Dov Grobgeld's XMLRPC code to the examples for posteriority.
833
8342006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
835
836	Patch by: Thadeu Lima de Souza Cascardo <cascardo at minaslivre org>
837
838	* src/inetaddr.c: (gnet_gethostbyname), (gnet_inetaddr_new),
839	(gnet_inetaddr_new_list), (gnet_inetaddr_new_list_async),
840	(inetaddr_new_list_async_nonblock_dispatch),
841	(inetaddr_new_list_async_gthread):
842	  Check whether the given hostname can be resolved without
843	  blocking before creating a thread or forking to do the
844	  lookup. Avoids unnecessary overhead in some cases (#353727).
845
846	* tests/unpack_test.c: (main):
847	  Add cast for unsigned integers to avoid compiler warnings here.
848
8492006-08-12  Tim-Philipp Müller  <tim at centricular dot net>
850
851	* RELEASE:
852	  Add note to check for ss_family usage before release.
853
854	* src/inetaddr.c: (hostent2ialist),
855	(gnet_inetaddr_new_list_async_cb):
856	  Don't access the ss_family field directly, use the
857	  GNET_SOCKADDR_FAMILY() accessor macro instead in
858	  order to keep tings compiling on older systems.
859	  Patch by: Mark Drago <mdrago at bascom com>
860
8612006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
862
863	* autogen.sh:
864	  Find newer automake/autoconf versions and use those if
865	  available.
866
8672006-05-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>
868
869	* src/gnet-private.h:
870	  add lost stuff for !win32 from previous patch
871	* tests/conn_http_test.c: (main):
872	  remove windows-specific debugging stuff
873	* tests/unpack_test.c: (main):
874	  fix "comparison always true due to limited range of data type"
875	  warning
876
8772006-05-24  Benjamin Otte  <otte@gnome.org>
878
879	* src/gnet-private.c: (DllMain):
880	* src/gnet-private.h:
881	* src/gnet.c: (gnet_init):
882	* src/inetaddr.c: (inet_pton), (inet_ntop), (gnet_gethostbyname),
883	(gnet_gethostbyaddr), (inetaddr_new_list_async_gthread),
884	(gnet_inetaddr_get_canonical_name), (gnet_inetaddr_get_host_name):
885	* src/inetaddr.h:
886	* src/mcast.c: (gnet_mcast_socket_is_loopback),
887	(gnet_mcast_socket_set_loopback):
888	* src/tcp.c: (gnet_tcp_socket_new_async_direct),
889	(gnet_tcp_socket_new_async_cb), (gnet_tcp_socket_new_async_cancel):
890	* tests/conn_http_test.c: (main):
891	  apply patch from bug #147392 - it removes a lot of not-needed
892	  special cases for the Windows backend
893	* src/gnet-private.c: (gnet_private_create_ipv4_listen_socket),
894	(gnet_private_create_ipv6_listen_socket),
895	(gnet_private_create_listen_socket)
896	* src/gnet-private.h:
897	  handle IP version policy correctly when creating listening sockets
898
8992006-05-20  Tim-Philipp Müller  <tim at centricular dot net>
900
901	* doc/gnet-sections.txt:
902	  Make #include <gnet.h> show at top of each docs section
903	  (fixes #341816).
904
9052006-05-05  Benjamin Otte  <otte@gnome.org>
906
907	various fixes for Windows compilation:
908	* src/gnet-private.h:
909	  define socklen_t only if it's not defined in config.h
910	* src/gnet.c:
911	  do not compile ipv6_detect_envvar and ipv6_detect_iface on Windows
912	* src/inetaddr.c:
913	  inet_ntop is unused on windows
914	* src/mcast.c: (gnet_mcast_socket_is_loopback),
915	(gnet_mcast_socket_set_loopback):
916	  cast [gs]etsockopt pointers to avoid warnings
917
9182006-05-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
919
920	* src/conn-http.c: (gnet_conn_http_set_uri),
921	(gnet_conn_http_delete_internal):
922	* src/conn.c:
923	  Deperecated gnet_conn_delete in favour of gnet_conn_unref.
924
9252006-05-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
926
927	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
928
929	* src/conn.c: (async_cb):
930	  Don't send an error on HUP (fixes bug #340747)
931
9322006-03-17  Tim-Philipp Müller  <tim at centricular dot net>
933
934	* examples/echoserver-unix.c: (main):
935	  No need to re-invent g_strdup(), but if someone does
936	  he better allocate enough space for the terminating NUL.
937
9382005-12-10  Tim-Philipp Müller  <tim at centricular dot net>
939
940	* doc/tmpl/conn-http.sgml:
941	  Mention the need to define GNET_EXPERIMENTAL before
942	  including gnet headers in the docs.
943
9442005-11-30  Benjamin Lee  <benjamin dot lee at realthought dot net>
945
946	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
947
948	* examples/echoserver-async.c: (async_client_iofunc):
949	  Check for G_IO_OUT before checking for G_IO_IN, so that we
950	  don't forget to send out the last chunk of bytes if we get
951	  notified of a disconnect via G_IO_IN.
952
9532005-11-16  Tim-Philipp Müller  <tim at centricular dot net>
954
955	* src/base64.c:
956	* src/md5.c:
957	* src/sha.c:
958	  const-ify some more arrays; fix potential signedness issue
959	  in the md5/sha digest stringification code.
960
9612005-11-16  Tim-Philipp Müller  <tim at centricular dot net>
962
963	* NEWS:
964	  Update
965
966	* src/base64.c:
967	  Make table constant
968
9692005-11-16  Tim-Philipp Müller  <tim at centricular dot net>
970
971	* src/gnet-private.h:
972	* src/inetaddr.c: (gnet_inetaddr_new_async),
973	(inetaddr_new_async_cb):
974	  Fix race condition in async DNS resolution code:
975	  inetaddr_new_async_cb() might be called before
976	  gnet_inetaddr_new_async() gets around to setting
977	  state->func and state->data (based on patch by
978	  steve_morris@arcadyan.com).
979
9802005-11-16  Tim-Philipp Müller  <tim at centricular dot net>
981
982	* src/uri.c: (field_escape):
983	  Fix URI escaping for characters from 0x80-0xff.
984
9852005-11-15  Tim-Philipp Müller  <tim at centricular dot net>
986
987	* NEWS:
988	* configure.ac:
989	* doc/gnet-sections.txt:
990	* gnet.def:
991	  Update for API addition.
992
9932005-11-15  Jeff Garzik  <jgarzik@pobox.com>
994
995	* src/conn.c: (conn_write_free), (gnet_conn_disconnect),
996	(gnet_conn_write_direct), (gnet_conn_write), (conn_write_async_cb):
997	* src/conn.h:
998	  Add gnet_conn_write_direct(), to allow the caller to
999	  control the write buffer.
1000
10012005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
1002
1003	* src/pack.h:
1004	* src/scheduler.h:
1005	  Add extern "C" bits for c++ compiler.
1006
10072005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1008
1009	* configure.ac:
1010	* src/gnet-private.h:
1011	  Check if system provides socklen_t; if not
1012	  define it to be size_t or int as required.
1013
1014	* gnetconfig.h.win32:
1015	  Bump version numbers to 2.0.8
1016
10172005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1018
1019	* examples/echoclient-unix.c:
1020	* examples/echoserver-unix.c:
1021	  Relicense these to LGPL as well (I missed Marks approval,
1022	  see below, same message).
1023
1024	* NEWS:
1025	  update
1026
10272005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
1028
1029	* examples/dnslookup.c:
1030	* examples/echoclient-async.c:
1031	* examples/echoclient-gconn.c:
1032	* examples/echoclient-udp.c:
1033	* examples/echoclient.c:
1034	* examples/echoserver-async.c:
1035	* examples/echoserver-gserver.c:
1036	* examples/echoserver-partyline.c: (ob_sig_int):
1037	* examples/echoserver-udp.c:
1038	* examples/echoserver.c:
1039	* examples/hash.c:
1040	* examples/hfetch.c:
1041	* examples/hostinfo.c:
1042	* examples/sdr.c:
1043	  Relicense these examples from GPL to LGPL (as approved by the
1044	  copyright holder, David Helder, on the gnet mailing list,
1045	  Message ID: <f688e4613fd4e6bd85847dca4a4f60f3@gizmolabs.org>).
1046
10472005-09-19  Steve Morris  <steve_morris at arcadyan dot com>
1048
1049	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1050
1051	* src/conn-http.c: (gnet_conn_http_done):
1052	  Disable timeout when we have received all data.
1053
10542005-09-18  Daniel Gryniewicz  <dang at gentoo dot org>
1055
1056	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1057
1058	* examples/echoclient-async.c: (async_client_sin_iofunc),
1059	(async_client_in_iofunc):
1060	* examples/echoclient-gconn.c: (ob_in_iofunc):
1061	* examples/echoclient-unix.c: (normal_echoclient):
1062	* examples/echoclient.c: (main):
1063	* examples/echoserver-async.c: (async_client_iofunc):
1064	* examples/echoserver-unix.c: (normal_echoserver),
1065	(async_client_iofunc):
1066	* examples/echoserver.c: (main):
1067	* examples/hfetch.c: (hfetch):
1068	* src/conn-http.c: (gnet_conn_http_conn_connected):
1069	  Fix compilation with -Werror on amd64 (mostly a simple
1070	  s/guint/gsize/ for the GIOChannel API that was changed
1071	  the same way in the GLib 1.2 => 2.0 transition).
1072
10732005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
1074
1075	* src/conn-http.c: (gnet_conn_http_conn_connected),
1076	(gnet_conn_http_conn_got_data):
1077	  Renew timeout when connected and whenever data is
1078	  received (makes transfers that take longer than
1079	  30 seconds work).
1080
10812005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
1082
1083	* src/md5.c: (gnet_md5_new), (gnet_md5_update):
1084	* src/sha.c: (gnet_sha_new), (gnet_sha_update):
1085	* src/tcp.c: (gnet_tcp_socket_new_async_cb):
1086	* src/udp.c: (gnet_udp_socket_receive):
1087	  Fix compilation with gcc4 (signedness issues).
1088
10892005-07-25  Tim-Philipp Müller  <tim at centricular dot net>
1090
1091	* src/conn-http.c: (gnet_conn_http_reset),
1092	(gnet_conn_http_conn_parse_response_headers),
1093	(gnet_conn_http_conn_recv_headers):
1094	  Fix redirection to new location in connection with
1095	  a Content-Length of 0, ie. no body to receive (would
1096	  just timeout after waiting for the body data before).
1097
1098	* tests/conn_http_test.c: (test_post):
1099	  Fix POST test by supplying a developer ID (please
1100	  do not use this for your own code, get your own ID).
1101
11022005-05-31  Tim-Philipp Müller  <tim at centricular dot net>
1103
1104	* doc/gnet-docs.sgml:
1105	  The pkg-config module is gnet-2.0 these days, fix docs.
1106
11072005-05-03  Tim-Philipp Müller  <tim at centricular dot net>
1108
1109	* src/usagi_ifaddrs.c: (free_nlmsglist):
1110	  Fix memory leaks
1111
11122005-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1113
1114	* configure.ac:
1115	  Update version to 2.0.8 as well
1116
1117	* RELEASE:
1118	* configure.ac:
1119	* debian/.cvsignore:
1120	* debian/README.Debian:
1121	* debian/changelog:
1122	* debian/control.in:
1123	* debian/dirs:
1124	* debian/docs:
1125	* debian/libgnet-dev.preinst:
1126	* debian/libgnet1.0.README.Debian:
1127	* debian/libgnet1.0.docs:
1128	* debian/libgnet1.0.postinst:
1129	* debian/libgnet1.1.README.Debian:
1130	* debian/libgnet1.1.docs:
1131	* debian/libgnet1.1.postinst:
1132	* debian/libgnet2.0-0.files:
1133	* debian/rules:
1134	* debian/rules.in:
1135	  Update debian build stuff (most taken directly from
1136	  Takuo Kitame's .diff for the real debian packages)
1137
11382005-04-25  Andreas Rottmann  <a.rottmann at gmx dot at>
1139
1140	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
1141
1142	* NEWS:
1143	* configure.ac:
1144	* doc/gnet-docs.sgml:
1145	* src/gnet-private.h:
1146	* src/inetaddr.c: (gnet_inetaddr_new_list_async),
1147	(inetaddr_new_list_async_gthread),
1148	(inetaddr_new_list_async_gthread_dispatch),
1149	(gnet_inetaddr_new_list_async_cancel),
1150	(gnet_inetaddr_get_name_async),
1151	(gnet_inetaddr_get_name_async_cancel),
1152	(inetaddr_get_name_async_gthread_dispatch),
1153	(inetaddr_get_name_async_gthread):
1154	  Eliminate direct usage of pthreads on unix
1155	  systems and use GLib GThreads instead.
1156
11572005-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1158
1159	* tests/base64_test.c: (main):
1160	* tests/conn_http_test.c: (main):
1161	* tests/inetaddr_test.c: (main):
1162	  Tests need to call gnet_init() before using any
1163	  gnet functions as well.
1164
11652005-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1166
1167	* NEWS:
1168	* src/conn-http.c: (gnet_conn_http_new),
1169	(gnet_conn_http_emit_event), (gnet_conn_http_done),
1170	(gnet_conn_http_conn_parse_response_headers),
1171	(gnet_conn_http_conn_recv_chunk_body),
1172	(gnet_conn_http_conn_recv_nonchunked_data),
1173	(gnet_conn_http_conn_cb), (gnet_conn_http_ia_cb),
1174	(gnet_conn_http_delete_internal), (gnet_conn_http_delete):
1175	  Make sure the http connection can be deleted from within
1176	  the user callback. Do not emit _DATA_PARTIAL or _DATA_COMPLETE
1177	  if we are going to be redirected to a different target anyway.
1178
1179	* tests/conn_http_test.c: (http_async_callback), (test_get_async),
1180	(main):
1181	  Add some test cases for GConnHttp in async mode.
1182
11832005-04-25  Tim-Philipp Müller  <tim at centricular dot net>
1184
1185	* doc/tmpl/conn-http.sgml:
1186	  Add GNET_CONN_HTTP_ERROR_HOSTNAME_RESOLUTION
1187
1188	* src/conn-http.c: (gnet_conn_http_new),
1189	(gnet_conn_http_set_header), (gnet_conn_http_set_user_agent),
1190	(gnet_conn_http_set_uri), (gnet_conn_http_set_method),
1191	(gnet_conn_http_conn_cb), (gnet_conn_http_ia_cb),
1192	(gnet_conn_http_run_async), (gnet_conn_http_run),
1193	(gnet_conn_http_steal_buffer), (gnet_conn_http_delete),
1194	(gnet_conn_http_cancel), (gnet_conn_http_set_timeout):
1195	* src/conn-http.h:
1196	  Actually do emit an error when we couldn't resolve the
1197	  hostname; add some pseudo-typesafety by adding a magic
1198	  cookie to the beginning of the structure and checking
1199	  that cookie in all public gnet_conn_http_*() functions;
1200	  add GNET_CONN_HTTP_ERROR_HOSTNAME_RESOLUTION; make sure
1201	  there are no trailing commas after the last enum value
1202	  in enumerations (gcc-2.9x does not seem to like that).
1203
12042005-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1205
1206	* acinclude.m4:
1207	  Added pkg.m4
1208
1209	* configure.ac:
1210	  Drop support for GLib-1.2
1211
1212	* configure.ac:
1213	* src/gnet-private.h:
1214	* src/udp.c: (gnet_udp_socket_send):
1215	  Check for struct sockaddr_storage family member;
1216	  fixes build on systems that use __ss_family instead
1217	  of ss_family. Based on patch by Jeremy Denise.
1218
1219	* NEWS:
1220	  Update
1221
12222005-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1223
1224	* NEWS:
1225	  Update
1226
1227	* src/conn-http.h:
1228	  Get rid of outdated references to GString in inline
1229	  documentation. gnet_conn_http_steal_buffer() is the
1230	  way to take ownership of a HTTP connection's data.
1231
12322005-04-13  Tim-Philipp Müller  <tim at centricular dot net>
1233
1234	* src/conn-http.c: (gnet_conn_http_append_to_buf),
1235	(gnet_conn_http_reset), (gnet_conn_http_new),
1236	(gnet_conn_http_steal_buffer):
1237	  Fix major memory leak in _steal_buffer(); avoid
1238	  making an unnecessary copy in _steal_buffer():
1239	  always allocate one more byte than required, so we
1240	  always have space for a terminating NUL.
1241
1242	* tests/conn_http_test.c: (test_simple_get):
1243	  Add missing g_free(buf) so we can use the test
1244	  to check for memory leaks.
1245
12462005-03-10  Tim-Philipp Müller  <tim at centricular dot net>
1247
1248	* configure.ac
1249	  Set to 2.0.8
1250
1251	* NEWS:
1252	* src/gnet.c: (gnet_init):
1253	  Return if gnet_init() has been called before,
1254	  making sure that gnet_init() can safely be called
1255	  multiple times. This is useful for example for
1256	  libraries depending on GNet that want to call
1257	  gnet_init() from their own init function instead
1258	  of depending on it being called from the application.
1259
12602005-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1261
1262	* NEWS:
1263	  Update for 2.0.7
1264
12652005-02-20  Tim-Philipp Müller  <tim at centricular dot net>
1266
1267	* RELEASE:
1268	  Before release, check whether the created tarball
1269	  really contains the HTML docs.
1270
1271	* doc/Makefile.am:
1272	  Fix 'make distcheck' which the previous commit broke
1273	  (version.xml needs to be copied to built dir apparently)
1274
1275	* gnet.def:
1276	  Make DllMain a stdcall (use DllMain@12) to keep GNU ld
1277	  and gcc from complaining on win32 (patch by Gisle Vanem).
1278
12792005-02-19  Tim-Philipp Müller  <tim at centricular dot net>
1280
1281	* configure.ac:
1282	* doc/.cvsignore:
1283	* doc/Makefile.am:
1284	* doc/README:
1285	* doc/gnet-docs.sgml:
1286	* doc/version.xml.in:
1287	  Put the version number into the API reference manual
1288	  banner; update doc README and remove outdated docs
1289	  build instructions.
1290
12912005-02-19  Tim-Philipp Müller  <tim at centricular dot net>
1292
1293	* RELEASE:
1294	  Added some notes on which win32 files need to be changed
1295	  when new source files and/or new symbols are added.
1296
1297	* NEWS:
1298	* configure.ac:
1299	  Set to 2.0.7
1300
1301	* gnet.def:
1302	  Make sure the new gnet_conn_http_* and gnet_http_get symbols
1303	  are exported in the win32 DLLs (patch by Gisle Vanem)
1304
1305=== release 2.0.6 ===
1306
13072005-02-17  Tim-Philipp Müller  <tim at centricular dot net>
1308
1309	* Makefile.am:
1310	  Add --enable-gtk-doc to DISTCHECK_CONFIGURE_FLAGS,
1311	  fixing 'make distcheck'.
1312
1313	* NEWS:
1314	* README:
1315	  Update for 2.0.6
1316
13172005-02-17  Tim-Philipp Müller  <tim at centricular dot net>
1318
1319	* GNET.DSP:
1320	* src/makefile.mingw:
1321	  Add conn-http.[ch]
1322
1323	* NEWS:
1324	  update
1325
13262005-02-17  Tim-Philipp Müller  <tim at centricular dot net>
1327
1328	* examples/dnslookup.c: (main):
1329	  getopt returns an int, not a char; fixes compilation
1330	  under strict conditions. (fixes #167706, patch by
1331	  Joseph Sacco)
1332
13332005-02-07  Tim-Philipp Müller  <tim at centricular dot net>
1334
1335	* configure.ac:
1336	  When building on win32 using configure/autotools, always
1337	  define HAVE_IPV6, so that GNET_ADDRLEN is the right
1338	  size for ipv6 structs and calls to getnameinfo() don't
1339	  crash on IPV6-enabled systems (gnetconfig.h.win32 where
1340	  HAVE_IPV6 is already defined is not used when building
1341	  on win32 using the autotools). Fixes #142644
1342
13432005-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1344
1345	* AUTHORS:
1346	  Fix my e-mail address
1347
1348	* acinclude.m4:
1349	* autogen.sh:
1350	* configure.ac:
1351	  Use GTK_DOC_CHECK macro
1352
1353	* doc/Makefile.am:
1354	  Update gtk-doc build magic
1355
1356	* doc/gnet-docs.sgml:
1357	  Fix build issue with some jade versions: add xml header,
1358	  change to OASIS/DTD DocBook XML V4.1.2 and fix entities
1359	  and comments accordingly; update copyright to include 2005.
1360
1361	* src/mcast.c:
1362	  Properly quote arguments to HTML tags in inline docs to fix
1363	  build issues.
1364
13652005-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1366
1367	* src/base64.c: (gnet_base64_encode):
1368	* tests/.cvsignore:
1369	* tests/base64_test.c: (main):
1370	  Fix base64 encoding bug reported on mailing list
1371	  (24 Oct 2004) and add test case for it.
1372	  Also fix gnet_base64_encode() documentation (the
1373	  length of the buffer returned DOES include the
1374	  terminating 0).
1375
1376	* NEWS:
1377	  Update
1378
1379	* tests/.cvsignore:
1380	  Add conn_http_test binary to list of non-CVS files
1381	  to ignore
1382
13832005-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1384
1385	* tests/conn_http_test.c: (test_post):
1386	  Make ConnHttp test compile on GLib versions < 2.4
1387	  which don't have g_markup_printf_escaped()
1388
1389Thu Oct  7 21:25:18 2004  David Helder  <dhelder@gizmolabs.org>
1390
1391	* src/conn-http.h:
1392	    Require GNET_EXPERIMENTAL to be defined.
1393	* tests/conn_http_test.c (GNET_EXPERIMENTAL):
1394	    Define GNET_EXPERIMENTAL
1395
1396	* configure.ac:
1397	    Redo pthread checking logic so we actually run
1398	    a program with pthreads when checking for -pthread.
1399	    Just checking for linking doesn't work, since gcc
1400	    will fail *but* exit 0 on -pdoesnotexist.
1401	    Bug 138692.
1402
1403	* NEWS:
1404	    Updates for Snapshot
1405
1406Mon Sep 27 20:26:51 2004  David Helder  <dhelder@gizmolabs.org>
1407
1408	* examples/echoclient-async.c (async_client_sin_iofunc):
1409	    Don't unref iochannel.  gnet_tcp_socket_delete() will
1410	    do this.  Bug 118149.
1411
1412Sun Sep 26 22:13:02 2004  David Helder  <dhelder@gizmolabs.org>
1413
1414	* src/gnet.c (gnet_init):
1415	    Respect HAVE_IPV6 #define in Windows code too.  Patch from
1416	    David Ergo (david.ergo@alterface.com).
1417
1418Sun Sep 26 22:02:00 2004  David Helder  <dhelder@gizmolabs.org>
1419
1420	Apply patch from Stephane Rouleau (srouleau@innobec.com).
1421
1422	Win32: Don't rely on DllMain() to be called on for init
1423	  and uninit.  Instead init in gnet_init() and uninit
1424	  on exit.
1425
1426	* src/gnet-private.h:
1427	   Add gnet_{un}initialize_windows_sockets()
1428
1429	* src/gnet-private.c (gnet_initialize_windows_sockets):
1430	   Move init code here.
1431	* src/gnet-private.c (gnet_uninitialize_windows_sockets):
1432	   Move uninit code here.
1433
1434	* src/gnet.c (gnet_init):
1435	   Call gnet_initialize_windows_sockets()
1436	* src/gnet.c (gnet_win32_at_exit):
1437	   Call gnet_uninitialize_windows_sockets()
1438
1439Wed May 19 22:20:54 2004  David Helder  <dhelder@gizmolabs.org>
1440
1441	* src/conn-http.c: Apply Tim's second patch.
1442
1443Wed May 19 21:58:46 2004  David Helder  <dhelder@gizmolabs.org>
1444
1445	* *http*: Apply Tim Müller's first HTTP Conn patch.
1446
1447Wed May 19 21:38:38 2004  David Helder  <dhelder@gizmolabs.org>
1448
1449	* src/gnet-private.h: Add Win32 and Unix macros for
1450	    GNET_IS_SOCKET_VALID.  0 is an invalid socket in
1451	    Windows.  -1 is invalid in Unix (I check for < 0
1452	    to be safe).  Suggested by K. Haley.
1453	* src/*.c: Use GNET_IS_SOCKET_VALID
1454
1455Wed May 19 21:20:37 2004  David Helder  <dhelder@gizmolabs.org>
1456
1457	* {tests,examples}/Makefile.am (noinst_PROGRAMS):
1458	   Add Windows-only rules.
1459	   From K. Haley <haleykd@users.sourceforge.net>
1460
1461Sun Mar 21 18:04:50 2004  Andrew Lanoix <alanoix@umich.edu>
1462
1463	*src/gnet-private.c(DllMain): If RegisterClassEx() fails, check to see if
1464		class was already registered. Uncomment DestroyWindow().
1465		Found by: Tommy Chang <tchang@cme.nist.gov>
1466
1467Mon Mar  1 19:07:26 2004  David Helder  <dhelder@gizmolabs.org>
1468
1469	* *: Prepare 2.0.5
1470
1471Sun Feb 15 2004 Tomasz K³oczko <kloczek@pld.org.pl>
1472
1473	* gnet-2.0.m4: added missing [] quotation first parameter of
1474		AC_DEFUN(). This fix is for aclocal from automake 1.8.x and
1475		is backward compatible with older auto tools.
1476
1477Sat Jan 17 2004 Andrew Lanoix <alanoix@umich.edu>
1478
1479	*src/tcp.c(gnet_tcp_socket_new_async_direct():
1480		Watch on GNET_ANY_IO_CONDITION like UNIX.
1481		Reported to us by Tim Müller.
1482	*src/conn.c: Do not do and a g_io_add_watch() if watch_flags
1483		is NULL in REMOVE_WATCH macro.
1484		Found by Andreas Rottmann <a.rottmann@gmx.at>
1485
1486Sun Jan  4 2004 Andrew Lanoix <alanoix@umich.edu>
1487
1488	* README.win32: Update for GNet 2.0
1489
1490Sun Dec 28 2003 Andrew Lanoix <alanoix@umich.edu>
1491
1492	*src/tcp.c: typecasting cleanup
1493	*src/conn.c: " + include string.h for g_memmove/memmove
1494	*src/gnet-private.c: Make sockfd of type SOCKET
1495	*src/gnet-private.h: " + delete _SocketWatchAsyncState struct
1496	*src/upd.c" "
1497
1498Sat Dec 27 2003 Andrew Lanoix <alanoix@umich.edu>
1499
1500	*src/tcp.c(gnet_tcp_socket_server_new_full): Set socket
1501	  as reusable and non-blocking on Windows as well.
1502	*src/gnet-private.h: Have gnet_private_create_listen_socket
1503	  return SOCKET not int to make VC happy.
1504	*src/gnet-private.c(gnet_private_create_listen_socket): On
1505	  Windows use getaddrinfo() in IPv6 case for a simple memset
1506	  does not work for bind() fails.
1507
1508Tue Dec  9 21:10:46 2003  David Helder  <dhelder@gizmolabs.org>
1509
1510	* src/inetaddr.c: Check return value of inet_pton
1511	    with > 0 for success.  Negative values can indicate
1512	    error.  FreeBSD and OpenBSD return 1 on success, but
1513	    Linux return a "postive number" (so don't do == 1).
1514	* src/gnet-private.h: Fix comment typos.
1515	    (Thanks Michael Alger)
1516
1517	* TODO: Update note on readv(). (Thanks Stephane LOEUILLET)
1518
1519	* src/gnet-private.c: Apply Tim Müller's patch to use
1520	    gsize.  Fixes warnings.
1521
1522Mon Dec 8 2003 Andrew Lanoix <alanoix@umich.edu>
1523
1524	* src/gnet-private.c(gnet_private_create_listen_socket):
1525		Declare sockfd as type SOCKET to make compiler happy.
1526		On Unix, SOCKET is defined as an int.
1527	* src/inetaddr.c(gnet_inetaddr_get_interface_to): "
1528	* src/*: Get rid of hostent mutex since one hostent per thread
1529		on Windows according to MSDN.
1530	* src/gnet-private.h: Delete hostent mutex releated code and add
1531		new changes for IPv6 for the below functions.
1532	* src/inetaddr.c: Include process.h,
1533		Add support for IPv6 on Windows for the following functions
1534		and update related docs about them.
1535			gnet_inetaddr_new_list_async()
1536			gnet_inetaddr_new_list_async_cancel()
1537			gnet_inetaddr_get_name_async()
1538			gnet_inetaddr_get_name_async_cancel()
1539	* src/inetaddr.c(gnet_inetaddr_list_interfaces): Update
1540		note so that 10 interface limit only applies to IPv4
1541		only systems on Windows, not IPv6 systems.
1542	* doc/tmpl/ipv6.sgml: Document how IPv6 policy is set on Windows.
1543
1544Tue Oct 28 19:02:40 2003  David Helder  <dhelder@gizmolabs.org>
1545
1546	* src/inetaddr.c (inetaddr_get_name_async_pthread): On
1547	   failure, call gnet_inetaddr_get_canonical_name().
1548	   Before we did a g_snprintf(), which only worked for
1549	   IPv6.
1550
1551	* src/conn.c (gnet_conn_set_watch_error): Fix doc.
1552
1553Sun Oct  5 20:53:09 2003  David Helder  <dhelder@umich.edu>
1554
1555	* README (Features): Added Workrave
1556
1557Sun Oct  5 14:29:03 2003  David Helder  <dhelder@umich.edu>
1558
1559	* README (Features): Added Mail Notify, Sussen.  Remove Gabber,
1560	   Ximian Red Carpet
1561
1562Sat Oct 4 2003 Andrew Lanoix <alanoix@umich.edu>
1563
1564	* src/gnet-private.h: Define SOCKET as guint for non-windows platforms,
1565		Add Name-mangled versions of needed IPv6 structs for Mingw & VC,
1566		Add typedefs of necessary IPv6 func pointers,
1567		Define IN6_ARE_ADDR_EQUAL for Windows.
1568	* src/gnet.c (gnet_win32_at_exit): Add
1569	* src/gnet.c (gnet_init): Query OS for IPv6 support on Windows and set
1570		necessary func pointers at runtime.
1571	* gnetconfig.h: Define HAVE_IPV6 for Win32 version, check at runtime
1572		on Windows.
1573	* src/inetaddr.c (gnet_gethostbyname): Updated for IPv6 on Windows
1574	* src/inetaddr.c (gnet_gethostbyaddr): "
1575	* src/inetaddr.c (gnet_inetaddr_get_canonical_name): "
1576	* src/inetaddr.c (gnet_inetaddr_list_interfaces): "
1577
1578	TODO: Fix up gnet_inetaddr_new_list_async() and gnet_inetaddr_get_name_async()
1579	so they work like their pthread equivalents. The current Windows
1580	implementation using a hidden window can not be upgraded to IPv6 since the
1581	underlying functions it relies upon are not IPv6 compliant -- that is:
1582	WSAAsyncGetHostByName() and WSAAsyncGetHostByAddr().
1583
1584
1585Sun Aug 24 20:52:52 2003  Andrew Lanoix <alanoix@umich.edu>
1586
1587	* examples/echoserver-partyline.c: Added
1588
15892003-08-22  Tor Lillqvist  <tml@iki.fi>
1590
1591	* acinclude.m4: New file. Dummy definition of AM_PATH_GLIB to fool
1592	aclocal on systems without GLib 1.2.
1593
1594	* configure.ac: Check for Win32, set automake variable
1595	OS_WIN32. Call AC_LIBTOOL_WIN32. Define AM_PATH_GLIB if undefined
1596	(calling AC_MSG_ERROR). Disable static library build on Windows.
1597
1598	* src/Makefile.am: On Win32, use -no-undefined and link with
1599	-lws2_32.
1600
1601	* src/gnet-private.c: Mark variables used only here as static. Add
1602	prototypes, because of the -Wmissing-prototypes and -Werror.
1603
1604	* src/gnet-private.h: Remove variables marked as static to
1605	gnet-private.c above.
1606
1607	* src/unix.c: Bypass on Win32.
1608
1609	* src/tcp.c (gnet_tcp_socket_new_async_direct): [Win32 version]
1610	Must watch for G_IO_OUT to catch connect() connecting.
1611
1612Sun Aug 10 21:14:20 2003  David Helder  <dhelder@umich.edu>
1613
1614	* src/uri.c (field_escape): Mask top 4 bytes before
1615	   shifting.  Fixes escaping high Latin-1 bug reported
1616	   by Emmanuel Saracco.
1617	* tests/uri_test.c (escape_tests): Added test case for
1618	   this.
1619
1620	* tests/Makefile.am (CLEANFILES): Delete diff files.
1621
1622	* src/tcp.c (gnet_tcp_socket_new_async_direct): Add
1623	   GNET_CLOSE_SOCKET()'s before returns if there's an error.  Warn
1624	   if fcntl() fails. Thanks Hans Petter Jansson!
1625
1626	* src/*.c: Call g_warning() when syscalls that ought not fail,
1627	   fail: socket(), fcntl(), getsockopt().  (There are probably
1628	   many that I missed.)
1629
1630Wed Jul 30 20:24:54 2003  Andrew Lanoix <alanoix@umich.edu>
1631
1632	* src/gnet-private.c (gnet_MainCallBack): Make PeekMessage()
1633	    condition of while loop.
1634	    Found by Hans Petter Jansson <hpj@ximian.com>.
1635
1636Mon Jul 28 20:19:34 2003  David Helder  <dhelder@umich.edu>
1637
1638	* NEWS: Update for 2.0.4
1639
1640Wed Jul 23 21:32:30 2003  David Helder  <dhelder@umich.edu>
1641
1642	* gnet-2.0.pc.in: Back out the -R${libdir} fix for Solaris.
1643	    This breaks other systems.
1644
1645	* configure.ac: Check sizeof(long), sizeof(void*)
1646	* tests/unpack_test.c (main): Compile 64 bit tests if long is 64
1647	    bit.  Use SIZEOF_VOIDP too.
1648
1649	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock):
1650	    s/INVALID_SOCKET/-1/.  This #define isn't on Unix.
1651
1652	* examples/echoclient-async.c (async_client_sin_iofunc): Don't
1653	   unref async_sin.  (New GNet 2 get_io_channel() semantics).
1654	   Fixes bug #118149.  Thanks charles.
1655
1656Mon Jul 21 21:04:25 2003  David Helder  <dhelder@umich.edu>
1657
1658	* src/inetaddr.c (gnet_gethostbyname): Solaris gethostbyname_r()
1659	   returns a struct hostent*, not an int.  Patch from
1660	   charles.  Fixes bug #118023.
1661
1662Wed Jun 11 20:29:44 2003  Andrew Lanoix <alanoix@umich.edu>
1663
1664	*src/tcp.c (gnet_tcp_socket_server_accept): Pass size of
1665		sockaddr_storage to accept() to get address of incoming
1666		conections on win32. Found by Hans Petter Jansson <hpj@ximian.com>
1667	*src/tcp.c (gnet_tcp_socket_server_accept_nonblock): "
1668	*src/tcp.c: Fix typecasting to satisfy Visual Studio
1669
1670Sat Jun  6 17:07:19 2003  Andrew Lanoix <alanoix@umich.edu>
1671
1672	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb):
1673		&state->ias->data should be state->ias->data.
1674	* src/tcp.c (gnet_tcp_socket_new_async_direct)
1675		Do not call back on a failure in GNet 2.0.
1676		Both issues found by Hans Petter Jansson <hpj@ximian.com>.
1677
1678Tue Jun  3 12:11:44 2003  David Helder  <dhelder@umich.edu>
1679
1680	* AUTHORS: Change my email address
1681
1682
1683	* tests/unpack_test.c (main): Add 64 bit tests.
1684	* tests/unpack_test.c (main): Use sizeof's for size.
1685	* tests/unpack_test.c (main): Use lg*int where we were using
1686	   ig*int.
1687
1688	* tests/pack_test.c (test_bytes): Skip the first half
1689	   of 64-bit answers.  (We store the correct value as
1690	   32 bits.)
1691
1692	* src/pack.c (gnet_vpack): Longs should get long off of stack, not
1693	   int.
1694	* src/pack.c (gnet_vcalcsize): " (not that it matters for this func.)
1695
1696	* tests/pack_test.c (main): long tests need buffer sizeof(long).
1697	   (and use sizeof(unsigned int) for unsigned int tests.
1698
1699Sat May 31 12:47:45.57 2003 Andrew Lanoix <alanoix@umich.edu>
1700
1701	* src/makefile.mingw: Update for 2.0
1702	* examples/makefile.mingw: "
1703	* tests/makefile.mingw: "
1704	* gnet.def: "
1705
1706Tue May 20 21:03:15 2003  David Helder  <dhelder@umich.edu>
1707
1708	* configure.ac: Don't check for -lpthread or -lc_r if
1709	    -pthread or -pthreads worked.
1710
1711	* src/inetaddr.c (inet_ntop): Make buf const.
1712
1713Wed May 14 00:48:22 2003  David Helder  <dhelder@umich.edu>
1714
1715	* configure.ac: Update version (unreleased)
1716
1717	* src/tcp.c (gnet_tcp_socket_server_accept): cast to
1718	   struct sockaddr (Win32)
1719	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): "
1720
1721Tue May 13 23:54:59 2003  David Helder  <dhelder@umich.edu>
1722
1723	* src/gnet-private.h (in_addr_t): define for win32. (guint32)
1724
1725	* src/inetaddr.c (gnet_inetaddr_unref): ref_count--, not
1726	   ++ (thanks Pierre-Emmanuel Gros).  :-\
1727
1728Tue May 13 22:31:19 2003  David Helder  <dhelder@umich.edu>
1729
1730	* NEWS: 2.0.3
1731	* configure.ac (GNET_BINARY_AGE): "
1732
1733Tue May 13 14:58:28 2003  David Helder  <dhelder@umich.edu>
1734
1735	* README: Added Gnome Jabber.
1736
1737	* src/inetaddr.c (inet_ntop): Copy from src, not dst.
1738
1739	* src/inetaddr.c (gnet_inetaddr_get_canonical_name): Remove
1740	    Win32 version (we wrote a inet_ntop for it.)
1741
1742Tue May 13 01:25:12 2003  David Helder  <dhelder@umich.edu>
1743
1744	* src/inetaddr.c (inet_ntop): Add Win32 inet_pton and inet_aton.
1745
1746	* src/gnet-private.c (DllMain): Comment out DestroyWindow.  This
1747	   causes problems.  Andy will take a look at it.
1748
1749	* src/gnet-private.h: Define IN_LOOPBACKNET if not defined
1750	   (like in Windows?)
1751
1752	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Add a &
1753	   (was bad cast).
1754
1755	* src/inetaddr.c (gnet_inetaddr_new_list_async): s/name/hostname,
1756	   Fix list code.  Delete list.
1757
1758	* src/gnet-private.c (gnet_MainCallBack): Use
1759	   GInetAddrNewListState (a rename)
1760
1761Sun May 11 22:31:59 2003  David Helder  <dhelder@umich.edu>
1762
1763	* src/inetaddr.c: Use ias, not ia (Win32).  Clean-up list code.
1764
1765	* src/gnet-private.h (struct _GUnixSocket): ifdef out
1766	   for Win32 compile.
1767
1768Tue May  6 12:27:07 2003  David Helder  <dhelder@umich.edu>
1769
1770	* src/inetaddr.c (gnet_gethostbyname): Fix memory leak?
1771	    Call freeaddrinfo on res if res it set, regardless of
1772	    there being an error.  I'm not sure if this fixes anything.
1773
1774Tue May  6 11:44:33 2003  David Helder  <dhelder@umich.edu>
1775
1776	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb):
1777	   Don't delete the addresses in state.  The get deleted
1778	   when we call cancel.
1779
1780Tue Apr 29 13:57:43 2003  David Helder  <dhelder@umich.edu>
1781
1782	* README (Features): Remove GnomeICU
1783
1784Tue Apr 29 12:23:34 2003  David Helder  <dhelder@umich.edu>
1785
1786	* configure.ac: Fix AC_INIT version.
1787
1788Mon Apr 28 12:32:55 2003  David Helder  <dhelder@umich.edu>
1789
1790	* configure.ac (GNET_BINARY_AGE): version++
1791	* gnet.pc.in, src/?: Sun compiler patch from Ives Aerts
1792	* gnet.spec.in: Fixes from Bas Mevissen
1793
1794Mon Apr 21 18:22:07 2003  David Helder  <dhelder@umich.edu>
1795
1796	* configure.ac: Update version for 2.0.1
1797
1798Thu Apr 17 17:52:20 2003  David Helder  <dhelder@umich.edu>
1799
1800	* tests/inetaddr_test.c (main): More IPv6 fixes.
1801	* configure.ac: Check for -pthreads (alternative to -pthread)
1802
1803Wed Apr 16 15:21:21 2003  David Helder  <dhelder@umich.edu>
1804
1805	* src/inetaddr.c (gnet_gethostbyname): Remover sa_inp - not used.
1806	* src/inetaddr.c (gnet_gethostbyname): "
1807
1808	* src/gnet-private.h: Fix sockaddr_storage def.
1809
1810Wed Apr 16 11:52:22 2003  David Helder  <dhelder@umich.edu>
1811
1812	* src/{inetaddr,mcast,udp, gnet-private, gnet}.c: Use HAVE_IPV6
1813	* examples/inetaddr_test.c: "
1814	* configure.ac (HAVE_IPV6): Added check for.
1815
1816Tue Apr 15 13:37:38 2003  David Helder  <dhelder@umich.edu>
1817
1818	* src/gnet-private.h: define sockaddr_storage if not defined.
1819	* configure.ac: Check for sockaddr_storage
1820
1821Tue Apr 15 11:07:52 2003  David Helder  <dhelder@umich.edu>
1822
1823	* src/gnet.c (ipv6_detect_envvar): s/index/strchr/
1824
1825Sun Apr 13 17:50:23 2003  David Helder  <dhelder@umich.edu>
1826
1827	* doc/Makefile.am (maintainer-clean-local): Fix clean rule.
1828
1829Sun Apr 13 14:09:14 2003  David Helder  <dhelder@umich.edu>
1830
1831	* doc/gnet-docs.sgml: Update version.
1832
1833Sat Apr 12 15:24:21 2003  David Helder  <dhelder@umich.edu>
1834
1835	* *: Various 2.0 renames.
1836	* tests/client_server_test.pl (test): Add a pause - too
1837	   fast for BSD.
1838
1839Wed Mar 19 09:46:12 2003  David Helder  <dhelder@umich.edu>
1840
1841	* gnet.m4/gnet-1.3.m4: Rename -> gnet-1.3.m4
1842
1843	* configure.ac: Use AC_CANONICAL_SYSTEM instead of BUILD
1844	   (BSD fix).
1845
1846Wed Mar  5 18:58:44 2003  David Helder  <dhelder@umich.edu>
1847
1848	* BUGS,README: Updates
1849
1850Wed Mar  5 18:47:04 2003  David Helder  <dhelder@umich.edu>
1851
1852	* gnet.spec.in: Fixes from Jeff Boonggren (closes #107499)
1853
1854Tue Feb 25 15:19:17 2003  David Helder  <dhelder@umich.edu>
1855
1856	* src/makefile.mingw: Commited Martyn Russell's patch to use
1857	   pkg-config.
1858
1859	* src/conn.c (async_cb): Guard conn->func's with
1860	g_return_val_if_fail().
1861
1862	* src/conn.c (gnet_conn_new_socket): Don't watch error.
1863
1864Fri Feb 21 17:52:18 2003  David Helder  <dhelder@umich.edu>
1865
1866	* *: Release 1.3.2
1867
1868	* src/gnet-private.h: Add macros for setting ss_len based on
1869	    ss_family.  On linux this is a no-op.
1870	* src/inetaddr.c (gnet_inetaddr_list_interfaces: GNET_INETADDR_SET_SS_LEN
1871	* src/inetaddr.c (gnet_inetaddr_set_bytes):
1872	* src/inetaddr.c (gnet_inetaddr_new_nonblock):
1873	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb):
1874	* src/inetaddr.c (gnet_gethostbyname):
1875	* src/inetaddr.c (hostent2ialist):
1876	* src/inetaddr.c (gnet_inetaddr_list_interfaces):
1877	* src/inetaddr.c (gnet_inetaddr_list_interfaces):
1878	* src/udp.c (gnet_udp_socket_send):
1879	* src/gnet-private.c (gnet_private_create_listen_socket):
1880
1881	* src/inetaddr.c (gnet_inetaddr_get_interface_to): Assign sa,
1882	don't memcpy.
1883	* src/inetaddr.c (gnet_inetaddr_list_interfaces): "
1884	* src/inetaddr.c (gnet_gethostbyname): Set sin_addr, don't memcpy.
1885	* src/inetaddr.c (gnet_gethostbyname): " sin6_addr
1886	* src/inetaddr.c (gnet_inetaddr_new_nonblock): "
1887	* src/udp.c (gnet_udp_socket_receive):
1888	* src/gnet-private.c (gnet_private_create_listen_socket): no memcpy
1889	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock):
1890	* src/tcp.c (gnet_tcp_socket_server_accept):
1891	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock):
1892	* src/tcp.c (gnet_tcp_socket_server_accept): "
1893	* src/tcp.c (gnet_tcp_socket_get_local_inetaddr): "
1894	* src/tcp.c (gnet_tcp_socket_server_new_full): "
1895	* src/tcp.c (gnet_tcp_socket_get_remote_inetaddr):
1896	* src/tcp.c (gnet_tcp_socket_new_async_direct): no memcpy
1897	* src/tcp.c (gnet_tcp_socket_new_direct): no memcpy
1898	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
1899	* src/udp.c (gnet_udp_socket_send): "
1900	* src/udp.c (gnet_udp_socket_get_local_inetaddr): "
1901	* src/udp.c (gnet_udp_socket_new_full): "
1902	* src/mcast.c (gnet_mcast_socket_new_full): no memcopy
1903
1904
1905	* examples/echoserver-udp.c: Print address of server.
1906
1907	* src/udp.c (gnet_udp_socket_send): Map IPv4 dst to IPv6 is socket
1908	    is IPv6 and vice versa.  FreeBSD is less tolerant than Linux
1909	    about this.  RFC 2553 says to do this anyway.
1910
1911	* src/udp.c (gnet_udp_socket_get_local_inetaddr): Added
1912	* src/mcast.c (gnet_mcast_socket_get_local_inetaddr): Added
1913
1914Wed Feb 19 16:55:21 2003  David Helder  <dhelder@umich.edu>
1915
1916	* Makefile.am (EXTRA_DIST): Distribute tests/testfile
1917
1918	* gnet.m4: Updated based on GLib 2.2.1's glib-2.0.m4
1919
1920	* Makefile.am: Install gnet-1.3.pc instead of gnet.pc.  Install
1921	    gnet.m4 to gnet-1.3.m4.
1922
1923	* gnet.spec.in: Don't build with --enable-debug=yes.  This enables
1924	   -Werror and messes up SRPM builds.
1925
1926	* configure.ac: Check for GLib in this order: 2.2, 2.0, 1.2.
1927	   Use --enable-glib12 to force GLib 1.2
1928
1929	* configure.ac: Check for -pthread
1930
1931	* src/udp.c (gnet_udp_socket_get_ttl): Initialize rv.
1932
1933	* src/mcast.c (gnet_mcast_socket_leave_group):
1934	s/IPV6_REMOVE_MEMBERSHIP/IPV6_LEAVE_GROUP/,
1935	s/IPV6_ADD_MEMBERSHIP/IPV6_JOIN_GROUP/,
1936
1937	* configure.ac: Look for ifaddrs.h
1938	* src/inetaddr.c: Include ifaddrs.h
1939
1940	* src/inetaddr.c: Convert s6_addr32 to s6_addr's.  FreeBSD
1941	   says s6_addr32 is "nonstandard".
1942	* src/gnet-private.h (GNET_SOCKADDR_ADDR32): Added.
1943
1944Tue Feb 18 16:53:33 2003  David Helder  <dhelder@umich.edu>
1945
1946	* src/pack.c: Use gsize for internal functions.
1947	    buffer length is a gint, not a guint.  We return
1948	    the number of bytes packed/unpacked, which can be
1949	    -1.  So the buffer can't be more then a gint.
1950	* src/udp.c (gnet_udp_socket_receive/send): "
1951	* src/mcast.c (gnet_mcast_socket_receive/send): "
1952	* src/iochannel.[ch]: Use gsize instead of guint
1953
1954Fri Feb 14 16:49:10 2003  David Helder  <dhelder@umich.edu>
1955
1956	* gnet.pc.in: Link against gnet-MAJOR.MINOR, not plain gnet
1957	* src/Makefile.am: Build libgnet-1.3
1958	* configure.ac (LT_CURRENT): Use GLib's macros.  Yoink!
1959	* src/Makefile.am (libgnet_1_3_la_LDFLAGS): Remove revision
1960	    from LDFLAGS.
1961
1962Thu Feb 13 16:24:22 2003  David Helder  <dhelder@umich.edu>
1963
1964	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Delete
1965	    using new_list_async_cancel, not new_async_cancel.  Bug!
1966
1967	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Don't
1968	    delete the ias after callback.  They are callee owned.
1969	    This fixes a bug.
1970
1971	* src/inetaddr.c (gnet_inetaddr_new_list_async): Move ialist_free
1972   	    up.  (shouldn't matter)
1973
1974	* src/inetaddr.c (gnet_inetaddr_get_name_async_cancel): Remove
1975	    watch only if set (we can remove it above).
1976	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Set
1977	    watch to 0 afer it is removed.  This avoids gettting a
1978	    warning maybe.
1979
1980	* src/inetaddr.c (gnet_inetaddr_get_name_async): IPv6-ize fork()
1981	    version.
1982
1983	* src/socks.c (gnet_socks_get_version): Make env const.
1984
1985Wed Feb 12 15:53:44 2003  David Helder  <dhelder@umich.edu>
1986
1987	* tests/dns_test.pl: Add.
1988	* configure.ac: Add dns_test.pl to NETWORK_TESTS
1989	* Makefile.am (EXTRA_DIST): "
1990
1991	* src/inetaddr.c (inetaddr_new_async_cb): ialist condition
1992	    backwards.
1993
1994	* src/gnet-private.h (_GInetAddrNewListState ): Add in_callback
1995	    flag to GInetAddrNewListState-pthread.
1996	* src/inetaddr.c (gnet_inetaddr_new_list_async_cancel): Add
1997	   in_callback to guard against calling in callback.
1998	* src/inetaddr.c (inetaddr_new_list_async_pthread_dispatch): Set
1999	   in_callback.
2000
2001	* examples/dnslookup.c (list_cb): Free the ialist.
2002
2003	* src/inetaddr.c (gnet_inetaddr_get_name):
2004	s/assert/return_if_fail/.
2005
2006	* src/inetaddr.c (gnet_inetaddr_new_async_cancel):
2007	s/assert/return_if_fail.
2008	* src/inetaddr.c (inetaddr_new_async_cb): Add return_if_fail.
2009
2010	* src/inetaddr.c (gnet_inetaddr_new_async): Include state.  Fixes
2011	    bug.
2012
2013Tue Feb 11 16:14:31 2003  David Helder  <dhelder@umich.edu>
2014
2015	* *: Release 1.3.1
2016
2017Fri Feb  7 14:00:18 2003  David Helder  <dhelder@umich.edu>
2018
2019	* README: Added PAN to "Applications that use GNet"
2020
2021Wed Feb  5 18:29:40 2003  David Helder  <dhelder@umich.edu>
2022
2023	* examples/echoserver-gserver.c (ob_server_func): Watch
2024	    for error.
2025	* examples/echoclient-gconn.c (main): "
2026
2027	* src/conn.c (conn_connect_cb): Add watch if flags set
2028	* src/conn.c (conn_new_cb): "
2029
2030	* src/conn.c (gnet_conn_set_watch_writable): Don't do
2031	    source add if not connected yet.
2032
2033	* src/conn.c (gnet_conn_set_watch_error): Added.
2034
2035	* src/conn.c (gnet_conn_timeout): return_if_fail(conn->func)
2036	   only if a timer is being set.
2037
2038Wed Feb  5 12:26:29 2003  David Helder  <dhelder@umich.edu>
2039
2040	* src/base64.c: Patch from fredo
2041	* tests/base64_test.c: Test from fredo.
2042
2043Tue Feb  4 20:05:23 2003  David Helder  <dhelder@umich.edu>
2044
2045	* tests/Makefile.am (ipv6_test_SOURCES): Fix ipv6_test_SOURCES
2046	   rule.
2047
2048Tue Feb  4 19:48:35 2003  David Helder  <dhelder@umich.edu>
2049
2050	* doc/Makefile.am (dist-hook): Don't require gtk-doc to make
2051	   dist.  Otherwise we need to write our own custom dist
2052	   rule in the main Makefile.
2053
2054	* tests/Makefile.am: Add $(NETWORK_TESTS)
2055	* configure.ac: Add --enable-network-tests flag
2056	* autogen.sh: network tests enabled by default via autogen.sh
2057
2058	* src/conn.c: Add asserts for conn->func on functions
2059	    that use callbacks.
2060
2061	* examples/hostinfo.c (main): Autodetect interface check.
2062
2063	* src/inetaddr.c (gnet_inetaddr_get_internet_interface):
2064	    Use policy.  Do not return a non-internet inteface,
2065	    when there no internet interface.  (We did this before,
2066	    but this did not match the docs).
2067
2068	* src/inetaddr.c (gnet_inetaddr_autodetect_internet_interface):
2069	    IPv6-ize.
2070
2071	* src/gnet-private.h (struct _GUnixSocket): Use sockaddr_un.
2072	* src/unix.c (gnet_unix_socket_server_new): Add some casts.
2073
2074Tue Feb  4 15:20:46 2003  David Helder  <dhelder@umich.edu>
2075
2076	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Use INETADDR
2077	macros.
2078
2079	* src/gnet-private.h (GNET_INETADDR_ADDRLEN): Added.
2080	* src/inetaddr.c (gnet_inetaddr_get_length): "
2081	* src/inetaddr.c (gnet_inetaddr_get_bytes):
2082	* src/inetaddr.c (gnet_inetaddr_set_bytes):
2083
2084Tue Feb  4 14:37:05 2003  David Helder  <dhelder@umich.edu>
2085
2086	* src/tcp.[ch] (gnet_tcp_socket_get_remote_inetaddr): Was
2087	    gnet_tcp_socket_get_inetaddr().  Note if this is called on a
2088	    server, the local address is created, which is not
2089	    unreasonable.  This is an undocumented feature.
2090
2091Mon Feb  3 23:06:59 2003  David Helder  <dhelder@umich.edu>
2092
2093	* src/tcp.c (gnet_tcp_socket_get_local_inetaddr): Added.
2094
2095	* src/*: param name clean-ups.
2096
2097	* src/unix.c (gnet_unix_socket_unref): Restore old unref code.
2098	    (Where did it go?!)
2099
2100	* src/uri.c (gnet_uri_equal): Return gboolean.
2101	* src/inetaddr.c (gnet_inetaddr_equal): "
2102	* src/inetaddr.c (gnet_inetaddr_noport_equal): "
2103	* src/sha.c (gnet_sha_equal): "
2104	* src/sha.c (gnet_md5_equal): "
2105
2106	* src/inetaddr.c (gnet_inetaddr_new_bytes):
2107	    s/guint8*/gchar*/ for bytes arg.
2108
2109	* src/inetaddr.c: s/ia/inetaddr in args.
2110
2111	* src/inetaddr.c (gnet_inetaddr_set_port): port is
2112	    a gint, not a guint.
2113
2114	* src/inetaddr.c: gnet_inetaddr_gethostname ->
2115		gnet_inetaddr_get_host_name.
2116		gnet_inetaddr_gethostaddr ->
2117		gnet_inetaddr_get_host_addr.
2118
2119
2120Mon Feb  3 20:21:02 2003  David Helder  <dhelder@umich.edu>
2121
2122	* src/server.c (gnet_server_{ref,unref}): Added
2123
2124	* src/socks.c (gnet_socks_get_server): Clean-up.
2125
2126	* src/socks-private.c:
2127		s/socks_get_version/gnet_socks_get_version/.
2128	* src/socks.c (gnet_socks_{get/set}_version): Added
2129
2130	* src/tcp.c: gnet_tcp_socket_server_new becomes
2131	    gnet_tcp_socket_server_new_with_port,
2132	    gnet_tcp_socket_server_new_interface becomes
2133	    gnet_tcp_socket_server_new_full.
2134	    gnet_tcp_socket_server_new now takes 0 args.
2135
2136Mon Feb  3 17:56:55 2003  David Helder  <dhelder@umich.edu>
2137
2138	* *: More doc work.
2139
2140	* src/mcast.c (gnet_mcast_socket_new_full): Disable loopback by
2141	   default.
2142
2143	* src/unix.c (gnet_unix_socket_connect): Removed.  Same
2144	   as gnet_unix_socket_new.
2145
2146	* src/inetaddr.c: Remove gnet_inetaddr_new_any().  Not needed with
2147	   new API for server sockets.
2148
2149Mon Feb  3 12:55:49 2003  David Helder  <dhelder@umich.edu>
2150
2151	* configure.ac: Bump version to 1.3.1 (unreleased)
2152
2153	* examples/*: Remove "Or include <gnet/gnet.h>" comment.
2154	   This is no longer true.
2155
2156	* src/iochannel.c: bytes_{read,written} is no longer
2157	   optional (reverses change from a few days ago).  Added
2158	   some g_return_val_if_fail's
2159
2160	* *: More doc work.
2161
2162Wed Jan 29 21:23:57 2003  David Helder  <dhelder@umich.edu>
2163
2164	* src/md5.[hc]: s/guchar and gint8/gchar/
2165	* src/sha.[hc]: s/guchar and gint8/gchar/
2166
2167	* src/socks.c (gnet_socks_get_server): Return the socks
2168	   server even if socks in disabled.
2169
2170	* tests, examples: Renames.  Moved dnstest and hostinfo to
2171	    examples.
2172	* *: Doc updates.
2173
2174Tue Jan 28 23:17:30 2003  David Helder  <dhelder@umich.edu>
2175
2176	* *: Doc updates.  Still rough.
2177
2178Mon Jan 27 15:07:38 2003  David Helder  <dhelder@umich.edu>
2179
2180	* src/base64.[hc]: Updates from Fredo.
2181
2182Fri Jan 24 15:33:13 2003  David Helder  <dhelder@umich.edu>
2183
2184	* src/base64.[hc]: Added.  Contributed by Alfred Reibenschuh
2185	<alfredreibenschuh@gmx.net>
2186
2187	* src/iochannel.c (gnet_io_channel_writen): bytes_written is
2188	    optional.
2189	* *: More doc work
2190
2191Tue Jan 21 16:51:45 2003  David Helder  <dhelder@umich.edu>
2192
2193	* src/unix.[hc]: No longer experimental
2194	* *: Clean-ups for release and docs.
2195	* *: Release 1.3.0
2196
2197Tue Jan 21 15:03:49 2003  David Helder  <dhelder@umich.edu>
2198
2199	* src/uri.c (gnet_uri_get_string): Renamed from
2200	   gnet_uri_get_nice_string().  The string should be escaped
2201	   manually if necessary.
2202
2203Tue Jan 21 14:02:43 2003  David Helder  <dhelder@umich.edu>
2204
2205	* src/uri.c (gnet_uri_new): Fix reading IPv6 name.  Convert
2206	   isspace to locale-independent macro.  (Thanks Eric!)
2207
2208	* src/server.[hc]: The server func no longer has a status
2209	   argument.  If the conn is NULL, it's an error.  Otherwise,
2210	   it's good.
2211
2212	* src/server.c (server_accept_cb): Call gnet_conn_new_socket() to
2213	   create conn.
2214
2215	* src/iochannel.[hc]: Remove experimental functions.  These
2216	   were complex and bug-prone.  Most the functionality is
2217	   now in conn.
2218
2219	* src/conn.[hc]: Reworked entire API.
2220
2221	* src/uri.[hc]: Added escape/unescape code.  Contributed by
2222	   Eric Williams (ericjw@umich.edu).
2223
2224Thu Jan  9 18:15:16 2003  David Helder  <dhelder@umich.edu>
2225
2226	* tests/client_server_test.pl: Remove IPC::Open2.
2227	    We don't use it anymore.  Perl in /usr/bin.
2228
2229Thu Jan  9 16:35:36 2003  David Helder  <dhelder@umich.edu>
2230
2231	* src/tcp.c (gnet_tcp_socket_get_iochannel): Removed.  I broke so
2232	   many interfaces already, why *try* to keep a crappy one?
2233	* src/udp.c (gnet_udp_socket_get_iochannel): "
2234	* src/udp.c (gnet_unix_socket_get_iochannel): "
2235
2236	* src/gnet.c (ipv6_detect_envvar): Make envvar const.
2237
2238Thu Jan  9 16:24:36 2003  David Helder  <dhelder@umich.edu>
2239
2240	* tests/pack.c: Fixed output in 2 big-ending pointer packing tests
2241
2242	* src/tcp.{ch}: Remove status from GTcpSocketNewAsyncFunc.
2243	    NULL now signifies error (as it did before).
2244	* src/inetaddr.{ch}: Reomve status from GInetAddrNewAsyncFunc,
2245	    GInetAddrGetNameAsyncFunc.  NULL now signifies error (as it
2246	    did before)
2247
2248	* src/{conn.c,socks.c}: Update.
2249
2250	* src/gnet.c (ipv6_detect_iface): Use interface list again.
2251
2252Thu Jan  9 15:09:16 2003  David Helder  <dhelder@umich.edu>
2253
2254	* tests/client_server_test.pl, testfile: New echoclient/echoserver tester.
2255
2256	* examples/echoserver-async.c: Fix bug where we tried to read into
2257	   a zero length buffer, read 0, and thought it was an EOF.
2258	* examples/echoclient-{async,gconn}.c: If we get an EOF before
2259	   we've gotten the lines back, then keep waiting.   This makes
2260	   automated testing easier - otherwise we quit too soon.
2261
2262	* examples/echoclient,echoserver.c: Break up into more files.
2263
2264	* src/conn.c: Implement connect timeout.
2265
2266	* src/tcp.h: Remove inetaddr from GTcpSocketConnectAsyncFunc.
2267	    The user can get this from the socket.
2268	* src/tcp.c (gnet_tcp_socket_connect, etc...): Use
2269	    gnet_inetaddr_new_list().
2270	* src/gnet-private.h (_GTcpSocketConnectState ): Add in_callback
2271	    flag to guard deletion.
2272
2273	* src/inetaddr.c (gnet_gethostbyname): Handle ipv6 policy.
2274
2275	* src/mcast.c (gnet_mcast_socket_get_io_channel): Added.
2276
2277	* src/mcast.c (gnet_mcast_socket_{get/set}_ttl): Move
2278	   from udp.c to here.
2279
2280	* src/udp.c (gnet_udp_socket_{set/get}_*_ttl): IPv6-ify.
2281	* src/udp.c (gnet_udp_socket_get_ttl): Interface change:
2282	   -1 means "kernel default".  < -1 means error.
2283	* src/udp.c (gnet_udp_socket_get_mcast_ttl): "
2284
2285	* src/udp.c (gnet_udp_socket_get_ttl): Make ttl an int.
2286
2287	* src/udp.c (gnet_udp_socket_set_ttl): Make ttl an gint.
2288
2289	* src/gnet.c (gnet_init): Use IPv4 before IPv6.  Check
2290	GNET_IPV6_POLICY and IPV6_POLICY environment variable.  Create
2291	sockets to get policy - don't list interfaces.
2292
2293	* src/gnet-private.c (gnet_private_create_listen_socket): New
2294	    helper function.  Used in tcp and udp.
2295
2296	* src/udp.c (gnet_udp_socket_send): Change prototype.  Send to
2297	dst, not to socket!.
2298	* src/udp.c (gnet_udp_socket_receive): "
2299	* src/udp.c: Get rid of GUdpPacket.
2300	* src/mcast.c: Updates.
2301	* examples/echoserver-udp.c (normal_echoserver): Update
2302
2303Wed Jan  1 17:14:54 2003  David Helder  <dhelder@umich.edu>
2304
2305	* configure.ac: Output clean-ups.
2306
2307	* configure.ac: Check for Apple Darwin
2308	* src/gnet-private.h (socklen_t): Define to be 'int'
2309	    on Apple Darwin.
2310
2311Tue Dec 24 14:28:14 2002  David Helder  <dhelder@umich.edu>
2312
2313	* src/usagi_ifaddrs.c (usagi_getifaddrs): Compile fix.
2314	    Add ";"'s to default case.  Some compiler complains
2315	    about this.  Thanks Murray!
2316
2317Sat Dec 21 14:35:14 2002  David Helder  <dhelder@umich.edu>
2318
2319	* tests/unpack.c (main): Fix test 40021.  Was accessing
2320	   free'd memory.
2321	* src/pack.c (gnet_vunpack): Cosmetic touches.
2322
2323Tue Dec 17 20:25:23 2002  David Helder  <dhelder@umich.edu>
2324
2325	* src/udp.c (gnet_udp_socket_new_full): Rename.  Was
2326	  gnet_udp_socket_new_interface()
2327	* src/udp.c (gnet_udp_socket_new_with_port): Rename.  Was
2328	  gnet_udp_socket_port_new()
2329	* src/udp.c (gnet_udp_packet_new): Rename.  Was
2330	  gnet_udp_packet_receive_new().
2331	* src/udp.c (gnet_udp_packet_new_with_address): Rename Was
2332	  gnet_udp_packet_send_new().
2333	* examples/echo*-udp.c: Updated.  Need to fix packet API.
2334
2335	* src/tcp.c (gnet_tcp_socket_server_new_interface): Add port
2336	   argument back.  A NULL iface now means INADDR_ANY or
2337	   IN6ADDR_ANY_INIT.  Rather than adding two inetaddr constructors
2338	   for these, we use IPv6 policy to determine which (or whether
2339	   both) should be tried.
2340	* src/server.c (gnet_server_new): "
2341	* examples/echoserver.c (object_echoserver): "
2342	* src/tcp.c (gnet_tcp_socket_server_new_interface): Use IPv6 policy.
2343
2344	* src/inetaddr.c (gnet_inetaddr_new_bytes): Added
2345
2346	* src/inetaddr.c (gnet_inetaddr_get_interface_to): Use family when
2347	   creating socket.
2348	* src/tcp.c (gnet_tcp_socket_new_direct): "
2349	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
2350	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
2351	* src/tcp.c (gnet_tcp_socket_server_new_interface): ".  But, use
2352	   IPv4 by default.  TODO: Fix this and use policy.
2353
2354	* tests/inetaddr_test.c: Added
2355	* tests/Makefile.am: "
2356
2357	* src/inetaddr.c (gnet_inetaddr_is_loopback): Add IPv6 implementation.
2358	* src/inetaddr.c (gnet_inetaddr_is_multicast): Use in.h IN_MULTICAST macro.
2359	* src/inetaddr.c (gnet_inetaddr_equal): Use IN6_ARE_ADDR_EQUAL macro.
2360	* src/inetaddr.c (gnet_inetaddr_is_broadcast): Compare with
2361	    INADDR_BROADCAST.  There is no broadcast in IPv6 - only multicast.
2362
2363	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Bug: Set family.
2364
2365Thu Dec 12 14:03:05 2002  David Helder  <dhelder@umich.edu>
2366
2367	* src/inetaddr.c: Fix compile warnings.
2368
2369	* src/{tcp, udp,unix}.h (gnet_*_socket_get_iochannel): Add
2370	    compatibility functions.  These are depricated.  Note
2371	    they ref the iochannel before they return it, which is
2372	    non-intuitive.
2373
2374Sun Dec  8 21:34:16 2002  David Helder  <dhelder@umich.edu>
2375
2376	* src/inetaddr.c: New inetaddr_new_list{_async} functions.
2377	    I patched up the Windows code the best I could, but
2378	    it probably doesn't compile.
2379	* tests/dnstest.c: Updated to test list functions.
2380
2381Fri Dec  6 15:57:39 2002  David Helder  <dhelder@umich.edu>
2382
2383	* *: More IPv6 hacking.  DNS and IPv6 should work.
2384	    Todo: connect()/bind(), auto-detection, inetaddr helper
2385	    funcs
2386	    Connections have not been tested yet.  IPv6 auto-detection
2387	    is not done yet.  Inetaddr
2388
2389	* src/inetaddr.c (gnet_gethostbyname): Add getifaddr()
2390	    version.  Use USAGI's getifaddr() on systems with
2391	    linux/netlink.h.  We do this because Glibc's getifaddr()
2392	    does not handle IPv6.
2393	* configure.ac: Check for linux/netlink.h
2394
2395	* src/inetaddr.c (gnet_inetaddr_new_async_cb): read()
2396	   (ideally) will always return positive.  If it's zero,
2397	   then there's something wrong.  We detect when the
2398	   read is done and close the socket, so we should not
2399	   get the other side closing the socket.
2400
2401	* src/uri.c (gnet_uri_new): Strip whitespace before
2402	   scheme (before we included it).  Strings of whitespace
2403	   produce errors.  Strip hostname brackets (this is
2404	   used for IPv6 canonical names.
2405	* src/uri.c (gnet_uri_get_nice_string): Add brackets if
2406	   hostname has :'s in it (it's IPv6 then).
2407
2408	* src/inetaddr.c (gnet_gethostbyname): Remove "nicename"
2409	   (FQDN) functionality.  It doesn't work consistently.
2410	   E.g., www.microsoft.com's h_name is www.microsoft.akadns.com,
2411	   h_alias[0] is www.microsoft.com.  Really we need to do a
2412	   reverse DNS lookup for this to work reliably.
2413	* src/inetaddr.c (gnet_inetaddr_gethostname): Do reverse
2414	   DNS to get name.
2415
2416	* src/inetaddr.c (gnet_gethostbyaddr): Add getnameinfo
2417	   implementation.  Changed prototype to take a sockaddr*.
2418
2419	* tests/dnstest.c: Clean-up.  Add args so you don't have to
2420	   recompile.
2421
2422	* src/inetaddr.c (gnet_gethostbyname): Don't init gthreads
2423	    - this is done in gnet_init().
2424
2425	* configure.ac: Add --enable-threadsafe-gethostbyname
2426
2427	* src/tcp.c (gnet_tcp_socket_get_port): IPv6ize.  Use
2428	    GNET_SOCKADDR_PORT macro.
2429
2430	* src/tcp.c (gnet_tcp_socket_new_async): Update docs - callback is
2431	*not* called if an error occurs immediately.
2432	* src/tcp.c (gnet_tcp_socket_new_async_direct): Don't call
2433	    callback.
2434	* src/tcp.c (gnet_tcp_socket_new_async_direct): IPv6ize.
2435	* src/tcp.c (gnet_tcp_socket_new_async_direct[win32]): "
2436
2437Thu Nov  7 14:25:08 2002  Jonathan Blandford  <jrb@redhat.com>
2438
2439	* src/inetaddr.c (gnet_inetaddr_hash): initialize addr to keep
2440	-Werror compiling.
2441
2442Mon Nov  4 12:24:20 2002  David Helder  <dhelder@umich.edu>
2443
2444	* *: More IPv6 hacking.  Added USAGI project's getifaddr()
2445	   implementation for Linux.
2446
2447Wed Oct 23 13:52:18 2002  David Helder  <dhelder@umich.edu>
2448
2449	* configure.ac: Add --disable-pthreads flag.  Patch from Ian
2450	     Peters
2451
2452Tue Oct 22 14:23:13 2002  David Helder  <dhelder@umich.edu>
2453
2454	* *: First pass at IPv6-ization.  Some builds may
2455	    fail.  The main change is to use (struct sockaddr_storage)
2456	    everywhere.  Some macros have been added to aid
2457	    the conversion.  Network addresses should work, DNS
2458	    addresses are next.
2459
2460	      TODO:
2461	      	- how should binding work?
2462		- fix mcast join
2463		- set sa_len?
2464		- fix gnet_inetaddr_is_*()
2465		- check storage format for in6_addr
2466		- fix everything marked FIX  :-)
2467
2468Mon Oct 21 23:24:30 2002  David Helder  <dhelder@umich.edu>
2469
2470	* *: HEAD is now GNet 1.3, to become GNet 1.4.  GNet 1.1
2471	    is in the "GNET_1_1" CVS branch.
2472
2473	* src/inetaddr.c: get_name_async cleanups.  Fixed
2474	    a bug in cancelling async reverse DNS lookups in Win32.
2475
2476	* configure.ac: Update version to 1.3.0.  GNet 1.1 is in the
2477	    GNET_1_1 branch.
2478	* Makefile.am (configincludedir): "
2479	* gnet-config.in (cflags): "
2480	* gnet.spec.in: "
2481	* gnet.pc.in (Cflags): "
2482
2483	* src/tcp.c (gnet_tcp_socket_get_io_channel), udp.c,
2484	    unix.c: Don't ref the io_channel.
2485	* src/conn.c (gnet_conn_disconnect): Don't unref iochannel.
2486	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept_async): "
2487	* src/socks-private.c (socks_negotiate_connect): "
2488	* src/socks-private.c (socks5_negotiate_bind): "
2489	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept): "
2490	* src/tcp.c (gnet_tcp_socket_server_accept_async): "
2491	* examples/echoclient.c (normal_echoclient): "
2492	* examples/echoserver-unix.c: "
2493	* examples/echoserver.c: "
2494	* examples/hfetch.c (hfetch): "
2495
2496	* src/url.[ch]: s/url/uri/.  Re-ordered fields.
2497	* src/url.c (gnet_uri_new_fields_all): Fix bug -
2498	    fields weren't copied right.
2499
2500	* glib-config.in, Makefile.am, doc/glib-config.1.in,
2501	    doc/Makefile.am: Remove glib-config.
2502
2503	* src/Makefile.am (gnetincludedir): Put headers into gnet-1.3.
2504
2505	* src/inetaddr.h: Changed prototypes of GInetAddrNewAsyncFunc and
2506	    GInetAddrGetNameAsyncFunc
2507	* src/iochannel.h: " GNetIOChannelReadAsyncFunc
2508
2509	* src/inetaddr.c (inetaddr_new_async_pthread_dispatch):
2510	    Address is callee owned.
2511i	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Delete
2512	    the address.
2513
2514	* src/*: s/get_iochannel/get_io_channel/,
2515	    s/iochannel_new/io_channel_new/
2516
2517	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Remove
2518	   check for "localhost".
2519
2520	* configure.ac: Turn on warnings after tests are done.
2521	   Simplified test logic.  Passing -ansi, etc to gcc
2522	   more than once doesn't seem to hurt.
2523
2524Mon Oct 21 17:28:57 2002  David Helder  <dhelder@umich.edu>
2525
2526	* tests/Makefile.am (EXTRA_PROGRAMS): Make tests EXTRA, not
2527	   noinst.  They should only be build when 'make check' is run.
2528	* configure.ac: Touch.
2529
2530Wed Oct 16 17:24:00 2002  David Helder  <dhelder@umich.edu>
2531
2532	* configure.ac: Enable -Werror only when in "yes"
2533	   debug mode.  gcc-3.2 issues warnings on the
2534	   G_something_BE_LE ASM macro.  This allows gcc-3.2
2535	   users to compile GNet.
2536
2537Fri Oct 11 15:37:41 2002  David Helder  <dhelder@umich.edu>
2538
2539	* tests/{unpack,pack}.c: Include stdlib.h.  Include
2540	   string.h in unpack.  Thanks Richard and Erland!
2541
2542Mon Oct  7 11:51:22 2002  David Helder  <dhelder@umich.edu>
2543
2544	* 1.1.7 "re-release"
2545
2546	* configure.ac (GNET_BINARY_AGE): Set binary age to 7.  Oops.
2547
2548	* README: Added eDonkey2000 GTK frontend
2549
2550Mon Sep 30 16:41:55 2002  David Helder  <dhelder@umich.edu>
2551
2552	* configure.ac: Include "-Werror" in CFLAGS.
2553
2554Mon Sep 30 13:18:47 2002  David Helder  <dhelder@umich.edu>
2555
2556	* src/gnet-private.c (gnet_private_iochannel_new):
2557	   Return iochannel.
2558
2559Mon Sep 30 13:18:11 2002  David Helder  <dhelder@umich.edu>
2560
2561	* NEWS, *: Release 1.1.6
2562
2563Thu Sep 26 20:10:23 2002  David Helder  <dhelder@umich.edu>
2564
2565	* configure.ac: Add --enable-threadsafe-gethostbyname option.
2566	* src/inetaddr.c (gnet_gethostbyaddr): Add threadsafe
2567	    gethostbyaddr() variant.
2568	    (gnet_gethostbyname): "
2569
2570	* configure.ac: Define GTHREAD_CFLAGS if gthread module
2571	    is available.  This is used to determine if a gthreads
2572	    implementation of gethostbyname_r is possible.
2573
2574Thu Sep 26 18:33:16 2002  David Helder  <dhelder@umich.edu>
2575
2576	* NEWS, TODO: Updates
2577
2578Mon Sep 23 18:59:39 2002  David Helder  <dhelder@umich.edu>
2579
2580	* examples/Makefile.am (noinst_PROGRAMS): Make examples
2581	    noinst, not extra.
2582	* examples/*: Update include to handle this.
2583
2584	* examples/echoclient.c (async_client_sin_iofunc): Return
2585	    FALSE on EOF.  Otherwise we get an error.
2586
2587	* src/gnet-private.c (gnet_private_iochannel_new): Added.
2588	   Creates iochannel from descriptor in usual way.  If
2589	   we're using GLib 2, then it turns off buffering and
2590	   encoding.
2591
2592	* src/tcp.c (gnet_tcp_socket_get_iochannel): Use
2593	    gnet_private_iochannel_new()
2594	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
2595	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
2596	* src/udp.c (gnet_udp_socket_get_iochannel):
2597	* src/unix.c (gnet_unix_socket_get_iochannel):
2598
2599Mon Sep 23 15:31:52 2002  David Helder  <dhelder@umich.edu>
2600
2601	* Makefile.am (EXTRA_DIST): Move more extra dist here.
2602	    depcomp is no longer needed evidently.
2603
2604Mon Sep 23 14:43:21 2002  David Helder  <dhelder@umich.edu>
2605
2606	* autogen.sh: Don't include macros dir if there isn't one.
2607	* aclocal.h: Remove this.  No longer required.
2608
2609Sat Sep 21 21:11:41 2002  David Helder  <dhelder@umich.edu>
2610
2611	* configure.ac: Fixes for autoconf 1.6.
2612
2613	* acconfig.h.in: Removed this.  Not needed in newer autoconf.
2614
2615	* autogen.sh: Include the macros directory in aclocal.
2616	    We do not distribute the macros directory.  This
2617	    is for developer convience.
2618
2619	* examples/Makefile.am, src/Makefile.am/, Makefile.am:
2620	    Move EXTRA_DIST to root makefile.  autoconf 1.6 doesn't
2621	    like EXTRA_DIST in subdirectories for some reason.
2622
2623Thu Sep 12 16:13:37 2002  David Helder  <dhelder@umich.edu>
2624
2625	* tests/Makefile.am (LDADD): Add glib_libs and gthread_libs
2626
2627	* src/inetaddr.c (gnet_inetaddr_list_interfaces): Increment
2628	   pointer in header.  We were missing the first interface.
2629	   Check return value of ioctl for flags.
2630	* configure.ac (pthread_libs): Explicitly define
2631 	   HAVE_SOCKADDR_SA_LEN since autoconf no longer does it,
2632	   it seems.
2633
2634	* Makefile.am (EXTRA_DIST): Include depcomp
2635
2636Tue Sep 10 20:35:27:39 2002 Andrew Lanoix <alanoix@umich.edu>
2637
2638	* README.win32: Update
2639	* GNET.DSP: Link to Glib 2.0
2640	* gnet.def: Add new funcs
2641	* examples\makefile.mingw: Update
2642	* tests\makefile.mingw: Update
2643	* src\makefile.mingw: Update
2644
2645Wed Sep 04 21:54:47:06 2002 Andrew Lanoix <alanoix@umich.edu>
2646
2647	* src/gnet.c (gnet_init): Don't do anything on win32
2648	* src/gnet-private.h (_GInetAddrAsyncState) Needs in_callback
2649	* src/inetaddr.c (gnet_gethostbyname) #define out unix code
2650
2651Wed Aug 14 12:37:23 2002  David Helder  <dhelder@umich.edu>
2652
2653	* *: Release 1.1.5
2654
2655	* src/iochannel.c (gnet_io_channel_write_async): Don't succeed
2656	   immediately if the buffer is length 0.  Also allow a write
2657	   from a non-NULL buffer of length 0.
2658
2659Sat Aug 10 19:18:33 2002  David Helder  <dhelder@umich.edu>
2660
2661	* examples/hash.c: Move hash example to examples.
2662
2663	* tests/pack.c: Made this a proper automake automated test.
2664	* tests/unpack.c: "
2665	* tests/hash.c: "
2666	* examples/Makefile.am: Updated
2667
2668	* tests/hash.c: Don't dump core on './hash'
2669
2670	* tests/urlparse.c: Removed.  url_test covers this.
2671
2672	* src/gnet.c (gnet_init): Added.  Call this at the beginning of
2673	    any Gnet program.  (This is really only required for
2674	    asynchronous DNS support when pthreads are available and GNet
2675	    is compiled with GLib 2.0.)
2676	* examples/*.c (main): Add call to gnet_init ().
2677	* tests/*.c (main): "
2678
2679	* src/Makefile.am (libgnet_la_LDFLAGS): Link with GTHREAD_LIBS.
2680
2681	* src/socks.c (gnet_socks_get_server): Add const
2682	* src/socks-private.c (socks_get_version): "
2683
2684Mon Aug  5 16:54:55 2002  David Helder  <dhelder@umich.edu>
2685
2686	* src/conn.h: Fix typo.
2687	* src/inetaddr.c (gnet_inetaddr_new_async_cancel): "
2688
2689	* src/iochannel.c (_GNetIOChannelWriteAsyncState): Add in_upcall
2690	   flag so that state doesn't get deleted during the upcall.
2691	* src/iochannel.c (gnet_io_channel_write_async_cancel): Don't
2692	   delete state if in an upcall.  Only delete the buffer (if
2693	   requested).
2694	* src/iochannel.c (write_async_cancel): Added this static function
2695	   to make all this a bit more clear.  Users call
2696	   gnet_io_channel_write_async_cancel(), but internally we call
2697	   this.
2698	* src/iochannel.c (write_async_cb): Set in_upcall during upcall.
2699	   Call write_async_cancel().
2700	* src/iochannel.c (write_async_timeout_cb): "
2701
2702	* src/iochannel.c (_GNetIOChannelReadAsyncState): Basically did
2703	   the same thing as above for the read_async functions.
2704	* src/iochannel.c (gnet_io_channel_read_async_cancel): Ignore
2705	   cancel if in an upcall.
2706
2707	* src/mcast.c (gnet_mcast_socket_port_new): Add g_htonl around
2708	   INADDR_ANY (style bug - it should not make a
2709	   difference). (thanks Eduardo Pérez Ureta)
2710
2711	* src/udp.c (gnet_udp_socket_new_interface): Fix memory leak on
2712	   errors (thanks Jakub Jagielka).
2713
2714	* src/tcp.c (gnet_tcp_socket_new_direct): Use GNET_CLOSE_SOCKET
2715	   macro, not close().  (style bug, maybe affects Windows)
2716
2717Wed May 15 11:43:44 2002  David Helder  <dhelder@umich.edu>
2718
2719	* configure.ac: Up version to 1.1.5
2720
2721Wed May 15 11:37:10 2002  David Helder  <dhelder@umich.edu>
2722
2723	* Release GNet 1.1.4
2724
2725Mon May 13 22:44:44 2002  David Helder  <dhelder@umich.edu>
2726
2727	* tests/dnstest.c: Minor improvements.
2728
2729	* src/inetaddr.c (inetaddr_new_async_pthread): Rewrite pthread
2730	    implementation.  Problem was writing to closed pipe raised
2731	    SIGPIPE for threads.  Now we don't use pipes with threads.
2732	    Stupid UNIX.  It's not like you get SIGACCES when you attempt
2733	    to open a file that doesn't exist.
2734	* src/inetaddr.c (gnet_inetaddr_get_name_async): "
2735
2736	* src/inetaddr.c (gnet_inetaddr_new_async): Move process code here.
2737	* src/inetaddr.c (gnet_inetaddr_get_name_async): "
2738
2739	* src/inetaddr.c (gnet_inetaddr_new_async): Close unused pipes.
2740	* src/inetaddr.c (gnet_inetaddr_get_name_async): "
2741
2742	* src/inetaddr.c (gnet_inetaddr_get_name_async): Initialize state.
2743	* src/inetaddr.c (gnet_inetaddr_new_async): "
2744
2745Sat May 11 14:36:50 2002  David Helder  <dhelder@umich.edu>
2746
2747	* src/*.h: Added instructions on using experimental modules.
2748
2749	* Makefile.am (copyweb): Updated copyweb.
2750
2751Fri May  3 11:18:51 2002  David Helder  <dhelder@umich.edu>
2752
2753	* src/{inetaddr,tcp}.h: s/id/async_id/.  id is a reserved
2754	    word in Objective C.
2755
2756Thu Apr 25 10:14:07 2002  David Helder  <dhelder@umich.edu>
2757
2758	* Release GNet 1.1.3
2759
2760	* src/iochannel.h: Doc fixes.
2761
2762	* examples/echoserver.c: Remove debug output.
2763
2764Sat Apr 20 17:04:04 2002  David Helder  <dhelder@umich.edu>
2765
2766	* src/inetaddr.c (gnet_inetaddr_list_interfaces): Delete buffer.
2767	(gethostbyaddr_async_child):
2768
2769	* tests/hostinfo.c: Delete addresses.
2770
2771Thu Apr 18 14:13:30 2002  David Helder  <dhelder@umich.edu>
2772
2773	* src/socks-private.c (gnet_private_socks_tcp_socket_new): Delete
2774	     socks server address.
2775	* src/socks-private.c (gnet_private_socks_tcp_socket_new_async): "
2776
2777	* src/gnet-private.c (gnet_private_inetaddr_sockaddr_new): Set
2778	    ref_count to 1.  These weren't getting deleted before.
2779	* src/inetaddr.c (gnet_inetaddr_new_any): "
2780
2781	* src/pack.c (gnet_vunpack): Fix bad mem deref when zeroing
2782	    out extra mem.
2783
2784	* src/inetaddr.c (gnet_inetaddr_get_name_async_cancel): Don't
2785	    delete ia - caller owns!.
2786
2787	* src/url.c (gnet_url_new): isdigit((int)) cast
2788	* src/url.c (gnet_url_new): "
2789
2790	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Delete
2791	    old name first.
2792
2793	* src/gnet-private.h (_GInetAddrAsyncState ): Add IOChannel field.
2794	* src/inetaddr.c (gnet_inetaddr_new_async): Save the IOChannel
2795	* src/inetaddr.c (gnet_inetaddr_new_async_cancel): Unref the
2796	    IOChannel.
2797	* src/inetaddr.c (*_get_name_async_*): As above for these funcs.
2798	* src/tcp.c (*_new_async_*): As above for these funcs.
2799
2800	* src/inetaddr.c (gnet_inetaddr_new_async_cb): Don't
2801	    clear the watch.  This isn't necessary now that we
2802	    have the in_callback flag.
2803
2804	* tests/dnstest.c (reverse_inetaddr_cb): Don't free name -
2805	    inetaddr owns it, just cname.
2806
2807	* tests/dnstest.c (reverse_inetaddr_cb): Delete inetaddr.
2808
2809	* examples/echoserver.c (async_client_iofunc): Fix number of
2810	    bytes moved.  Use g_memmove().
2811
2812	* examples/echoserver.c (ob_client_func): Don't add a '\n'.  It
2813	    wasn't needed and wrote past the end of the array.
2814
2815	* examples/echoclient.c: Merged echoclient-socks here
2816	* tests/echoclient-socks.c: Removed
2817
2818	* tests/pack,unpack,dnstest: Memory leak fixes
2819
2820Mon Apr 15 14:05:21 2002  David Helder  <dhelder@umich.edu>
2821
2822	* src/inetaddr.c (gnet_inetaddr_get_name_async): Handle
2823	    EAGAIN error from pthread_create().
2824	* src/inetaddr.c (gnet_inetaddr_new_async): "
2825
2826	* configure.ac: Upped version to 1.1.3 (unreleased)
2827	* NEWS: "
2828
2829	* src/tcp.c (gnet_tcp_socket_server_accept_async): Don't return
2830	    something in void function.
2831
2832	* src/tcp.h: Noted data passed to GTcpSocketConnectAsyncFunc is
2833	   callee owned.
2834
2835	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Copy the
2836	   inetaddr passed - it's caller owned, not callee owned (RTFM)!
2837
2838	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Do not put
2839	   tcp_id in state immediately.  If it failed, state will be
2840	   deleted just before we dereference it, which could cause
2841	   a seg fault.
2842
2843	* src/tcp.c (gnet_tcp_socket_connect_tcp_cb): Delete inetaddr on
2844	   failure.
2845
2846	* src/tcp.c (gnet_tcp_socket_connect_async): Update docs: The
2847	   callback will never be called before the function returns.
2848	   Also, simplified logic since the same semantics are now true
2849	   for gnet_inetaddr_new_async().
2850
28512002-02-27  Bastien Nocera  <hadess@hadess.net>
2852
2853	* gnet.pc.in: add $(libdir)/gnet/include to the .pc
2854	file, it actually works now :)
2855
2856Sat Feb 16 18:25:15 2002  David Helder  <dhelder@umich.edu>
2857
2858	* Release GNet 1.1.2
2859
2860	* Makefile.am: Remove debian stuff.
2861
2862	* src/inetaddr.c (gnet_inetaddr_get_name): Implement pthread
2863	   version.
2864	* src/gnet-private.h (_GInetAddrReverseAsyncState ): Add pthread
2865	   field.
2866
2867	* src/inetaddr.c (gnet_inetaddr_new_async): Duplicate
2868	   the hostname before passing to thread.
2869	* src/inetaddr.c (gethostbyname_async_child): Delete hostname.
2870
2871Thu Feb 14 12:39:59 2002  David Helder  <dhelder@umich.edu>
2872
2873	* Release GNet 1.1.1
2874
2875Wed Feb 13 20:47:51 2002  David Helder  <dhelder@umich.edu>
2876
2877	* src,doc: Doc improvements.
2878
2879	* src/inetaddr.c: NOTE: The no-immediate-callbacks for async
2880	    functions is finally implemented (in inetaddr).
2881
2882	* src/inetaddr.c (gnet_inetaddr_get_name_nonblock): Added.  Like
2883	    gnet_inetaddr_new_nonblock.
2884
2885	* src/inetaddr.c (gnet_inetaddr_get_name_async): Don't callback on
2886	   error.  Don't callback on immediate success.
2887
2888	* src/inetaddr.c (gnet_gethostbyname): Do a non-blocking lookup.
2889	* src/inetaddr.c (gnet_inetaddr_new_async): Don't call callback
2890	   on error.
2891
2892	* src/iochannel.c (gnet_io_channel_read_async_cancel):
2893	   Remove timer only if set
2894
2895	* src/socks-private.h: Move SOCKS_PORT here.
2896
2897	* src/conn.[hc]: Removed add/remove watch functions.  For
2898	   binary compatibility, the members are still in the struct.
2899	* src/conn.c (conn_timeout_cb): Zero out the timeout before call
2900
2901	* src/conn.c: Added docs
2902
2903Sun Feb 10 15:27:36 2002  David Helder  <dhelder@umich.edu>
2904
2905	* examples/echoserver.c: Print more.
2906	* examples/echoserver.c (async_accept): Don't unref iochannel
2907	   since we're saving it.
2908	* examples/echoserver.c: Clean up watch logic for async
2909	   server so that there's only a single watch on a socket. (This
2910	   works around the GLib poll bug.)
2911
2912	* src/socks-private.h: Fix dport size.
2913
2914	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept):
2915	   Recreate server socket with same port.  If the programmer
2916	   specified 0 initially (for an ephemeral port) and cannot
2917	   get the same port, this fails.
2918
2919Mon Feb  4 16:52:58 2002  David Helder  <dhelder@umich.edu>
2920
2921	* src/tcp.c: Doc updates
2922	* doc/*: "
2923
2924Mon Feb  4 14:33:37 2002  David Helder  <dhelder@umich.edu>
2925
2926	* src/tcp.c (gnet_tcp_socket_server_accept_async): Fix warning.
2927	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept_async): "
2928	* src/server.c (server_accept_cb): "
2929
2930	* configure.ac: Cleaned up debug flag handling.  'minimum'
2931	   debug flags is set by default
2932	* autogen.sh (conf_flags): debug=yes for developers
2933
2934Fri Feb  1 19:37:25 2002  David Helder  <dhelder@umich.edu>
2935
2936	* src/iochannel.c (gnet_io_channel_read_async_cancel): Don't call
2937	   g_assert(func()) cause assertions are disabled and func()
2938	   won't get called.  Duh!
2939	* src/conn.c (gnet_conn_watch_remove_read): "
2940	* src/conn.c (gnet_conn_watch_remove_write): "
2941	* src/conn.c (gnet_conn_watch_remove_error): "
2942	* src/scheduler.c: "
2943	* examples/sdr.c (main): "
2944	* examples/echoclient-udp.c (normal_echoclient): "
2945
2946	* src/iochannel.c (write_async_cb): Merged write and error cb's
2947	   into this cb.
2948	* src/iochannel.c (read_async_cb): Likewise.
2949
2950	* src/conn.c (conn_check_queued_writes): Delete removed link.  This
2951	   was leaking memory.
2952
2953	* src/tcp.c (gnet_tcp_socket_server_accept_async): Fix typo (user
2954	   data not set right).
2955	* src/socks-private.c
2956	(gnet_private_socks_tcp_socket_server_accept_async): Fix typo.
2957
2958	* examples/echoclient.c: Added better debug output.
2959
2960	* gnet-config.in: Cleaned up somemore.
2961
2962	* src/tcp.c (gnet_tcp_socket_unref): Remove accept watch on
2963	   destroy.
2964
2965	* examples/ljoust.c: Removed.  Out-of-date.
2966	* doc/gnet.sgml: "
2967
2968	* examples/echoserver.c: Update to use new async accept func.
2969	* src/server.c: "
2970
2971Wed Jan 30 20:22:33 2002  David Helder  <dhelder@umich.edu>
2972
2973	* src/sha.c (gnet_sha_new_string): Fixed warning
2974	* src/md5.c (gnet_md5_new_string): "
2975
2976	* src/tcp.c (gnet_tcp_socket_server_accept_async): Added.  We
2977	    need this to simplify SOCKS code.  Setting a read watch
2978	    on a socket is now DEPRICATED.  Use this instead.
2979
2980	* src/tcp.c (gnet_tcp_socket_server_accept): No longer const.
2981
2982	* src/tcp.c, socks.c: Move most SOCKS logic to socks.c.
2983	   Add _direct versions in tcp and _socks in socks-private
2984	   for SOCKSified functions.
2985
2986	* src/pack.c (gnet_calcsize): Not _ALL_ arguments should be
2987	   passed, not just the dynamic arguments.  (Otherwise,
2988	   pack_strdup wouldn't work.)
2989
2990Sun Dec 22 20:36:57 2001  Ross Golder  <ross@golder.org>
2991
2992	* gnet-config.in (lib_gnet): Fixed breakage if GLIB_LIBS contains spaces
2993
2994Sun Dec 15 23:12:30 2001  Ross Golder  <rossg@golder.org>
2995
2996	* configure.ac: Added gnet-config.1 to AC_OUTPUT
2997
2998Thu Dec 13 09:50:26 2001  David Helder  <dhelder@umich.edu>
2999
3000	* configure.ac: Added --enable-glib2 (From Mark Ferlatte).  I also
3001	    changed it so GNet will build against 1.3/2.0 if the build
3002	    against 1.2 fails.
3003
3004	* INSTALL: New INSTALL file.
3005
3006	* README: Updated installation info.
3007
3008Tue Dec 11 21:23:06 2001  David Helder  <dhelder@umich.edu>
3009
3010	* gnet.pc.in (Libs): Fixed typos.
3011
3012Tue Dec 11 21:20:43 2001  David Helder  <dhelder@umich.edu>
3013
3014	* configure.ac: From Mark Ferlatte's patch
3015
3016Fri Nov 30 17:51:02 2001  Ross Golder  <ross@golder.org>
3017
3018	* configure.in: Removed gmodule stuff, and exported
3019	    GTHREAD_* even if empty.
3020	* src/Makefile.am: Made use of GTHREAD_*
3021
3022Sat Nov 10 18:37:01 2001  Ross Golder  <ross@golder.org>
3023
3024	* configure.in: Switched to using PKG_CHECK_MODULES to
3025	    pick up glib flags (now glib2 friendly).
3026	* Makefile.am: Added glib flags. Reinstated distribution of
3027	    gnet.spec file for 'rpm -t[ab] gnet-x.y.z.tar.gz'.
3028	* src/Makefile.am: Added glib flags.
3029	* src/gnet.h: Replaced depracated GUTILS_C_VAR definition
3030	* src/inetaddr.h: Commented out argument to #endif.
3031	* gnet-config.in: Removed unnecessary conditional. Ensured
3032	    glib flags were being presented in output.
3033	* tests/url_test.c: Added headers to get rid of compiler warnings.
3034
3035Fri Nov  9 14:44:09 2001  David Helder  <dhelder@umich.edu>
3036
3037	* configure.in: Check for lib socket (Needed in SunOS 5.8?)
3038
3039Fri Nov  9 14:27:45 2001  David Helder  <dhelder@umich.edu>
3040
3041	* configure.in: Check for the gthread module and set CFLAGS,
3042 	    LIBS, glib_cflags, and glib_libs as appropriate.
3043
3044	* src/inetaddr.c (gnet_gethostbyname, gnet_gethostbyaddr):
3045	    Initialize gthreads if not initialized in Glib-Mutex
3046	    case.  This caused seg faults in some FreeBSDs.
3047
3048	* gnet.m4 (AM_PATH_GNET): Remove modules.  gthread is
3049		not a gnet module.
3050
3051Mon Oct 29 16:27:55 2001  David Helder  <dhelder@umich.edu>
3052
3053	* src/unix.c: Unlink socket on delete, doc fixes
3054	* examples/echoserver-unix.c: Delete socket on SIGINT, SIGTERM
3055
3056	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): Doc fix.
3057
3058Thu Oct 25 10:48:51 2001  David Helder  <dhelder@umich.edu>
3059
3060	* configure.in, Makefile.am: Include deb/rpm stuff
3061
3062Wed Oct 24 17:35:51 2001  David Helder  <dhelder@umich.edu>
3063
3064	* configure.in: Check if debian or RPM files are
3065	   there before AC_OUTPUT.  This causes an autoconf
3066	   warning, but not a configure warning.
3067	* Makefile.am: Removed .spec and debian from dist.  If
3068	   you really need it, I can put it back.
3069
3070Wed Oct 24 10:02:43 2001  Ross Golder  <ross@golder.org>
3071
3072	* src/pack.h: Commented out argument to #endif.
3073	* src/sha.h: Removed extraneous character (typo?).
3074	* Makefile.am: Updated handling of rpms and spec files.
3075	* Makefile.am: Added debian directory to make dist.
3076
3077Wed Oct 24 15:58:14 2001  David Helder  <dhelder@umich.edu>
3078
3079	* tests/unpack.c (main): Fix bugs
3080
3081Tue Oct 23 15:00:55 2001  David Helder  <dhelder@umich.edu>
3082
3083	* doc/tmpl/socks.sgml: Added
3084	* doc/gnet.sgml: Added socks
3085
3086Tue Oct 23 13:03:09 2001  David Helder  <dhelder@umich.edu>
3087
3088	* configure.in: Check for pthreads in c_r (for BSD)
3089
3090Tue Oct 23 10:50:10 2001  David Helder  <dhelder@umich.edu>
3091
3092	* doc/gnet-sections.txt: Updated
3093	* *: Doc fixes
3094
3095	* src/ftp.[ch]: Removed
3096
3097Tue Oct 23 10:26:17 2001  David Helder  <dhelder@umich.edu>
3098
3099	* *: Integrate Mark Ferlatte's Unix patch.
3100
3101Wed Oct 17 22:26:42 2001  David Helder  <dhelder@umich.edu>
3102
3103	* src/tcp.c: Integrated SOCKS into gnet_tcp_socket_new_async.
3104	* src/gnet-private.h (_GTcpSocketAsyncState ): Added field
3105	    for socks server (so it can be changed while the connect
3106	    is in effect).
3107	* BUGS: Added note about blocking in tcp_socket_new_async
3108	    during socks negotiation.
3109
3110	* examples/echoclient.c: Finished async example.
3111	* test/echoclient-socks.c: Renamed from socksclient.  Now does
3112	    async too (but set manually)
3113
3114	* src/socks.c (gnet_socks_get_server): Free hostname if port parse
3115	    fails.
3116
3117Wed Oct 17 16:48:03 2001  David Helder  <dhelder@umich.edu>
3118
3119	* src/socks-private.c: Use g_getenv.  Fix missing io channel
3120	    deref.
3121
3122	* src/socks.c: Cleaned up interface (get/set server and get/set
3123	    enable).  SOCKS is off by default for now.  Simplified
3124	    parsing code.
3125
3126	* tests/socksclient.c: Added
3127
3128Sun Oct  7 23:04:29 2001  David Helder  <dhelder@umich.edu>
3129
3130	* NEWS: Added SOCKS
3131
3132Sun Oct  7 18:42:05 2001  David Helder  <dhelder@umich.edu>
3133
3134	* src/socks.[hc]: Added.  Not integrated with TCP yet.
3135	* src/socks-private.c: Added
3136	* AUTHORS: Added Marius
3137
3138	* src/server.c: Include gnet-private before server.  Fixes
3139	   MAX/MIN warning with param.h
3140
3141	* src/iochannel.c (gnet_io_channel_writen): buf is now a gpointer.
3142	* src/iochannel.c (gnet_io_channel_readn):
3143
3144Sun Oct  7 17:53:03 2001  David Helder  <dhelder@umich.edu>
3145
3146	* src/url.[hc]: Integrated David's URL improvements (fragments,
3147	query, username, and password handling).  Made many parsing
3148	changes to make more sane/RFC-compliant.  Added some docs.
3149	* tests/url_test.c: Added.  Uses "make check".
3150	* tests/urlparse.c: Added
3151	* AUTHORS: Added David Bolcsfoldi
3152
3153Mon Sep 24 14:07:56 2001  David Helder  <dhelder@umich.edu>
3154
3155	* src/inetaddr.c: s/Interface/iface
3156
3157Fri Sep 21 17:37:50 2001  David Helder  <dhelder@umich.edu>
3158
3159	* src/inetaddr.c (gnet_inetaddr_new_async): In pthread
3160	   version, malloc space for pointers passed to pthread_create.
3161	   Otherwise, if we return before the new thread runs, it
3162	   crashes.  Duh.  And I taught this stuff?
3163	* src/inetaddr.c (gethostbyname_async_child): Delete args.
3164
3165Thu Sep 20 12:40:43 2001  David Helder  <dhelder@umich.edu>
3166
3167	* configure.in (glib_libs): Set -lpthread in gnet-config --libs
3168	   when pthreads are used.
3169	* acconfig.h: Added HAVE_LIBPTHREAD manually
3170	* gnet-config.in: "
3171
3172	* Makefile.am (EXTRA_DIST): Include gnet.m4.  It was in m4data,
3173	    not sure what's going on with autoconf.
3174
3175	* configure.in (glib_libs): Use proper glib-config
3176	    when getting flags for gnet-config
3177
3178Mon Aug 27 13:49:46 2001 Andrew Lanoix <alanoix@umich.edu>
3179
3180	* README.win32: Fix typo
3181
3182Fri Aug 24 10:47:34 2001 Andrew Lanoix <alanoix@umich.edu>
3183
3184	* README.win32: Update
3185
3186Sun Aug 12 11:59:22 2001  Andrew Lanoix <alanoix@umich.edu>
3187
3188	* gnet.def: Add missing gnet_inetaddr_new_nonblock &
3189	   gnet_inetaddr_new_nonblock
3190
3191Mon Aug  6 13:31:37 2001  David Helder  <dhelder@umich.edu>
3192
3193	* tests/dnstest.c (main): Clean-up.  Now blocks by default.
3194	* src/inetaddr.c (inet_aton): Fix our inet_aton to understand
3195	   255.255.255.255.  This function was in gnet-private.h.
3196
3197Fri Aug  3 10:59:15 2001  David Helder  <dhelder@umich.edu>
3198
3199	* src/inetaddr.c (gnet_inetaddr_new_async): Same as
3200	   below for Windows version.
3201
3202Fri Aug  3 10:32:45 2001  David Helder  <dhelder@umich.edu>
3203
3204	* src/inetaddr.c (gnet_inetaddr_new_async): Don't do inet_aton and
3205	   call callback immediately.  This is confusing for the
3206	   programmer and can lead to bugs.  Now, either NULL will be
3207	   returned or the callback will be called later.  PROGRAMMERS:
3208	   For the old semantics, call gnet_inetaddr_new_nonblock and
3209	   if it fails, call gnet_inetaddr_new_async.
3210
3211Wed Jul 25 14:23:16 2001  David Helder  <dhelder@umich.edu>
3212
3213	* src/inetaddr.c: Added pthread implementation of
3214	   gnet_inetaddr_new_async.
3215	* src/gnet-private.h (_GInetAddrAsyncState ): "
3216	* configure.in: Check for pthreads
3217
3218Wed Jun 13 11:29:25 2001  Andrew Lanoix <alanoix@umich.edu>
3219
3220	* gnet.def: update
3221	* README.win32: update
3222	* tests/Makefile.mingw: Build hash.c
3223	* tests/hash.c: Add a note that extra \r's on win32
3224	  text files will throw off SHA and MD5 if you don't
3225	  remove them
3226
3227Sat Jun  9 15:35:19 2001  David Helder  <dhelder@umich.edu>
3228
3229	* tests/hash.c: Actually removed mmap as advertised.
3230
3231Fri Jun  8 16:49:16 2001  David Helder  <dhelder@umich.edu>
3232
3233	* tests/hash.c: Don't use mmap.  Don't make main loop.
3234
3235Fri Jun  8 15:26:41 2001  David Helder  <dhelder@umich.edu>
3236
3237	* examples/echoserver.c (async_server_iofunc): Should be
3238	   accept_nonblock in async_server_iofunc, not accept.
3239
3240	* BUGS: Typo
3241
3242Thu May 31 10:46:30 2001  David Helder  <dhelder@umich.edu>
3243
3244	* Makefile.am (EXTRA_DIST): Add README.win32 GNET.DSP
3245	     config.h.win32 gnet.def
3246	* */Makefile.am: Add makefile.mingw
3247
3248	* configure.in: Version is now 1.1.1 [unreleased]
3249
3250	* configure.in: Remove poll check
3251	* src/udp.c (gnet_udp_socket_has_packet): Use select,
3252	   not poll.
3253	* src/gnet-private.h: Remove poll
3254	* README.macosx: Added
3255	* Makefile.am: Added README.macosx to
3256	   EXTRA_DIST
3257	* AUTHORS: Added Eric Cronin for above
3258
3259	* src/sha.c (gnet_sha_clone): Added.
3260	* src/md5.c (gnet_md5_clone): Added.
3261
3262	* debian/control.in: Sync with README
3263
3264Thu May 24 21:20:09 2001  David Helder  <dhelder@umich.edu>
3265
3266	* gnet.spec.in: Change name back to 'gnet'.  I don't
3267	    know how to fix this...
3268
3269	* *: Get ready for release...
3270
3271Thu May 24 12:12:04 2001  Andrew Lanoix <alanoix@umich.edu>
3272
3273	* NEWS updated to say full windows port
3274
3275Thu May 24 10:14:02 2001  David Helder  <dhelder@umich.edu>
3276
3277	* examples/echoserver.c (object_echoserver): Fixed
3278	    call to gnet_server_new.
3279
3280	* examples/Makefile.am: Make examples noinst, not extra.
3281
3282Wed May 23  9:33:45 2001  Andrew Lanoix <alanoix@umich.edu>
3283
3284	* Add makefiles for mingw (gcc for windows)
3285
3286	* examples/echoserver.c: In object_echoserver(),
3287	  too may args to gnet_server_new()
3288
3289	* update Gnet.dsp
3290	* update gnet.def
3291	* update gnetconfig.h.win32 Version to 1.1.0
3292
3293Wed May 23 10:08:09 2001  David Helder  <dhelder@umich.edu>
3294
3295	* src/gnet.h: Include all files on Win32
3296
3297Tue May 22 23:25:59 2001  David Helder  <dhelder@umich.edu>
3298
3299	* src/pack.c (strlenn): Fixed sign issue
3300
3301Tue May 22 16:45:01 2001  David Helder  <dhelder@umich.edu>
3302
3303	* gnet.m4: Fix URL
3304	* README (Features): Fix URL
3305	* debian/control.in: Add URL
3306
3307Tue May 22 22:21:31 2001  Andrw Lanoix  <alanoix@umich.edu>
3308
3309	* server.h: #include "gnetconfig.h"
3310
3311	* tcp.h: removed 2 unused vars in windows code
3312	* gnet-private.c: removed 2 unused vars in windows code
3313
3314	* udp.c: gnet_udp_socket_has_packet()[win32 version]
3315	  change gint arg to u_long arg to get rid of warning
3316
3317Tue May 22 09:59:57 2001  David Helder  <dhelder@umich.edu>
3318
3319	* src/pack.[hc]: Made int types unsigned where
3320	   possible.
3321
3322Mon May 21 22:22:01 2001  Andrew Lanoix <alanoix@umich.edu>
3323
3324	* udp.c: gnet_udp_socket_new_interface() use
3325	GNET_CLOSE_SOCKET instead of close()
3326
3327	* conn.h: #include<memory.h>
3328
3329Sun May 20 22:32:19 2001  David Helder  <dhelder@umich.edu>
3330
3331	* debian/*: Clean ups for 1.1
3332
3333	* src/tcp.c (gnet_tcp_socket_server_new2): Removed
3334
3335	* src/*: conn, server, url, and the new iochannel funcs
3336	   are 'EXPERIMENTAL'.  md5, sha, and pack are not.
3337
3338	* doc/gnet.sgml, *: More doc cleanups
3339	* src/pack.c: Added calcsize docs.
3340	* doc/gnet-config.1.in: Added.  Based on Owen's
3341	   glib-config manpage.
3342	* debian/rules.in: Install man page
3343
3344Sun May 20 10:22:29 2001  Andrew Lanoix <alanoix@umich.edu>
3345
3346	*src/gnet-private.c:[win32 only] workaround for a glib
3347	   bug that caused problems when one used GNet with GTK
3348
3349	*README.win32: Updated
3350
3351Mon May 14 11:13:22 2001  David Helder  <dhelder@umich.edu>
3352
3353	* src/url.c, inetaddr.c, md5.c (*_hash, *_equal):
3354	     s/const gpointer/gconstpointer/
3355
3356Fri May 11 14:58:24 2001  David Helder  <dhelder@umich.edu>
3357
3358	* tests/unpack.c (main): Fixed the warnings :-)
3359
3360	* src/inetaddr.c (gnet_inetaddr_new_any): Added.
3361
3362Thu May 10 10:22:46 2001  David Helder  <dhelder@umich.edu>
3363
3364	* src/tcp.c (gnet_tcp_socket_server_new_interface):
3365	   If iface is NULL, the OS will choose the address and
3366	   port.
3367	* src/server.c (gnet_server_new): Allow iface to be NULL
3368
3369	* src/pack.c (gnet_calcsize): Added
3370	* src/pack.c (gnet_vcalcsize): Exposed
3371
3372Wed Apr 25 14:27:26 2001  David Helder  <dhelder@umich.edu>
3373
3374	* src/server.[hc] (gnet_server_new): Changed prototype
3375	   so port not included.  Now uses new_interface
3376
3377Tue Apr 24 15:10:19 2001  David Helder  <dhelder@umich.edu>
3378
3379	* src/md5.c (gnet_md5_get_digest): Added cast to
3380	   supress warning
3381
3382	* src/udp.c (gnet_udp_socket_interface_new): Added
3383
3384	* src/udp.c (gnet_udp_socket_new_interface): SO_BROADCAST
3385	   set by default
3386
3387	* src/tcp.c (gnet_tcp_socket_server_interface_new): Added.
3388	* src/tcp.c (gnet_tcp_socket_server_new2): Above replaces
3389
3390Mon Apr 23 7:07:21 2001  Andrew Lanoix  <alanoix@umich.edu>
3391
3392	* src/gnet-private.c (gnet_MainCallBack - Win32 ONLY):
3393	  Explicitly force GNet to grab only its own messages,
3394	  Found by Anthony Lee.
3395
3396Mon Apr  9 17:10:09 2001  David Helder  <dhelder@umich.edu>
3397
3398	* src/iochannel.c (gnet_io_channel_readn): Bug fix from Wolfgang
3399	   Borgert.
3400
3401Fri Mar 30 11:57:21 2001  David Helder  <dhelder@umich.edu>
3402
3403	* configure.in: Checking for param.h incorrectly
3404
3405Tue Mar  6 15:31:13 2001  David Helder  <dhelder@umich.edu>
3406
3407	* src/iochannel.c (gnet_io_channel_readline_strdup):
3408	   Fixed bug when buffer lengthened (off by one).
3409	   Found by Simon Li.
3410
3411Sun Mar  4 5:04:45 2001  Andrew Lanoix  <alanoix@umich.edu>
3412
3413	* src/gnet-private.[ch]
3414	* src/iochannel.[ch]
3415	* gnet.def  Removed Glib 1.2 workaround.
3416
3417	* gnet.dsp  Link to glib-1.3.lib.
3418
3419	* README.win32 Cleanup and further clarify linking with
3420	  mingw/gcc.
3421
3422Tue Feb 27 15:55:56 2001  David Helder  <dhelder@umich.edu>
3423
3424	* src/inetaddr.c:  Fixed const issues for Windows
3425	* src/tcp.c:
3426	* src/sha.c:
3427
3428	* src/server.[hc]: s/interface/iface because interface
3429	   is reserved in MS C.
3430
3431	* README: Added PreViking link
3432
3433Fri Feb 23 7:44:14 2001  Andrew Lanoix  <alanoix@umich.edu>
3434
3435	*src/server.c added #include<memory.h>
3436
3437	*src/sha.c Don't #include<unistd.h> on Windows
3438
3439	*src/tcp gnet_tcp_socket_new_async on Windows, needed to add
3440	    G_IO_ERR to g_io_add_watch() call.
3441
3442	*README.win32 Clarify mingw/gcc/cygwin problem.
3443
3444Sat Feb 17 16:17:49 2001  David Helder  <dhelder@umich.edu>
3445
3446	* tests/Makefile.am: Now compile tests by default
3447
3448	* src/*: Added/removed const's
3449
3450	* src/md5.c (gnet_md5_copy_string): Added
3451	* src/{md5,sha}.c: Added gnet_{sha,md5}_{new_incremental, update,
3452	    final} for "incremental" hashes
3453
3454Wed Feb 14 20:57:07 2001  David Helder  <dhelder@umich.edu>
3455
3456	* src/pack.c: Implemented pack_strdup.  Removed calcsize - not
3457	   useful.
3458
3459	* src/inetaddr.c (gnet_gethostbyaddr): Fix locking.  We did not
3460	   hold the lock when we accessed the hostent struct.  This only
3461	   affects software that uses threads on systems without
3462	   gethostby{name,addr}_r
3463
3464	* tests/: Moved some examples here
3465
3466	* doc/: Rebuilt, cleaned up
3467
3468Tue Jan 23 13:11:03 2001  David Helder  <dhelder@umich.edu>
3469
3470	* configure.in: Fixed --enable-debug macro
3471	* doc/gnet.sgml: Fixed --libs problem
3472	* README: Added gpoker
3473
3474	* src/iochannel.c (gnet_io_channel_writen): Fixed comment.
3475
3476Thu Dec 14 14:02:50 2000  Andrew Lanoix  <alanoix@umich.edu>
3477
3478	* Updates to the Win32 GIOChannel socket fix
3479	* g_io_channel_win32_new_stream_socket() renamed to
3480		gnet_io_channel_win32_new_stream_socket()
3481	* gnet_tcp_socket_new_async() Win32 version now uses the
3482		GIOChannel fix, also callback on an error was broken
3483
3484Mon Nov 13 19:49:32 2000  David Helder  <dhelder@umich.edu>
3485
3486	* examples/echoclient-udp.c: Added
3487	* examples/echoserver-udp.c: "
3488
3489Wed Nov  8 10:45:46 2000  David Helder  <dhelder@umich.edu>
3490
3491	* README: Added gPoker
3492
3493Thu Nov  2 19:26:47 2000  Andrew Lanoix  <alanoix@umich.edu>
3494
3495	* src/tcp.c: gnet_tcp_socket_new_async_cancel() Win32 version
3496	    did not cleanup properly
3497	* src/gnet-private.c: Removed debug code
3498	* gnetconfig.h.win32: Defined GNET_WIN32 here if not defined
3499	* src/iochannel.[hc]:
3500	* src/gnet-private.[hc]:
3501	    Added Glib of Win32 GIOChannel Socket FIX
3502	* src/tcp.c: gnet_tcp_server_accept() Don't force the socket
3503	    in the Win32 version into blocking mode.
3504	* gnet.def: Added g_io_channel_win32_new_stream_socket()
3505	* README.win32: Updates
3506
3507Thu Nov  2 15:24:04 2000  David Helder  <dhelder@umich.edu>
3508
3509	* src/*.h: Added #ifdef GNET_EXPERIMENTAL around experimental
3510	   stuff.
3511
3512	* src/url.c (gnet_url_clone): g_strdup will return NULL if str is
3513	   NULL - don't check.
3514
3515Mon Oct 30 20:34:29 2000  David Helder  <dhelder@umich.edu>
3516
3517	* examples/echoserver.c (async_echoserver): Code cleanups
3518
3519Sun Oct 29 22:44:22 2000  David Helder  <dhelder@umich.edu>
3520
3521	* examples/echo*.c: s/--nonblocking/--async/ since it's
3522	    asynchronous, not nonblocking.
3523
3524	* examples/echoclient.c: Added example showing GConn way.  Started
3525	   showing asynchronous example.  UNFINISHED.
3526
3527	* src/iochannel.c (gnet_io_channel_readline_check_func):
3528	    Don't replace \n with \0.  This is what readline
3529	    does.
3530
3531	* examples/echoserver.c: Added example showing GServer way
3532	* src/server.h (GServerFunc): s/struct _GConn/GConn/
3533	* examples/echoserver.c: Clean-ups
3534
3535Sun Oct 29 17:50:46 2000  David Helder  <dhelder@umich.edu>
3536
3537	* examples/echoserver.c: Fixed non-blocking server example.  It
3538	    had a couple problems.  It should not have switched on the
3539	    condition, because it's a bit field, not an enum.  It should
3540	    have done better error checking too.
3541
3542	* BUGS: Added
3543
3544	* src/pack.c: Change 'P' to 'v' for void pointer.  Void
3545	   pointer will always be native size.
3546	* src/pack.c: Updated docs
3547
3548Thu Oct 26 16:23:29 2000  David Helder  <dhelder@umich.edu>
3549
3550	* gnet.spec.in (Group): Integrated Benjamin Kahn's patch.
3551	   lib/gnet wasn't being include in the dev RPM.
3552
3553Sat Oct 21 01:09:52 2000  David Helder  <dhelder@umich.edu>
3554
3555	* examples/unpack.c: Added
3556	* examples/pack.c: Added more tests
3557
3558	* src/pack.c (gnet_vunpack): unpack s is now like pack s.  Use r
3559	    or S for old semantics
3560	* src/pack.c (strlenn): Fixed.  Fixes unpack s
3561	* src/pack.c: Fixed pack/unpack of big endian pointers (like
3562	    you'd ever do this...)
3563	* src/pack.c (gnet_vpack): Fix pack R
3564	* src/pack.c (gnet_vpack): p can now be repeated
3565
3566	* src/pack.c: Made sure va_arg uses only int or double.  This
3567	    should fix gcc 2.76 warning Joe found.
3568
3569Fri Oct 20 11:27:08 2000  David Helder  <dhelder@umich.edu>
3570
3571	* src/*.[ch]: Added Copyright line for Andy to files
3572	    he changed/added to.
3573
3574Thu Oct 19 23:47:01 2000  David Helder  <dhelder@umich.edu>
3575
3576	* configure.in (GNET_BINARY_AGE): Minor = 5, interface = 0
3577
3578Thu Oct 19 23:44:17 2000  David Helder  <dhelder@umich.edu>
3579
3580	* *: Merged GNET_1_0_4_STABLE_BRANCH into HEAD
3581
3582Thu Oct 19 22:48:21 2000  David Helder  <dhelder@umich.edu>
3583
3584	* *: Release 1.0.4 on GNET_1_0_4_STABLE_BRANCH branch
3585
3586	* README.win32: Updates
3587
3588	* gnet-config.in (lib_gnet): Fix gnet-config.in
3589
3590Sat Oct 14 11:54:30 2000  David Helder  <dhelder@umich.edu>
3591
3592	* gnet-config.in (lib_gnet): Fixed cflags for non-/usr prefix
3593	    systems.
3594	* NEWS: Updates (still unreleased)
3595
3596Wed Oct 11 23:31:40 2000  David Helder  <dhelder@umich.edu>
3597
3598	* TODO: Updates.
3599
3600Wed Oct 11 23:18:04 2000  David Helder  <dhelder@umich.edu>
3601
3602	* examples/pack.c: Added
3603	* examples/hash.c: Added
3604
3605Wed Oct 11 23:16:48 2000  David Helder  <dhelder@umich.edu>
3606
3607	* src/scheduler.[hc]: Added, but not used yet.
3608
3609	* src/md5.[hc]: Added
3610	* src/sha.[hc]: Added
3611
3612	* src/gnet.h: Added md5 and sha
3613
3614Wed Oct 11 22:57:18 2000  David Helder  <dhelder@umich.edu>
3615
3616	* src/iochannel.[hc]: Moved functions in gnet.h here
3617	* src/iochannel.c ({read,write}_async): Added
3618
3619	* src/pack.[hc]: Added.  Mostly finished.  Needs testing, more
3620	   docs.
3621
3622	* src/conn.[hc]: Added.  Needs review, docs.
3623	* src/server.[hc]: Added.  Needs review, docs.
3624
3625	* src/url.[hc]: Added.  Very basic, not standards compliant.
3626	   Needs work.
3627
3628	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Added
3629	* src/inetaddr.c (gnet_inetaddr_is_*): Added
3630
3631	* src/inetaddr.c (gnet_inetaddr_autodetect_internet_interface): Added
3632	* src/inetaddr.c (gnet_inetaddr_get_interface_to): "
3633	* src/inetaddr.c (gnet_inetaddr_get_internet_interface): "
3634	* src/inetaddr.c (gnet_inetaddr_is_internet_domainname): "
3635
3636	* src/inetaddr.c,gnet-private.c (gnet_inetaddr_list_interfaces):
3637	    Moved from private to inetaddr and exposed.
3638
3639	* src/tcp.c (gnet_tcp_socket_set_tos): Added
3640	* src/tcp.c (gnet_tcp_socket_server_new2): Added.  This
3641	    will become gnet_tcp_socket_server_new() in 1.2.
3642
3643Tue Oct  3 13:26:45 2000  Andrew Lanoix <alanoix@umich.edu>
3644
3645	* Added: Gnet.dsp (MS VC 6.0 Project File, builds with
3646	  Glib 1.2)
3647	* Removed references to G_OS_WIN32 in examples
3648
3649Mon Oct  2 00:05:33 2000  Andrew Lanoix <alanoix@umich.edu>
3650
3651	* Added: gnetconfig.h.win32, config.h.win32
3652	* Code now compiles with both Glib 1.2, 1.3 on Win32
3653
3654Mon Oct  2 11:19:12 2000  David Helder  <dhelder@umich.edu>
3655
3656	* src/gnet-private.c: Remove include config.h
3657
3658Mon Oct  2 11:15:19 2000  David Helder  <dhelder@umich.edu>
3659
3660	* src/inetaddr.c: Remove include of config.h.  Already
3661	   in gnet-private.h.
3662
3663Sun Oct  1 19:42:07 2000  David Helder  <dhelder@umich.edu>
3664
3665	* src/tcp.c (gnet_tcp_socket_new_async_cb): Remove the watch
3666	   before calling the user's callback.  This prevents it from
3667	   being called a second time, which could happen if we run the
3668	   main loop before we return.  Joe Shaw found this bug.
3669	* src/inetaddr.c (gnet_inetaddr_new_async_cb): "
3670	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): "
3671
3672Sun Oct  1 13:58:35 2000  David Helder  <dhelder@umich.edu>
3673
3674	* gnetconfig.h.in: Fixed endif (had string - not ANSI)
3675
3676Sun Oct 1 3:48:33:19 2000  Andrew Lanoix  <alanoix@umich.edu>
3677
3678	* hostinfo.c: Updated
3679
3680Sun Oct 1 3:46:48:28 2000  Andrew Lanoix  <alanoix@umich.edu>
3681
3682	* Temp patch to get examples to work on Win32
3683	  (dnstest.c echoserver.c echoclient.c)
3684
3685Sun Oct 1 3:41:29:66 2000  Andrew Lanoix  <alanoix@umich.edu>
3686
3687	* Workaround for win32 linking issue. Moved including
3688	  winsock2 from inetadder.c to inetaddr.h
3689
3690Thu Sep 28 23:13:30 2000  David Helder  <dhelder@umich.edu>
3691
3692	* README.win32: Added.  Writen by Andy.
3693
3694Thu Sep 28 22:55:57 2000  David Helder  <dhelder@umich.edu>
3695
3696	* gnetconfig.h.in: Added
3697	* Makefile.am: Install in library
3698	* gnet-config.h.in: Add gnetconfig.h
3699	* src/gnet.h: Fixed version stuff
3700
3701	* src/gnet-private.h: Include sys/param if available.
3702
3703	* src/*: Small windows fixes
3704
3705Thu Sep 28 21:40:15 2000  David Helder  <dhelder@umich.edu>
3706
3707	* src/gnet-private.h: Added Andy's 2nd patch.
3708
3709Wed Sep 27 01:01:49 2000  David Helder  <dhelder@umich.edu>
3710
3711	* *: First pass at merging in Andy's Win32 port.  Compiles in
3712	  Unix, but untested in Unix and Windows.
3713
3714Tue Apr 11 16:59:11 2000  David Helder  <dhelder@umich.edu>
3715
3716	* *: Release 1.0.3
3717	* README: Updated Jungle Monkey URL
3718
3719Mon Apr 10 20:48:01 2000  David Helder  <dhelder@umich.edu>
3720
3721	* configure.in (GNET_BINARY_AGE): Upped version to 1.0.3
3722	* src/inetaddr.c (gnet_inetaddr_new_async_cb): If gethostbyname
3723	   failed, then it's an error.
3724
3725Sun Apr  9 15:19:16 2000  David Helder  <dhelder@umich.edu>
3726
3727	* autogen.sh: Added Gnome-like autogen script
3728	* auto*: Removed
3729
3730Thu Apr  6 16:14:16 2000  David Helder  <dhelder@umich.edu>
3731
3732	* src/inetaddr.c (gnet_inetaddr_new_async): Don't watch PRI or
3733	   OUT.
3734	* src/inetaddr.c (gnet_inetaddr_get_name_async): Likewise.
3735
3736	* src/tcp.c (gnet_tcp_socket_new_async_cancel): Delete
3737	   the state.
3738	* src/tcp.c (gnet_tcp_socket_connect_async_cancel): Delete the
3739	   state.
3740
3741	* src/tcp.c (gnet_tcp_socket_new_async_cb): Bug fix:
3742	   Mask the condition properly.  Delete the socket if
3743	   there was an error.  General clean-ups.
3744
3745	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Bug fix:
3746	   Make sure name ends with '\0'.
3747
3748	* src/inetaddr.c (gnet_inetaddr_new_async_cb): Bug fix:
3749	   Mask the condition properly.
3750	* src/inetaddr.c (gnet_inetaddr_new_async_cb): Bug fix: Copy len-1
3751	   bytes, not len.
3752	* src/inetaddr.c (gnet_inetaddr_new_async_cb): If we call back
3753	   with ERROR, set ia to NULL.  Also delete the ia, which fixes
3754	   a memory leak.
3755
3756	* configure.in: Print stuff when checking for --enable-debug
3757
3758Wed Apr  5 14:04:52 2000  David Helder  <dhelder@umich.edu>
3759
3760	* src/gnet-private.c (gnet_private_inetaddr_list_interfaces): Use
3761	   ifr_blah macros and don't access ifr directly (which I should
3762	   have done originally).  This fixes a portability issue in
3763	   FreeBSD 4.0 which changes ifru_flags from a short to a
3764	   short[2].
3765
3766	* examples/hostinfo.c: Added decl for list_interfaces so it
3767	   that it will compile.
3768
3769Fri Mar 17 20:07:15 2000  David Helder  <dhelder@umich.edu>
3770
3771	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock):
3772	   Clean-up
3773
3774	* src/tcp.c (gnet_tcp_socket_server_accept): Check errno
3775	   against EPROTO only if EPROTO is defined.  (It isn't
3776	   on OpenBSD.  Fix by Niels.)
3777
3778Sun Mar  5 14:22:11 2000  David Helder  <dhelder@umich.edu>
3779
3780	* auto*: Release version 1.0.1
3781
3782Tue Feb 29 11:18:52 2000  David Helder  <dhelder@umich.edu>
3783
3784	* AUTO*: Version 1.0.1 (unreleased)
3785	* src/gnet.c (gnet_io_channel_readline_strdup): Fixed typo bug
3786	    where buffer was growing too fast.  Found by Carl Armstrong
3787	    <carl@avalon.cameron.edu>.
3788
3789Mon Feb 28 12:38:31 2000  David Helder  <dhelder@umich.edu>
3790
3791	* NEWS, etc: Version 1.0.0
3792	* debian/*: Upped version to 1.0.0-2, cleaned up control.in
3793	* gnet.spec.in: Upped version to 1.0
3794
3795Wed Feb 23 10:49:39 2000  David Helder  <dhelder@umich.edu>
3796
3797	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock):
3798	   Added.  Theoretically, gnet_tcp_socket_server_accept could
3799	   block even if the channel was readable, so I added this.
3800
3801	* src/tcp.[ch], inetaddr.[ch]:
3802
3803	 - Renaming:
3804	     GTcpSocketAsyncFunc  -> GTcpSocketNewAsyncFunc
3805	     GTcpSocketAyncStatus -> GTcpSocketNewAyncStatus
3806	     etc...
3807
3808	 - gpointer ID's given better names:
3809	     GTcpSocketNewAsyncID
3810	     GTcpSocketConnectAsyncID
3811	     GInetAddrNewAsyncID
3812	     GInetAddrGetNameAyncID
3813
3814	* doc/*, src/*, TODO, README, HACKING: Doc cleanups/improvements
3815
3816	* libtool*: Upgrade to libtool 1.3.4
3817	* auto*: Version set to 0.1.10 (for now)
3818
3819Tue Feb 15 17:01:39 2000  David A Helder  <dhelder@umich.edu>
3820
3821	* debian/changelog: Removed middle initial.
3822
3823Tue Feb 15 10:13:59 2000  David A Helder  <dhelder@umich.edu>
3824
3825	* doc/*: Updates for new stuff
3826	* src/*: Documentation fixes
3827
3828	* configure.in: Check for sys/poll.h
3829	* src/gnet-private.h: Changed __EMX__ to HAVE_SYS_POLL_H
3830	* acconfig.h: Added HAVE_SYS_POLL_H
3831
3832	* src/{tcp, inetaddr}.c: Reordered enums so that OK comes
3833	    first.
3834
3835	* src/Makefile.am (EXTRA_DIST): Removed ftp.[ch] from
3836	    EXTRA_DIST (will remain in repository though).
3837
38382000-02-09  Asbjorn Pettersen  <asbjornP@dualog.no>
3839
3840	* src/gnet-private.h: <sys/types.h> before <socket.h>
3841	    OS/2 havn't <sys/poll.h>.  __EMX__ is an OS/2 define.
3842
3843Tue Feb  8 17:40:58 2000  David A Helder  <dhelder@umich.edu>
3844
3845	* AUTHORS: Fixed Xavier's email address.
3846
3847Tue Feb  8 10:29:02 2000  David A Helder  <dhelder@umich.edu>
3848
3849	* TODO: Added some TODO's
3850
3851Sun Feb  6 14:27:20 2000  David A Helder  <dhelder@umich.edu>
3852
3853	* NEWS: Added 0.1.9 (unreleased)
3854
3855Sun Feb  6 13:18:03 2000  David A Helder  <dhelder@umich.edu>
3856
3857	* src/*: Renamed "nonblock" to "async" because we're really
3858	    asynchronous.  Nonblock usually means the function will return
3859	    if it would block, which we don't do.
3860	* src/tcp.c:
3861	    - Added gnet_tcp_socket_new_async_cancel() and
3862		gnet_tcp_socket_connect_async_cancel().
3863	    - gnet_tcp_socket_new_async() and
3864		gnet_tcp_socket_connect_async() now return ID's
3865		of connections which can be used for cancels.
3866	    - gnet_tcp_socket_new_async() now calls callback if
3867		there is a failure.
3868	* src/inetaddr.c:
3869	    - Added gnet_inetaddr_new_sync_cancel() and
3870		gnet_inetaddr_get_name_async_cancel().
3871	    - gnet_inetaddr_new_sync() and gnet_inetaddr_get_name_async()
3872		now return ID's of connections which can be used for
3873		cancels.
3874	* src/gnet-private.h: Added signal.h
3875	* examples/dnstest.c: Updated for this stuff
3876
3877	* src/*: Added _ref and _unref functions to GInetAddr, GTcpSocket,
3878	   GUdpSocket, and GMcastSocket.  _delete now uses these.  (Also,
3879	   GMcastSocket now unrefs the iochannel - it didn't before.
3880	   Oops).
3881
3882	* src/gnet.[hc]: Added Jacques' gnet_iochannel_readline_strdup
3883	* AUTHORS: Add Jacques Fortier
3884
3885Wed Feb  2 13:58:10 2000  David A Helder  <dhelder@umich.edu>
3886
3887	* Makefile.am (copyweb): Fixed copy to debian server
3888
3889Wed Feb  2 10:31:13 2000  David A Helder  <dhelder@umich.edu>
3890
3891	* doc/gnet.sgml: Fixed version number stuff, old function names.
3892	* src/udp.c: Fixed type in docs for get_iochannel.
3893
3894	* debian/changelog: Did a 0.1.8-2 release with fixed
3895	    documentation. (I did not generate them properly
3896	    when I did the first released).
3897
3898Tue Feb  1 20:00:23 2000  David A Helder  <dhelder@umich.edu>
3899
3900	* auto: Upped version to 0.1.8
3901	* Makefile.am (copyweb): Added debian server stuff to
3902	    copyweb rule.
3903
3904Mon Jan 31 21:30:02 2000  David A Helder  <dhelder@umich.edu>
3905
3906	* examples/.cvsignore: Added example executables.
3907
3908Mon Jan 31 19:40:45 2000  David A Helder  <dhelder@umich.edu>
3909
3910	* src/gnet-private.h: Added iochannel member to TcpSocket,
3911	    UdpSocket, McastSocket
3912	* src/{udp,tcp}.c: Use single iochannel.
3913	* examples/{hfetch, echoserver}.c: Don't close iochannel.
3914
3915	* src/{udp,inetaddr,tcp,mcast}.c: Check if the argument to
3916	    *_delete is NULL.  If it is, don't do anything.
3917
3918	* README: Added info on submiting bugs.
3919	* TODO: Added "Write manpage for gnet-config".
3920
3921Sun Jan 30 16:34:59 2000  David A Helder  <dhelder@umich.edu>
3922
3923	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Added 'return'
3924	    if inet_aton worked.  This caused a seg fault.
3925	* src/tcp.c (gnet_tcp_socket_new_nonblock): Added some
3926	    g_return_val_if_fail.
3927	* TODO: Reformated, added some comments.
3928
39292000-01-30  Soren Sandmann Pedersen  <sandmann@nerva.daimi.au.dk>
3930
3931	* src/inetaddr.c: Use HP-UX' gethostbyaddr_r.  Fixed typo
3932	    in Solaris code (this was a bug - we were calling
3933	    gethostbyname_r, not gethostbyaddr_r) [DAH].
3934
3935Sat Jan 29 16:55:41 2000  David A Helder  <dhelder@umich.edu>
3936
3937	* AUTHORS: Added Soeren Sandmann to AUTHORS
3938
39392000-01-29  Soren Sandmann Pedersen  <sandmann@saratoga.daimi.au.dk>
3940
3941	* src/inetaddr.c: Use HP-UX' gethostbyname_r
3942	* acconfig.h: add GETHOSTBYNAME_R_HPUX
3943	* configure.in: detect HP-UX' gethostbyname_r
3944
3945Wed Jan 26 12:37:51 2000  David A Helder  <dhelder@umich.edu>
3946
3947	* AUTHORS: Fixed Xavier's email address.
3948
3949Wed Jan 26 11:11:07 2000  David A Helder  <dhelder@umich.edu>
3950
3951	* src/Makefile.am: Don't install gnet-private.h, ftp.{hc}
3952	* src/{gnet,inetaddr}.h: Removed include of config.h
3953	* src/gnet-private.h: Added include of config.h
3954
3955Tue Jan 25 14:48:11 2000  David A Helder  <dhelder@umich.edu>
3956
3957	* doc/Makefile.am (scan): Added src/ftp, src/gnet-private to
3958	    the ignore list
3959	* doc/[docs]: Regenerated
3960
3961Tue Jan 25 12:28:52 2000  David A Helder  <dhelder@umich.edu>
3962
3963	* auto*: Upped version to 0.1.7
3964	* src/gnet.c:
3965	    Fixed read/write functions.  Basically brought in line with
3966	    Steven's code, which I know to be correct.  readn didn't
3967	    handle EOF properly.
3968	* src/tcp.c (gnet_tcp_socket_server_accept): Use select
3969	    so we don't suck up all the CPU time (duh).
3970	* examples/echoclient.c (main): Write the strlen of the
3971	    line, not strlen + 1.
3972	* examples/echoserver.c, hfetch.c: Unref the iochannel after
3973	    closing it.
3974
3975Tue Jan 25 12:01:33 2000  David A Helder  <dhelder@umich.edu>
3976
3977	* README: Clean-ups
3978	* src/inetaddr.c: Changed snprintf to g_snprintf.
3979
3980Sun Jan 23 14:05:42 2000  David A Helder  <dhelder@umich.edu>
3981
3982	* auto*: Upped version to 0.1.6
3983	* src/*.h: Added #ifdef __cplusplus...
3984	* src/gnet.h, gnet-private.h: Added #ifndef _GNET_H,
3985	   _GNET_PRIVATE_H
3986	* TODO, other docs: Reformating, cleanups
3987
3988Thu Jan 20 12:23:38 2000  David A Helder  <dhelder@umich.edu>
3989
3990	* doc/.cvsignore, debian/.cvsignore: Added
3991	* Makefile.am: Cleaned up and Added RPMs to copyweb rule.
3992
3993Thu Jan 20 12:05:36 2000  David A Helder  <dhelder@umich.edu>
3994
3995	* HACKING: Updated "How to check out GNet anonymously"
3996	   for Gnome repository.
3997
3998Thu Jan 20 11:41:17 2000  David A Helder  <dhelder@umich.edu>
3999
4000	* src/*.[ch]: Moved most includes and definitions to
4001	    gnet-private.h.  This will make porting easier.
4002
4003Wed Jan 19 15:48:29 2000  David A Helder  <dhelder@umich.edu>
4004
4005	* src/gnet.c (gnet_io_channel_writen, gnet_io_channel_readn):
4006	    Don't count bytes read/written if there was an error.
4007	* src/gnet.c (gnet_io_channel_readline): Try reading again if
4008	    we get G_IO_ERROR_AGAIN.
4009
4010Tue Jan 18 13:59:57 2000  David A Helder  <dhelder@umich.edu>
4011
4012	* src/inetaddr.c (gnet_inetaddr_get_name_nonblock): Fixed
4013	    bug in handling large addresses.
4014	* src/inetaddr.c: Fixed bugs in internal gnet_gethostby*
4015	    functions.  Changed them around a bit.
4016
4017Tue Jan 18 12:50:38 2000  David A Helder  <dhelder@umich.edu>
4018
4019	* debian/changelog: Updated to 0.1.5
4020	* debian/rules.in: Handle libtool naming correctly
4021	* debian/libgnet0.1.docs: Added (was just 'docs')
4022
4023Tue Jan 18 12:12:13 2000  David A Helder  <dhelder@umich.edu>
4024
4025	* configure.in: Added tests for variants of gethostbyname_r.
4026			Define _REENTRANT
4027	* src/inetaddr.c: Added gnet_gethostbyname and gnet_gethostbyaddr
4028	    which use appropriate function based on config.h
4029	* TODO: Remove this improvement from list
4030
4031	* src/gnet-private.h: Changed include to sys/socket.h
4032	* src/inetaddr.[ch]: Portablity fixed (thought I did these
4033	    on the 10th - oops)
4034
4035	* configure.in: Upped version to 0.1.5 (not released yet)
4036	* src/ftp.[ch]: Added note that it was experimental
4037
4038Mon Jan 17 11:16:39 2000  David A Helder  <dhelder@umich.edu>
4039
4040	* HACKING: Added (based on Xavier's SUBMIT-PATCH)
4041	* TODO: Added more details
4042	* src/ftp.[ch]: Added (contributed by Xavier Nicolovici)
4043	* gnet.spec.in: Added (contributed by Xavier Nicolovici)
4044
4045	* Makefile.am: Added HACKING
4046	* configure.in: Added gnet.spec
4047	* auto*: Brought up-to-date
4048	* debian/changelog: Upped to debian version 2
4049
4050Fri Jan 14 10:15:53 2000  David A Helder  <dhelder@umich.edu>
4051
4052	* examples/Makefile.am: Use gnet-config, not ../src
4053	* examples/*: Include gnet/gnet.h, not gnet.h
4054	* TODO: Added "Build Debian docs package"
4055	* AUTHORS: Added Xavier Nicolovici to AUTHORS
4056
4057Thu Jan 13 15:20:36 2000  David A Helder  <dhelder@umich.edu>
4058
4059	* doc/Makefile.am: Docs now put in prefix/share/doc/libgnet0.1-dev
4060	* Makefile.am: Added deb rule that builds .debs
4061	* debian/*: Added debian package building stuff
4062
4063Wed Jan 12 15:59:29 2000  David A Helder  <dhelder@umich.edu>
4064
4065	* ALL: Release 0.1.4
4066	* TODO: Updates
4067	* examples/sdr.c: Added additional tests of mcast sockets
4068	* src/udp.c (gnet_udp_socket_get_mcast_ttl): Fix type of
4069	  ttl (wasn't broken in Linux as I thought).
4070	* src/mcast.c (gnet_mcast_socket_is_loopback): Fix type of
4071	  flag (wasn't broken in Linux as I thought).
4072	* src/udp.c: gnet_udp_socket_get_MTU removed until we
4073	  can fix it and port it to Solaris.
4074	* src/udp.c: Include sys/sockio.h if we have it.
4075	* src/{mcast,udp}.c: Cast 4th arg to *sockopt to (void*).
4076	* src/{tcp,mcast,udp}.c: Define socklen_t if necessary.
4077	* src/inetaddr.c: Include resolv.h, arpa/nameserv.h,
4078	  Define INET_ADDRSTRLEN and INET6_ADDRSTRLEN if
4079	  necessary.
4080
4081Wed Jan 12 11:28:34 2000  David A Helder  <dhelder@umich.edu>
4082
4083	* .cvsignore: Added .cvsignore files
4084
4085Mon Jan 10 18:16:32 2000  David A Helder  <dhelder@umich.edu>
4086
4087	* src/gnet-private.c: Include sys/sockio.h if we have it.
4088	* configure.in: Check for sys/sockio.h
4089
4090Mon Jan 10 12:40:55 2000  David A Helder  <dhelder@umich.edu>
4091
4092	* ALL: More docs, release 0.1.3
4093	* TODO: Updates
4094	* AUTHORS: Credited Owen Taylor for gnet.m4 and gnet-config
4095	* doc/gnet.sgml: Added how-to-compile section
4096	* src/inetaddr.c (gnet_inetaddr_get_name): Added
4097	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Now returns void
4098	* examples/dnstest.c: Demonstrates gnet_inetaddr_get_name
4099	* examples/ljoust.c: Added Llama Joust
4100
4101Sun Jan  9 16:40:26 2000  David A Helder  <dhelder@umich.edu>
4102
4103	* src/gnet.[ch], configure.in: Added gnet_*_version
4104	* Makefile.am: Added m4 files for install
4105	* acconfig.h: Added
4106	* src/Makefile.am (libgnet_la_LDFLAGS): Fixed \ problem
4107
4108Sun Jan  9 16:08:11 2000  David A Helder  <dhelder@umich.edu>
4109
4110	* ALL: Prefixed functions with gnet_
4111	* src/gnet-private.[ch]: Move private functions here
4112	* TODO: Cleaned up, removed some
4113	* gnet.m4: Added
4114	* gnet-config.in: Added
4115	* configure.in: Added to it (from glib, gtk)
4116
4117Thu Jan  6 15:25:39 2000  David A Helder  <dhelder@umich.edu>
4118
4119	* TODO: Added more notes
4120	* NEWS: Fixed this
4121	* README: Added more notes
4122	* src/inetaddr.c (inetaddr_new_nonblock): Use _exit instead of exit
4123
4124Thu Jan  6 13:26:09 2000  David A Helder  <dhelder@umich.edu>
4125
4126	* doc/gnet.sgml: Added info on dnstest
4127	* configure.in (GNET_MICRO_VERSION): Upped to 1
4128	* TODO: Added a few more TODO's based on emails
4129	* README: Added info on how to checkout Gnet
4130	* src/inetaddr.[hc]: Added inetaddr_new_nonblock
4131	* examples/dnstest.c: Added inetaddr_new_nonblock test.
4132