2008-02-03  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* RELEASE:
	* debian/changelog:
	  Update for upcoming 2.0.8 release.

2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/Makefile.am:
	* tests/check/gnet/gnetabi.c:
	* tests/check/gnet/struct_ppc64.h:
	* tests/check/gnet/struct_ppc32.h:
	  Include header based on userland ABI, not on kernel/CPU.

2008-01-06  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/tmpl/conn.sgml:
	  Clarify docs a bit.

2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gnet/gnetconnhttp.c: (test_conn_http_post_local):
	  Disable SOCKS use for test that connects to server on
	  localhost.

2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Require check 0.9.4 or later.

	* tests/check/gnetcheck.h: (__gnet_tcase_add_test), (_tcase_add_test):
	  Fix up things so that in case of failure the test that failed
	  is shown properly (before the variable name 'tf' would get
	  stringified instead of the test function name).

2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gnetcheck.c: (gnet_check_init):
	  Call gnet_socks_set_enabled() if the SOCKS_SERVER environment
	  variable is set, so we can run the unit tests through the
	  SOCKS implementation too (e.g. in connection with ssh -D).

2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>

	* src/uri.c: (gnet_uri_parse), (parse_inplace_munge_string_part),
	  (gnet_uri_parse_inplace):
	* src/uri.h:
	  API: add gnet_uri_parse_inplace()

	* tests/check/gnet/gneturi.c:
	* doc/gnet-sections.txt:
	* doc/tmpl/uri.sgml:
	  Add unit test and docs for the above.

2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>

	* src/tcp.c: (gnet_tcp_socket_get_remote_inetaddr):
	* src/udp.c: (gnet_udp_socket_unref):
	  Two small doc additions.

	* doc/tmpl/conn-http.sgml:
	* doc/tmpl/conn.sgml:
	* doc/tmpl/inetaddr.sgml:
	* doc/tmpl/tcp.sgml:
	  Update templates to trunk.

2007-12-14  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Jeff Garzik <jeff at garzik org>.

	* src/uri.c: (field_unescape):
	  Micro-optimisation: avoid unnecessary read/writes.

2007-12-09  Tim-Philipp Müller  <tim at centricular dot net>

	* src/uri.c: (neednt_escape_table), (StringPart), (DUP_STRING_PART),
	  (ISSPACE), (gnet_uri_parse), (gnet_uri_new):
	  Split out URI parsing code.

2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* src/conn-http.h:
	  GConnHttp is no longer marked as experimental API (which doesn't
	  mean that it's bug-free, of course).

2007-11-05  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn.c: (gnet_conn_new_socket):
	  Improvie docs a bit.

	* src/gnet-private.h:
	  Change refcount field from guint to gint to avoid compiler
	  warnings when using GLib's g_atomic_* macros.

2007-11-05  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/gnet-sections.txt:
	* src/conn-http.c: (gnet_conn_http_ia_cb), (gnet_conn_http_run_async),
	  (gnet_conn_http_run), (gnet_conn_http_delete_internal),
	  (gnet_http_get), (gnet_conn_http_set_main_context):
	* src/conn-http.h: (GConnHttpFunc):
	  API: add gnet_conn_http_set_main_context().
	  Make GConnHttp work with a custom main context.

	* tests/check/gnet/gnetconnhttp.c: (icy_async_cb), (test_shoutcast):
	  Use our own main context in the shoutcast unit test, to make sure
	  GConnHttp works fine with a custom main context.

2007-11-05  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_conn_recv_response):
	  Check the server response for a supported protocol and emit an
	  error event if a non-supported protocol is encountered; also emit
	  an error if the response is malformed.

	* src/conn-http.h:
	  Fix typo in docs.

	* tests/check/gnet/gnetconnhttp.c: (icy_async_cb),
	  (test_shoutcast), (gnetconnhttp_suite):
	  Add unit test to make sure we accept shoutcast (ICY) server responses
	  in addition to HTTP server responses.

2007-11-05  Tim-Philipp Müller  <tim at centricular dot net>

	* src/socks-private.c: (_gnet_socks_tcp_socket_server_accept):
	* src/tcp.c: (gnet_tcp_socket_ref), (gnet_tcp_socket_unref_internal),
	  (gnet_tcp_socket_unref), (tcp_socket_server_accept_async_cb):
	  Do atomic refcounting for GTcpSocket (however much sense that makes).

2007-11-05  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/Makefile.am:
	* tests/check/gnet/gnetmisc.c: (test_versions), (gnetmisc_suite),
	  (gnetmisc):
	  Unit tests for compile-time version macros and run-time version
	  reporting.

2007-11-05  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn.c: (gnet_conn_set_main_context):
	  Also allow setting a context when we already have a socket
	  as long as no watches have been set up yet.

	* tests/check/gnet/gnetconn.c: (conn_fail_cb), (conn_cb),
	  (test_conn_new), (test_conn_new_inetaddr), (test_conn_new_socket),
	  (gnetconn_suite):
	  Some more unit tests.

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/Makefile.am:
	* tests/check/gnet/gnetconn.c: (conn_cb), (test_conn),
	(gnetconn_suite), (gnetconn):
	  Add very simple test for gnet_conn_new() and running things
	  in a user-specified GMainContext.

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c:
	* src/conn-http.h:
	  UTF-8-ise.

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn.c: (ADD_WATCH), (REMOVE_WATCH), (gnet_conn_disconnect),
	  (conn_check_read_queue), (gnet_conn_timeout):
	  Use the configured main context (if any) to hook up or remove
	  watches and timeouts.

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* src/inetaddr.c: (gnet_inetaddr_new_list_async_cancel),
	  (gnet_inetaddr_get_name_async_cancel):
	* src/tcp.c: (gnet_tcp_socket_new_async_cancel):
	  Remove sources from correct main context.

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.c: (_gnet_idle_add_full), (_gnet_timeout_add_full),
	  (_gnet_io_watch_add_full), (_gnet_source_remove):
	* src/gnet-private.h:
	  Add private _gnet_source_remove() to remove a source by id from a
	  certain main context. Also accept NULL as context for the other
	  functions in place of the default main context.

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/gnet-sections.txt:
	* src/conn.c: (gnet_conn_new_socket), (gnet_conn_set_main_context),
	  (gnet_conn_connect):
	* src/conn.h:
	  API: add gnet_conn_set_main_context()

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* src/tcp.c: (gnet_tcp_socket_connect),
	  (gnet_tcp_socket_connect_async_full),
	  (gnet_tcp_socket_connect_async),
	  (gnet_tcp_socket_connect_inetaddr_cb),
	  (gnet_tcp_socket_connect_tcp_cb),
	  (gnet_tcp_socket_connect_async_cancel):
	* src/tcp.h: (GTcpSocketConnectAsyncFunc):
	  API: add gnet_tcp_socket_connect_async_full().

2007-11-04  Tim-Philipp Müller  <tim at centricular dot net>

	* src/socks-private.h:
	* src/socks-private.c: (_gnet_socks_tcp_socket_new), (SocksAsyncData),
	  (socks_async_cb), (_gnet_socks_tcp_socket_new_async_full),
	  (_gnet_socks_tcp_socket_new_async):
	  Add _gnet_socks_tcp_socket_new_async_full() variant that takes a
	  caller-specified GMainContext.

	* doc/gnet-sections.txt:
	* src/tcp.h: (GTcpSocketNewAsyncFunc):
	* src/tcp.c: (gnet_tcp_socket_new_direct),
	  (gnet_tcp_socket_new_async_full), (gnet_tcp_socket_new_async),
	  (gnet_tcp_socket_new_async_direct_full),
	  (gnet_tcp_socket_new_async_direct), (gnet_tcp_socket_new_async_cb),
	  (gnet_tcp_socket_new_async_cancel):
	  API: add gnet_tcp_socket_new_async_direct_full()
	  API: add gnet_tcp_socket_new_direct_full()
	  Add _full() variants that take a caller-specified GMainContext.

2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.c: (_gnet_create_ipv4_listen_socket),
	  (_gnet_create_ipv6_listen_socket), (_gnet_create_listen_socket),
	  (_gnet_io_channel_new), (_gnet_idle_add_full), (_gnet_timeout_add_full),
	  (_gnet_io_watch_add_full):
	* src/gnet-private.h:
	* src/inetaddr.c: (gnet_inetaddr_new_list_async_full),
	  (inetaddr_new_list_async_gthread), (inetaddr_get_name_async_gthread):
	* src/mcast.c: (gnet_mcast_socket_new_full):
	* src/socks-private.c: (_gnet_socks_tcp_socket_new),
	  (_gnet_socks_tcp_socket_new_async), (_gnet_socks_tcp_socket_server_new),
	  (_gnet_socks_tcp_socket_server_accept),
	  (_gnet_socks_tcp_socket_server_accept_async),
	  (socks_tcp_socket_server_accept_async_cb):
	* src/socks-private.h:
	* src/tcp.c: (gnet_tcp_socket_new), (gnet_tcp_socket_new_async),
	  (gnet_tcp_socket_get_io_channel), (gnet_tcp_socket_server_new_full),
	  (gnet_tcp_socket_server_accept),
	  (gnet_tcp_socket_server_accept_nonblock),
	  (gnet_tcp_socket_server_accept),
	  (gnet_tcp_socket_server_accept_nonblock),
	  (gnet_tcp_socket_server_accept_async):
	* src/udp.c: (gnet_udp_socket_new_full), (gnet_udp_socket_get_io_channel):
	* src/unix.c: (gnet_unix_socket_get_io_channel):
	  Rename private function from gnet_private_foo() to _gnet_foo(), which is
	  a bit shorter and makes it easier to make sure those symbols aren't
	  exported later. Also rename __gnet_foo_add_full() to _gnet_foo_add_full()
	  for consistency.

2007-10-28  Tim-Philipp Müller  <tim at centricular dot net>

	* src/tcp.h: (GTcpSocketNewAsyncID):
	  Typedef GTcpSocketNewAsyncID to real structure instead of gpointer
	  so the compiler can help us catch nonsense.

	* src/socks-private.c: (gnet_private_socks_tcp_socket_new_async):
	  Like this.

2007-10-28  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.c: (__gnet_io_watch_add_full):
	* src/gnet-private.h:
	  Implement (private) __gnet_io_watch_add_full(), which we'll
	  need shortly.

2007-10-27  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gnet/gnetinetaddr.c:
	  Add unit tests for the various _async() and _async_full()
	  functions.

2007-10-27  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/gnet-sections.txt:
	* src/gnet-private.c: (gnet_uninitialize_windows_sockets),
	  (__gnet_idle_add_full), (__gnet_timeout_add_full):
	* src/gnet-private.h:
	* src/inetaddr.c: (gnet_inetaddr_delete_list),
	  (gnet_inetaddr_new_async_full), (gnet_inetaddr_new_async),
	  (gnet_inetaddr_new_async_cancel), (inetaddr_new_async_cb),
	  (gnet_inetaddr_new_list_async_full), (gnet_inetaddr_new_list_async),
	  (inetaddr_new_list_async_nonblock_dispatch),
	  (inetaddr_new_list_async_gthread),
	  (inetaddr_new_list_async_gthread_dispatch),
	  (gnet_inetaddr_new_list_async_cancel),
	  (gnet_inetaddr_get_name_nonblock),
	  (gnet_inetaddr_get_name_async_full), (gnet_inetaddr_get_name_async),
	  (gnet_inetaddr_get_name_async_cancel),
	  (inetaddr_get_name_async_gthread_dispatch),
	  (inetaddr_get_name_async_gthread):
	* src/inetaddr.h:
	  API: add gnet_inetaddr_new_async_full()
	  API: add gnet_inetaddr_new_list_async_full()
	  API: add gnet_inetaddr_get_name_async_full()
	  Add _full variants for async lookup functions with destroy notify
	  function, main context and priority parameters.

2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>

	* src/inetaddr.c (inetaddr_new_list_async_gthread):
	  If we've been cancelled, free the correct inetaddr list and
	  not a yet-unassigned NULL list.

	* tests/check/gnetcheck.h:
	  Some more comments.

2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>

	* src/inetaddr.c (gnet_inetaddr_get_name_async),
	  (gnet_inetaddr_get_name_async_cancel),
	  (inetaddr_get_name_async_gthread_dispatch),
	  (inetaddr_get_name_async_gthread):
	  Don't take lock in reverse lookup thread while it's doing the
	  blocking reverse lookup, otherwise a _cancel() from the main thread
	  will block until the blocking operation in the thread has finished,
	  which isn't what we want; fix a small leak when cancelling a lookup;
	  no need to take the lock before starting the lookup thread, just set
	  up the structure before starting the thread (no point optimising for
	  an unlikely failure case).

	* tests/check/gnet/gnetinetaddr.c: (gnetinetaddr_suite):
	  Add dumb unit test for reverse lookup cancellation.

2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Check if valgrind.h is available, so we can use it in
	  unit tests to check if we're running under valgrind
	  (and wait for threads to finish etc.).

2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gnetcheck.c:
	  Don't leak function string array when using GNET_CHECKS.

2007-10-23  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* tests/check/Makefile.am:
	* tests/check/gnet/gnetconnhttp.c:
	* tests/check/gnet/gnettcpsocket.c:
	  Fix --disable-network-tests configure option.

2007-10-23  Tim-Philipp Müller  <tim at centricular dot net>

	* src/inetaddr.c:
	  Remove some now-unused structure members (of privat structure).

2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* src/gnet.c:
	* src/inetaddr.c:
	* configure.ac:
	  Remove fork()-and-pipe-based fallback for asynchronous DNS lookups,
	  which was used when GLib has been compiled without support for
	  threading, ie. G_THREADS_ENABLED was not defined.  This code is
	  unused in practice, pointless and I simply don't want to maintain it.
	  Also, it's 2007.  Besides, getting rid of this cruft might make it
	  a bit easier for someone to implement a non-thread async dns variant.
	  Lastly, fixes some cases where we didn't lock or free mutexes because
	  we checked against a non-existant G_THREADS_ENABLES define.

2007-10-17  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.h:
	* src/inetaddr.c:
	  Do refcounting of GInetAddr structures atomically. Not that
	  that is particularly useful given how the API isn't thread-safe,
	  but it can't hurt either.

2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gnetcheck.c:
	* tests/check/gnetcheck.h:
	  Support running only specific checks of a unit test
	  via the GNET_CHECKS environment variable (specify
	  test case function names, comma-separated).

2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* src/conn-http.c:
	  Fix parsing of POST method response if the server returns
	  optional headers after the initial 100-Continue response.
	  Should fix #459895.

	* tests/check/gnet/gnetconnhttp.c:
	  Add unit test for the above.

2007-08-12  Tim-Philipp Müller  <tim at centricular dot net>

	* MAINTAINERS:
	  Obscure e-mail addresses with spaces only, as suggested on
	  desktop-devel.

2007-08-09  Tim-Philipp Müller  <tim at centricular dot net>

	* MAINTAINERS:
	  Format maintainers file as requested by the sysadmins on
	  the gnome devel-announce mailing list.

2007-08-08  Tim-Philipp Müller  <tim at centricular dot net>

	* examples/xmlrpc/Makefile.am:
	  Don't use absolute path from top_builddir for local target, make
	  isn't smart enough to recognise it's a local target which makes
	  the build fail when using make -j2 or similar.

2007-08-04  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c:
	  Add more info to docs about the implications of gnet_http_get()
	  and gnet_conn_http_run() running a main loop iterating the default
	  GLib main context.

2007-07-29  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* tests/Makefile.am:
	* tests/check/Makefile.am:
	* tests/check/gnet/gnetconnhttp.c:
	* tests/check/gnet/gnetinetaddr.c:
	* tests/check/gnet/gnetipv6.c:
	* tests/check/gnet/gnettcpsocket.c:
	* tests/conn_http_test.c:
	* tests/inetaddr_test.c:
	* tests/ipv6_test.c:
	* tests/tcp_test.c:
	  Move some more tests over to the check unit testing framework.

2007-07-28  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/Makefile.am:
	* tests/base64_test.c:
	* tests/check/Makefile.am:
	* tests/check/gnet/gnetbase64.c:
	* tests/check/gnet/gnethash.c:
	* tests/check/gnet/gnetpack.c:
	* tests/check/gnet/gnetunpack.c:
	* tests/check/gnet/gneturi.c:
	* tests/hash_test.c:
	* tests/pack_test.c:
	* tests/unpack_test.c:
	* tests/uri_test.c:
	  Migrate some of the existing unit tests over to the check unit
	  testing framework (will currently only be run if you do
	  'make check' in tests/check/). While we're at it, fix up packing
	  and unpacking checks for 64-bit platforms.

2007-07-28  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/check/gnetcheck.c:
	* tests/check/gnetcheck.h:
	  Call the internal gnet_check_init() when setting up a unit test,
	  so we intercept criticals and ASSERT_WARNING() in the tests works.

2007-07-27  Tim-Philipp Müller  <tim at centricular dot net>

	* src/pack.c:
	* src/pack.h:
	  Const-ify input buffer arguments to gnet_unpack*().

2007-07-27  Tim-Philipp Müller  <tim at centricular dot net>

	* src/pack.c: (flipmemcpy):
	  Fix broken flipmemcpy() function - it never actually reversed the
	  order! Which noone ever noticed, because it is only used if more
	  than four bytes need reversing, and the only types with a possible
	  size of more than four bytes are void* and double and at least for
	  the latter the endianness modifiers are ignored. Not sure what to
	  do about pointers yet, we should probably just ignore those
	  modifiers for pointers too. Also fix gtk-doc blurb.

2007-07-27  Tim-Philipp Müller  <tim at centricular dot net>

	* src/base64.c: (gnet_base64_encode), (gnet_base64_decode):
	* src/base64.h:
	  Make arguments for input buffers constant; add more guards against
	  invalid arguments.

2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>

	* Makefile.am:
	* configure.ac:
	* macros/Makefile.am:
	* macros/gnet-arch.m4:
	* tests/Makefile.am:
	* tests/check/Makefile.am:
	* tests/check/gnet-valgrind.supp:
	* tests/check/gnet/gnetabi.c:
	* tests/check/gnet/struct_i386.h:
	* tests/check/gnet/struct_ppc64.h:
	* tests/check/gnet/struct_x86_64.h:
	* tests/check/gnetcheck.c:
	* tests/check/gnetcheck.h:
	  Add build infrastructure for unit tests based on libcheck.

2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>

	* autogen.sh:
	  Use '=' instead of '==' to test for equality, dash in gutsy (which
	  seems to be the default shell now) doesn't seem to like '=='.

	* tests/conn_http_test.c:
	  Add cast to fix compiler warnings due to printf format.

2007-06-11  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Samuel Cormier-Iijima <sciyoshi@gmail.com>

	* examples/xmlrpc/xmlrpc-server.c:
	(create_response_string):
	  Printf format fix for 64-bit systems.

2007-04-30  Tim-Philipp Müller  <tim at centricular dot net>

	* TODO:
	  Minor update.

	* src/server.h:
	  Document where to find details of the connecting client in the
	  GServer callback.

2007-03-26  Tim-Philipp Müller  <tim at centricular dot net>

        * doc/gnet-docs.sgml:
	  The pkg-config module name is gnet-2.0, not gnet. Fix docs.

2007-02-23  Dov Grobgeld  <dov.grobgeld@gmail.com>

	* examples/xmlrpc: Added option to split the call and the reply for xmlrpc
	commands through the addition of command gnet_xmlrpc_server_register_async_command(),
	which passes the connection variable but does not return a reply. This is useful
	when the reply may not be given immediately (in terms of mainloop interaction).

2007-02-14  Tim-Philipp Müller  <tim at centricular dot net>

        * src/conn-http.c: (gnet_conn_http_reset),
	(gnet_conn_http_free_event):
	  Fix two small memory leaks.

2007-02-07  Tim-Philipp Müller  <tim at centricular dot net>

	* src/unix.c: (gnet_unix_socket_unlink):
	  Make this function static, it's an internal utility function.
	  Also shuffle a few macros around.

2007-02-07  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Zeeshan Ali <zeenix gmail com>

	* AUTHORS:
	* NEWS:
	* configure.ac:
	* doc/gnet-sections.txt:
	* doc/tmpl/unix.sgml:
	* examples/echoclient-unix.c:
	* examples/echoserver-unix.c:
	* src/unix.c: (gnet_sun_len), (gnet_unix_socket_new_internal),
	(gnet_unix_socket_new),	(gnet_unix_socket_new_abstract),
	(gnet_unix_socket_unref), (gnet_unix_socket_server_new_internal),
	(gnet_unix_socket_server_new), (gnet_unix_socket_server_new_abstract):
	* src/unix.h:
	* tests/client_server_test.pl:
	  API: gnet_unix_socket_new_abstract()
	  API: gnet_unix_socket_server_new_abstract()
	  Add support for abstract unix sockets. If not supported on the
	  platform used, the new functions will try to create normal unix
	  sockets. (#404583)

2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>

        * doc/tmpl/base64.sgml:
        * doc/tmpl/conn-http.sgml:
        * doc/tmpl/conn.sgml:
        * doc/tmpl/gnet.sgml:
        * doc/tmpl/inetaddr.sgml:
        * doc/tmpl/iochannel.sgml:
        * doc/tmpl/ipv6.sgml:
        * doc/tmpl/mcast.sgml:
        * doc/tmpl/md5.sgml:
        * doc/tmpl/pack.sgml:
        * doc/tmpl/server.sgml:
        * doc/tmpl/sha.sgml:
        * doc/tmpl/socks.sgml:
        * doc/tmpl/tcp.sgml:
        * doc/tmpl/udp.sgml:
        * doc/tmpl/unix.sgml:
        * doc/tmpl/uri.sgml:
	  Update.

2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>

	Based on patch by: Zeeshan Ali  <zeenix at gmail.com>

	* NEWS:
	* src/unix.c: (gnet_unix_socket_new), (gnet_unix_socket_server_new):
	  Pass SUN_LEN (struct sockaddr_un) as size parameter to bind() and
	  connect() rather than just sizeof (struct sockaddr_un); apparently
	  this matters in some environments (yay for great APIs; also yay for
	  wrong man pages). Fixes #403197.
	  Also do a bunch of small clean-ups, and don't leak memory/sockets
	  in some failure cases.

2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>

	* examples/echoclient-unix.c: (main):
	  Don't print a welcome message to stdout, it confuses the
	  automatic testing script.

	* tests/client_server_test.pl:
	  Test unix socket server/client as well.

2007-01-04  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Jeff Garzik <jeff at garzik org>

	* src/conn.c:
	(gnet_conn_unref):
	* src/inetaddr.c:
	(gnet_inetaddr_unref):
	(gnet_inetaddr_get_name_async_cb):
	* src/md5.c:
	(gnet_md5_delete):
	* src/sha.c:
	(gnet_sha_delete):
	* src/tcp.c:
	(gnet_tcp_socket_connect_async_cancel):
	* src/uri.c:
	(gnet_uri_set_scheme):
	(gnet_uri_set_userinfo):
	(gnet_uri_set_hostname):
	(gnet_uri_set_path):
	(gnet_uri_set_query):
	(gnet_uri_set_fragment):
	  Eliminate unnecessary non-NULL checks in front of g_free().
	  g_free() handles NULL just fine and will do nothing in that case.

	* tests/conn_http_test.c:
	(test_simple_get):
	  Fix typo.

2006-12-10  Tim-Philipp Müller  <tim at centricular dot net>

	* examples/xmlrpc/xmlrpc-client.c: (gnet_xmlrpc_client_call),
	(build_xmlrpc_message):
	  Use gsize where appropriate; add cast from gsize to correct printf
	  format. Patch by Jeff Garzik <jeff at garzik org>.

2006-10-30  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_conn_connected),
	(gnet_conn_http_conn_recv_response),
	(gnet_conn_http_conn_recv_headers),
	(gnet_conn_http_conn_recv_chunk_body),
	(gnet_conn_http_conn_recv_nonchunked_data),
	(gnet_conn_http_conn_cb):
	  Fix behaviour when the server closes the connection (this is not
	  automatically an error). Fix retrieval of non-text data in
	  non-chunked mode (we would use _readline() for non-chunked mode,
	  but this might cause data at the end of the file to be lost if
	  the file is random binary data).

2006-10-30  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_conn_recv_chunk_body),
	(gnet_conn_http_conn_recv_nonchunked_data):
	  Don't forget to set the buffer_length member in our
	  GConnHttpEventData structure when emitting a PARTIAL_DATA
	  event.

	* tests/conn_http_test.c: (http_async_callback):
	  Check that GConnHttpEventData members are set for PARTIAL_DATA
	  events.

2006-10-30  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_append_to_buf),
	(gnet_conn_http_new), (gnet_conn_http_set_user_agent):
	  Append comment with GNet version to any custom user agent
	  strings; minor indentation fix in _append_to_buf().

2006-10-30  Tim-Philipp Müller  <tim at centricular dot net>

	Based on patch by: Samuel Cormier-Iijima  <sciyoshi@gmail.com>

	* NEWS:
	* doc/gnet-sections.txt:
	* src/conn-http.c: (gnet_conn_http_set_uri_internal),
	(gnet_conn_http_set_uri), (gnet_conn_http_set_escaped_uri):
	* src/conn-http.h:
	  API: added gnet_conn_http_set_escaped_uri().

2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>

	* src/base64.c: (gnet_base64_encode), (gnet_base64_decode):
	  Add guards for NULL input. A 0-length input to gnet_base64_encode()
	  should return an empty string and not NULL. In the case of
	  gnet_base64_decode(), use strlen(src) for all non-positive values
	  of srclen and not just 0, since glib usually uses -1 for this
	  (0-sized input should really just have returned a 0-sized output
	  buffer, but we can't change that now for backwards compatibility
	  reasons).

2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>

	* README:
	  Update (no more glib-1.2).

2006-09-13  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/.cvsignore:
	* tests/Makefile.am:
	* tests/tcp_test.c:
	  Add unit test for bug #305854.

	* examples/sdr.c: (main):
	  Add some refs/unrefs to test the derived nature of GMcastSocket and
	  the run-time 'type checks'.

2006-09-13  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.h:
	* src/inetaddr.c: (gnet_inetaddr_new_async):
	* src/tcp.c: (gnet_tcp_socket_connect_async),
	(gnet_tcp_socket_connect_inetaddr_cb):
	  Move more private and only locally used structs into the
	  appropriate .c files; make some internal functions static;
	  use proper AsyncID types for such IDs; don't leak mutex. 

2006-09-13  Tim-Philipp Müller  <tim at centricular dot net>

	* AUTHORS:
	* MAINTAINERS:
	* Makefile.am:
	  Add maintainers file, update/utf8-ise/reformat authors file.

2006-09-13  Tim-Philipp Müller  <tim at centricular dot net>

	* src/tcp.c: (gnet_tcp_socket_connect_async_cancel):
	  We used gnet_inetaddr_new_list_async(), so we also need to call
	  gnet_inetaddr_new_list_async_cancel() to cancel it, and not
	  gnet_inetaddr_new_async_cancel(). Would cause invalid memory access,
	  double frees and other weird things when cancelling an asynchronous
	  TCP connect before the dns lookup has finished. Fixes #305854.

	* src/gnet-private.h:
	* src/inetaddr.h:
	* src/tcp.h:
	  The compiler can help us with stuff like this. Let's let it.

2006-09-12  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.h:
	* src/mcast.c: (gnet_mcast_socket_new_full),
	(gnet_mcast_socket_delete), (gnet_mcast_socket_ref),
	(gnet_mcast_socket_unref), (gnet_mcast_socket_get_io_channel),
	(gnet_mcast_socket_get_local_inetaddr),
	(gnet_mcast_socket_join_group), (gnet_mcast_socket_leave_group),
	(gnet_mcast_socket_get_ttl), (gnet_mcast_socket_set_ttl),
	(gnet_mcast_socket_is_loopback), (gnet_mcast_socket_set_loopback):
	* src/mcast.h:
	* src/udp.c:
	  Move GUdpSocket structure back into gnet-private.h and make
	  GMcastSocket derive from it explicitly and properly. More and
	  better guards for input to public gnet_mcast_*() functions.

2006-09-12  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.h:
	* src/unix.c:
	  Move another private structure that is only used locally
	  to where it belongs.

2006-09-11  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Require at least GLib-2.6. Give more extensive error message if
	  GLib development files are not found.

	* src/gnet-private.h:
	* src/udp.c: (gnet_udp_socket_new_full), (gnet_udp_socket_delete),
	(gnet_udp_socket_ref), (gnet_udp_socket_unref),
	(gnet_udp_socket_get_io_channel),
	(gnet_udp_socket_get_local_inetaddr), (gnet_udp_socket_send),
	(gnet_udp_socket_receive), (gnet_udp_socket_has_packet),
	(gnet_udp_socket_get_ttl), (gnet_udp_socket_set_ttl):
	  Move private struct over to where it belongs (udp.c); guard all
	  public functions properly against bad input; try harder to guard
	  against bad input by adding a type cookie to the beginning of
	  our struct; do refcounting atomically for GUdpSocket.

2006-09-11  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.c: (gnet_private_io_channel_new):
	  No need to special-case for GLib-2.0 any more, since we don't
	  support 1.2 any longer.
	  
2006-09-11  Tim-Philipp Müller  <tim at centricular dot net>

	* src/uri.c: (gnet_uri_new), (gnet_uri_get_string):
	* tests/uri_test.c: (main):
	  Add support for absolute file:// URIs and add two simple test cases.
	  Not entirely convinced about the required fix to _get_string(), but
	  it doesn't seem to break any of the tests, so it can't be too bad
	  even if it's not entirely correct. Fixes bug #317456. Based
	  on patch by Milosz Derezynski <internalerror at gmail com>

2006-09-10  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Dov Grobgeld <dov dot grobgeld at gmail dot com>

	* configure.ac:
	* examples/Makefile.am:
	* examples/xmlrpc/.cvsignore:
	* examples/xmlrpc/Makefile.am:
	* examples/xmlrpc/README:
	* examples/xmlrpc/test-xmlrpc-client.c:
	* examples/xmlrpc/test-xmlrpc-server.c:
	* examples/xmlrpc/xmlrpc-client.c:
	* examples/xmlrpc/xmlrpc-server.c:
	* examples/xmlrpc/xmlrpc.h:
	  Add Dov Grobgeld's XMLRPC code to the examples for posteriority.

2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>

	Patch by: Thadeu Lima de Souza Cascardo <cascardo at minaslivre org>

	* src/inetaddr.c: (gnet_gethostbyname), (gnet_inetaddr_new),
	(gnet_inetaddr_new_list), (gnet_inetaddr_new_list_async),
	(inetaddr_new_list_async_nonblock_dispatch),
	(inetaddr_new_list_async_gthread):
	  Check whether the given hostname can be resolved without
	  blocking before creating a thread or forking to do the
	  lookup. Avoids unnecessary overhead in some cases (#353727).

	* tests/unpack_test.c: (main):
	  Add cast for unsigned integers to avoid compiler warnings here.

2006-08-12  Tim-Philipp Müller  <tim at centricular dot net>

	* RELEASE:
	  Add note to check for ss_family usage before release.

	* src/inetaddr.c: (hostent2ialist),
	(gnet_inetaddr_new_list_async_cb):
	  Don't access the ss_family field directly, use the
	  GNET_SOCKADDR_FAMILY() accessor macro instead in
	  order to keep tings compiling on older systems.
	  Patch by: Mark Drago <mdrago at bascom com>

2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>

	* autogen.sh:
	  Find newer automake/autoconf versions and use those if
	  available.

2006-05-24  Benjamin Otte  <in7y118@public.uni-hamburg.de>

	* src/gnet-private.h:
	  add lost stuff for !win32 from previous patch
	* tests/conn_http_test.c: (main):
	  remove windows-specific debugging stuff
	* tests/unpack_test.c: (main):
	  fix "comparison always true due to limited range of data type"
	  warning

2006-05-24  Benjamin Otte  <otte@gnome.org>

	* src/gnet-private.c: (DllMain):
	* src/gnet-private.h:
	* src/gnet.c: (gnet_init):
	* src/inetaddr.c: (inet_pton), (inet_ntop), (gnet_gethostbyname),
	(gnet_gethostbyaddr), (inetaddr_new_list_async_gthread),
	(gnet_inetaddr_get_canonical_name), (gnet_inetaddr_get_host_name):
	* src/inetaddr.h:
	* src/mcast.c: (gnet_mcast_socket_is_loopback),
	(gnet_mcast_socket_set_loopback):
	* src/tcp.c: (gnet_tcp_socket_new_async_direct),
	(gnet_tcp_socket_new_async_cb), (gnet_tcp_socket_new_async_cancel):
	* tests/conn_http_test.c: (main):
	  apply patch from bug #147392 - it removes a lot of not-needed
	  special cases for the Windows backend
	* src/gnet-private.c: (gnet_private_create_ipv4_listen_socket),
	(gnet_private_create_ipv6_listen_socket),
	(gnet_private_create_listen_socket)
	* src/gnet-private.h:
	  handle IP version policy correctly when creating listening sockets

2006-05-20  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/gnet-sections.txt:
	  Make #include <gnet.h> show at top of each docs section
	  (fixes #341816).

2006-05-05  Benjamin Otte  <otte@gnome.org>

	various fixes for Windows compilation:
	* src/gnet-private.h:
	  define socklen_t only if it's not defined in config.h
	* src/gnet.c:
	  do not compile ipv6_detect_envvar and ipv6_detect_iface on Windows
	* src/inetaddr.c:
	  inet_ntop is unused on windows
	* src/mcast.c: (gnet_mcast_socket_is_loopback),
	(gnet_mcast_socket_set_loopback):
	  cast [gs]etsockopt pointers to avoid warnings

2006-05-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>

	* src/conn-http.c: (gnet_conn_http_set_uri),
	(gnet_conn_http_delete_internal):
	* src/conn.c:
	  Deperecated gnet_conn_delete in favour of gnet_conn_unref.

2006-05-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn.c: (async_cb):
	  Don't send an error on HUP (fixes bug #340747)

2006-03-17  Tim-Philipp Müller  <tim at centricular dot net>

	* examples/echoserver-unix.c: (main):
	  No need to re-invent g_strdup(), but if someone does
	  he better allocate enough space for the terminating NUL.

2005-12-10  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/tmpl/conn-http.sgml:
	  Mention the need to define GNET_EXPERIMENTAL before
	  including gnet headers in the docs.

2005-11-30  Benjamin Lee  <benjamin dot lee at realthought dot net>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* examples/echoserver-async.c: (async_client_iofunc):
	  Check for G_IO_OUT before checking for G_IO_IN, so that we
	  don't forget to send out the last chunk of bytes if we get
	  notified of a disconnect via G_IO_IN.

2005-11-16  Tim-Philipp Müller  <tim at centricular dot net>

	* src/base64.c:
	* src/md5.c:
	* src/sha.c:
	  const-ify some more arrays; fix potential signedness issue
	  in the md5/sha digest stringification code.

2005-11-16  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	  Update
	  
	* src/base64.c:
	  Make table constant

2005-11-16  Tim-Philipp Müller  <tim at centricular dot net>

	* src/gnet-private.h:
	* src/inetaddr.c: (gnet_inetaddr_new_async),
	(inetaddr_new_async_cb):
	  Fix race condition in async DNS resolution code:
	  inetaddr_new_async_cb() might be called before
	  gnet_inetaddr_new_async() gets around to setting 
	  state->func and state->data (based on patch by
	  steve_morris@arcadyan.com).

2005-11-16  Tim-Philipp Müller  <tim at centricular dot net>

	* src/uri.c: (field_escape):
	  Fix URI escaping for characters from 0x80-0xff.

2005-11-15  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* configure.ac:
	* doc/gnet-sections.txt:
	* gnet.def:
	  Update for API addition.

2005-11-15  Jeff Garzik  <jgarzik@pobox.com>

	* src/conn.c: (conn_write_free), (gnet_conn_disconnect),
	(gnet_conn_write_direct), (gnet_conn_write), (conn_write_async_cb):
	* src/conn.h:
	  Add gnet_conn_write_direct(), to allow the caller to
	  control the write buffer.

2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>

	* src/pack.h:
	* src/scheduler.h:
	  Add extern "C" bits for c++ compiler.

2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* src/gnet-private.h:
	  Check if system provides socklen_t; if not
	  define it to be size_t or int as required.
	  
	* gnetconfig.h.win32:
	  Bump version numbers to 2.0.8

2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>

	* examples/echoclient-unix.c:
	* examples/echoserver-unix.c:
	  Relicense these to LGPL as well (I missed Marks approval,
	  see below, same message).

	* NEWS:
	  update

2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>

	* examples/dnslookup.c:
	* examples/echoclient-async.c:
	* examples/echoclient-gconn.c:
	* examples/echoclient-udp.c:
	* examples/echoclient.c:
	* examples/echoserver-async.c:
	* examples/echoserver-gserver.c:
	* examples/echoserver-partyline.c: (ob_sig_int):
	* examples/echoserver-udp.c:
	* examples/echoserver.c:
	* examples/hash.c:
	* examples/hfetch.c:
	* examples/hostinfo.c:
	* examples/sdr.c:
	  Relicense these examples from GPL to LGPL (as approved by the
	  copyright holder, David Helder, on the gnet mailing list,
	  Message ID: <f688e4613fd4e6bd85847dca4a4f60f3@gizmolabs.org>).

2005-09-19  Steve Morris  <steve_morris at arcadyan dot com>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_done):
	  Disable timeout when we have received all data.

2005-09-18  Daniel Gryniewicz  <dang at gentoo dot org>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* examples/echoclient-async.c: (async_client_sin_iofunc),
	(async_client_in_iofunc):
	* examples/echoclient-gconn.c: (ob_in_iofunc):
	* examples/echoclient-unix.c: (normal_echoclient):
	* examples/echoclient.c: (main):
	* examples/echoserver-async.c: (async_client_iofunc):
	* examples/echoserver-unix.c: (normal_echoserver),
	(async_client_iofunc):
	* examples/echoserver.c: (main):
	* examples/hfetch.c: (hfetch):
	* src/conn-http.c: (gnet_conn_http_conn_connected):
	  Fix compilation with -Werror on amd64 (mostly a simple
	  s/guint/gsize/ for the GIOChannel API that was changed
	  the same way in the GLib 1.2 => 2.0 transition).

2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_conn_connected),
	(gnet_conn_http_conn_got_data):
	  Renew timeout when connected and whenever data is 
	  received (makes transfers that take longer than 
	  30 seconds work).

2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>

	* src/md5.c: (gnet_md5_new), (gnet_md5_update):
	* src/sha.c: (gnet_sha_new), (gnet_sha_update):
	* src/tcp.c: (gnet_tcp_socket_new_async_cb):
	* src/udp.c: (gnet_udp_socket_receive):
	  Fix compilation with gcc4 (signedness issues).

2005-07-25  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_reset),
	(gnet_conn_http_conn_parse_response_headers),
	(gnet_conn_http_conn_recv_headers):
	  Fix redirection to new location in connection with
	  a Content-Length of 0, ie. no body to receive (would 
	  just timeout after waiting for the body data before).
	 
	* tests/conn_http_test.c: (test_post):
	  Fix POST test by supplying a developer ID (please
	  do not use this for your own code, get your own ID).

2005-05-31  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/gnet-docs.sgml:
	  The pkg-config module is gnet-2.0 these days, fix docs.

2005-05-03  Tim-Philipp Müller  <tim at centricular dot net>

	* src/usagi_ifaddrs.c: (free_nlmsglist):
	  Fix memory leaks

2005-04-25  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  Update version to 2.0.8 as well
	  
	* RELEASE:
	* configure.ac:
	* debian/.cvsignore:
	* debian/README.Debian:
	* debian/changelog:
	* debian/control.in:
	* debian/dirs:
	* debian/docs:
	* debian/libgnet-dev.preinst:
	* debian/libgnet1.0.README.Debian:
	* debian/libgnet1.0.docs:
	* debian/libgnet1.0.postinst:
	* debian/libgnet1.1.README.Debian:
	* debian/libgnet1.1.docs:
	* debian/libgnet1.1.postinst:
	* debian/libgnet2.0-0.files:
	* debian/rules:
	* debian/rules.in:
	  Update debian build stuff (most taken directly from
	  Takuo Kitame's .diff for the real debian packages)

2005-04-25  Andreas Rottmann  <a.rottmann at gmx dot at>

	Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* configure.ac:
	* doc/gnet-docs.sgml:
	* src/gnet-private.h:
	* src/inetaddr.c: (gnet_inetaddr_new_list_async),
	(inetaddr_new_list_async_gthread),
	(inetaddr_new_list_async_gthread_dispatch),
	(gnet_inetaddr_new_list_async_cancel),
	(gnet_inetaddr_get_name_async),
	(gnet_inetaddr_get_name_async_cancel),
	(inetaddr_get_name_async_gthread_dispatch),
	(inetaddr_get_name_async_gthread):
	  Eliminate direct usage of pthreads on unix
	  systems and use GLib GThreads instead.

2005-04-25  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/base64_test.c: (main):
	* tests/conn_http_test.c: (main):
	* tests/inetaddr_test.c: (main):
	  Tests need to call gnet_init() before using any
	  gnet functions as well.

2005-04-25  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	* src/conn-http.c: (gnet_conn_http_new),
	(gnet_conn_http_emit_event), (gnet_conn_http_done),
	(gnet_conn_http_conn_parse_response_headers),
	(gnet_conn_http_conn_recv_chunk_body),
	(gnet_conn_http_conn_recv_nonchunked_data),
	(gnet_conn_http_conn_cb), (gnet_conn_http_ia_cb),
	(gnet_conn_http_delete_internal), (gnet_conn_http_delete):
	  Make sure the http connection can be deleted from within
	  the user callback. Do not emit _DATA_PARTIAL or _DATA_COMPLETE
	  if we are going to be redirected to a different target anyway.

	* tests/conn_http_test.c: (http_async_callback), (test_get_async),
	(main):
	  Add some test cases for GConnHttp in async mode.

2005-04-25  Tim-Philipp Müller  <tim at centricular dot net>

	* doc/tmpl/conn-http.sgml:
	  Add GNET_CONN_HTTP_ERROR_HOSTNAME_RESOLUTION
	  
	* src/conn-http.c: (gnet_conn_http_new),
	(gnet_conn_http_set_header), (gnet_conn_http_set_user_agent),
	(gnet_conn_http_set_uri), (gnet_conn_http_set_method),
	(gnet_conn_http_conn_cb), (gnet_conn_http_ia_cb),
	(gnet_conn_http_run_async), (gnet_conn_http_run),
	(gnet_conn_http_steal_buffer), (gnet_conn_http_delete),
	(gnet_conn_http_cancel), (gnet_conn_http_set_timeout):
	* src/conn-http.h:
	  Actually do emit an error when we couldn't resolve the
	  hostname; add some pseudo-typesafety by adding a magic
	  cookie to the beginning of the structure and checking
	  that cookie in all public gnet_conn_http_*() functions;
	  add GNET_CONN_HTTP_ERROR_HOSTNAME_RESOLUTION; make sure
	  there are no trailing commas after the last enum value
	  in enumerations (gcc-2.9x does not seem to like that).
	  
2005-04-13  Tim-Philipp Müller  <tim at centricular dot net>

	* acinclude.m4:
	  Added pkg.m4

	* configure.ac:
	  Drop support for GLib-1.2

	* configure.ac:
	* src/gnet-private.h:
	* src/udp.c: (gnet_udp_socket_send):
	  Check for struct sockaddr_storage family member;
	  fixes build on systems that use __ss_family instead
	  of ss_family. Based on patch by Jeremy Denise.

	* NEWS:
	  Update

2005-04-13  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	  Update

	* src/conn-http.h:
	  Get rid of outdated references to GString in inline
	  documentation. gnet_conn_http_steal_buffer() is the 
	  way to take ownership of a HTTP connection's data.

2005-04-13  Tim-Philipp Müller  <tim at centricular dot net>

	* src/conn-http.c: (gnet_conn_http_append_to_buf),
	(gnet_conn_http_reset), (gnet_conn_http_new),
	(gnet_conn_http_steal_buffer):
	  Fix major memory leak in _steal_buffer(); avoid
	  making an unnecessary copy in _steal_buffer(): 
	  always allocate one more byte than required, so we
	  always have space for a terminating NUL.
	
	* tests/conn_http_test.c: (test_simple_get):
	  Add missing g_free(buf) so we can use the test
	  to check for memory leaks.

2005-03-10  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac
	  Set to 2.0.8
	  
	* NEWS:
	* src/gnet.c: (gnet_init):
	  Return if gnet_init() has been called before,
	  making sure that gnet_init() can safely be called
	  multiple times. This is useful for example for
	  libraries depending on GNet that want to call
	  gnet_init() from their own init function instead
	  of depending on it being called from the application.

2005-02-23  Tim-Philipp Müller  <tim at centricular dot net>

	* NEWS:
	  Update for 2.0.7

2005-02-20  Tim-Philipp Müller  <tim at centricular dot net>

	* RELEASE:
	  Before release, check whether the created tarball 
	  really contains the HTML docs.

	* doc/Makefile.am:
	  Fix 'make distcheck' which the previous commit broke
	  (version.xml needs to be copied to built dir apparently)
	  
	* gnet.def:
	  Make DllMain a stdcall (use DllMain@12) to keep GNU ld
	  and gcc from complaining on win32 (patch by Gisle Vanem).

2005-02-19  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	* doc/.cvsignore:
	* doc/Makefile.am:
	* doc/README:
	* doc/gnet-docs.sgml:
	* doc/version.xml.in:
	  Put the version number into the API reference manual
	  banner; update doc README and remove outdated docs 
	  build instructions.

2005-02-19  Tim-Philipp Müller  <tim at centricular dot net>

	* RELEASE:
	  Added some notes on which win32 files need to be changed
	  when new source files and/or new symbols are added.
	  
	* NEWS:
	* configure.ac:
	  Set to 2.0.7
	  
	* gnet.def:
	  Make sure the new gnet_conn_http_* and gnet_http_get symbols
	  are exported in the win32 DLLs (patch by Gisle Vanem)

=== release 2.0.6 ===

2005-02-17  Tim-Philipp Müller  <tim at centricular dot net>

	* Makefile.am:
	  Add --enable-gtk-doc to DISTCHECK_CONFIGURE_FLAGS,
	  fixing 'make distcheck'.

	* NEWS:
	* README:
	  Update for 2.0.6

2005-02-17  Tim-Philipp Müller  <tim at centricular dot net>

	* GNET.DSP:
	* src/makefile.mingw:
	  Add conn-http.[ch] 

	* NEWS:
	  update

2005-02-17  Tim-Philipp Müller  <tim at centricular dot net>

	* examples/dnslookup.c: (main):
	  getopt returns an int, not a char; fixes compilation 
	  under strict conditions. (fixes #167706, patch by 
	  Joseph Sacco)

2005-02-07  Tim-Philipp Müller  <tim at centricular dot net>

	* configure.ac:
	  When building on win32 using configure/autotools, always
	  define HAVE_IPV6, so that GNET_ADDRLEN is the right
	  size for ipv6 structs and calls to getnameinfo() don't
	  crash on IPV6-enabled systems (gnetconfig.h.win32 where 
	  HAVE_IPV6 is already defined is not used when building 
	  on win32 using the autotools). Fixes #142644

2005-02-04  Tim-Philipp Müller  <tim at centricular dot net>

	* AUTHORS:
	  Fix my e-mail address
	  
	* acinclude.m4:
	* autogen.sh:
	* configure.ac:
	  Use GTK_DOC_CHECK macro
	  
	* doc/Makefile.am:
	  Update gtk-doc build magic
	  
	* doc/gnet-docs.sgml:
	  Fix build issue with some jade versions: add xml header, 
	  change to OASIS/DTD DocBook XML V4.1.2 and fix entities 
	  and comments accordingly; update copyright to include 2005.
	
	* src/mcast.c:
	  Properly quote arguments to HTML tags in inline docs to fix 
	  build issues.

2005-02-01  Tim-Philipp Müller  <tim at centricular dot net>

	* src/base64.c: (gnet_base64_encode):
	* tests/.cvsignore:
	* tests/base64_test.c: (main):
	  Fix base64 encoding bug reported on mailing list
	  (24 Oct 2004) and add test case for it.
	  Also fix gnet_base64_encode() documentation (the 
	  length of the buffer returned DOES include the
	  terminating 0).
	  
	* NEWS:
	  Update
	  
	* tests/.cvsignore:
	  Add conn_http_test binary to list of non-CVS files
	  to ignore

2005-02-01  Tim-Philipp Müller  <tim at centricular dot net>

	* tests/conn_http_test.c: (test_post):
	  Make ConnHttp test compile on GLib versions < 2.4
	  which don't have g_markup_printf_escaped()
	  
Thu Oct  7 21:25:18 2004  David Helder  <dhelder@gizmolabs.org>

	* src/conn-http.h: 
	    Require GNET_EXPERIMENTAL to be defined.
	* tests/conn_http_test.c (GNET_EXPERIMENTAL): 
	    Define GNET_EXPERIMENTAL

	* configure.ac: 
	    Redo pthread checking logic so we actually run
	    a program with pthreads when checking for -pthread.
	    Just checking for linking doesn't work, since gcc
	    will fail *but* exit 0 on -pdoesnotexist.
	    Bug 138692.

	* NEWS: 
	    Updates for Snapshot
	
Mon Sep 27 20:26:51 2004  David Helder  <dhelder@gizmolabs.org>

	* examples/echoclient-async.c (async_client_sin_iofunc): 
	    Don't unref iochannel.  gnet_tcp_socket_delete() will
	    do this.  Bug 118149.

Sun Sep 26 22:13:02 2004  David Helder  <dhelder@gizmolabs.org>

	* src/gnet.c (gnet_init): 
	    Respect HAVE_IPV6 #define in Windows code too.  Patch from
	    David Ergo (david.ergo@alterface.com).

Sun Sep 26 22:02:00 2004  David Helder  <dhelder@gizmolabs.org>

	Apply patch from Stephane Rouleau (srouleau@innobec.com).

	Win32: Don't rely on DllMain() to be called on for init
	  and uninit.  Instead init in gnet_init() and uninit
	  on exit.
	
	* src/gnet-private.h: 
	   Add gnet_{un}initialize_windows_sockets()

	* src/gnet-private.c (gnet_initialize_windows_sockets): 
	   Move init code here.
	* src/gnet-private.c (gnet_uninitialize_windows_sockets): 
	   Move uninit code here.
	
	* src/gnet.c (gnet_init): 
	   Call gnet_initialize_windows_sockets()
	* src/gnet.c (gnet_win32_at_exit): 
	   Call gnet_uninitialize_windows_sockets()

Wed May 19 22:20:54 2004  David Helder  <dhelder@gizmolabs.org>

	* src/conn-http.c: Apply Tim's second patch.

Wed May 19 21:58:46 2004  David Helder  <dhelder@gizmolabs.org>

	* *http*: Apply Tim Müller's first HTTP Conn patch.

Wed May 19 21:38:38 2004  David Helder  <dhelder@gizmolabs.org>

	* src/gnet-private.h: Add Win32 and Unix macros for
	    GNET_IS_SOCKET_VALID.  0 is an invalid socket in 
	    Windows.  -1 is invalid in Unix (I check for < 0
	    to be safe).  Suggested by K. Haley.
	* src/*.c: Use GNET_IS_SOCKET_VALID

Wed May 19 21:20:37 2004  David Helder  <dhelder@gizmolabs.org>

	* {tests,examples}/Makefile.am (noinst_PROGRAMS): 
	   Add Windows-only rules.  
	   From K. Haley <haleykd@users.sourceforge.net>

Sun Mar 21 18:04:50 2004  Andrew Lanoix <alanoix@umich.edu>

	*src/gnet-private.c(DllMain): If RegisterClassEx() fails, check to see if
		class was already registered. Uncomment DestroyWindow().
		Found by: Tommy Chang <tchang@cme.nist.gov>

Mon Mar  1 19:07:26 2004  David Helder  <dhelder@gizmolabs.org>

	* *: Prepare 2.0.5

Sun Feb 15 2004 Tomasz K³oczko <kloczek@pld.org.pl>

	* gnet-2.0.m4: added missing [] quotation first parameter of
		AC_DEFUN(). This fix is for aclocal from automake 1.8.x and
		is backward compatible with older auto tools.

Sat Jan 17 2004 Andrew Lanoix <alanoix@umich.edu>

	*src/tcp.c(gnet_tcp_socket_new_async_direct(): 
		Watch on GNET_ANY_IO_CONDITION like UNIX.
		Reported to us by Tim Müller.
	*src/conn.c: Do not do and a g_io_add_watch() if watch_flags 
		is NULL in REMOVE_WATCH macro.
		Found by Andreas Rottmann <a.rottmann@gmx.at>

Sun Jan  4 2004 Andrew Lanoix <alanoix@umich.edu>

	* README.win32: Update for GNet 2.0

Sun Dec 28 2003 Andrew Lanoix <alanoix@umich.edu>

	*src/tcp.c: typecasting cleanup
	*src/conn.c: " + include string.h for g_memmove/memmove
	*src/gnet-private.c: Make sockfd of type SOCKET
	*src/gnet-private.h: " + delete _SocketWatchAsyncState struct
	*src/upd.c" "

Sat Dec 27 2003 Andrew Lanoix <alanoix@umich.edu>

	*src/tcp.c(gnet_tcp_socket_server_new_full): Set socket
	  as reusable and non-blocking on Windows as well.
	*src/gnet-private.h: Have gnet_private_create_listen_socket
	  return SOCKET not int to make VC happy.
	*src/gnet-private.c(gnet_private_create_listen_socket): On
	  Windows use getaddrinfo() in IPv6 case for a simple memset
	  does not work for bind() fails.
	
Tue Dec  9 21:10:46 2003  David Helder  <dhelder@gizmolabs.org>

	* src/inetaddr.c: Check return value of inet_pton 
	    with > 0 for success.  Negative values can indicate
	    error.  FreeBSD and OpenBSD return 1 on success, but
	    Linux return a "postive number" (so don't do == 1).
	* src/gnet-private.h: Fix comment typos.
	    (Thanks Michael Alger)

	* TODO: Update note on readv(). (Thanks Stephane LOEUILLET)

	* src/gnet-private.c: Apply Tim Müller's patch to use
	    gsize.  Fixes warnings.

Mon Dec 8 2003 Andrew Lanoix <alanoix@umich.edu>

	* src/gnet-private.c(gnet_private_create_listen_socket):
		Declare sockfd as type SOCKET to make compiler happy.
		On Unix, SOCKET is defined as an int. 
	* src/inetaddr.c(gnet_inetaddr_get_interface_to): "
	* src/*: Get rid of hostent mutex since one hostent per thread
		on Windows according to MSDN.
	* src/gnet-private.h: Delete hostent mutex releated code and add
		new changes for IPv6 for the below functions.
	* src/inetaddr.c: Include process.h, 
		Add support for IPv6 on Windows for the following functions 
		and update related docs about them.
			gnet_inetaddr_new_list_async()
			gnet_inetaddr_new_list_async_cancel()
			gnet_inetaddr_get_name_async()
			gnet_inetaddr_get_name_async_cancel()
	* src/inetaddr.c(gnet_inetaddr_list_interfaces): Update
		note so that 10 interface limit only applies to IPv4
		only systems on Windows, not IPv6 systems.
	* doc/tmpl/ipv6.sgml: Document how IPv6 policy is set on Windows.

Tue Oct 28 19:02:40 2003  David Helder  <dhelder@gizmolabs.org>

	* src/inetaddr.c (inetaddr_get_name_async_pthread): On
	   failure, call gnet_inetaddr_get_canonical_name().
	   Before we did a g_snprintf(), which only worked for
	   IPv6.

	* src/conn.c (gnet_conn_set_watch_error): Fix doc.

Sun Oct  5 20:53:09 2003  David Helder  <dhelder@umich.edu>

	* README (Features): Added Workrave

Sun Oct  5 14:29:03 2003  David Helder  <dhelder@umich.edu>

	* README (Features): Added Mail Notify, Sussen.  Remove Gabber,
	   Ximian Red Carpet

Sat Oct 4 2003 Andrew Lanoix <alanoix@umich.edu>

	* src/gnet-private.h: Define SOCKET as guint for non-windows platforms,
		Add Name-mangled versions of needed IPv6 structs for Mingw & VC,
		Add typedefs of necessary IPv6 func pointers,
		Define IN6_ARE_ADDR_EQUAL for Windows.
	* src/gnet.c (gnet_win32_at_exit): Add
	* src/gnet.c (gnet_init): Query OS for IPv6 support on Windows and set
		necessary func pointers at runtime.
	* gnetconfig.h: Define HAVE_IPV6 for Win32 version, check at runtime
		on Windows.
	* src/inetaddr.c (gnet_gethostbyname): Updated for IPv6 on Windows
	* src/inetaddr.c (gnet_gethostbyaddr): "
	* src/inetaddr.c (gnet_inetaddr_get_canonical_name): "
	* src/inetaddr.c (gnet_inetaddr_list_interfaces): "

	TODO: Fix up gnet_inetaddr_new_list_async() and gnet_inetaddr_get_name_async()
	so they work like their pthread equivalents. The current Windows 
	implementation using a hidden window can not be upgraded to IPv6 since the
	underlying functions it relies upon are not IPv6 compliant -- that is: 
	WSAAsyncGetHostByName() and WSAAsyncGetHostByAddr().


Sun Aug 24 20:52:52 2003  Andrew Lanoix <alanoix@umich.edu>

	* examples/echoserver-partyline.c: Added

2003-08-22  Tor Lillqvist  <tml@iki.fi>

	* acinclude.m4: New file. Dummy definition of AM_PATH_GLIB to fool
	aclocal on systems without GLib 1.2.

	* configure.ac: Check for Win32, set automake variable
	OS_WIN32. Call AC_LIBTOOL_WIN32. Define AM_PATH_GLIB if undefined
	(calling AC_MSG_ERROR). Disable static library build on Windows.

	* src/Makefile.am: On Win32, use -no-undefined and link with
	-lws2_32.

	* src/gnet-private.c: Mark variables used only here as static. Add
	prototypes, because of the -Wmissing-prototypes and -Werror.

	* src/gnet-private.h: Remove variables marked as static to
	gnet-private.c above.

	* src/unix.c: Bypass on Win32.

	* src/tcp.c (gnet_tcp_socket_new_async_direct): [Win32 version]
	Must watch for G_IO_OUT to catch connect() connecting.

Sun Aug 10 21:14:20 2003  David Helder  <dhelder@umich.edu>

	* src/uri.c (field_escape): Mask top 4 bytes before
	   shifting.  Fixes escaping high Latin-1 bug reported
	   by Emmanuel Saracco.
	* tests/uri_test.c (escape_tests): Added test case for
	   this.

	* tests/Makefile.am (CLEANFILES): Delete diff files.
	
	* src/tcp.c (gnet_tcp_socket_new_async_direct): Add
	   GNET_CLOSE_SOCKET()'s before returns if there's an error.  Warn
	   if fcntl() fails. Thanks Hans Petter Jansson!
	
	* src/*.c: Call g_warning() when syscalls that ought not fail,
	   fail: socket(), fcntl(), getsockopt().  (There are probably
	   many that I missed.)

Wed Jul 30 20:24:54 2003  Andrew Lanoix <alanoix@umich.edu>

	* src/gnet-private.c (gnet_MainCallBack): Make PeekMessage()
	    condition of while loop. 
	    Found by Hans Petter Jansson <hpj@ximian.com>.

Mon Jul 28 20:19:34 2003  David Helder  <dhelder@umich.edu>

	* NEWS: Update for 2.0.4

Wed Jul 23 21:32:30 2003  David Helder  <dhelder@umich.edu>

	* gnet-2.0.pc.in: Back out the -R${libdir} fix for Solaris.
	    This breaks other systems.
	   
	* configure.ac: Check sizeof(long), sizeof(void*)
	* tests/unpack_test.c (main): Compile 64 bit tests if long is 64
	    bit.  Use SIZEOF_VOIDP too.

	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): 
	    s/INVALID_SOCKET/-1/.  This #define isn't on Unix.

	* examples/echoclient-async.c (async_client_sin_iofunc): Don't
	   unref async_sin.  (New GNet 2 get_io_channel() semantics).
	   Fixes bug #118149.  Thanks charles.

Mon Jul 21 21:04:25 2003  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_gethostbyname): Solaris gethostbyname_r()
	   returns a struct hostent*, not an int.  Patch from 
	   charles.  Fixes bug #118023.

Wed Jun 11 20:29:44 2003  Andrew Lanoix <alanoix@umich.edu>

	*src/tcp.c (gnet_tcp_socket_server_accept): Pass size of
		sockaddr_storage to accept() to get address of incoming
		conections on win32. Found by Hans Petter Jansson <hpj@ximian.com>
	*src/tcp.c (gnet_tcp_socket_server_accept_nonblock): "
	*src/tcp.c: Fix typecasting to satisfy Visual Studio
		
Sat Jun  6 17:07:19 2003  Andrew Lanoix <alanoix@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): 
		&state->ias->data should be state->ias->data.
	* src/tcp.c (gnet_tcp_socket_new_async_direct)
		Do not call back on a failure in GNet 2.0.
		Both issues found by Hans Petter Jansson <hpj@ximian.com>.

Tue Jun  3 12:11:44 2003  David Helder  <dhelder@umich.edu>

	* AUTHORS: Change my email address


	* tests/unpack_test.c (main): Add 64 bit tests.
	* tests/unpack_test.c (main): Use sizeof's for size.
	* tests/unpack_test.c (main): Use lg*int where we were using
	   ig*int.

	* tests/pack_test.c (test_bytes): Skip the first half
	   of 64-bit answers.  (We store the correct value as
	   32 bits.)

	* src/pack.c (gnet_vpack): Longs should get long off of stack, not
	   int.
	* src/pack.c (gnet_vcalcsize): " (not that it matters for this func.)

	* tests/pack_test.c (main): long tests need buffer sizeof(long).
	   (and use sizeof(unsigned int) for unsigned int tests.
	
Sat May 31 12:47:45.57 2003 Andrew Lanoix <alanoix@umich.edu>

	* src/makefile.mingw: Update for 2.0
	* examples/makefile.mingw: "
	* tests/makefile.mingw: "
	* gnet.def: "

Tue May 20 21:03:15 2003  David Helder  <dhelder@umich.edu>

	* configure.ac: Don't check for -lpthread or -lc_r if
	    -pthread or -pthreads worked.

	* src/inetaddr.c (inet_ntop): Make buf const.

Wed May 14 00:48:22 2003  David Helder  <dhelder@umich.edu>

	* configure.ac: Update version (unreleased)

	* src/tcp.c (gnet_tcp_socket_server_accept): cast to 
	   struct sockaddr (Win32)
	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): " 

Tue May 13 23:54:59 2003  David Helder  <dhelder@umich.edu>

	* src/gnet-private.h (in_addr_t): define for win32. (guint32)

	* src/inetaddr.c (gnet_inetaddr_unref): ref_count--, not
	   ++ (thanks Pierre-Emmanuel Gros).  :-\

Tue May 13 22:31:19 2003  David Helder  <dhelder@umich.edu>

	* NEWS: 2.0.3
	* configure.ac (GNET_BINARY_AGE): "

Tue May 13 14:58:28 2003  David Helder  <dhelder@umich.edu>

	* README: Added Gnome Jabber.

	* src/inetaddr.c (inet_ntop): Copy from src, not dst.

	* src/inetaddr.c (gnet_inetaddr_get_canonical_name): Remove
	    Win32 version (we wrote a inet_ntop for it.)

Tue May 13 01:25:12 2003  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (inet_ntop): Add Win32 inet_pton and inet_aton.

	* src/gnet-private.c (DllMain): Comment out DestroyWindow.  This
	   causes problems.  Andy will take a look at it.

	* src/gnet-private.h: Define IN_LOOPBACKNET if not defined
	   (like in Windows?)

	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Add a &
	   (was bad cast).
	
	* src/inetaddr.c (gnet_inetaddr_new_list_async): s/name/hostname,
	   Fix list code.  Delete list.

	* src/gnet-private.c (gnet_MainCallBack): Use
	   GInetAddrNewListState (a rename)

Sun May 11 22:31:59 2003  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c: Use ias, not ia (Win32).  Clean-up list code.

	* src/gnet-private.h (struct _GUnixSocket): ifdef out
	   for Win32 compile.

Tue May  6 12:27:07 2003  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_gethostbyname): Fix memory leak?
	    Call freeaddrinfo on res if res it set, regardless of
	    there being an error.  I'm not sure if this fixes anything.
	
Tue May  6 11:44:33 2003  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): 
	   Don't delete the addresses in state.  The get deleted
	   when we call cancel.

Tue Apr 29 13:57:43 2003  David Helder  <dhelder@umich.edu>

	* README (Features): Remove GnomeICU

Tue Apr 29 12:23:34 2003  David Helder  <dhelder@umich.edu>

	* configure.ac: Fix AC_INIT version.

Mon Apr 28 12:32:55 2003  David Helder  <dhelder@umich.edu>

	* configure.ac (GNET_BINARY_AGE): version++
	* gnet.pc.in, src/?: Sun compiler patch from Ives Aerts
	* gnet.spec.in: Fixes from Bas Mevissen

Mon Apr 21 18:22:07 2003  David Helder  <dhelder@umich.edu>

	* configure.ac: Update version for 2.0.1

Thu Apr 17 17:52:20 2003  David Helder  <dhelder@umich.edu>

	* tests/inetaddr_test.c (main): More IPv6 fixes.
	* configure.ac: Check for -pthreads (alternative to -pthread)

Wed Apr 16 15:21:21 2003  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_gethostbyname): Remover sa_inp - not used.
	* src/inetaddr.c (gnet_gethostbyname): "

	* src/gnet-private.h: Fix sockaddr_storage def.

Wed Apr 16 11:52:22 2003  David Helder  <dhelder@umich.edu>

	* src/{inetaddr,mcast,udp, gnet-private, gnet}.c: Use HAVE_IPV6
	* examples/inetaddr_test.c: "
	* configure.ac (HAVE_IPV6): Added check for.

Tue Apr 15 13:37:38 2003  David Helder  <dhelder@umich.edu>

	* src/gnet-private.h: define sockaddr_storage if not defined.
	* configure.ac: Check for sockaddr_storage

Tue Apr 15 11:07:52 2003  David Helder  <dhelder@umich.edu>

	* src/gnet.c (ipv6_detect_envvar): s/index/strchr/

Sun Apr 13 17:50:23 2003  David Helder  <dhelder@umich.edu>

	* doc/Makefile.am (maintainer-clean-local): Fix clean rule.

Sun Apr 13 14:09:14 2003  David Helder  <dhelder@umich.edu>

	* doc/gnet-docs.sgml: Update version.

Sat Apr 12 15:24:21 2003  David Helder  <dhelder@umich.edu>

	* *: Various 2.0 renames.
	* tests/client_server_test.pl (test): Add a pause - too
	   fast for BSD.

Wed Mar 19 09:46:12 2003  David Helder  <dhelder@umich.edu>

	* gnet.m4/gnet-1.3.m4: Rename -> gnet-1.3.m4

	* configure.ac: Use AC_CANONICAL_SYSTEM instead of BUILD
	   (BSD fix).

Wed Mar  5 18:58:44 2003  David Helder  <dhelder@umich.edu>
	
	* BUGS,README: Updates

Wed Mar  5 18:47:04 2003  David Helder  <dhelder@umich.edu>

	* gnet.spec.in: Fixes from Jeff Boonggren (closes #107499)

Tue Feb 25 15:19:17 2003  David Helder  <dhelder@umich.edu>

	* src/makefile.mingw: Commited Martyn Russell's patch to use
	   pkg-config.
	
	* src/conn.c (async_cb): Guard conn->func's with
	g_return_val_if_fail().

	* src/conn.c (gnet_conn_new_socket): Don't watch error.

Fri Feb 21 17:52:18 2003  David Helder  <dhelder@umich.edu>

	* *: Release 1.3.2
	
	* src/gnet-private.h: Add macros for setting ss_len based on
	    ss_family.  On linux this is a no-op.
	* src/inetaddr.c (gnet_inetaddr_list_interfaces: GNET_INETADDR_SET_SS_LEN
	* src/inetaddr.c (gnet_inetaddr_set_bytes): 
	* src/inetaddr.c (gnet_inetaddr_new_nonblock): 
	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): 
	* src/inetaddr.c (gnet_gethostbyname): 
	* src/inetaddr.c (hostent2ialist): 
	* src/inetaddr.c (gnet_inetaddr_list_interfaces): 
	* src/inetaddr.c (gnet_inetaddr_list_interfaces):
	* src/udp.c (gnet_udp_socket_send): 
	* src/gnet-private.c (gnet_private_create_listen_socket): 

	* src/inetaddr.c (gnet_inetaddr_get_interface_to): Assign sa,
	don't memcpy.
	* src/inetaddr.c (gnet_inetaddr_list_interfaces): "
	* src/inetaddr.c (gnet_gethostbyname): Set sin_addr, don't memcpy.
	* src/inetaddr.c (gnet_gethostbyname): " sin6_addr
	* src/inetaddr.c (gnet_inetaddr_new_nonblock): "
	* src/udp.c (gnet_udp_socket_receive): 
	* src/gnet-private.c (gnet_private_create_listen_socket): no memcpy
	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): 
	* src/tcp.c (gnet_tcp_socket_server_accept): 
	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): 
	* src/tcp.c (gnet_tcp_socket_server_accept): "
	* src/tcp.c (gnet_tcp_socket_get_local_inetaddr): "
	* src/tcp.c (gnet_tcp_socket_server_new_full): "
	* src/tcp.c (gnet_tcp_socket_get_remote_inetaddr): 
	* src/tcp.c (gnet_tcp_socket_new_async_direct): no memcpy
	* src/tcp.c (gnet_tcp_socket_new_direct): no memcpy
	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
	* src/udp.c (gnet_udp_socket_send): "
	* src/udp.c (gnet_udp_socket_get_local_inetaddr): "
	* src/udp.c (gnet_udp_socket_new_full): "
	* src/mcast.c (gnet_mcast_socket_new_full): no memcopy


	* examples/echoserver-udp.c: Print address of server.

	* src/udp.c (gnet_udp_socket_send): Map IPv4 dst to IPv6 is socket
	    is IPv6 and vice versa.  FreeBSD is less tolerant than Linux
	    about this.  RFC 2553 says to do this anyway.
	
	* src/udp.c (gnet_udp_socket_get_local_inetaddr): Added
	* src/mcast.c (gnet_mcast_socket_get_local_inetaddr): Added

Wed Feb 19 16:55:21 2003  David Helder  <dhelder@umich.edu>

	* Makefile.am (EXTRA_DIST): Distribute tests/testfile

	* gnet.m4: Updated based on GLib 2.2.1's glib-2.0.m4

	* Makefile.am: Install gnet-1.3.pc instead of gnet.pc.  Install
	    gnet.m4 to gnet-1.3.m4.

	* gnet.spec.in: Don't build with --enable-debug=yes.  This enables
	   -Werror and messes up SRPM builds.

	* configure.ac: Check for GLib in this order: 2.2, 2.0, 1.2.
	   Use --enable-glib12 to force GLib 1.2

	* configure.ac: Check for -pthread

	* src/udp.c (gnet_udp_socket_get_ttl): Initialize rv.

	* src/mcast.c (gnet_mcast_socket_leave_group):
	s/IPV6_REMOVE_MEMBERSHIP/IPV6_LEAVE_GROUP/, 
	s/IPV6_ADD_MEMBERSHIP/IPV6_JOIN_GROUP/, 

	* configure.ac: Look for ifaddrs.h
	* src/inetaddr.c: Include ifaddrs.h

	* src/inetaddr.c: Convert s6_addr32 to s6_addr's.  FreeBSD
	   says s6_addr32 is "nonstandard".
	* src/gnet-private.h (GNET_SOCKADDR_ADDR32): Added.

Tue Feb 18 16:53:33 2003  David Helder  <dhelder@umich.edu>

	* src/pack.c: Use gsize for internal functions.
	    buffer length is a gint, not a guint.  We return
	    the number of bytes packed/unpacked, which can be
	    -1.  So the buffer can't be more then a gint.
	* src/udp.c (gnet_udp_socket_receive/send): "
	* src/mcast.c (gnet_mcast_socket_receive/send): "
	* src/iochannel.[ch]: Use gsize instead of guint

Fri Feb 14 16:49:10 2003  David Helder  <dhelder@umich.edu>

	* gnet.pc.in: Link against gnet-MAJOR.MINOR, not plain gnet
	* src/Makefile.am: Build libgnet-1.3
	* configure.ac (LT_CURRENT): Use GLib's macros.  Yoink!
	* src/Makefile.am (libgnet_1_3_la_LDFLAGS): Remove revision
	    from LDFLAGS.

Thu Feb 13 16:24:22 2003  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Delete
	    using new_list_async_cancel, not new_async_cancel.  Bug!

	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Don't
	    delete the ias after callback.  They are callee owned.
	    This fixes a bug.

	* src/inetaddr.c (gnet_inetaddr_new_list_async): Move ialist_free
   	    up.  (shouldn't matter)

	* src/inetaddr.c (gnet_inetaddr_get_name_async_cancel): Remove
	    watch only if set (we can remove it above).
	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Set
	    watch to 0 afer it is removed.  This avoids gettting a
	    warning maybe.

	* src/inetaddr.c (gnet_inetaddr_get_name_async): IPv6-ize fork()
	    version.

	* src/socks.c (gnet_socks_get_version): Make env const.

Wed Feb 12 15:53:44 2003  David Helder  <dhelder@umich.edu>

	* tests/dns_test.pl: Add.
	* configure.ac: Add dns_test.pl to NETWORK_TESTS
	* Makefile.am (EXTRA_DIST): "

	* src/inetaddr.c (inetaddr_new_async_cb): ialist condition
	    backwards.

	* src/gnet-private.h (_GInetAddrNewListState ): Add in_callback
	    flag to GInetAddrNewListState-pthread.
	* src/inetaddr.c (gnet_inetaddr_new_list_async_cancel): Add
	   in_callback to guard against calling in callback.
	* src/inetaddr.c (inetaddr_new_list_async_pthread_dispatch): Set
	   in_callback.

	* examples/dnslookup.c (list_cb): Free the ialist.

	* src/inetaddr.c (gnet_inetaddr_get_name):
	s/assert/return_if_fail/.

	* src/inetaddr.c (gnet_inetaddr_new_async_cancel):
	s/assert/return_if_fail.
	* src/inetaddr.c (inetaddr_new_async_cb): Add return_if_fail.

	* src/inetaddr.c (gnet_inetaddr_new_async): Include state.  Fixes
	    bug.

Tue Feb 11 16:14:31 2003  David Helder  <dhelder@umich.edu>

	* *: Release 1.3.1

Fri Feb  7 14:00:18 2003  David Helder  <dhelder@umich.edu>

	* README: Added PAN to "Applications that use GNet"

Wed Feb  5 18:29:40 2003  David Helder  <dhelder@umich.edu>

	* examples/echoserver-gserver.c (ob_server_func): Watch
	    for error.
	* examples/echoclient-gconn.c (main): "

	* src/conn.c (conn_connect_cb): Add watch if flags set
	* src/conn.c (conn_new_cb): "

	* src/conn.c (gnet_conn_set_watch_writable): Don't do
	    source add if not connected yet.

	* src/conn.c (gnet_conn_set_watch_error): Added.

	* src/conn.c (gnet_conn_timeout): return_if_fail(conn->func)
	   only if a timer is being set.

Wed Feb  5 12:26:29 2003  David Helder  <dhelder@umich.edu>

	* src/base64.c: Patch from fredo
	* tests/base64_test.c: Test from fredo.

Tue Feb  4 20:05:23 2003  David Helder  <dhelder@umich.edu>

	* tests/Makefile.am (ipv6_test_SOURCES): Fix ipv6_test_SOURCES
	   rule.
	
Tue Feb  4 19:48:35 2003  David Helder  <dhelder@umich.edu>

	* doc/Makefile.am (dist-hook): Don't require gtk-doc to make
	   dist.  Otherwise we need to write our own custom dist
	   rule in the main Makefile.

	* tests/Makefile.am: Add $(NETWORK_TESTS)
	* configure.ac: Add --enable-network-tests flag
	* autogen.sh: network tests enabled by default via autogen.sh

	* src/conn.c: Add asserts for conn->func on functions
	    that use callbacks.

	* examples/hostinfo.c (main): Autodetect interface check.

	* src/inetaddr.c (gnet_inetaddr_get_internet_interface): 
	    Use policy.  Do not return a non-internet inteface,
	    when there no internet interface.  (We did this before,
	    but this did not match the docs).

	* src/inetaddr.c (gnet_inetaddr_autodetect_internet_interface): 
	    IPv6-ize.

	* src/gnet-private.h (struct _GUnixSocket): Use sockaddr_un.
	* src/unix.c (gnet_unix_socket_server_new): Add some casts.

Tue Feb  4 15:20:46 2003  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Use INETADDR
	macros.

	* src/gnet-private.h (GNET_INETADDR_ADDRLEN): Added.
	* src/inetaddr.c (gnet_inetaddr_get_length): "
	* src/inetaddr.c (gnet_inetaddr_get_bytes): 
	* src/inetaddr.c (gnet_inetaddr_set_bytes): 

Tue Feb  4 14:37:05 2003  David Helder  <dhelder@umich.edu>

	* src/tcp.[ch] (gnet_tcp_socket_get_remote_inetaddr): Was
	    gnet_tcp_socket_get_inetaddr().  Note if this is called on a
	    server, the local address is created, which is not
	    unreasonable.  This is an undocumented feature.

Mon Feb  3 23:06:59 2003  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_get_local_inetaddr): Added.

	* src/*: param name clean-ups.
	
	* src/unix.c (gnet_unix_socket_unref): Restore old unref code.
	    (Where did it go?!)
	
	* src/uri.c (gnet_uri_equal): Return gboolean.
	* src/inetaddr.c (gnet_inetaddr_equal): "
	* src/inetaddr.c (gnet_inetaddr_noport_equal): "
	* src/sha.c (gnet_sha_equal): "
	* src/sha.c (gnet_md5_equal): "

	* src/inetaddr.c (gnet_inetaddr_new_bytes): 
	    s/guint8*/gchar*/ for bytes arg.

	* src/inetaddr.c: s/ia/inetaddr in args.

	* src/inetaddr.c (gnet_inetaddr_set_port): port is
	    a gint, not a guint.

	* src/inetaddr.c: gnet_inetaddr_gethostname ->
		gnet_inetaddr_get_host_name.  
		gnet_inetaddr_gethostaddr ->
		gnet_inetaddr_get_host_addr.  


Mon Feb  3 20:21:02 2003  David Helder  <dhelder@umich.edu>

	* src/server.c (gnet_server_{ref,unref}): Added

	* src/socks.c (gnet_socks_get_server): Clean-up.

	* src/socks-private.c:
		s/socks_get_version/gnet_socks_get_version/.
	* src/socks.c (gnet_socks_{get/set}_version): Added

	* src/tcp.c: gnet_tcp_socket_server_new becomes
	    gnet_tcp_socket_server_new_with_port, 
	    gnet_tcp_socket_server_new_interface becomes
	    gnet_tcp_socket_server_new_full.
	    gnet_tcp_socket_server_new now takes 0 args.

Mon Feb  3 17:56:55 2003  David Helder  <dhelder@umich.edu>

	* *: More doc work.
	
	* src/mcast.c (gnet_mcast_socket_new_full): Disable loopback by
	   default.

	* src/unix.c (gnet_unix_socket_connect): Removed.  Same
	   as gnet_unix_socket_new.

	* src/inetaddr.c: Remove gnet_inetaddr_new_any().  Not needed with
	   new API for server sockets.

Mon Feb  3 12:55:49 2003  David Helder  <dhelder@umich.edu>

	* configure.ac: Bump version to 1.3.1 (unreleased)

	* examples/*: Remove "Or include <gnet/gnet.h>" comment.
	   This is no longer true.

	* src/iochannel.c: bytes_{read,written} is no longer
	   optional (reverses change from a few days ago).  Added
	   some g_return_val_if_fail's
	
	* *: More doc work.  
	
Wed Jan 29 21:23:57 2003  David Helder  <dhelder@umich.edu>

	* src/md5.[hc]: s/guchar and gint8/gchar/
	* src/sha.[hc]: s/guchar and gint8/gchar/

	* src/socks.c (gnet_socks_get_server): Return the socks
	   server even if socks in disabled.

	* tests, examples: Renames.  Moved dnstest and hostinfo to
	    examples.
	* *: Doc updates.
	
Tue Jan 28 23:17:30 2003  David Helder  <dhelder@umich.edu>

	* *: Doc updates.  Still rough.

Mon Jan 27 15:07:38 2003  David Helder  <dhelder@umich.edu>

	* src/base64.[hc]: Updates from Fredo.

Fri Jan 24 15:33:13 2003  David Helder  <dhelder@umich.edu>

	* src/base64.[hc]: Added.  Contributed by Alfred Reibenschuh
	<alfredreibenschuh@gmx.net>

	* src/iochannel.c (gnet_io_channel_writen): bytes_written is
	    optional.
	* *: More doc work
	
Tue Jan 21 16:51:45 2003  David Helder  <dhelder@umich.edu>

	* src/unix.[hc]: No longer experimental
	* *: Clean-ups for release and docs.
	* *: Release 1.3.0

Tue Jan 21 15:03:49 2003  David Helder  <dhelder@umich.edu>

	* src/uri.c (gnet_uri_get_string): Renamed from
	   gnet_uri_get_nice_string().  The string should be escaped
	   manually if necessary.

Tue Jan 21 14:02:43 2003  David Helder  <dhelder@umich.edu>

	* src/uri.c (gnet_uri_new): Fix reading IPv6 name.  Convert
	   isspace to locale-independent macro.  (Thanks Eric!)

	* src/server.[hc]: The server func no longer has a status
	   argument.  If the conn is NULL, it's an error.  Otherwise,
	   it's good.

	* src/server.c (server_accept_cb): Call gnet_conn_new_socket() to
	   create conn.

	* src/iochannel.[hc]: Remove experimental functions.  These
	   were complex and bug-prone.  Most the functionality is
	   now in conn.

	* src/conn.[hc]: Reworked entire API.

	* src/uri.[hc]: Added escape/unescape code.  Contributed by
	   Eric Williams (ericjw@umich.edu).

Thu Jan  9 18:15:16 2003  David Helder  <dhelder@umich.edu>

	* tests/client_server_test.pl: Remove IPC::Open2.
	    We don't use it anymore.  Perl in /usr/bin.

Thu Jan  9 16:35:36 2003  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_get_iochannel): Removed.  I broke so
	   many interfaces already, why *try* to keep a crappy one?
	* src/udp.c (gnet_udp_socket_get_iochannel): "
	* src/udp.c (gnet_unix_socket_get_iochannel): "

	* src/gnet.c (ipv6_detect_envvar): Make envvar const.

Thu Jan  9 16:24:36 2003  David Helder  <dhelder@umich.edu>

	* tests/pack.c: Fixed output in 2 big-ending pointer packing tests

	* src/tcp.{ch}: Remove status from GTcpSocketNewAsyncFunc.
	    NULL now signifies error (as it did before).
	* src/inetaddr.{ch}: Reomve status from GInetAddrNewAsyncFunc,
	    GInetAddrGetNameAsyncFunc.  NULL now signifies error (as it
	    did before)
	
	* src/{conn.c,socks.c}: Update.
	
	* src/gnet.c (ipv6_detect_iface): Use interface list again.

Thu Jan  9 15:09:16 2003  David Helder  <dhelder@umich.edu>

	* tests/client_server_test.pl, testfile: New echoclient/echoserver tester.

	* examples/echoserver-async.c: Fix bug where we tried to read into
	   a zero length buffer, read 0, and thought it was an EOF.
	* examples/echoclient-{async,gconn}.c: If we get an EOF before
	   we've gotten the lines back, then keep waiting.   This makes
	   automated testing easier - otherwise we quit too soon.
	
	* examples/echoclient,echoserver.c: Break up into more files.

	* src/conn.c: Implement connect timeout.

	* src/tcp.h: Remove inetaddr from GTcpSocketConnectAsyncFunc.
	    The user can get this from the socket.
	* src/tcp.c (gnet_tcp_socket_connect, etc...): Use
	    gnet_inetaddr_new_list().
	* src/gnet-private.h (_GTcpSocketConnectState ): Add in_callback
	    flag to guard deletion.

	* src/inetaddr.c (gnet_gethostbyname): Handle ipv6 policy.

	* src/mcast.c (gnet_mcast_socket_get_io_channel): Added.

	* src/mcast.c (gnet_mcast_socket_{get/set}_ttl): Move
	   from udp.c to here.

	* src/udp.c (gnet_udp_socket_{set/get}_*_ttl): IPv6-ify.
	* src/udp.c (gnet_udp_socket_get_ttl): Interface change:
	   -1 means "kernel default".  < -1 means error.
	* src/udp.c (gnet_udp_socket_get_mcast_ttl): "

	* src/udp.c (gnet_udp_socket_get_ttl): Make ttl an int.
	
	* src/udp.c (gnet_udp_socket_set_ttl): Make ttl an gint.

	* src/gnet.c (gnet_init): Use IPv4 before IPv6.  Check
	GNET_IPV6_POLICY and IPV6_POLICY environment variable.  Create
	sockets to get policy - don't list interfaces.

	* src/gnet-private.c (gnet_private_create_listen_socket): New
	    helper function.  Used in tcp and udp.

	* src/udp.c (gnet_udp_socket_send): Change prototype.  Send to
	dst, not to socket!.
	* src/udp.c (gnet_udp_socket_receive): "
	* src/udp.c: Get rid of GUdpPacket.
	* src/mcast.c: Updates.
	* examples/echoserver-udp.c (normal_echoserver): Update

Wed Jan  1 17:14:54 2003  David Helder  <dhelder@umich.edu>

	* configure.ac: Output clean-ups.

	* configure.ac: Check for Apple Darwin
	* src/gnet-private.h (socklen_t): Define to be 'int'
	    on Apple Darwin.
	
Tue Dec 24 14:28:14 2002  David Helder  <dhelder@umich.edu>

	* src/usagi_ifaddrs.c (usagi_getifaddrs): Compile fix.
	    Add ";"'s to default case.  Some compiler complains
	    about this.  Thanks Murray!

Sat Dec 21 14:35:14 2002  David Helder  <dhelder@umich.edu>

	* tests/unpack.c (main): Fix test 40021.  Was accessing 
	   free'd memory.
	* src/pack.c (gnet_vunpack): Cosmetic touches.

Tue Dec 17 20:25:23 2002  David Helder  <dhelder@umich.edu>

	* src/udp.c (gnet_udp_socket_new_full): Rename.  Was
	  gnet_udp_socket_new_interface() 
	* src/udp.c (gnet_udp_socket_new_with_port): Rename.  Was
	  gnet_udp_socket_port_new()
	* src/udp.c (gnet_udp_packet_new): Rename.  Was
	  gnet_udp_packet_receive_new().
	* src/udp.c (gnet_udp_packet_new_with_address): Rename Was
	  gnet_udp_packet_send_new().
	* examples/echo*-udp.c: Updated.  Need to fix packet API.
	
	* src/tcp.c (gnet_tcp_socket_server_new_interface): Add port
	   argument back.  A NULL iface now means INADDR_ANY or
	   IN6ADDR_ANY_INIT.  Rather than adding two inetaddr constructors
	   for these, we use IPv6 policy to determine which (or whether
	   both) should be tried.
	* src/server.c (gnet_server_new): "
	* examples/echoserver.c (object_echoserver): "
	* src/tcp.c (gnet_tcp_socket_server_new_interface): Use IPv6 policy.

	* src/inetaddr.c (gnet_inetaddr_new_bytes): Added

	* src/inetaddr.c (gnet_inetaddr_get_interface_to): Use family when
	   creating socket.
	* src/tcp.c (gnet_tcp_socket_new_direct): "
	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
	* src/tcp.c (gnet_tcp_socket_server_new_interface): ".  But, use
	   IPv4 by default.  TODO: Fix this and use policy.

	* tests/inetaddr_test.c: Added
	* tests/Makefile.am: "

	* src/inetaddr.c (gnet_inetaddr_is_loopback): Add IPv6 implementation.
	* src/inetaddr.c (gnet_inetaddr_is_multicast): Use in.h IN_MULTICAST macro.
	* src/inetaddr.c (gnet_inetaddr_equal): Use IN6_ARE_ADDR_EQUAL macro.
	* src/inetaddr.c (gnet_inetaddr_is_broadcast): Compare with
	    INADDR_BROADCAST.  There is no broadcast in IPv6 - only multicast.

	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Bug: Set family.

Thu Dec 12 14:03:05 2002  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c: Fix compile warnings.

	* src/{tcp, udp,unix}.h (gnet_*_socket_get_iochannel): Add
	    compatibility functions.  These are depricated.  Note
	    they ref the iochannel before they return it, which is
	    non-intuitive.
	    
Sun Dec  8 21:34:16 2002  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c: New inetaddr_new_list{_async} functions.
	    I patched up the Windows code the best I could, but
	    it probably doesn't compile.
	* tests/dnstest.c: Updated to test list functions.
	
Fri Dec  6 15:57:39 2002  David Helder  <dhelder@umich.edu>

	* *: More IPv6 hacking.  DNS and IPv6 should work.  
	    Todo: connect()/bind(), auto-detection, inetaddr helper
	    funcs
	    Connections have not been tested yet.  IPv6 auto-detection
	    is not done yet.  Inetaddr
	
	* src/inetaddr.c (gnet_gethostbyname): Add getifaddr()
	    version.  Use USAGI's getifaddr() on systems with
	    linux/netlink.h.  We do this because Glibc's getifaddr()
	    does not handle IPv6.
	* configure.ac: Check for linux/netlink.h

	* src/inetaddr.c (gnet_inetaddr_new_async_cb): read()
	   (ideally) will always return positive.  If it's zero,
	   then there's something wrong.  We detect when the
	   read is done and close the socket, so we should not
	   get the other side closing the socket.

	* src/uri.c (gnet_uri_new): Strip whitespace before
	   scheme (before we included it).  Strings of whitespace
	   produce errors.  Strip hostname brackets (this is
	   used for IPv6 canonical names.
	* src/uri.c (gnet_uri_get_nice_string): Add brackets if
	   hostname has :'s in it (it's IPv6 then).

	* src/inetaddr.c (gnet_gethostbyname): Remove "nicename"
	   (FQDN) functionality.  It doesn't work consistently.
	   E.g., www.microsoft.com's h_name is www.microsoft.akadns.com,
	   h_alias[0] is www.microsoft.com.  Really we need to do a
	   reverse DNS lookup for this to work reliably.
	* src/inetaddr.c (gnet_inetaddr_gethostname): Do reverse
	   DNS to get name.

	* src/inetaddr.c (gnet_gethostbyaddr): Add getnameinfo
	   implementation.  Changed prototype to take a sockaddr*.

	* tests/dnstest.c: Clean-up.  Add args so you don't have to
	   recompile.

	* src/inetaddr.c (gnet_gethostbyname): Don't init gthreads
	    - this is done in gnet_init().

	* configure.ac: Add --enable-threadsafe-gethostbyname

	* src/tcp.c (gnet_tcp_socket_get_port): IPv6ize.  Use
	    GNET_SOCKADDR_PORT macro.

	* src/tcp.c (gnet_tcp_socket_new_async): Update docs - callback is
	*not* called if an error occurs immediately.
	* src/tcp.c (gnet_tcp_socket_new_async_direct): Don't call
	    callback.
	* src/tcp.c (gnet_tcp_socket_new_async_direct): IPv6ize.
	* src/tcp.c (gnet_tcp_socket_new_async_direct[win32]): "

Thu Nov  7 14:25:08 2002  Jonathan Blandford  <jrb@redhat.com>

	* src/inetaddr.c (gnet_inetaddr_hash): initialize addr to keep
	-Werror compiling.

Mon Nov  4 12:24:20 2002  David Helder  <dhelder@umich.edu>

	* *: More IPv6 hacking.  Added USAGI project's getifaddr()
	   implementation for Linux.

Wed Oct 23 13:52:18 2002  David Helder  <dhelder@umich.edu>

	* configure.ac: Add --disable-pthreads flag.  Patch from Ian
	     Peters
	
Tue Oct 22 14:23:13 2002  David Helder  <dhelder@umich.edu>

	* *: First pass at IPv6-ization.  Some builds may
	    fail.  The main change is to use (struct sockaddr_storage)
	    everywhere.  Some macros have been added to aid
	    the conversion.  Network addresses should work, DNS
	    addresses are next.
	  
	      TODO:
	      	- how should binding work?
		- fix mcast join
		- set sa_len?
		- fix gnet_inetaddr_is_*()
		- check storage format for in6_addr
		- fix everything marked FIX  :-)

Mon Oct 21 23:24:30 2002  David Helder  <dhelder@umich.edu>

	* *: HEAD is now GNet 1.3, to become GNet 1.4.  GNet 1.1 
	    is in the "GNET_1_1" CVS branch.
	
	* src/inetaddr.c: get_name_async cleanups.  Fixed
	    a bug in cancelling async reverse DNS lookups in Win32.

	* configure.ac: Update version to 1.3.0.  GNet 1.1 is in the
	    GNET_1_1 branch.
	* Makefile.am (configincludedir): "
	* gnet-config.in (cflags): "
	* gnet.spec.in: "
	* gnet.pc.in (Cflags): "

	* src/tcp.c (gnet_tcp_socket_get_io_channel), udp.c, 
	    unix.c: Don't ref the io_channel.
	* src/conn.c (gnet_conn_disconnect): Don't unref iochannel.
	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept_async): "
	* src/socks-private.c (socks_negotiate_connect): "
	* src/socks-private.c (socks5_negotiate_bind): "
	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept): "
	* src/tcp.c (gnet_tcp_socket_server_accept_async): "
	* examples/echoclient.c (normal_echoclient): "
	* examples/echoserver-unix.c: "
	* examples/echoserver.c: "
	* examples/hfetch.c (hfetch): "

	* src/url.[ch]: s/url/uri/.  Re-ordered fields.
	* src/url.c (gnet_uri_new_fields_all): Fix bug - 
	    fields weren't copied right.

	* glib-config.in, Makefile.am, doc/glib-config.1.in, 
	    doc/Makefile.am: Remove glib-config.

	* src/Makefile.am (gnetincludedir): Put headers into gnet-1.3.

	* src/inetaddr.h: Changed prototypes of GInetAddrNewAsyncFunc and
	    GInetAddrGetNameAsyncFunc
	* src/iochannel.h: " GNetIOChannelReadAsyncFunc

	* src/inetaddr.c (inetaddr_new_async_pthread_dispatch): 
	    Address is callee owned.
i	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Delete
	    the address.

	* src/*: s/get_iochannel/get_io_channel/, 
	    s/iochannel_new/io_channel_new/

	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Remove
	   check for "localhost".

	* configure.ac: Turn on warnings after tests are done.
	   Simplified test logic.  Passing -ansi, etc to gcc
	   more than once doesn't seem to hurt.

Mon Oct 21 17:28:57 2002  David Helder  <dhelder@umich.edu>

	* tests/Makefile.am (EXTRA_PROGRAMS): Make tests EXTRA, not
	   noinst.  They should only be build when 'make check' is run.
	* configure.ac: Touch.

Wed Oct 16 17:24:00 2002  David Helder  <dhelder@umich.edu>

	* configure.ac: Enable -Werror only when in "yes"
	   debug mode.  gcc-3.2 issues warnings on the 
	   G_something_BE_LE ASM macro.  This allows gcc-3.2
	   users to compile GNet.

Fri Oct 11 15:37:41 2002  David Helder  <dhelder@umich.edu>

	* tests/{unpack,pack}.c: Include stdlib.h.  Include
	   string.h in unpack.  Thanks Richard and Erland!

Mon Oct  7 11:51:22 2002  David Helder  <dhelder@umich.edu>

	* 1.1.7 "re-release"
	
	* configure.ac (GNET_BINARY_AGE): Set binary age to 7.  Oops.

	* README: Added eDonkey2000 GTK frontend

Mon Sep 30 16:41:55 2002  David Helder  <dhelder@umich.edu>

	* configure.ac: Include "-Werror" in CFLAGS.

Mon Sep 30 13:18:47 2002  David Helder  <dhelder@umich.edu>

	* src/gnet-private.c (gnet_private_iochannel_new): 
	   Return iochannel.

Mon Sep 30 13:18:11 2002  David Helder  <dhelder@umich.edu>

	* NEWS, *: Release 1.1.6

Thu Sep 26 20:10:23 2002  David Helder  <dhelder@umich.edu>

	* configure.ac: Add --enable-threadsafe-gethostbyname option.
	* src/inetaddr.c (gnet_gethostbyaddr): Add threadsafe
	    gethostbyaddr() variant.
	    (gnet_gethostbyname): "

	* configure.ac: Define GTHREAD_CFLAGS if gthread module
	    is available.  This is used to determine if a gthreads
	    implementation of gethostbyname_r is possible.

Thu Sep 26 18:33:16 2002  David Helder  <dhelder@umich.edu>

	* NEWS, TODO: Updates

Mon Sep 23 18:59:39 2002  David Helder  <dhelder@umich.edu>

	* examples/Makefile.am (noinst_PROGRAMS): Make examples 
	    noinst, not extra.
	* examples/*: Update include to handle this.
	
	* examples/echoclient.c (async_client_sin_iofunc): Return 
	    FALSE on EOF.  Otherwise we get an error.
	
	* src/gnet-private.c (gnet_private_iochannel_new): Added.
	   Creates iochannel from descriptor in usual way.  If
	   we're using GLib 2, then it turns off buffering and
	   encoding.

	* src/tcp.c (gnet_tcp_socket_get_iochannel): Use 
	    gnet_private_iochannel_new()
	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
	* src/tcp.c (gnet_tcp_socket_new_async_direct): "
	* src/udp.c (gnet_udp_socket_get_iochannel): 
	* src/unix.c (gnet_unix_socket_get_iochannel): 

Mon Sep 23 15:31:52 2002  David Helder  <dhelder@umich.edu>

	* Makefile.am (EXTRA_DIST): Move more extra dist here.
	    depcomp is no longer needed evidently.

Mon Sep 23 14:43:21 2002  David Helder  <dhelder@umich.edu>

	* autogen.sh: Don't include macros dir if there isn't one.
	* aclocal.h: Remove this.  No longer required.

Sat Sep 21 21:11:41 2002  David Helder  <dhelder@umich.edu>

	* configure.ac: Fixes for autoconf 1.6.

	* acconfig.h.in: Removed this.  Not needed in newer autoconf.
	
	* autogen.sh: Include the macros directory in aclocal.
	    We do not distribute the macros directory.  This
	    is for developer convience.

	* examples/Makefile.am, src/Makefile.am/, Makefile.am: 
	    Move EXTRA_DIST to root makefile.  autoconf 1.6 doesn't
	    like EXTRA_DIST in subdirectories for some reason.

Thu Sep 12 16:13:37 2002  David Helder  <dhelder@umich.edu>

	* tests/Makefile.am (LDADD): Add glib_libs and gthread_libs

	* src/inetaddr.c (gnet_inetaddr_list_interfaces): Increment
	   pointer in header.  We were missing the first interface.
	   Check return value of ioctl for flags.
	* configure.ac (pthread_libs): Explicitly define
 	   HAVE_SOCKADDR_SA_LEN since autoconf no longer does it,
	   it seems.

	* Makefile.am (EXTRA_DIST): Include depcomp

Tue Sep 10 20:35:27:39 2002 Andrew Lanoix <alanoix@umich.edu>

	* README.win32: Update
	* GNET.DSP: Link to Glib 2.0
	* gnet.def: Add new funcs
	* examples\makefile.mingw: Update
	* tests\makefile.mingw: Update
	* src\makefile.mingw: Update

Wed Sep 04 21:54:47:06 2002 Andrew Lanoix <alanoix@umich.edu>

	* src/gnet.c (gnet_init): Don't do anything on win32
	* src/gnet-private.h (_GInetAddrAsyncState) Needs in_callback
	* src/inetaddr.c (gnet_gethostbyname) #define out unix code

Wed Aug 14 12:37:23 2002  David Helder  <dhelder@umich.edu>
	
	* *: Release 1.1.5

	* src/iochannel.c (gnet_io_channel_write_async): Don't succeed
	   immediately if the buffer is length 0.  Also allow a write
	   from a non-NULL buffer of length 0.

Sat Aug 10 19:18:33 2002  David Helder  <dhelder@umich.edu>

	* examples/hash.c: Move hash example to examples.

	* tests/pack.c: Made this a proper automake automated test.
	* tests/unpack.c: "
	* tests/hash.c: "
	* examples/Makefile.am: Updated
	
	* tests/hash.c: Don't dump core on './hash'

	* tests/urlparse.c: Removed.  url_test covers this.

	* src/gnet.c (gnet_init): Added.  Call this at the beginning of
	    any Gnet program.  (This is really only required for
	    asynchronous DNS support when pthreads are available and GNet
	    is compiled with GLib 2.0.)
	* examples/*.c (main): Add call to gnet_init ().
	* tests/*.c (main): "

	* src/Makefile.am (libgnet_la_LDFLAGS): Link with GTHREAD_LIBS.

	* src/socks.c (gnet_socks_get_server): Add const
	* src/socks-private.c (socks_get_version): "

Mon Aug  5 16:54:55 2002  David Helder  <dhelder@umich.edu>

	* src/conn.h: Fix typo.
	* src/inetaddr.c (gnet_inetaddr_new_async_cancel): "

	* src/iochannel.c (_GNetIOChannelWriteAsyncState): Add in_upcall
	   flag so that state doesn't get deleted during the upcall.
	* src/iochannel.c (gnet_io_channel_write_async_cancel): Don't
	   delete state if in an upcall.  Only delete the buffer (if 
	   requested).
	* src/iochannel.c (write_async_cancel): Added this static function
	   to make all this a bit more clear.  Users call
	   gnet_io_channel_write_async_cancel(), but internally we call
	   this.
	* src/iochannel.c (write_async_cb): Set in_upcall during upcall.
	   Call write_async_cancel().
	* src/iochannel.c (write_async_timeout_cb): "

	* src/iochannel.c (_GNetIOChannelReadAsyncState): Basically did
	   the same thing as above for the read_async functions.
	* src/iochannel.c (gnet_io_channel_read_async_cancel): Ignore
	   cancel if in an upcall.
	
	* src/mcast.c (gnet_mcast_socket_port_new): Add g_htonl around
	   INADDR_ANY (style bug - it should not make a
	   difference). (thanks Eduardo Pérez Ureta)

	* src/udp.c (gnet_udp_socket_new_interface): Fix memory leak on
	   errors (thanks Jakub Jagielka).

	* src/tcp.c (gnet_tcp_socket_new_direct): Use GNET_CLOSE_SOCKET
	   macro, not close().  (style bug, maybe affects Windows)

Wed May 15 11:43:44 2002  David Helder  <dhelder@umich.edu>

	* configure.ac: Up version to 1.1.5

Wed May 15 11:37:10 2002  David Helder  <dhelder@umich.edu>

	* Release GNet 1.1.4

Mon May 13 22:44:44 2002  David Helder  <dhelder@umich.edu>

	* tests/dnstest.c: Minor improvements.

	* src/inetaddr.c (inetaddr_new_async_pthread): Rewrite pthread 
	    implementation.  Problem was writing to closed pipe raised
	    SIGPIPE for threads.  Now we don't use pipes with threads.
	    Stupid UNIX.  It's not like you get SIGACCES when you attempt
	    to open a file that doesn't exist.
	* src/inetaddr.c (gnet_inetaddr_get_name_async): "

	* src/inetaddr.c (gnet_inetaddr_new_async): Move process code here.
	* src/inetaddr.c (gnet_inetaddr_get_name_async): "
	
	* src/inetaddr.c (gnet_inetaddr_new_async): Close unused pipes.
	* src/inetaddr.c (gnet_inetaddr_get_name_async): "

	* src/inetaddr.c (gnet_inetaddr_get_name_async): Initialize state.
	* src/inetaddr.c (gnet_inetaddr_new_async): "

Sat May 11 14:36:50 2002  David Helder  <dhelder@umich.edu>

	* src/*.h: Added instructions on using experimental modules.
	
	* Makefile.am (copyweb): Updated copyweb.

Fri May  3 11:18:51 2002  David Helder  <dhelder@umich.edu>

	* src/{inetaddr,tcp}.h: s/id/async_id/.  id is a reserved
	    word in Objective C.

Thu Apr 25 10:14:07 2002  David Helder  <dhelder@umich.edu>

	* Release GNet 1.1.3
	
	* src/iochannel.h: Doc fixes.
	
	* examples/echoserver.c: Remove debug output. 

Sat Apr 20 17:04:04 2002  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_list_interfaces): Delete buffer.
	(gethostbyaddr_async_child): 

	* tests/hostinfo.c: Delete addresses.

Thu Apr 18 14:13:30 2002  David Helder  <dhelder@umich.edu>

	* src/socks-private.c (gnet_private_socks_tcp_socket_new): Delete
	     socks server address.
	* src/socks-private.c (gnet_private_socks_tcp_socket_new_async): "

	* src/gnet-private.c (gnet_private_inetaddr_sockaddr_new): Set
	    ref_count to 1.  These weren't getting deleted before.
	* src/inetaddr.c (gnet_inetaddr_new_any): "
	
	* src/pack.c (gnet_vunpack): Fix bad mem deref when zeroing
	    out extra mem.

	* src/inetaddr.c (gnet_inetaddr_get_name_async_cancel): Don't
	    delete ia - caller owns!.

	* src/url.c (gnet_url_new): isdigit((int)) cast
	* src/url.c (gnet_url_new): "

	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Delete
	    old name first.

	* src/gnet-private.h (_GInetAddrAsyncState ): Add IOChannel field.
	* src/inetaddr.c (gnet_inetaddr_new_async): Save the IOChannel
	* src/inetaddr.c (gnet_inetaddr_new_async_cancel): Unref the
	    IOChannel.
	* src/inetaddr.c (*_get_name_async_*): As above for these funcs.
	* src/tcp.c (*_new_async_*): As above for these funcs.

	* src/inetaddr.c (gnet_inetaddr_new_async_cb): Don't
	    clear the watch.  This isn't necessary now that we
	    have the in_callback flag.

	* tests/dnstest.c (reverse_inetaddr_cb): Don't free name -
	    inetaddr owns it, just cname.

	* tests/dnstest.c (reverse_inetaddr_cb): Delete inetaddr.

	* examples/echoserver.c (async_client_iofunc): Fix number of
	    bytes moved.  Use g_memmove().

	* examples/echoserver.c (ob_client_func): Don't add a '\n'.  It
	    wasn't needed and wrote past the end of the array.
	
	* examples/echoclient.c: Merged echoclient-socks here 
	* tests/echoclient-socks.c: Removed

	* tests/pack,unpack,dnstest: Memory leak fixes
	
Mon Apr 15 14:05:21 2002  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_get_name_async): Handle
	    EAGAIN error from pthread_create().
	* src/inetaddr.c (gnet_inetaddr_new_async): "

	* configure.ac: Upped version to 1.1.3 (unreleased)
	* NEWS: "

	* src/tcp.c (gnet_tcp_socket_server_accept_async): Don't return
	    something in void function.

	* src/tcp.h: Noted data passed to GTcpSocketConnectAsyncFunc is
	   callee owned.

	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Copy the
	   inetaddr passed - it's caller owned, not callee owned (RTFM)!

	* src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Do not put
	   tcp_id in state immediately.  If it failed, state will be
	   deleted just before we dereference it, which could cause
	   a seg fault.

	* src/tcp.c (gnet_tcp_socket_connect_tcp_cb): Delete inetaddr on
	   failure.

	* src/tcp.c (gnet_tcp_socket_connect_async): Update docs: The
	   callback will never be called before the function returns.
	   Also, simplified logic since the same semantics are now true
	   for gnet_inetaddr_new_async().

2002-02-27  Bastien Nocera  <hadess@hadess.net>

	* gnet.pc.in: add $(libdir)/gnet/include to the .pc
	file, it actually works now :)

Sat Feb 16 18:25:15 2002  David Helder  <dhelder@umich.edu>

	* Release GNet 1.1.2
	
	* Makefile.am: Remove debian stuff.
	
	* src/inetaddr.c (gnet_inetaddr_get_name): Implement pthread
	   version.
	* src/gnet-private.h (_GInetAddrReverseAsyncState ): Add pthread
	   field.

	* src/inetaddr.c (gnet_inetaddr_new_async): Duplicate
	   the hostname before passing to thread.
	* src/inetaddr.c (gethostbyname_async_child): Delete hostname.

Thu Feb 14 12:39:59 2002  David Helder  <dhelder@umich.edu>

	* Release GNet 1.1.1

Wed Feb 13 20:47:51 2002  David Helder  <dhelder@umich.edu>

	* src,doc: Doc improvements.
	
	* src/inetaddr.c: NOTE: The no-immediate-callbacks for async
	    functions is finally implemented (in inetaddr).
	
	* src/inetaddr.c (gnet_inetaddr_get_name_nonblock): Added.  Like
	    gnet_inetaddr_new_nonblock.

	* src/inetaddr.c (gnet_inetaddr_get_name_async): Don't callback on
	   error.  Don't callback on immediate success.

	* src/inetaddr.c (gnet_gethostbyname): Do a non-blocking lookup.
	* src/inetaddr.c (gnet_inetaddr_new_async): Don't call callback
	   on error.

	* src/iochannel.c (gnet_io_channel_read_async_cancel): 
	   Remove timer only if set

	* src/socks-private.h: Move SOCKS_PORT here.

	* src/conn.[hc]: Removed add/remove watch functions.  For
	   binary compatibility, the members are still in the struct.
	* src/conn.c (conn_timeout_cb): Zero out the timeout before call
	
	* src/conn.c: Added docs

Sun Feb 10 15:27:36 2002  David Helder  <dhelder@umich.edu>

	* examples/echoserver.c: Print more.
	* examples/echoserver.c (async_accept): Don't unref iochannel
	   since we're saving it.
	* examples/echoserver.c: Clean up watch logic for async
	   server so that there's only a single watch on a socket. (This
	   works around the GLib poll bug.)

	* src/socks-private.h: Fix dport size.

	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept): 
	   Recreate server socket with same port.  If the programmer
	   specified 0 initially (for an ephemeral port) and cannot
	   get the same port, this fails.  

Mon Feb  4 16:52:58 2002  David Helder  <dhelder@umich.edu>

	* src/tcp.c: Doc updates
	* doc/*: "
	
Mon Feb  4 14:33:37 2002  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_server_accept_async): Fix warning.
	* src/socks-private.c (gnet_private_socks_tcp_socket_server_accept_async): "
	* src/server.c (server_accept_cb): "

	* configure.ac: Cleaned up debug flag handling.  'minimum'
	   debug flags is set by default
	* autogen.sh (conf_flags): debug=yes for developers

Fri Feb  1 19:37:25 2002  David Helder  <dhelder@umich.edu>

	* src/iochannel.c (gnet_io_channel_read_async_cancel): Don't call
	   g_assert(func()) cause assertions are disabled and func()
	   won't get called.  Duh!
	* src/conn.c (gnet_conn_watch_remove_read): "
	* src/conn.c (gnet_conn_watch_remove_write): "
	* src/conn.c (gnet_conn_watch_remove_error): "
	* src/scheduler.c: "
	* examples/sdr.c (main): "
	* examples/echoclient-udp.c (normal_echoclient): "
	
	* src/iochannel.c (write_async_cb): Merged write and error cb's
	   into this cb.
	* src/iochannel.c (read_async_cb): Likewise.

	* src/conn.c (conn_check_queued_writes): Delete removed link.  This
	   was leaking memory.

	* src/tcp.c (gnet_tcp_socket_server_accept_async): Fix typo (user
	   data not set right).
	* src/socks-private.c
	(gnet_private_socks_tcp_socket_server_accept_async): Fix typo.

	* examples/echoclient.c: Added better debug output.

	* gnet-config.in: Cleaned up somemore.

	* src/tcp.c (gnet_tcp_socket_unref): Remove accept watch on
	   destroy.
	
	* examples/ljoust.c: Removed.  Out-of-date.
	* doc/gnet.sgml: "

	* examples/echoserver.c: Update to use new async accept func.
	* src/server.c: "

Wed Jan 30 20:22:33 2002  David Helder  <dhelder@umich.edu>

	* src/sha.c (gnet_sha_new_string): Fixed warning
	* src/md5.c (gnet_md5_new_string): "

	* src/tcp.c (gnet_tcp_socket_server_accept_async): Added.  We
	    need this to simplify SOCKS code.  Setting a read watch
	    on a socket is now DEPRICATED.  Use this instead.

	* src/tcp.c (gnet_tcp_socket_server_accept): No longer const.

	* src/tcp.c, socks.c: Move most SOCKS logic to socks.c.
	   Add _direct versions in tcp and _socks in socks-private
	   for SOCKSified functions.

	* src/pack.c (gnet_calcsize): Not _ALL_ arguments should be
	   passed, not just the dynamic arguments.  (Otherwise,
	   pack_strdup wouldn't work.)

Sun Dec 22 20:36:57 2001  Ross Golder  <ross@golder.org>

	* gnet-config.in (lib_gnet): Fixed breakage if GLIB_LIBS contains spaces

Sun Dec 15 23:12:30 2001  Ross Golder  <rossg@golder.org>

	* configure.ac: Added gnet-config.1 to AC_OUTPUT

Thu Dec 13 09:50:26 2001  David Helder  <dhelder@umich.edu>

	* configure.ac: Added --enable-glib2 (From Mark Ferlatte).  I also
	    changed it so GNet will build against 1.3/2.0 if the build
	    against 1.2 fails.
	
	* INSTALL: New INSTALL file.

	* README: Updated installation info.
	
Tue Dec 11 21:23:06 2001  David Helder  <dhelder@umich.edu>

	* gnet.pc.in (Libs): Fixed typos.

Tue Dec 11 21:20:43 2001  David Helder  <dhelder@umich.edu>

	* configure.ac: From Mark Ferlatte's patch

Fri Nov 30 17:51:02 2001  Ross Golder  <ross@golder.org>

	* configure.in: Removed gmodule stuff, and exported
	    GTHREAD_* even if empty.
	* src/Makefile.am: Made use of GTHREAD_*

Sat Nov 10 18:37:01 2001  Ross Golder  <ross@golder.org>

	* configure.in: Switched to using PKG_CHECK_MODULES to
	    pick up glib flags (now glib2 friendly).
	* Makefile.am: Added glib flags. Reinstated distribution of
	    gnet.spec file for 'rpm -t[ab] gnet-x.y.z.tar.gz'.
	* src/Makefile.am: Added glib flags.
	* src/gnet.h: Replaced depracated GUTILS_C_VAR definition
	* src/inetaddr.h: Commented out argument to #endif.
	* gnet-config.in: Removed unnecessary conditional. Ensured
	    glib flags were being presented in output.
	* tests/url_test.c: Added headers to get rid of compiler warnings.

Fri Nov  9 14:44:09 2001  David Helder  <dhelder@umich.edu>

	* configure.in: Check for lib socket (Needed in SunOS 5.8?)

Fri Nov  9 14:27:45 2001  David Helder  <dhelder@umich.edu>

	* configure.in: Check for the gthread module and set CFLAGS,
 	    LIBS, glib_cflags, and glib_libs as appropriate.

	* src/inetaddr.c (gnet_gethostbyname, gnet_gethostbyaddr):
	    Initialize gthreads if not initialized in Glib-Mutex
	    case.  This caused seg faults in some FreeBSDs.

	* gnet.m4 (AM_PATH_GNET): Remove modules.  gthread is
		not a gnet module.

Mon Oct 29 16:27:55 2001  David Helder  <dhelder@umich.edu>

	* src/unix.c: Unlink socket on delete, doc fixes
	* examples/echoserver-unix.c: Delete socket on SIGINT, SIGTERM

	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): Doc fix.

Thu Oct 25 10:48:51 2001  David Helder  <dhelder@umich.edu>

	* configure.in, Makefile.am: Include deb/rpm stuff

Wed Oct 24 17:35:51 2001  David Helder  <dhelder@umich.edu>

	* configure.in: Check if debian or RPM files are 
	   there before AC_OUTPUT.  This causes an autoconf
	   warning, but not a configure warning.
	* Makefile.am: Removed .spec and debian from dist.  If
	   you really need it, I can put it back.

Wed Oct 24 10:02:43 2001  Ross Golder  <ross@golder.org>

	* src/pack.h: Commented out argument to #endif.
	* src/sha.h: Removed extraneous character (typo?).
	* Makefile.am: Updated handling of rpms and spec files.
	* Makefile.am: Added debian directory to make dist.

Wed Oct 24 15:58:14 2001  David Helder  <dhelder@umich.edu>

	* tests/unpack.c (main): Fix bugs

Tue Oct 23 15:00:55 2001  David Helder  <dhelder@umich.edu>

	* doc/tmpl/socks.sgml: Added
	* doc/gnet.sgml: Added socks

Tue Oct 23 13:03:09 2001  David Helder  <dhelder@umich.edu>

	* configure.in: Check for pthreads in c_r (for BSD)

Tue Oct 23 10:50:10 2001  David Helder  <dhelder@umich.edu>

	* doc/gnet-sections.txt: Updated
	* *: Doc fixes

	* src/ftp.[ch]: Removed

Tue Oct 23 10:26:17 2001  David Helder  <dhelder@umich.edu>

	* *: Integrate Mark Ferlatte's Unix patch.

Wed Oct 17 22:26:42 2001  David Helder  <dhelder@umich.edu>

	* src/tcp.c: Integrated SOCKS into gnet_tcp_socket_new_async.
	* src/gnet-private.h (_GTcpSocketAsyncState ): Added field
	    for socks server (so it can be changed while the connect
	    is in effect).
	* BUGS: Added note about blocking in tcp_socket_new_async
	    during socks negotiation.
	
	* examples/echoclient.c: Finished async example.
	* test/echoclient-socks.c: Renamed from socksclient.  Now does
	    async too (but set manually)
	
	* src/socks.c (gnet_socks_get_server): Free hostname if port parse
	    fails.

Wed Oct 17 16:48:03 2001  David Helder  <dhelder@umich.edu>

	* src/socks-private.c: Use g_getenv.  Fix missing io channel
	    deref.
	
	* src/socks.c: Cleaned up interface (get/set server and get/set
	    enable).  SOCKS is off by default for now.  Simplified
	    parsing code.
	
	* tests/socksclient.c: Added
 
Sun Oct  7 23:04:29 2001  David Helder  <dhelder@umich.edu>

	* NEWS: Added SOCKS

Sun Oct  7 18:42:05 2001  David Helder  <dhelder@umich.edu>

	* src/socks.[hc]: Added.  Not integrated with TCP yet.
	* src/socks-private.c: Added
	* AUTHORS: Added Marius

	* src/server.c: Include gnet-private before server.  Fixes
	   MAX/MIN warning with param.h

	* src/iochannel.c (gnet_io_channel_writen): buf is now a gpointer.
	* src/iochannel.c (gnet_io_channel_readn): 

Sun Oct  7 17:53:03 2001  David Helder  <dhelder@umich.edu>

	* src/url.[hc]: Integrated David's URL improvements (fragments,
	query, username, and password handling).  Made many parsing
	changes to make more sane/RFC-compliant.  Added some docs.
	* tests/url_test.c: Added.  Uses "make check".
	* tests/urlparse.c: Added
	* AUTHORS: Added David Bolcsfoldi

Mon Sep 24 14:07:56 2001  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c: s/Interface/iface

Fri Sep 21 17:37:50 2001  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_async): In pthread
	   version, malloc space for pointers passed to pthread_create.
	   Otherwise, if we return before the new thread runs, it
	   crashes.  Duh.  And I taught this stuff?
	* src/inetaddr.c (gethostbyname_async_child): Delete args.

Thu Sep 20 12:40:43 2001  David Helder  <dhelder@umich.edu>
	
	* configure.in (glib_libs): Set -lpthread in gnet-config --libs
	   when pthreads are used.
	* acconfig.h: Added HAVE_LIBPTHREAD manually
	* gnet-config.in: "

	* Makefile.am (EXTRA_DIST): Include gnet.m4.  It was in m4data,
	    not sure what's going on with autoconf.

	* configure.in (glib_libs): Use proper glib-config
	    when getting flags for gnet-config

Mon Aug 27 13:49:46 2001 Andrew Lanoix <alanoix@umich.edu>
	
	* README.win32: Fix typo

Fri Aug 24 10:47:34 2001 Andrew Lanoix <alanoix@umich.edu>
	
	* README.win32: Update

Sun Aug 12 11:59:22 2001  Andrew Lanoix <alanoix@umich.edu>

	* gnet.def: Add missing gnet_inetaddr_new_nonblock &
	   gnet_inetaddr_new_nonblock 

Mon Aug  6 13:31:37 2001  David Helder  <dhelder@umich.edu>

	* tests/dnstest.c (main): Clean-up.  Now blocks by default.
	* src/inetaddr.c (inet_aton): Fix our inet_aton to understand
	   255.255.255.255.  This function was in gnet-private.h.
	
Fri Aug  3 10:59:15 2001  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_async): Same as
	   below for Windows version.

Fri Aug  3 10:32:45 2001  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_async): Don't do inet_aton and
	   call callback immediately.  This is confusing for the
	   programmer and can lead to bugs.  Now, either NULL will be
	   returned or the callback will be called later.  PROGRAMMERS:
	   For the old semantics, call gnet_inetaddr_new_nonblock and
	   if it fails, call gnet_inetaddr_new_async.
	  
Wed Jul 25 14:23:16 2001  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c: Added pthread implementation of
	   gnet_inetaddr_new_async.
	* src/gnet-private.h (_GInetAddrAsyncState ): "
	* configure.in: Check for pthreads

Wed Jun 13 11:29:25 2001  Andrew Lanoix <alanoix@umich.edu>

	* gnet.def: update
	* README.win32: update
	* tests/Makefile.mingw: Build hash.c
	* tests/hash.c: Add a note that extra \r's on win32
	  text files will throw off SHA and MD5 if you don't
	  remove them
  
Sat Jun  9 15:35:19 2001  David Helder  <dhelder@umich.edu>

	* tests/hash.c: Actually removed mmap as advertised.

Fri Jun  8 16:49:16 2001  David Helder  <dhelder@umich.edu>

	* tests/hash.c: Don't use mmap.  Don't make main loop.

Fri Jun  8 15:26:41 2001  David Helder  <dhelder@umich.edu>

	* examples/echoserver.c (async_server_iofunc): Should be
	   accept_nonblock in async_server_iofunc, not accept.
	
	* BUGS: Typo

Thu May 31 10:46:30 2001  David Helder  <dhelder@umich.edu>

	* Makefile.am (EXTRA_DIST): Add README.win32 GNET.DSP
	     config.h.win32 gnet.def
	* */Makefile.am: Add makefile.mingw
	
	* configure.in: Version is now 1.1.1 [unreleased]
	
	* configure.in: Remove poll check
	* src/udp.c (gnet_udp_socket_has_packet): Use select,
	   not poll.
	* src/gnet-private.h: Remove poll
	* README.macosx: Added
	* Makefile.am: Added README.macosx to 
	   EXTRA_DIST
	* AUTHORS: Added Eric Cronin for above

	* src/sha.c (gnet_sha_clone): Added.
	* src/md5.c (gnet_md5_clone): Added.

	* debian/control.in: Sync with README

Thu May 24 21:20:09 2001  David Helder  <dhelder@umich.edu>

	* gnet.spec.in: Change name back to 'gnet'.  I don't
	    know how to fix this...

	* *: Get ready for release...
	
Thu May 24 12:12:04 2001  Andrew Lanoix <alanoix@umich.edu>

	* NEWS updated to say full windows port

Thu May 24 10:14:02 2001  David Helder  <dhelder@umich.edu>

	* examples/echoserver.c (object_echoserver): Fixed
	    call to gnet_server_new.

	* examples/Makefile.am: Make examples noinst, not extra.

Wed May 23  9:33:45 2001  Andrew Lanoix <alanoix@umich.edu>

	* Add makefiles for mingw (gcc for windows) 

	* examples/echoserver.c: In object_echoserver(),
	  too may args to gnet_server_new()

	* update Gnet.dsp
	* update gnet.def
	* update gnetconfig.h.win32 Version to 1.1.0

Wed May 23 10:08:09 2001  David Helder  <dhelder@umich.edu>

	* src/gnet.h: Include all files on Win32

Tue May 22 23:25:59 2001  David Helder  <dhelder@umich.edu>

	* src/pack.c (strlenn): Fixed sign issue

Tue May 22 16:45:01 2001  David Helder  <dhelder@umich.edu>

	* gnet.m4: Fix URL
	* README (Features): Fix URL
	* debian/control.in: Add URL

Tue May 22 22:21:31 2001  Andrw Lanoix  <alanoix@umich.edu>

	* server.h: #include "gnetconfig.h"

	* tcp.h: removed 2 unused vars in windows code
	* gnet-private.c: removed 2 unused vars in windows code

	* udp.c: gnet_udp_socket_has_packet()[win32 version]
	  change gint arg to u_long arg to get rid of warning

Tue May 22 09:59:57 2001  David Helder  <dhelder@umich.edu>

	* src/pack.[hc]: Made int types unsigned where
	   possible.

Mon May 21 22:22:01 2001  Andrew Lanoix <alanoix@umich.edu>

	* udp.c: gnet_udp_socket_new_interface() use 
	GNET_CLOSE_SOCKET instead of close()

	* conn.h: #include<memory.h>

Sun May 20 22:32:19 2001  David Helder  <dhelder@umich.edu>

	* debian/*: Clean ups for 1.1

	* src/tcp.c (gnet_tcp_socket_server_new2): Removed

	* src/*: conn, server, url, and the new iochannel funcs
	   are 'EXPERIMENTAL'.  md5, sha, and pack are not.
	
	* doc/gnet.sgml, *: More doc cleanups
	* src/pack.c: Added calcsize docs.
	* doc/gnet-config.1.in: Added.  Based on Owen's 
	   glib-config manpage.
	* debian/rules.in: Install man page

Sun May 20 10:22:29 2001  Andrew Lanoix <alanoix@umich.edu>

	*src/gnet-private.c:[win32 only] workaround for a glib
	   bug that caused problems when one used GNet with GTK

	*README.win32: Updated

Mon May 14 11:13:22 2001  David Helder  <dhelder@umich.edu>

	* src/url.c, inetaddr.c, md5.c (*_hash, *_equal): 
	     s/const gpointer/gconstpointer/

Fri May 11 14:58:24 2001  David Helder  <dhelder@umich.edu>

	* tests/unpack.c (main): Fixed the warnings :-)
	
	* src/inetaddr.c (gnet_inetaddr_new_any): Added.

Thu May 10 10:22:46 2001  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_server_new_interface): 
	   If iface is NULL, the OS will choose the address and 
	   port.
	* src/server.c (gnet_server_new): Allow iface to be NULL
	
	* src/pack.c (gnet_calcsize): Added
	* src/pack.c (gnet_vcalcsize): Exposed

Wed Apr 25 14:27:26 2001  David Helder  <dhelder@umich.edu>

	* src/server.[hc] (gnet_server_new): Changed prototype
	   so port not included.  Now uses new_interface

Tue Apr 24 15:10:19 2001  David Helder  <dhelder@umich.edu>

	* src/md5.c (gnet_md5_get_digest): Added cast to 
	   supress warning

	* src/udp.c (gnet_udp_socket_interface_new): Added
	
	* src/udp.c (gnet_udp_socket_new_interface): SO_BROADCAST
	   set by default

	* src/tcp.c (gnet_tcp_socket_server_interface_new): Added.
	* src/tcp.c (gnet_tcp_socket_server_new2): Above replaces

Mon Apr 23 7:07:21 2001  Andrew Lanoix  <alanoix@umich.edu>

	* src/gnet-private.c (gnet_MainCallBack - Win32 ONLY):
	  Explicitly force GNet to grab only its own messages,
	  Found by Anthony Lee. 

Mon Apr  9 17:10:09 2001  David Helder  <dhelder@umich.edu>

	* src/iochannel.c (gnet_io_channel_readn): Bug fix from Wolfgang
	   Borgert.

Fri Mar 30 11:57:21 2001  David Helder  <dhelder@umich.edu>

	* configure.in: Checking for param.h incorrectly

Tue Mar  6 15:31:13 2001  David Helder  <dhelder@umich.edu>

	* src/iochannel.c (gnet_io_channel_readline_strdup): 
	   Fixed bug when buffer lengthened (off by one).
	   Found by Simon Li.
	
Sun Mar  4 5:04:45 2001  Andrew Lanoix  <alanoix@umich.edu>

	* src/gnet-private.[ch]
	* src/iochannel.[ch]
	* gnet.def  Removed Glib 1.2 workaround.

	* gnet.dsp  Link to glib-1.3.lib.

	* README.win32 Cleanup and further clarify linking with
	  mingw/gcc.

Tue Feb 27 15:55:56 2001  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c:  Fixed const issues for Windows
	* src/tcp.c:
	* src/sha.c:

	* src/server.[hc]: s/interface/iface because interface
	   is reserved in MS C.

	* README: Added PreViking link

Fri Feb 23 7:44:14 2001  Andrew Lanoix  <alanoix@umich.edu>

	*src/server.c added #include<memory.h>

	*src/sha.c Don't #include<unistd.h> on Windows

	*src/tcp gnet_tcp_socket_new_async on Windows, needed to add
	    G_IO_ERR to g_io_add_watch() call.

	*README.win32 Clarify mingw/gcc/cygwin problem.

Sat Feb 17 16:17:49 2001  David Helder  <dhelder@umich.edu>

	* tests/Makefile.am: Now compile tests by default

	* src/*: Added/removed const's
	
	* src/md5.c (gnet_md5_copy_string): Added
	* src/{md5,sha}.c: Added gnet_{sha,md5}_{new_incremental, update,
	    final} for "incremental" hashes
	
Wed Feb 14 20:57:07 2001  David Helder  <dhelder@umich.edu>

	* src/pack.c: Implemented pack_strdup.  Removed calcsize - not
	   useful.

	* src/inetaddr.c (gnet_gethostbyaddr): Fix locking.  We did not
	   hold the lock when we accessed the hostent struct.  This only
	   affects software that uses threads on systems without
	   gethostby{name,addr}_r

	* tests/: Moved some examples here 

	* doc/: Rebuilt, cleaned up

Tue Jan 23 13:11:03 2001  David Helder  <dhelder@umich.edu>

	* configure.in: Fixed --enable-debug macro
	* doc/gnet.sgml: Fixed --libs problem
	* README: Added gpoker
	
	* src/iochannel.c (gnet_io_channel_writen): Fixed comment.

Thu Dec 14 14:02:50 2000  Andrew Lanoix  <alanoix@umich.edu>

	* Updates to the Win32 GIOChannel socket fix
	* g_io_channel_win32_new_stream_socket() renamed to
		gnet_io_channel_win32_new_stream_socket() 
	* gnet_tcp_socket_new_async() Win32 version now uses the
		GIOChannel fix, also callback on an error was broken

Mon Nov 13 19:49:32 2000  David Helder  <dhelder@umich.edu>

	* examples/echoclient-udp.c: Added
	* examples/echoserver-udp.c: "

Wed Nov  8 10:45:46 2000  David Helder  <dhelder@umich.edu>

	* README: Added gPoker
	
Thu Nov  2 19:26:47 2000  Andrew Lanoix  <alanoix@umich.edu>

	* src/tcp.c: gnet_tcp_socket_new_async_cancel() Win32 version
	    did not cleanup properly
	* src/gnet-private.c: Removed debug code
	* gnetconfig.h.win32: Defined GNET_WIN32 here if not defined
	* src/iochannel.[hc]:
	* src/gnet-private.[hc]:
	    Added Glib of Win32 GIOChannel Socket FIX
	* src/tcp.c: gnet_tcp_server_accept() Don't force the socket
	    in the Win32 version into blocking mode.
	* gnet.def: Added g_io_channel_win32_new_stream_socket()
	* README.win32: Updates

Thu Nov  2 15:24:04 2000  David Helder  <dhelder@umich.edu>

	* src/*.h: Added #ifdef GNET_EXPERIMENTAL around experimental
	   stuff.
	
	* src/url.c (gnet_url_clone): g_strdup will return NULL if str is
	   NULL - don't check.

Mon Oct 30 20:34:29 2000  David Helder  <dhelder@umich.edu>

	* examples/echoserver.c (async_echoserver): Code cleanups

Sun Oct 29 22:44:22 2000  David Helder  <dhelder@umich.edu>

	* examples/echo*.c: s/--nonblocking/--async/ since it's
	    asynchronous, not nonblocking.
	
	* examples/echoclient.c: Added example showing GConn way.  Started
	   showing asynchronous example.  UNFINISHED.

	* src/iochannel.c (gnet_io_channel_readline_check_func): 
	    Don't replace \n with \0.  This is what readline
	    does.

	* examples/echoserver.c: Added example showing GServer way
	* src/server.h (GServerFunc): s/struct _GConn/GConn/
	* examples/echoserver.c: Clean-ups

Sun Oct 29 17:50:46 2000  David Helder  <dhelder@umich.edu>

	* examples/echoserver.c: Fixed non-blocking server example.  It
	    had a couple problems.  It should not have switched on the
	    condition, because it's a bit field, not an enum.  It should
	    have done better error checking too.

	* BUGS: Added

	* src/pack.c: Change 'P' to 'v' for void pointer.  Void
	   pointer will always be native size.
	* src/pack.c: Updated docs
	
Thu Oct 26 16:23:29 2000  David Helder  <dhelder@umich.edu>

	* gnet.spec.in (Group): Integrated Benjamin Kahn's patch.
	   lib/gnet wasn't being include in the dev RPM.
	
Sat Oct 21 01:09:52 2000  David Helder  <dhelder@umich.edu>

	* examples/unpack.c: Added
	* examples/pack.c: Added more tests 

	* src/pack.c (gnet_vunpack): unpack s is now like pack s.  Use r
	    or S for old semantics
	* src/pack.c (strlenn): Fixed.  Fixes unpack s
	* src/pack.c: Fixed pack/unpack of big endian pointers (like
	    you'd ever do this...)
	* src/pack.c (gnet_vpack): Fix pack R
	* src/pack.c (gnet_vpack): p can now be repeated
	
	* src/pack.c: Made sure va_arg uses only int or double.  This
	    should fix gcc 2.76 warning Joe found.

Fri Oct 20 11:27:08 2000  David Helder  <dhelder@umich.edu>

	* src/*.[ch]: Added Copyright line for Andy to files
	    he changed/added to.

Thu Oct 19 23:47:01 2000  David Helder  <dhelder@umich.edu>

	* configure.in (GNET_BINARY_AGE): Minor = 5, interface = 0

Thu Oct 19 23:44:17 2000  David Helder  <dhelder@umich.edu>

	* *: Merged GNET_1_0_4_STABLE_BRANCH into HEAD

Thu Oct 19 22:48:21 2000  David Helder  <dhelder@umich.edu>

	* *: Release 1.0.4 on GNET_1_0_4_STABLE_BRANCH branch

	* README.win32: Updates

	* gnet-config.in (lib_gnet): Fix gnet-config.in
	
Sat Oct 14 11:54:30 2000  David Helder  <dhelder@umich.edu>

	* gnet-config.in (lib_gnet): Fixed cflags for non-/usr prefix
	    systems.
	* NEWS: Updates (still unreleased)
	
Wed Oct 11 23:31:40 2000  David Helder  <dhelder@umich.edu>

	* TODO: Updates.

Wed Oct 11 23:18:04 2000  David Helder  <dhelder@umich.edu>

	* examples/pack.c: Added
	* examples/hash.c: Added

Wed Oct 11 23:16:48 2000  David Helder  <dhelder@umich.edu>

	* src/scheduler.[hc]: Added, but not used yet.
	
	* src/md5.[hc]: Added
	* src/sha.[hc]: Added

	* src/gnet.h: Added md5 and sha

Wed Oct 11 22:57:18 2000  David Helder  <dhelder@umich.edu>

	* src/iochannel.[hc]: Moved functions in gnet.h here
	* src/iochannel.c ({read,write}_async): Added

	* src/pack.[hc]: Added.  Mostly finished.  Needs testing, more
	   docs.

	* src/conn.[hc]: Added.  Needs review, docs.
	* src/server.[hc]: Added.  Needs review, docs.
	
	* src/url.[hc]: Added.  Very basic, not standards compliant.
	   Needs work.
	
	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Added
	* src/inetaddr.c (gnet_inetaddr_is_*): Added
	
	* src/inetaddr.c (gnet_inetaddr_autodetect_internet_interface): Added
	* src/inetaddr.c (gnet_inetaddr_get_interface_to): "
	* src/inetaddr.c (gnet_inetaddr_get_internet_interface): "
	* src/inetaddr.c (gnet_inetaddr_is_internet_domainname): "

	* src/inetaddr.c,gnet-private.c (gnet_inetaddr_list_interfaces):
	    Moved from private to inetaddr and exposed.
	
	* src/tcp.c (gnet_tcp_socket_set_tos): Added
	* src/tcp.c (gnet_tcp_socket_server_new2): Added.  This
	    will become gnet_tcp_socket_server_new() in 1.2.

Tue Oct  3 13:26:45 2000  Andrew Lanoix <alanoix@umich.edu>

	* Added: Gnet.dsp (MS VC 6.0 Project File, builds with
	  Glib 1.2)
	* Removed references to G_OS_WIN32 in examples

Mon Oct  2 00:05:33 2000  Andrew Lanoix <alanoix@umich.edu>

	* Added: gnetconfig.h.win32, config.h.win32
	* Code now compiles with both Glib 1.2, 1.3 on Win32

Mon Oct  2 11:19:12 2000  David Helder  <dhelder@umich.edu>

	* src/gnet-private.c: Remove include config.h 

Mon Oct  2 11:15:19 2000  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c: Remove include of config.h.  Already
	   in gnet-private.h.

Sun Oct  1 19:42:07 2000  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_new_async_cb): Remove the watch
	   before calling the user's callback.  This prevents it from
	   being called a second time, which could happen if we run the
	   main loop before we return.  Joe Shaw found this bug.
	* src/inetaddr.c (gnet_inetaddr_new_async_cb): "
	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): "

Sun Oct  1 13:58:35 2000  David Helder  <dhelder@umich.edu>

	* gnetconfig.h.in: Fixed endif (had string - not ANSI)

Sun Oct 1 3:48:33:19 2000  Andrew Lanoix  <alanoix@umich.edu>

	* hostinfo.c: Updated

Sun Oct 1 3:46:48:28 2000  Andrew Lanoix  <alanoix@umich.edu>

	* Temp patch to get examples to work on Win32
	  (dnstest.c echoserver.c echoclient.c)

Sun Oct 1 3:41:29:66 2000  Andrew Lanoix  <alanoix@umich.edu>

	* Workaround for win32 linking issue. Moved including 
	  winsock2 from inetadder.c to inetaddr.h 

Thu Sep 28 23:13:30 2000  David Helder  <dhelder@umich.edu>

	* README.win32: Added.  Writen by Andy.

Thu Sep 28 22:55:57 2000  David Helder  <dhelder@umich.edu>

	* gnetconfig.h.in: Added
	* Makefile.am: Install in library
	* gnet-config.h.in: Add gnetconfig.h
	* src/gnet.h: Fixed version stuff

	* src/gnet-private.h: Include sys/param if available.
	
	* src/*: Small windows fixes
	
Thu Sep 28 21:40:15 2000  David Helder  <dhelder@umich.edu>

	* src/gnet-private.h: Added Andy's 2nd patch.

Wed Sep 27 01:01:49 2000  David Helder  <dhelder@umich.edu>

	* *: First pass at merging in Andy's Win32 port.  Compiles in
	  Unix, but untested in Unix and Windows.

Tue Apr 11 16:59:11 2000  David Helder  <dhelder@umich.edu>

	* *: Release 1.0.3
	* README: Updated Jungle Monkey URL

Mon Apr 10 20:48:01 2000  David Helder  <dhelder@umich.edu>

	* configure.in (GNET_BINARY_AGE): Upped version to 1.0.3
	* src/inetaddr.c (gnet_inetaddr_new_async_cb): If gethostbyname
	   failed, then it's an error.

Sun Apr  9 15:19:16 2000  David Helder  <dhelder@umich.edu>

	* autogen.sh: Added Gnome-like autogen script
	* auto*: Removed

Thu Apr  6 16:14:16 2000  David Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_async): Don't watch PRI or
	   OUT.
	* src/inetaddr.c (gnet_inetaddr_get_name_async): Likewise.

	* src/tcp.c (gnet_tcp_socket_new_async_cancel): Delete
	   the state.
	* src/tcp.c (gnet_tcp_socket_connect_async_cancel): Delete the
	   state.

	* src/tcp.c (gnet_tcp_socket_new_async_cb): Bug fix:
	   Mask the condition properly.  Delete the socket if
	   there was an error.  General clean-ups.

	* src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Bug fix: 
	   Make sure name ends with '\0'.

	* src/inetaddr.c (gnet_inetaddr_new_async_cb): Bug fix:
	   Mask the condition properly.
	* src/inetaddr.c (gnet_inetaddr_new_async_cb): Bug fix: Copy len-1
	   bytes, not len.
	* src/inetaddr.c (gnet_inetaddr_new_async_cb): If we call back
	   with ERROR, set ia to NULL.  Also delete the ia, which fixes
	   a memory leak.

	* configure.in: Print stuff when checking for --enable-debug

Wed Apr  5 14:04:52 2000  David Helder  <dhelder@umich.edu>

	* src/gnet-private.c (gnet_private_inetaddr_list_interfaces): Use
	   ifr_blah macros and don't access ifr directly (which I should
	   have done originally).  This fixes a portability issue in
	   FreeBSD 4.0 which changes ifru_flags from a short to a
	   short[2].

	* examples/hostinfo.c: Added decl for list_interfaces so it
	   that it will compile.
		
Fri Mar 17 20:07:15 2000  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock): 
	   Clean-up

	* src/tcp.c (gnet_tcp_socket_server_accept): Check errno
	   against EPROTO only if EPROTO is defined.  (It isn't
	   on OpenBSD.  Fix by Niels.)

Sun Mar  5 14:22:11 2000  David Helder  <dhelder@umich.edu>

	* auto*: Release version 1.0.1

Tue Feb 29 11:18:52 2000  David Helder  <dhelder@umich.edu>

	* AUTO*: Version 1.0.1 (unreleased)
	* src/gnet.c (gnet_io_channel_readline_strdup): Fixed typo bug
	    where buffer was growing too fast.  Found by Carl Armstrong
	    <carl@avalon.cameron.edu>.

Mon Feb 28 12:38:31 2000  David Helder  <dhelder@umich.edu>

	* NEWS, etc: Version 1.0.0
	* debian/*: Upped version to 1.0.0-2, cleaned up control.in
	* gnet.spec.in: Upped version to 1.0

Wed Feb 23 10:49:39 2000  David Helder  <dhelder@umich.edu>

	* src/tcp.c (gnet_tcp_socket_server_accept_nonblock):
	   Added.  Theoretically, gnet_tcp_socket_server_accept could
	   block even if the channel was readable, so I added this.

	* src/tcp.[ch], inetaddr.[ch]: 
	 
	 - Renaming:
	     GTcpSocketAsyncFunc  -> GTcpSocketNewAsyncFunc
	     GTcpSocketAyncStatus -> GTcpSocketNewAyncStatus
	     etc...

	 - gpointer ID's given better names:
	     GTcpSocketNewAsyncID
	     GTcpSocketConnectAsyncID
	     GInetAddrNewAsyncID
	     GInetAddrGetNameAyncID

	* doc/*, src/*, TODO, README, HACKING: Doc cleanups/improvements
	
	* libtool*: Upgrade to libtool 1.3.4
	* auto*: Version set to 0.1.10 (for now)

Tue Feb 15 17:01:39 2000  David A Helder  <dhelder@umich.edu>

	* debian/changelog: Removed middle initial.

Tue Feb 15 10:13:59 2000  David A Helder  <dhelder@umich.edu>

	* doc/*: Updates for new stuff
	* src/*: Documentation fixes
	
	* configure.in: Check for sys/poll.h
	* src/gnet-private.h: Changed __EMX__ to HAVE_SYS_POLL_H
	* acconfig.h: Added HAVE_SYS_POLL_H

	* src/{tcp, inetaddr}.c: Reordered enums so that OK comes 
	    first.
	
	* src/Makefile.am (EXTRA_DIST): Removed ftp.[ch] from
	    EXTRA_DIST (will remain in repository though).

2000-02-09  Asbjorn Pettersen  <asbjornP@dualog.no>

	* src/gnet-private.h: <sys/types.h> before <socket.h>
	    OS/2 havn't <sys/poll.h>.  __EMX__ is an OS/2 define.

Tue Feb  8 17:40:58 2000  David A Helder  <dhelder@umich.edu>

	* AUTHORS: Fixed Xavier's email address.

Tue Feb  8 10:29:02 2000  David A Helder  <dhelder@umich.edu>

	* TODO: Added some TODO's

Sun Feb  6 14:27:20 2000  David A Helder  <dhelder@umich.edu>

	* NEWS: Added 0.1.9 (unreleased)

Sun Feb  6 13:18:03 2000  David A Helder  <dhelder@umich.edu>

	* src/*: Renamed "nonblock" to "async" because we're really
	    asynchronous.  Nonblock usually means the function will return
	    if it would block, which we don't do.
	* src/tcp.c: 
	    - Added gnet_tcp_socket_new_async_cancel() and
		gnet_tcp_socket_connect_async_cancel().
	    - gnet_tcp_socket_new_async() and 
		gnet_tcp_socket_connect_async() now return ID's
		of connections which can be used for cancels.
	    - gnet_tcp_socket_new_async() now calls callback if
		there is a failure.
	* src/inetaddr.c:
	    - Added gnet_inetaddr_new_sync_cancel() and
		gnet_inetaddr_get_name_async_cancel().
	    - gnet_inetaddr_new_sync() and gnet_inetaddr_get_name_async()
		now return ID's of connections which can be used for
		cancels.
	* src/gnet-private.h: Added signal.h
	* examples/dnstest.c: Updated for this stuff
	
	* src/*: Added _ref and _unref functions to GInetAddr, GTcpSocket,
	   GUdpSocket, and GMcastSocket.  _delete now uses these.  (Also,
	   GMcastSocket now unrefs the iochannel - it didn't before.  
	   Oops).

	* src/gnet.[hc]: Added Jacques' gnet_iochannel_readline_strdup
	* AUTHORS: Add Jacques Fortier
	
Wed Feb  2 13:58:10 2000  David A Helder  <dhelder@umich.edu>

	* Makefile.am (copyweb): Fixed copy to debian server

Wed Feb  2 10:31:13 2000  David A Helder  <dhelder@umich.edu>

	* doc/gnet.sgml: Fixed version number stuff, old function names.
	* src/udp.c: Fixed type in docs for get_iochannel.
	
	* debian/changelog: Did a 0.1.8-2 release with fixed
	    documentation. (I did not generate them properly 
	    when I did the first released).

Tue Feb  1 20:00:23 2000  David A Helder  <dhelder@umich.edu>

	* auto: Upped version to 0.1.8
	* Makefile.am (copyweb): Added debian server stuff to
	    copyweb rule.

Mon Jan 31 21:30:02 2000  David A Helder  <dhelder@umich.edu>

	* examples/.cvsignore: Added example executables.

Mon Jan 31 19:40:45 2000  David A Helder  <dhelder@umich.edu>
	
	* src/gnet-private.h: Added iochannel member to TcpSocket,
	    UdpSocket, McastSocket
	* src/{udp,tcp}.c: Use single iochannel.
	* examples/{hfetch, echoserver}.c: Don't close iochannel.
	
	* src/{udp,inetaddr,tcp,mcast}.c: Check if the argument to
	    *_delete is NULL.  If it is, don't do anything.
	
	* README: Added info on submiting bugs.  
	* TODO: Added "Write manpage for gnet-config".
	
Sun Jan 30 16:34:59 2000  David A Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Added 'return'
	    if inet_aton worked.  This caused a seg fault.
	* src/tcp.c (gnet_tcp_socket_new_nonblock): Added some
	    g_return_val_if_fail.
	* TODO: Reformated, added some comments.
	
2000-01-30  Soren Sandmann Pedersen  <sandmann@nerva.daimi.au.dk>

	* src/inetaddr.c: Use HP-UX' gethostbyaddr_r.  Fixed typo
	    in Solaris code (this was a bug - we were calling
	    gethostbyname_r, not gethostbyaddr_r) [DAH].
	
Sat Jan 29 16:55:41 2000  David A Helder  <dhelder@umich.edu>

	* AUTHORS: Added Soeren Sandmann to AUTHORS

2000-01-29  Soren Sandmann Pedersen  <sandmann@saratoga.daimi.au.dk>

	* src/inetaddr.c: Use HP-UX' gethostbyname_r
	* acconfig.h: add GETHOSTBYNAME_R_HPUX
	* configure.in: detect HP-UX' gethostbyname_r

Wed Jan 26 12:37:51 2000  David A Helder  <dhelder@umich.edu>

	* AUTHORS: Fixed Xavier's email address.

Wed Jan 26 11:11:07 2000  David A Helder  <dhelder@umich.edu>

	* src/Makefile.am: Don't install gnet-private.h, ftp.{hc}
	* src/{gnet,inetaddr}.h: Removed include of config.h
	* src/gnet-private.h: Added include of config.h

Tue Jan 25 14:48:11 2000  David A Helder  <dhelder@umich.edu>

	* doc/Makefile.am (scan): Added src/ftp, src/gnet-private to
	    the ignore list
	* doc/[docs]: Regenerated

Tue Jan 25 12:28:52 2000  David A Helder  <dhelder@umich.edu>

	* auto*: Upped version to 0.1.7
	* src/gnet.c:
	    Fixed read/write functions.  Basically brought in line with
	    Steven's code, which I know to be correct.  readn didn't
	    handle EOF properly.
	* src/tcp.c (gnet_tcp_socket_server_accept): Use select
	    so we don't suck up all the CPU time (duh).
	* examples/echoclient.c (main): Write the strlen of the
	    line, not strlen + 1.
	* examples/echoserver.c, hfetch.c: Unref the iochannel after
	    closing it.
	
Tue Jan 25 12:01:33 2000  David A Helder  <dhelder@umich.edu>

	* README: Clean-ups
	* src/inetaddr.c: Changed snprintf to g_snprintf.
	
Sun Jan 23 14:05:42 2000  David A Helder  <dhelder@umich.edu>

	* auto*: Upped version to 0.1.6
	* src/*.h: Added #ifdef __cplusplus...
	* src/gnet.h, gnet-private.h: Added #ifndef _GNET_H, 
	   _GNET_PRIVATE_H
	* TODO, other docs: Reformating, cleanups

Thu Jan 20 12:23:38 2000  David A Helder  <dhelder@umich.edu>

	* doc/.cvsignore, debian/.cvsignore: Added
	* Makefile.am: Cleaned up and Added RPMs to copyweb rule.

Thu Jan 20 12:05:36 2000  David A Helder  <dhelder@umich.edu>

	* HACKING: Updated "How to check out GNet anonymously"
	   for Gnome repository.

Thu Jan 20 11:41:17 2000  David A Helder  <dhelder@umich.edu>

	* src/*.[ch]: Moved most includes and definitions to
	    gnet-private.h.  This will make porting easier.

Wed Jan 19 15:48:29 2000  David A Helder  <dhelder@umich.edu>

	* src/gnet.c (gnet_io_channel_writen, gnet_io_channel_readn): 
	    Don't count bytes read/written if there was an error.
	* src/gnet.c (gnet_io_channel_readline): Try reading again if
	    we get G_IO_ERROR_AGAIN.
	
Tue Jan 18 13:59:57 2000  David A Helder  <dhelder@umich.edu>

	* src/inetaddr.c (gnet_inetaddr_get_name_nonblock): Fixed
	    bug in handling large addresses.
	* src/inetaddr.c: Fixed bugs in internal gnet_gethostby*
	    functions.  Changed them around a bit.

Tue Jan 18 12:50:38 2000  David A Helder  <dhelder@umich.edu>

	* debian/changelog: Updated to 0.1.5
	* debian/rules.in: Handle libtool naming correctly
	* debian/libgnet0.1.docs: Added (was just 'docs')

Tue Jan 18 12:12:13 2000  David A Helder  <dhelder@umich.edu>

	* configure.in: Added tests for variants of gethostbyname_r.
			Define _REENTRANT
	* src/inetaddr.c: Added gnet_gethostbyname and gnet_gethostbyaddr
	    which use appropriate function based on config.h
	* TODO: Remove this improvement from list
	
	* src/gnet-private.h: Changed include to sys/socket.h
	* src/inetaddr.[ch]: Portablity fixed (thought I did these
	    on the 10th - oops)

	* configure.in: Upped version to 0.1.5 (not released yet)
	* src/ftp.[ch]: Added note that it was experimental

Mon Jan 17 11:16:39 2000  David A Helder  <dhelder@umich.edu>

	* HACKING: Added (based on Xavier's SUBMIT-PATCH)
	* TODO: Added more details
	* src/ftp.[ch]: Added (contributed by Xavier Nicolovici)
	* gnet.spec.in: Added (contributed by Xavier Nicolovici)

	* Makefile.am: Added HACKING
	* configure.in: Added gnet.spec
	* auto*: Brought up-to-date
	* debian/changelog: Upped to debian version 2
	
Fri Jan 14 10:15:53 2000  David A Helder  <dhelder@umich.edu>

	* examples/Makefile.am: Use gnet-config, not ../src
	* examples/*: Include gnet/gnet.h, not gnet.h
	* TODO: Added "Build Debian docs package"
	* AUTHORS: Added Xavier Nicolovici to AUTHORS

Thu Jan 13 15:20:36 2000  David A Helder  <dhelder@umich.edu>

	* doc/Makefile.am: Docs now put in prefix/share/doc/libgnet0.1-dev
	* Makefile.am: Added deb rule that builds .debs
	* debian/*: Added debian package building stuff

Wed Jan 12 15:59:29 2000  David A Helder  <dhelder@umich.edu>

	* ALL: Release 0.1.4
	* TODO: Updates
	* examples/sdr.c: Added additional tests of mcast sockets
	* src/udp.c (gnet_udp_socket_get_mcast_ttl): Fix type of
	  ttl (wasn't broken in Linux as I thought).
	* src/mcast.c (gnet_mcast_socket_is_loopback): Fix type of
	  flag (wasn't broken in Linux as I thought).
	* src/udp.c: gnet_udp_socket_get_MTU removed until we
	  can fix it and port it to Solaris.
	* src/udp.c: Include sys/sockio.h if we have it.
	* src/{mcast,udp}.c: Cast 4th arg to *sockopt to (void*).
	* src/{tcp,mcast,udp}.c: Define socklen_t if necessary.
	* src/inetaddr.c: Include resolv.h, arpa/nameserv.h,
	  Define INET_ADDRSTRLEN and INET6_ADDRSTRLEN if
	  necessary.

Wed Jan 12 11:28:34 2000  David A Helder  <dhelder@umich.edu>

	* .cvsignore: Added .cvsignore files

Mon Jan 10 18:16:32 2000  David A Helder  <dhelder@umich.edu>

	* src/gnet-private.c: Include sys/sockio.h if we have it.
	* configure.in: Check for sys/sockio.h

Mon Jan 10 12:40:55 2000  David A Helder  <dhelder@umich.edu>

	* ALL: More docs, release 0.1.3
	* TODO: Updates
	* AUTHORS: Credited Owen Taylor for gnet.m4 and gnet-config
	* doc/gnet.sgml: Added how-to-compile section
	* src/inetaddr.c (gnet_inetaddr_get_name): Added
	* src/inetaddr.c (gnet_inetaddr_new_nonblock): Now returns void
	* examples/dnstest.c: Demonstrates gnet_inetaddr_get_name
	* examples/ljoust.c: Added Llama Joust

Sun Jan  9 16:40:26 2000  David A Helder  <dhelder@umich.edu>

	* src/gnet.[ch], configure.in: Added gnet_*_version
	* Makefile.am: Added m4 files for install
	* acconfig.h: Added
	* src/Makefile.am (libgnet_la_LDFLAGS): Fixed \ problem
	
Sun Jan  9 16:08:11 2000  David A Helder  <dhelder@umich.edu>

	* ALL: Prefixed functions with gnet_
	* src/gnet-private.[ch]: Move private functions here
	* TODO: Cleaned up, removed some
	* gnet.m4: Added
	* gnet-config.in: Added
	* configure.in: Added to it (from glib, gtk)

Thu Jan  6 15:25:39 2000  David A Helder  <dhelder@umich.edu>

	* TODO: Added more notes
	* NEWS: Fixed this
	* README: Added more notes
	* src/inetaddr.c (inetaddr_new_nonblock): Use _exit instead of exit

Thu Jan  6 13:26:09 2000  David A Helder  <dhelder@umich.edu>

	* doc/gnet.sgml: Added info on dnstest
	* configure.in (GNET_MICRO_VERSION): Upped to 1
	* TODO: Added a few more TODO's based on emails
	* README: Added info on how to checkout Gnet
	* src/inetaddr.[hc]: Added inetaddr_new_nonblock
	* examples/dnstest.c: Added inetaddr_new_nonblock test.
