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 Mller'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 Koczko <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 Mller.
	*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 Muller'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.
	* 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 Prez 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.
