2008-02-03 Tim-Philipp Müller <tim at centricular dot net> * NEWS: * RELEASE: * debian/changelog: Update for upcoming 2.0.8 release. 2008-01-07 Tim-Philipp Müller <tim at centricular dot net> * tests/check/Makefile.am: * tests/check/gnet/gnetabi.c: * tests/check/gnet/struct_ppc64.h: * tests/check/gnet/struct_ppc32.h: Include header based on userland ABI, not on kernel/CPU. 2008-01-06 Tim-Philipp Müller <tim at centricular dot net> * doc/tmpl/conn.sgml: Clarify docs a bit. 2008-01-05 Tim-Philipp Müller <tim at centricular dot net> * tests/check/gnet/gnetconnhttp.c: (test_conn_http_post_local): Disable SOCKS use for test that connects to server on localhost. 2008-01-05 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: Require check 0.9.4 or later. * tests/check/gnetcheck.h: (__gnet_tcase_add_test), (_tcase_add_test): Fix up things so that in case of failure the test that failed is shown properly (before the variable name 'tf' would get stringified instead of the test function name). 2008-01-05 Tim-Philipp Müller <tim at centricular dot net> * tests/check/gnetcheck.c: (gnet_check_init): Call gnet_socks_set_enabled() if the SOCKS_SERVER environment variable is set, so we can run the unit tests through the SOCKS implementation too (e.g. in connection with ssh -D). 2007-12-18 Tim-Philipp Müller <tim at centricular dot net> * src/uri.c: (gnet_uri_parse), (parse_inplace_munge_string_part), (gnet_uri_parse_inplace): * src/uri.h: API: add gnet_uri_parse_inplace() * tests/check/gnet/gneturi.c: * doc/gnet-sections.txt: * doc/tmpl/uri.sgml: Add unit test and docs for the above. 2007-12-18 Tim-Philipp Müller <tim at centricular dot net> * src/tcp.c: (gnet_tcp_socket_get_remote_inetaddr): * src/udp.c: (gnet_udp_socket_unref): Two small doc additions. * doc/tmpl/conn-http.sgml: * doc/tmpl/conn.sgml: * doc/tmpl/inetaddr.sgml: * doc/tmpl/tcp.sgml: Update templates to trunk. 2007-12-14 Tim-Philipp Müller <tim at centricular dot net> Patch by: Jeff Garzik <jeff at garzik org>. * src/uri.c: (field_unescape): Micro-optimisation: avoid unnecessary read/writes. 2007-12-09 Tim-Philipp Müller <tim at centricular dot net> * src/uri.c: (neednt_escape_table), (StringPart), (DUP_STRING_PART), (ISSPACE), (gnet_uri_parse), (gnet_uri_new): Split out URI parsing code. 2007-11-07 Tim-Philipp Müller <tim at centricular dot net> * NEWS: * src/conn-http.h: GConnHttp is no longer marked as experimental API (which doesn't mean that it's bug-free, of course). 2007-11-05 Tim-Philipp Müller <tim at centricular dot net> * src/conn.c: (gnet_conn_new_socket): Improvie docs a bit. * src/gnet-private.h: Change refcount field from guint to gint to avoid compiler warnings when using GLib's g_atomic_* macros. 2007-11-05 Tim-Philipp Müller <tim at centricular dot net> * doc/gnet-sections.txt: * src/conn-http.c: (gnet_conn_http_ia_cb), (gnet_conn_http_run_async), (gnet_conn_http_run), (gnet_conn_http_delete_internal), (gnet_http_get), (gnet_conn_http_set_main_context): * src/conn-http.h: (GConnHttpFunc): API: add gnet_conn_http_set_main_context(). Make GConnHttp work with a custom main context. * tests/check/gnet/gnetconnhttp.c: (icy_async_cb), (test_shoutcast): Use our own main context in the shoutcast unit test, to make sure GConnHttp works fine with a custom main context. 2007-11-05 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_conn_recv_response): Check the server response for a supported protocol and emit an error event if a non-supported protocol is encountered; also emit an error if the response is malformed. * src/conn-http.h: Fix typo in docs. * tests/check/gnet/gnetconnhttp.c: (icy_async_cb), (test_shoutcast), (gnetconnhttp_suite): Add unit test to make sure we accept shoutcast (ICY) server responses in addition to HTTP server responses. 2007-11-05 Tim-Philipp Müller <tim at centricular dot net> * src/socks-private.c: (_gnet_socks_tcp_socket_server_accept): * src/tcp.c: (gnet_tcp_socket_ref), (gnet_tcp_socket_unref_internal), (gnet_tcp_socket_unref), (tcp_socket_server_accept_async_cb): Do atomic refcounting for GTcpSocket (however much sense that makes). 2007-11-05 Tim-Philipp Müller <tim at centricular dot net> * tests/check/Makefile.am: * tests/check/gnet/gnetmisc.c: (test_versions), (gnetmisc_suite), (gnetmisc): Unit tests for compile-time version macros and run-time version reporting. 2007-11-05 Tim-Philipp Müller <tim at centricular dot net> * src/conn.c: (gnet_conn_set_main_context): Also allow setting a context when we already have a socket as long as no watches have been set up yet. * tests/check/gnet/gnetconn.c: (conn_fail_cb), (conn_cb), (test_conn_new), (test_conn_new_inetaddr), (test_conn_new_socket), (gnetconn_suite): Some more unit tests. 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * tests/check/Makefile.am: * tests/check/gnet/gnetconn.c: (conn_cb), (test_conn), (gnetconn_suite), (gnetconn): Add very simple test for gnet_conn_new() and running things in a user-specified GMainContext. 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: * src/conn-http.h: UTF-8-ise. 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * src/conn.c: (ADD_WATCH), (REMOVE_WATCH), (gnet_conn_disconnect), (conn_check_read_queue), (gnet_conn_timeout): Use the configured main context (if any) to hook up or remove watches and timeouts. 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * src/inetaddr.c: (gnet_inetaddr_new_list_async_cancel), (gnet_inetaddr_get_name_async_cancel): * src/tcp.c: (gnet_tcp_socket_new_async_cancel): Remove sources from correct main context. 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.c: (_gnet_idle_add_full), (_gnet_timeout_add_full), (_gnet_io_watch_add_full), (_gnet_source_remove): * src/gnet-private.h: Add private _gnet_source_remove() to remove a source by id from a certain main context. Also accept NULL as context for the other functions in place of the default main context. 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * doc/gnet-sections.txt: * src/conn.c: (gnet_conn_new_socket), (gnet_conn_set_main_context), (gnet_conn_connect): * src/conn.h: API: add gnet_conn_set_main_context() 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * src/tcp.c: (gnet_tcp_socket_connect), (gnet_tcp_socket_connect_async_full), (gnet_tcp_socket_connect_async), (gnet_tcp_socket_connect_inetaddr_cb), (gnet_tcp_socket_connect_tcp_cb), (gnet_tcp_socket_connect_async_cancel): * src/tcp.h: (GTcpSocketConnectAsyncFunc): API: add gnet_tcp_socket_connect_async_full(). 2007-11-04 Tim-Philipp Müller <tim at centricular dot net> * src/socks-private.h: * src/socks-private.c: (_gnet_socks_tcp_socket_new), (SocksAsyncData), (socks_async_cb), (_gnet_socks_tcp_socket_new_async_full), (_gnet_socks_tcp_socket_new_async): Add _gnet_socks_tcp_socket_new_async_full() variant that takes a caller-specified GMainContext. * doc/gnet-sections.txt: * src/tcp.h: (GTcpSocketNewAsyncFunc): * src/tcp.c: (gnet_tcp_socket_new_direct), (gnet_tcp_socket_new_async_full), (gnet_tcp_socket_new_async), (gnet_tcp_socket_new_async_direct_full), (gnet_tcp_socket_new_async_direct), (gnet_tcp_socket_new_async_cb), (gnet_tcp_socket_new_async_cancel): API: add gnet_tcp_socket_new_async_direct_full() API: add gnet_tcp_socket_new_direct_full() Add _full() variants that take a caller-specified GMainContext. 2007-11-03 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.c: (_gnet_create_ipv4_listen_socket), (_gnet_create_ipv6_listen_socket), (_gnet_create_listen_socket), (_gnet_io_channel_new), (_gnet_idle_add_full), (_gnet_timeout_add_full), (_gnet_io_watch_add_full): * src/gnet-private.h: * src/inetaddr.c: (gnet_inetaddr_new_list_async_full), (inetaddr_new_list_async_gthread), (inetaddr_get_name_async_gthread): * src/mcast.c: (gnet_mcast_socket_new_full): * src/socks-private.c: (_gnet_socks_tcp_socket_new), (_gnet_socks_tcp_socket_new_async), (_gnet_socks_tcp_socket_server_new), (_gnet_socks_tcp_socket_server_accept), (_gnet_socks_tcp_socket_server_accept_async), (socks_tcp_socket_server_accept_async_cb): * src/socks-private.h: * src/tcp.c: (gnet_tcp_socket_new), (gnet_tcp_socket_new_async), (gnet_tcp_socket_get_io_channel), (gnet_tcp_socket_server_new_full), (gnet_tcp_socket_server_accept), (gnet_tcp_socket_server_accept_nonblock), (gnet_tcp_socket_server_accept), (gnet_tcp_socket_server_accept_nonblock), (gnet_tcp_socket_server_accept_async): * src/udp.c: (gnet_udp_socket_new_full), (gnet_udp_socket_get_io_channel): * src/unix.c: (gnet_unix_socket_get_io_channel): Rename private function from gnet_private_foo() to _gnet_foo(), which is a bit shorter and makes it easier to make sure those symbols aren't exported later. Also rename __gnet_foo_add_full() to _gnet_foo_add_full() for consistency. 2007-10-28 Tim-Philipp Müller <tim at centricular dot net> * src/tcp.h: (GTcpSocketNewAsyncID): Typedef GTcpSocketNewAsyncID to real structure instead of gpointer so the compiler can help us catch nonsense. * src/socks-private.c: (gnet_private_socks_tcp_socket_new_async): Like this. 2007-10-28 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.c: (__gnet_io_watch_add_full): * src/gnet-private.h: Implement (private) __gnet_io_watch_add_full(), which we'll need shortly. 2007-10-27 Tim-Philipp Müller <tim at centricular dot net> * tests/check/gnet/gnetinetaddr.c: Add unit tests for the various _async() and _async_full() functions. 2007-10-27 Tim-Philipp Müller <tim at centricular dot net> * doc/gnet-sections.txt: * src/gnet-private.c: (gnet_uninitialize_windows_sockets), (__gnet_idle_add_full), (__gnet_timeout_add_full): * src/gnet-private.h: * src/inetaddr.c: (gnet_inetaddr_delete_list), (gnet_inetaddr_new_async_full), (gnet_inetaddr_new_async), (gnet_inetaddr_new_async_cancel), (inetaddr_new_async_cb), (gnet_inetaddr_new_list_async_full), (gnet_inetaddr_new_list_async), (inetaddr_new_list_async_nonblock_dispatch), (inetaddr_new_list_async_gthread), (inetaddr_new_list_async_gthread_dispatch), (gnet_inetaddr_new_list_async_cancel), (gnet_inetaddr_get_name_nonblock), (gnet_inetaddr_get_name_async_full), (gnet_inetaddr_get_name_async), (gnet_inetaddr_get_name_async_cancel), (inetaddr_get_name_async_gthread_dispatch), (inetaddr_get_name_async_gthread): * src/inetaddr.h: API: add gnet_inetaddr_new_async_full() API: add gnet_inetaddr_new_list_async_full() API: add gnet_inetaddr_get_name_async_full() Add _full variants for async lookup functions with destroy notify function, main context and priority parameters. 2007-10-24 Tim-Philipp Müller <tim at centricular dot net> * src/inetaddr.c (inetaddr_new_list_async_gthread): If we've been cancelled, free the correct inetaddr list and not a yet-unassigned NULL list. * tests/check/gnetcheck.h: Some more comments. 2007-10-24 Tim-Philipp Müller <tim at centricular dot net> * src/inetaddr.c (gnet_inetaddr_get_name_async), (gnet_inetaddr_get_name_async_cancel), (inetaddr_get_name_async_gthread_dispatch), (inetaddr_get_name_async_gthread): Don't take lock in reverse lookup thread while it's doing the blocking reverse lookup, otherwise a _cancel() from the main thread will block until the blocking operation in the thread has finished, which isn't what we want; fix a small leak when cancelling a lookup; no need to take the lock before starting the lookup thread, just set up the structure before starting the thread (no point optimising for an unlikely failure case). * tests/check/gnet/gnetinetaddr.c: (gnetinetaddr_suite): Add dumb unit test for reverse lookup cancellation. 2007-10-24 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: Check if valgrind.h is available, so we can use it in unit tests to check if we're running under valgrind (and wait for threads to finish etc.). 2007-10-24 Tim-Philipp Müller <tim at centricular dot net> * tests/check/gnetcheck.c: Don't leak function string array when using GNET_CHECKS. 2007-10-23 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: * tests/check/Makefile.am: * tests/check/gnet/gnetconnhttp.c: * tests/check/gnet/gnettcpsocket.c: Fix --disable-network-tests configure option. 2007-10-23 Tim-Philipp Müller <tim at centricular dot net> * src/inetaddr.c: Remove some now-unused structure members (of privat structure). 2007-10-19 Tim-Philipp Müller <tim at centricular dot net> * NEWS: * src/gnet.c: * src/inetaddr.c: * configure.ac: Remove fork()-and-pipe-based fallback for asynchronous DNS lookups, which was used when GLib has been compiled without support for threading, ie. G_THREADS_ENABLED was not defined. This code is unused in practice, pointless and I simply don't want to maintain it. Also, it's 2007. Besides, getting rid of this cruft might make it a bit easier for someone to implement a non-thread async dns variant. Lastly, fixes some cases where we didn't lock or free mutexes because we checked against a non-existant G_THREADS_ENABLES define. 2007-10-17 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.h: * src/inetaddr.c: Do refcounting of GInetAddr structures atomically. Not that that is particularly useful given how the API isn't thread-safe, but it can't hurt either. 2007-10-16 Tim-Philipp Müller <tim at centricular dot net> * tests/check/gnetcheck.c: * tests/check/gnetcheck.h: Support running only specific checks of a unit test via the GNET_CHECKS environment variable (specify test case function names, comma-separated). 2007-10-16 Tim-Philipp Müller <tim at centricular dot net> * NEWS: * src/conn-http.c: Fix parsing of POST method response if the server returns optional headers after the initial 100-Continue response. Should fix #459895. * tests/check/gnet/gnetconnhttp.c: Add unit test for the above. 2007-08-12 Tim-Philipp Müller <tim at centricular dot net> * MAINTAINERS: Obscure e-mail addresses with spaces only, as suggested on desktop-devel. 2007-08-09 Tim-Philipp Müller <tim at centricular dot net> * MAINTAINERS: Format maintainers file as requested by the sysadmins on the gnome devel-announce mailing list. 2007-08-08 Tim-Philipp Müller <tim at centricular dot net> * examples/xmlrpc/Makefile.am: Don't use absolute path from top_builddir for local target, make isn't smart enough to recognise it's a local target which makes the build fail when using make -j2 or similar. 2007-08-04 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: Add more info to docs about the implications of gnet_http_get() and gnet_conn_http_run() running a main loop iterating the default GLib main context. 2007-07-29 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: * tests/Makefile.am: * tests/check/Makefile.am: * tests/check/gnet/gnetconnhttp.c: * tests/check/gnet/gnetinetaddr.c: * tests/check/gnet/gnetipv6.c: * tests/check/gnet/gnettcpsocket.c: * tests/conn_http_test.c: * tests/inetaddr_test.c: * tests/ipv6_test.c: * tests/tcp_test.c: Move some more tests over to the check unit testing framework. 2007-07-28 Tim-Philipp Müller <tim at centricular dot net> * tests/Makefile.am: * tests/base64_test.c: * tests/check/Makefile.am: * tests/check/gnet/gnetbase64.c: * tests/check/gnet/gnethash.c: * tests/check/gnet/gnetpack.c: * tests/check/gnet/gnetunpack.c: * tests/check/gnet/gneturi.c: * tests/hash_test.c: * tests/pack_test.c: * tests/unpack_test.c: * tests/uri_test.c: Migrate some of the existing unit tests over to the check unit testing framework (will currently only be run if you do 'make check' in tests/check/). While we're at it, fix up packing and unpacking checks for 64-bit platforms. 2007-07-28 Tim-Philipp Müller <tim at centricular dot net> * tests/check/gnetcheck.c: * tests/check/gnetcheck.h: Call the internal gnet_check_init() when setting up a unit test, so we intercept criticals and ASSERT_WARNING() in the tests works. 2007-07-27 Tim-Philipp Müller <tim at centricular dot net> * src/pack.c: * src/pack.h: Const-ify input buffer arguments to gnet_unpack*(). 2007-07-27 Tim-Philipp Müller <tim at centricular dot net> * src/pack.c: (flipmemcpy): Fix broken flipmemcpy() function - it never actually reversed the order! Which noone ever noticed, because it is only used if more than four bytes need reversing, and the only types with a possible size of more than four bytes are void* and double and at least for the latter the endianness modifiers are ignored. Not sure what to do about pointers yet, we should probably just ignore those modifiers for pointers too. Also fix gtk-doc blurb. 2007-07-27 Tim-Philipp Müller <tim at centricular dot net> * src/base64.c: (gnet_base64_encode), (gnet_base64_decode): * src/base64.h: Make arguments for input buffers constant; add more guards against invalid arguments. 2007-07-26 Tim-Philipp Müller <tim at centricular dot net> * Makefile.am: * configure.ac: * macros/Makefile.am: * macros/gnet-arch.m4: * tests/Makefile.am: * tests/check/Makefile.am: * tests/check/gnet-valgrind.supp: * tests/check/gnet/gnetabi.c: * tests/check/gnet/struct_i386.h: * tests/check/gnet/struct_ppc64.h: * tests/check/gnet/struct_x86_64.h: * tests/check/gnetcheck.c: * tests/check/gnetcheck.h: Add build infrastructure for unit tests based on libcheck. 2007-07-22 Tim-Philipp Müller <tim at centricular dot net> * autogen.sh: Use '=' instead of '==' to test for equality, dash in gutsy (which seems to be the default shell now) doesn't seem to like '=='. * tests/conn_http_test.c: Add cast to fix compiler warnings due to printf format. 2007-06-11 Tim-Philipp Müller <tim at centricular dot net> Patch by: Samuel Cormier-Iijima <sciyoshi@gmail.com> * examples/xmlrpc/xmlrpc-server.c: (create_response_string): Printf format fix for 64-bit systems. 2007-04-30 Tim-Philipp Müller <tim at centricular dot net> * TODO: Minor update. * src/server.h: Document where to find details of the connecting client in the GServer callback. 2007-03-26 Tim-Philipp Müller <tim at centricular dot net> * doc/gnet-docs.sgml: The pkg-config module name is gnet-2.0, not gnet. Fix docs. 2007-02-23 Dov Grobgeld <dov.grobgeld@gmail.com> * examples/xmlrpc: Added option to split the call and the reply for xmlrpc commands through the addition of command gnet_xmlrpc_server_register_async_command(), which passes the connection variable but does not return a reply. This is useful when the reply may not be given immediately (in terms of mainloop interaction). 2007-02-14 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_reset), (gnet_conn_http_free_event): Fix two small memory leaks. 2007-02-07 Tim-Philipp Müller <tim at centricular dot net> * src/unix.c: (gnet_unix_socket_unlink): Make this function static, it's an internal utility function. Also shuffle a few macros around. 2007-02-07 Tim-Philipp Müller <tim at centricular dot net> Patch by: Zeeshan Ali <zeenix gmail com> * AUTHORS: * NEWS: * configure.ac: * doc/gnet-sections.txt: * doc/tmpl/unix.sgml: * examples/echoclient-unix.c: * examples/echoserver-unix.c: * src/unix.c: (gnet_sun_len), (gnet_unix_socket_new_internal), (gnet_unix_socket_new), (gnet_unix_socket_new_abstract), (gnet_unix_socket_unref), (gnet_unix_socket_server_new_internal), (gnet_unix_socket_server_new), (gnet_unix_socket_server_new_abstract): * src/unix.h: * tests/client_server_test.pl: API: gnet_unix_socket_new_abstract() API: gnet_unix_socket_server_new_abstract() Add support for abstract unix sockets. If not supported on the platform used, the new functions will try to create normal unix sockets. (#404583) 2007-02-01 Tim-Philipp Müller <tim at centricular dot net> * doc/tmpl/base64.sgml: * doc/tmpl/conn-http.sgml: * doc/tmpl/conn.sgml: * doc/tmpl/gnet.sgml: * doc/tmpl/inetaddr.sgml: * doc/tmpl/iochannel.sgml: * doc/tmpl/ipv6.sgml: * doc/tmpl/mcast.sgml: * doc/tmpl/md5.sgml: * doc/tmpl/pack.sgml: * doc/tmpl/server.sgml: * doc/tmpl/sha.sgml: * doc/tmpl/socks.sgml: * doc/tmpl/tcp.sgml: * doc/tmpl/udp.sgml: * doc/tmpl/unix.sgml: * doc/tmpl/uri.sgml: Update. 2007-02-01 Tim-Philipp Müller <tim at centricular dot net> Based on patch by: Zeeshan Ali <zeenix at gmail.com> * NEWS: * src/unix.c: (gnet_unix_socket_new), (gnet_unix_socket_server_new): Pass SUN_LEN (struct sockaddr_un) as size parameter to bind() and connect() rather than just sizeof (struct sockaddr_un); apparently this matters in some environments (yay for great APIs; also yay for wrong man pages). Fixes #403197. Also do a bunch of small clean-ups, and don't leak memory/sockets in some failure cases. 2007-02-01 Tim-Philipp Müller <tim at centricular dot net> * examples/echoclient-unix.c: (main): Don't print a welcome message to stdout, it confuses the automatic testing script. * tests/client_server_test.pl: Test unix socket server/client as well. 2007-01-04 Tim-Philipp Müller <tim at centricular dot net> Patch by: Jeff Garzik <jeff at garzik org> * src/conn.c: (gnet_conn_unref): * src/inetaddr.c: (gnet_inetaddr_unref): (gnet_inetaddr_get_name_async_cb): * src/md5.c: (gnet_md5_delete): * src/sha.c: (gnet_sha_delete): * src/tcp.c: (gnet_tcp_socket_connect_async_cancel): * src/uri.c: (gnet_uri_set_scheme): (gnet_uri_set_userinfo): (gnet_uri_set_hostname): (gnet_uri_set_path): (gnet_uri_set_query): (gnet_uri_set_fragment): Eliminate unnecessary non-NULL checks in front of g_free(). g_free() handles NULL just fine and will do nothing in that case. * tests/conn_http_test.c: (test_simple_get): Fix typo. 2006-12-10 Tim-Philipp Müller <tim at centricular dot net> * examples/xmlrpc/xmlrpc-client.c: (gnet_xmlrpc_client_call), (build_xmlrpc_message): Use gsize where appropriate; add cast from gsize to correct printf format. Patch by Jeff Garzik <jeff at garzik org>. 2006-10-30 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_conn_connected), (gnet_conn_http_conn_recv_response), (gnet_conn_http_conn_recv_headers), (gnet_conn_http_conn_recv_chunk_body), (gnet_conn_http_conn_recv_nonchunked_data), (gnet_conn_http_conn_cb): Fix behaviour when the server closes the connection (this is not automatically an error). Fix retrieval of non-text data in non-chunked mode (we would use _readline() for non-chunked mode, but this might cause data at the end of the file to be lost if the file is random binary data). 2006-10-30 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_conn_recv_chunk_body), (gnet_conn_http_conn_recv_nonchunked_data): Don't forget to set the buffer_length member in our GConnHttpEventData structure when emitting a PARTIAL_DATA event. * tests/conn_http_test.c: (http_async_callback): Check that GConnHttpEventData members are set for PARTIAL_DATA events. 2006-10-30 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_append_to_buf), (gnet_conn_http_new), (gnet_conn_http_set_user_agent): Append comment with GNet version to any custom user agent strings; minor indentation fix in _append_to_buf(). 2006-10-30 Tim-Philipp Müller <tim at centricular dot net> Based on patch by: Samuel Cormier-Iijima <sciyoshi@gmail.com> * NEWS: * doc/gnet-sections.txt: * src/conn-http.c: (gnet_conn_http_set_uri_internal), (gnet_conn_http_set_uri), (gnet_conn_http_set_escaped_uri): * src/conn-http.h: API: added gnet_conn_http_set_escaped_uri(). 2006-10-07 Tim-Philipp Müller <tim at centricular dot net> * src/base64.c: (gnet_base64_encode), (gnet_base64_decode): Add guards for NULL input. A 0-length input to gnet_base64_encode() should return an empty string and not NULL. In the case of gnet_base64_decode(), use strlen(src) for all non-positive values of srclen and not just 0, since glib usually uses -1 for this (0-sized input should really just have returned a 0-sized output buffer, but we can't change that now for backwards compatibility reasons). 2006-09-27 Tim-Philipp Müller <tim at centricular dot net> * README: Update (no more glib-1.2). 2006-09-13 Tim-Philipp Müller <tim at centricular dot net> * tests/.cvsignore: * tests/Makefile.am: * tests/tcp_test.c: Add unit test for bug #305854. * examples/sdr.c: (main): Add some refs/unrefs to test the derived nature of GMcastSocket and the run-time 'type checks'. 2006-09-13 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.h: * src/inetaddr.c: (gnet_inetaddr_new_async): * src/tcp.c: (gnet_tcp_socket_connect_async), (gnet_tcp_socket_connect_inetaddr_cb): Move more private and only locally used structs into the appropriate .c files; make some internal functions static; use proper AsyncID types for such IDs; don't leak mutex. 2006-09-13 Tim-Philipp Müller <tim at centricular dot net> * AUTHORS: * MAINTAINERS: * Makefile.am: Add maintainers file, update/utf8-ise/reformat authors file. 2006-09-13 Tim-Philipp Müller <tim at centricular dot net> * src/tcp.c: (gnet_tcp_socket_connect_async_cancel): We used gnet_inetaddr_new_list_async(), so we also need to call gnet_inetaddr_new_list_async_cancel() to cancel it, and not gnet_inetaddr_new_async_cancel(). Would cause invalid memory access, double frees and other weird things when cancelling an asynchronous TCP connect before the dns lookup has finished. Fixes #305854. * src/gnet-private.h: * src/inetaddr.h: * src/tcp.h: The compiler can help us with stuff like this. Let's let it. 2006-09-12 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.h: * src/mcast.c: (gnet_mcast_socket_new_full), (gnet_mcast_socket_delete), (gnet_mcast_socket_ref), (gnet_mcast_socket_unref), (gnet_mcast_socket_get_io_channel), (gnet_mcast_socket_get_local_inetaddr), (gnet_mcast_socket_join_group), (gnet_mcast_socket_leave_group), (gnet_mcast_socket_get_ttl), (gnet_mcast_socket_set_ttl), (gnet_mcast_socket_is_loopback), (gnet_mcast_socket_set_loopback): * src/mcast.h: * src/udp.c: Move GUdpSocket structure back into gnet-private.h and make GMcastSocket derive from it explicitly and properly. More and better guards for input to public gnet_mcast_*() functions. 2006-09-12 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.h: * src/unix.c: Move another private structure that is only used locally to where it belongs. 2006-09-11 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: Require at least GLib-2.6. Give more extensive error message if GLib development files are not found. * src/gnet-private.h: * src/udp.c: (gnet_udp_socket_new_full), (gnet_udp_socket_delete), (gnet_udp_socket_ref), (gnet_udp_socket_unref), (gnet_udp_socket_get_io_channel), (gnet_udp_socket_get_local_inetaddr), (gnet_udp_socket_send), (gnet_udp_socket_receive), (gnet_udp_socket_has_packet), (gnet_udp_socket_get_ttl), (gnet_udp_socket_set_ttl): Move private struct over to where it belongs (udp.c); guard all public functions properly against bad input; try harder to guard against bad input by adding a type cookie to the beginning of our struct; do refcounting atomically for GUdpSocket. 2006-09-11 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.c: (gnet_private_io_channel_new): No need to special-case for GLib-2.0 any more, since we don't support 1.2 any longer. 2006-09-11 Tim-Philipp Müller <tim at centricular dot net> * src/uri.c: (gnet_uri_new), (gnet_uri_get_string): * tests/uri_test.c: (main): Add support for absolute file:// URIs and add two simple test cases. Not entirely convinced about the required fix to _get_string(), but it doesn't seem to break any of the tests, so it can't be too bad even if it's not entirely correct. Fixes bug #317456. Based on patch by Milosz Derezynski <internalerror at gmail com> 2006-09-10 Tim-Philipp Müller <tim at centricular dot net> Patch by: Dov Grobgeld <dov dot grobgeld at gmail dot com> * configure.ac: * examples/Makefile.am: * examples/xmlrpc/.cvsignore: * examples/xmlrpc/Makefile.am: * examples/xmlrpc/README: * examples/xmlrpc/test-xmlrpc-client.c: * examples/xmlrpc/test-xmlrpc-server.c: * examples/xmlrpc/xmlrpc-client.c: * examples/xmlrpc/xmlrpc-server.c: * examples/xmlrpc/xmlrpc.h: Add Dov Grobgeld's XMLRPC code to the examples for posteriority. 2006-09-03 Tim-Philipp Müller <tim at centricular dot net> Patch by: Thadeu Lima de Souza Cascardo <cascardo at minaslivre org> * src/inetaddr.c: (gnet_gethostbyname), (gnet_inetaddr_new), (gnet_inetaddr_new_list), (gnet_inetaddr_new_list_async), (inetaddr_new_list_async_nonblock_dispatch), (inetaddr_new_list_async_gthread): Check whether the given hostname can be resolved without blocking before creating a thread or forking to do the lookup. Avoids unnecessary overhead in some cases (#353727). * tests/unpack_test.c: (main): Add cast for unsigned integers to avoid compiler warnings here. 2006-08-12 Tim-Philipp Müller <tim at centricular dot net> * RELEASE: Add note to check for ss_family usage before release. * src/inetaddr.c: (hostent2ialist), (gnet_inetaddr_new_list_async_cb): Don't access the ss_family field directly, use the GNET_SOCKADDR_FAMILY() accessor macro instead in order to keep tings compiling on older systems. Patch by: Mark Drago <mdrago at bascom com> 2006-06-23 Tim-Philipp Müller <tim at centricular dot net> * autogen.sh: Find newer automake/autoconf versions and use those if available. 2006-05-24 Benjamin Otte <in7y118@public.uni-hamburg.de> * src/gnet-private.h: add lost stuff for !win32 from previous patch * tests/conn_http_test.c: (main): remove windows-specific debugging stuff * tests/unpack_test.c: (main): fix "comparison always true due to limited range of data type" warning 2006-05-24 Benjamin Otte <otte@gnome.org> * src/gnet-private.c: (DllMain): * src/gnet-private.h: * src/gnet.c: (gnet_init): * src/inetaddr.c: (inet_pton), (inet_ntop), (gnet_gethostbyname), (gnet_gethostbyaddr), (inetaddr_new_list_async_gthread), (gnet_inetaddr_get_canonical_name), (gnet_inetaddr_get_host_name): * src/inetaddr.h: * src/mcast.c: (gnet_mcast_socket_is_loopback), (gnet_mcast_socket_set_loopback): * src/tcp.c: (gnet_tcp_socket_new_async_direct), (gnet_tcp_socket_new_async_cb), (gnet_tcp_socket_new_async_cancel): * tests/conn_http_test.c: (main): apply patch from bug #147392 - it removes a lot of not-needed special cases for the Windows backend * src/gnet-private.c: (gnet_private_create_ipv4_listen_socket), (gnet_private_create_ipv6_listen_socket), (gnet_private_create_listen_socket) * src/gnet-private.h: handle IP version policy correctly when creating listening sockets 2006-05-20 Tim-Philipp Müller <tim at centricular dot net> * doc/gnet-sections.txt: Make #include <gnet.h> show at top of each docs section (fixes #341816). 2006-05-05 Benjamin Otte <otte@gnome.org> various fixes for Windows compilation: * src/gnet-private.h: define socklen_t only if it's not defined in config.h * src/gnet.c: do not compile ipv6_detect_envvar and ipv6_detect_iface on Windows * src/inetaddr.c: inet_ntop is unused on windows * src/mcast.c: (gnet_mcast_socket_is_loopback), (gnet_mcast_socket_set_loopback): cast [gs]etsockopt pointers to avoid warnings 2006-05-05 Benjamin Otte <in7y118@public.uni-hamburg.de> * src/conn-http.c: (gnet_conn_http_set_uri), (gnet_conn_http_delete_internal): * src/conn.c: Deperecated gnet_conn_delete in favour of gnet_conn_unref. 2006-05-05 Benjamin Otte <in7y118@public.uni-hamburg.de> Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * src/conn.c: (async_cb): Don't send an error on HUP (fixes bug #340747) 2006-03-17 Tim-Philipp Müller <tim at centricular dot net> * examples/echoserver-unix.c: (main): No need to re-invent g_strdup(), but if someone does he better allocate enough space for the terminating NUL. 2005-12-10 Tim-Philipp Müller <tim at centricular dot net> * doc/tmpl/conn-http.sgml: Mention the need to define GNET_EXPERIMENTAL before including gnet headers in the docs. 2005-11-30 Benjamin Lee <benjamin dot lee at realthought dot net> Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * examples/echoserver-async.c: (async_client_iofunc): Check for G_IO_OUT before checking for G_IO_IN, so that we don't forget to send out the last chunk of bytes if we get notified of a disconnect via G_IO_IN. 2005-11-16 Tim-Philipp Müller <tim at centricular dot net> * src/base64.c: * src/md5.c: * src/sha.c: const-ify some more arrays; fix potential signedness issue in the md5/sha digest stringification code. 2005-11-16 Tim-Philipp Müller <tim at centricular dot net> * NEWS: Update * src/base64.c: Make table constant 2005-11-16 Tim-Philipp Müller <tim at centricular dot net> * src/gnet-private.h: * src/inetaddr.c: (gnet_inetaddr_new_async), (inetaddr_new_async_cb): Fix race condition in async DNS resolution code: inetaddr_new_async_cb() might be called before gnet_inetaddr_new_async() gets around to setting state->func and state->data (based on patch by steve_morris@arcadyan.com). 2005-11-16 Tim-Philipp Müller <tim at centricular dot net> * src/uri.c: (field_escape): Fix URI escaping for characters from 0x80-0xff. 2005-11-15 Tim-Philipp Müller <tim at centricular dot net> * NEWS: * configure.ac: * doc/gnet-sections.txt: * gnet.def: Update for API addition. 2005-11-15 Jeff Garzik <jgarzik@pobox.com> * src/conn.c: (conn_write_free), (gnet_conn_disconnect), (gnet_conn_write_direct), (gnet_conn_write), (conn_write_async_cb): * src/conn.h: Add gnet_conn_write_direct(), to allow the caller to control the write buffer. 2005-10-27 Tim-Philipp Müller <tim at centricular dot net> * src/pack.h: * src/scheduler.h: Add extern "C" bits for c++ compiler. 2005-09-19 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: * src/gnet-private.h: Check if system provides socklen_t; if not define it to be size_t or int as required. * gnetconfig.h.win32: Bump version numbers to 2.0.8 2005-09-19 Tim-Philipp Müller <tim at centricular dot net> * examples/echoclient-unix.c: * examples/echoserver-unix.c: Relicense these to LGPL as well (I missed Marks approval, see below, same message). * NEWS: update 2005-09-19 Tim-Philipp Müller <tim at centricular dot net> * examples/dnslookup.c: * examples/echoclient-async.c: * examples/echoclient-gconn.c: * examples/echoclient-udp.c: * examples/echoclient.c: * examples/echoserver-async.c: * examples/echoserver-gserver.c: * examples/echoserver-partyline.c: (ob_sig_int): * examples/echoserver-udp.c: * examples/echoserver.c: * examples/hash.c: * examples/hfetch.c: * examples/hostinfo.c: * examples/sdr.c: Relicense these examples from GPL to LGPL (as approved by the copyright holder, David Helder, on the gnet mailing list, Message ID: <f688e4613fd4e6bd85847dca4a4f60f3@gizmolabs.org>). 2005-09-19 Steve Morris <steve_morris at arcadyan dot com> Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_done): Disable timeout when we have received all data. 2005-09-18 Daniel Gryniewicz <dang at gentoo dot org> Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * examples/echoclient-async.c: (async_client_sin_iofunc), (async_client_in_iofunc): * examples/echoclient-gconn.c: (ob_in_iofunc): * examples/echoclient-unix.c: (normal_echoclient): * examples/echoclient.c: (main): * examples/echoserver-async.c: (async_client_iofunc): * examples/echoserver-unix.c: (normal_echoserver), (async_client_iofunc): * examples/echoserver.c: (main): * examples/hfetch.c: (hfetch): * src/conn-http.c: (gnet_conn_http_conn_connected): Fix compilation with -Werror on amd64 (mostly a simple s/guint/gsize/ for the GIOChannel API that was changed the same way in the GLib 1.2 => 2.0 transition). 2005-08-31 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_conn_connected), (gnet_conn_http_conn_got_data): Renew timeout when connected and whenever data is received (makes transfers that take longer than 30 seconds work). 2005-08-31 Tim-Philipp Müller <tim at centricular dot net> * src/md5.c: (gnet_md5_new), (gnet_md5_update): * src/sha.c: (gnet_sha_new), (gnet_sha_update): * src/tcp.c: (gnet_tcp_socket_new_async_cb): * src/udp.c: (gnet_udp_socket_receive): Fix compilation with gcc4 (signedness issues). 2005-07-25 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_reset), (gnet_conn_http_conn_parse_response_headers), (gnet_conn_http_conn_recv_headers): Fix redirection to new location in connection with a Content-Length of 0, ie. no body to receive (would just timeout after waiting for the body data before). * tests/conn_http_test.c: (test_post): Fix POST test by supplying a developer ID (please do not use this for your own code, get your own ID). 2005-05-31 Tim-Philipp Müller <tim at centricular dot net> * doc/gnet-docs.sgml: The pkg-config module is gnet-2.0 these days, fix docs. 2005-05-03 Tim-Philipp Müller <tim at centricular dot net> * src/usagi_ifaddrs.c: (free_nlmsglist): Fix memory leaks 2005-04-25 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: Update version to 2.0.8 as well * RELEASE: * configure.ac: * debian/.cvsignore: * debian/README.Debian: * debian/changelog: * debian/control.in: * debian/dirs: * debian/docs: * debian/libgnet-dev.preinst: * debian/libgnet1.0.README.Debian: * debian/libgnet1.0.docs: * debian/libgnet1.0.postinst: * debian/libgnet1.1.README.Debian: * debian/libgnet1.1.docs: * debian/libgnet1.1.postinst: * debian/libgnet2.0-0.files: * debian/rules: * debian/rules.in: Update debian build stuff (most taken directly from Takuo Kitame's .diff for the real debian packages) 2005-04-25 Andreas Rottmann <a.rottmann at gmx dot at> Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * NEWS: * configure.ac: * doc/gnet-docs.sgml: * src/gnet-private.h: * src/inetaddr.c: (gnet_inetaddr_new_list_async), (inetaddr_new_list_async_gthread), (inetaddr_new_list_async_gthread_dispatch), (gnet_inetaddr_new_list_async_cancel), (gnet_inetaddr_get_name_async), (gnet_inetaddr_get_name_async_cancel), (inetaddr_get_name_async_gthread_dispatch), (inetaddr_get_name_async_gthread): Eliminate direct usage of pthreads on unix systems and use GLib GThreads instead. 2005-04-25 Tim-Philipp Müller <tim at centricular dot net> * tests/base64_test.c: (main): * tests/conn_http_test.c: (main): * tests/inetaddr_test.c: (main): Tests need to call gnet_init() before using any gnet functions as well. 2005-04-25 Tim-Philipp Müller <tim at centricular dot net> * NEWS: * src/conn-http.c: (gnet_conn_http_new), (gnet_conn_http_emit_event), (gnet_conn_http_done), (gnet_conn_http_conn_parse_response_headers), (gnet_conn_http_conn_recv_chunk_body), (gnet_conn_http_conn_recv_nonchunked_data), (gnet_conn_http_conn_cb), (gnet_conn_http_ia_cb), (gnet_conn_http_delete_internal), (gnet_conn_http_delete): Make sure the http connection can be deleted from within the user callback. Do not emit _DATA_PARTIAL or _DATA_COMPLETE if we are going to be redirected to a different target anyway. * tests/conn_http_test.c: (http_async_callback), (test_get_async), (main): Add some test cases for GConnHttp in async mode. 2005-04-25 Tim-Philipp Müller <tim at centricular dot net> * doc/tmpl/conn-http.sgml: Add GNET_CONN_HTTP_ERROR_HOSTNAME_RESOLUTION * src/conn-http.c: (gnet_conn_http_new), (gnet_conn_http_set_header), (gnet_conn_http_set_user_agent), (gnet_conn_http_set_uri), (gnet_conn_http_set_method), (gnet_conn_http_conn_cb), (gnet_conn_http_ia_cb), (gnet_conn_http_run_async), (gnet_conn_http_run), (gnet_conn_http_steal_buffer), (gnet_conn_http_delete), (gnet_conn_http_cancel), (gnet_conn_http_set_timeout): * src/conn-http.h: Actually do emit an error when we couldn't resolve the hostname; add some pseudo-typesafety by adding a magic cookie to the beginning of the structure and checking that cookie in all public gnet_conn_http_*() functions; add GNET_CONN_HTTP_ERROR_HOSTNAME_RESOLUTION; make sure there are no trailing commas after the last enum value in enumerations (gcc-2.9x does not seem to like that). 2005-04-13 Tim-Philipp Müller <tim at centricular dot net> * acinclude.m4: Added pkg.m4 * configure.ac: Drop support for GLib-1.2 * configure.ac: * src/gnet-private.h: * src/udp.c: (gnet_udp_socket_send): Check for struct sockaddr_storage family member; fixes build on systems that use __ss_family instead of ss_family. Based on patch by Jeremy Denise. * NEWS: Update 2005-04-13 Tim-Philipp Müller <tim at centricular dot net> * NEWS: Update * src/conn-http.h: Get rid of outdated references to GString in inline documentation. gnet_conn_http_steal_buffer() is the way to take ownership of a HTTP connection's data. 2005-04-13 Tim-Philipp Müller <tim at centricular dot net> * src/conn-http.c: (gnet_conn_http_append_to_buf), (gnet_conn_http_reset), (gnet_conn_http_new), (gnet_conn_http_steal_buffer): Fix major memory leak in _steal_buffer(); avoid making an unnecessary copy in _steal_buffer(): always allocate one more byte than required, so we always have space for a terminating NUL. * tests/conn_http_test.c: (test_simple_get): Add missing g_free(buf) so we can use the test to check for memory leaks. 2005-03-10 Tim-Philipp Müller <tim at centricular dot net> * configure.ac Set to 2.0.8 * NEWS: * src/gnet.c: (gnet_init): Return if gnet_init() has been called before, making sure that gnet_init() can safely be called multiple times. This is useful for example for libraries depending on GNet that want to call gnet_init() from their own init function instead of depending on it being called from the application. 2005-02-23 Tim-Philipp Müller <tim at centricular dot net> * NEWS: Update for 2.0.7 2005-02-20 Tim-Philipp Müller <tim at centricular dot net> * RELEASE: Before release, check whether the created tarball really contains the HTML docs. * doc/Makefile.am: Fix 'make distcheck' which the previous commit broke (version.xml needs to be copied to built dir apparently) * gnet.def: Make DllMain a stdcall (use DllMain@12) to keep GNU ld and gcc from complaining on win32 (patch by Gisle Vanem). 2005-02-19 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: * doc/.cvsignore: * doc/Makefile.am: * doc/README: * doc/gnet-docs.sgml: * doc/version.xml.in: Put the version number into the API reference manual banner; update doc README and remove outdated docs build instructions. 2005-02-19 Tim-Philipp Müller <tim at centricular dot net> * RELEASE: Added some notes on which win32 files need to be changed when new source files and/or new symbols are added. * NEWS: * configure.ac: Set to 2.0.7 * gnet.def: Make sure the new gnet_conn_http_* and gnet_http_get symbols are exported in the win32 DLLs (patch by Gisle Vanem) === release 2.0.6 === 2005-02-17 Tim-Philipp Müller <tim at centricular dot net> * Makefile.am: Add --enable-gtk-doc to DISTCHECK_CONFIGURE_FLAGS, fixing 'make distcheck'. * NEWS: * README: Update for 2.0.6 2005-02-17 Tim-Philipp Müller <tim at centricular dot net> * GNET.DSP: * src/makefile.mingw: Add conn-http.[ch] * NEWS: update 2005-02-17 Tim-Philipp Müller <tim at centricular dot net> * examples/dnslookup.c: (main): getopt returns an int, not a char; fixes compilation under strict conditions. (fixes #167706, patch by Joseph Sacco) 2005-02-07 Tim-Philipp Müller <tim at centricular dot net> * configure.ac: When building on win32 using configure/autotools, always define HAVE_IPV6, so that GNET_ADDRLEN is the right size for ipv6 structs and calls to getnameinfo() don't crash on IPV6-enabled systems (gnetconfig.h.win32 where HAVE_IPV6 is already defined is not used when building on win32 using the autotools). Fixes #142644 2005-02-04 Tim-Philipp Müller <tim at centricular dot net> * AUTHORS: Fix my e-mail address * acinclude.m4: * autogen.sh: * configure.ac: Use GTK_DOC_CHECK macro * doc/Makefile.am: Update gtk-doc build magic * doc/gnet-docs.sgml: Fix build issue with some jade versions: add xml header, change to OASIS/DTD DocBook XML V4.1.2 and fix entities and comments accordingly; update copyright to include 2005. * src/mcast.c: Properly quote arguments to HTML tags in inline docs to fix build issues. 2005-02-01 Tim-Philipp Müller <tim at centricular dot net> * src/base64.c: (gnet_base64_encode): * tests/.cvsignore: * tests/base64_test.c: (main): Fix base64 encoding bug reported on mailing list (24 Oct 2004) and add test case for it. Also fix gnet_base64_encode() documentation (the length of the buffer returned DOES include the terminating 0). * NEWS: Update * tests/.cvsignore: Add conn_http_test binary to list of non-CVS files to ignore 2005-02-01 Tim-Philipp Müller <tim at centricular dot net> * tests/conn_http_test.c: (test_post): Make ConnHttp test compile on GLib versions < 2.4 which don't have g_markup_printf_escaped() Thu Oct 7 21:25:18 2004 David Helder <dhelder@gizmolabs.org> * src/conn-http.h: Require GNET_EXPERIMENTAL to be defined. * tests/conn_http_test.c (GNET_EXPERIMENTAL): Define GNET_EXPERIMENTAL * configure.ac: Redo pthread checking logic so we actually run a program with pthreads when checking for -pthread. Just checking for linking doesn't work, since gcc will fail *but* exit 0 on -pdoesnotexist. Bug 138692. * NEWS: Updates for Snapshot Mon Sep 27 20:26:51 2004 David Helder <dhelder@gizmolabs.org> * examples/echoclient-async.c (async_client_sin_iofunc): Don't unref iochannel. gnet_tcp_socket_delete() will do this. Bug 118149. Sun Sep 26 22:13:02 2004 David Helder <dhelder@gizmolabs.org> * src/gnet.c (gnet_init): Respect HAVE_IPV6 #define in Windows code too. Patch from David Ergo (david.ergo@alterface.com). Sun Sep 26 22:02:00 2004 David Helder <dhelder@gizmolabs.org> Apply patch from Stephane Rouleau (srouleau@innobec.com). Win32: Don't rely on DllMain() to be called on for init and uninit. Instead init in gnet_init() and uninit on exit. * src/gnet-private.h: Add gnet_{un}initialize_windows_sockets() * src/gnet-private.c (gnet_initialize_windows_sockets): Move init code here. * src/gnet-private.c (gnet_uninitialize_windows_sockets): Move uninit code here. * src/gnet.c (gnet_init): Call gnet_initialize_windows_sockets() * src/gnet.c (gnet_win32_at_exit): Call gnet_uninitialize_windows_sockets() Wed May 19 22:20:54 2004 David Helder <dhelder@gizmolabs.org> * src/conn-http.c: Apply Tim's second patch. Wed May 19 21:58:46 2004 David Helder <dhelder@gizmolabs.org> * *http*: Apply Tim Müller's first HTTP Conn patch. Wed May 19 21:38:38 2004 David Helder <dhelder@gizmolabs.org> * src/gnet-private.h: Add Win32 and Unix macros for GNET_IS_SOCKET_VALID. 0 is an invalid socket in Windows. -1 is invalid in Unix (I check for < 0 to be safe). Suggested by K. Haley. * src/*.c: Use GNET_IS_SOCKET_VALID Wed May 19 21:20:37 2004 David Helder <dhelder@gizmolabs.org> * {tests,examples}/Makefile.am (noinst_PROGRAMS): Add Windows-only rules. From K. Haley <haleykd@users.sourceforge.net> Sun Mar 21 18:04:50 2004 Andrew Lanoix <alanoix@umich.edu> *src/gnet-private.c(DllMain): If RegisterClassEx() fails, check to see if class was already registered. Uncomment DestroyWindow(). Found by: Tommy Chang <tchang@cme.nist.gov> Mon Mar 1 19:07:26 2004 David Helder <dhelder@gizmolabs.org> * *: Prepare 2.0.5 Sun Feb 15 2004 Tomasz K³oczko <kloczek@pld.org.pl> * gnet-2.0.m4: added missing [] quotation first parameter of AC_DEFUN(). This fix is for aclocal from automake 1.8.x and is backward compatible with older auto tools. Sat Jan 17 2004 Andrew Lanoix <alanoix@umich.edu> *src/tcp.c(gnet_tcp_socket_new_async_direct(): Watch on GNET_ANY_IO_CONDITION like UNIX. Reported to us by Tim Müller. *src/conn.c: Do not do and a g_io_add_watch() if watch_flags is NULL in REMOVE_WATCH macro. Found by Andreas Rottmann <a.rottmann@gmx.at> Sun Jan 4 2004 Andrew Lanoix <alanoix@umich.edu> * README.win32: Update for GNet 2.0 Sun Dec 28 2003 Andrew Lanoix <alanoix@umich.edu> *src/tcp.c: typecasting cleanup *src/conn.c: " + include string.h for g_memmove/memmove *src/gnet-private.c: Make sockfd of type SOCKET *src/gnet-private.h: " + delete _SocketWatchAsyncState struct *src/upd.c" " Sat Dec 27 2003 Andrew Lanoix <alanoix@umich.edu> *src/tcp.c(gnet_tcp_socket_server_new_full): Set socket as reusable and non-blocking on Windows as well. *src/gnet-private.h: Have gnet_private_create_listen_socket return SOCKET not int to make VC happy. *src/gnet-private.c(gnet_private_create_listen_socket): On Windows use getaddrinfo() in IPv6 case for a simple memset does not work for bind() fails. Tue Dec 9 21:10:46 2003 David Helder <dhelder@gizmolabs.org> * src/inetaddr.c: Check return value of inet_pton with > 0 for success. Negative values can indicate error. FreeBSD and OpenBSD return 1 on success, but Linux return a "postive number" (so don't do == 1). * src/gnet-private.h: Fix comment typos. (Thanks Michael Alger) * TODO: Update note on readv(). (Thanks Stephane LOEUILLET) * src/gnet-private.c: Apply Tim Müller's patch to use gsize. Fixes warnings. Mon Dec 8 2003 Andrew Lanoix <alanoix@umich.edu> * src/gnet-private.c(gnet_private_create_listen_socket): Declare sockfd as type SOCKET to make compiler happy. On Unix, SOCKET is defined as an int. * src/inetaddr.c(gnet_inetaddr_get_interface_to): " * src/*: Get rid of hostent mutex since one hostent per thread on Windows according to MSDN. * src/gnet-private.h: Delete hostent mutex releated code and add new changes for IPv6 for the below functions. * src/inetaddr.c: Include process.h, Add support for IPv6 on Windows for the following functions and update related docs about them. gnet_inetaddr_new_list_async() gnet_inetaddr_new_list_async_cancel() gnet_inetaddr_get_name_async() gnet_inetaddr_get_name_async_cancel() * src/inetaddr.c(gnet_inetaddr_list_interfaces): Update note so that 10 interface limit only applies to IPv4 only systems on Windows, not IPv6 systems. * doc/tmpl/ipv6.sgml: Document how IPv6 policy is set on Windows. Tue Oct 28 19:02:40 2003 David Helder <dhelder@gizmolabs.org> * src/inetaddr.c (inetaddr_get_name_async_pthread): On failure, call gnet_inetaddr_get_canonical_name(). Before we did a g_snprintf(), which only worked for IPv6. * src/conn.c (gnet_conn_set_watch_error): Fix doc. Sun Oct 5 20:53:09 2003 David Helder <dhelder@umich.edu> * README (Features): Added Workrave Sun Oct 5 14:29:03 2003 David Helder <dhelder@umich.edu> * README (Features): Added Mail Notify, Sussen. Remove Gabber, Ximian Red Carpet Sat Oct 4 2003 Andrew Lanoix <alanoix@umich.edu> * src/gnet-private.h: Define SOCKET as guint for non-windows platforms, Add Name-mangled versions of needed IPv6 structs for Mingw & VC, Add typedefs of necessary IPv6 func pointers, Define IN6_ARE_ADDR_EQUAL for Windows. * src/gnet.c (gnet_win32_at_exit): Add * src/gnet.c (gnet_init): Query OS for IPv6 support on Windows and set necessary func pointers at runtime. * gnetconfig.h: Define HAVE_IPV6 for Win32 version, check at runtime on Windows. * src/inetaddr.c (gnet_gethostbyname): Updated for IPv6 on Windows * src/inetaddr.c (gnet_gethostbyaddr): " * src/inetaddr.c (gnet_inetaddr_get_canonical_name): " * src/inetaddr.c (gnet_inetaddr_list_interfaces): " TODO: Fix up gnet_inetaddr_new_list_async() and gnet_inetaddr_get_name_async() so they work like their pthread equivalents. The current Windows implementation using a hidden window can not be upgraded to IPv6 since the underlying functions it relies upon are not IPv6 compliant -- that is: WSAAsyncGetHostByName() and WSAAsyncGetHostByAddr(). Sun Aug 24 20:52:52 2003 Andrew Lanoix <alanoix@umich.edu> * examples/echoserver-partyline.c: Added 2003-08-22 Tor Lillqvist <tml@iki.fi> * acinclude.m4: New file. Dummy definition of AM_PATH_GLIB to fool aclocal on systems without GLib 1.2. * configure.ac: Check for Win32, set automake variable OS_WIN32. Call AC_LIBTOOL_WIN32. Define AM_PATH_GLIB if undefined (calling AC_MSG_ERROR). Disable static library build on Windows. * src/Makefile.am: On Win32, use -no-undefined and link with -lws2_32. * src/gnet-private.c: Mark variables used only here as static. Add prototypes, because of the -Wmissing-prototypes and -Werror. * src/gnet-private.h: Remove variables marked as static to gnet-private.c above. * src/unix.c: Bypass on Win32. * src/tcp.c (gnet_tcp_socket_new_async_direct): [Win32 version] Must watch for G_IO_OUT to catch connect() connecting. Sun Aug 10 21:14:20 2003 David Helder <dhelder@umich.edu> * src/uri.c (field_escape): Mask top 4 bytes before shifting. Fixes escaping high Latin-1 bug reported by Emmanuel Saracco. * tests/uri_test.c (escape_tests): Added test case for this. * tests/Makefile.am (CLEANFILES): Delete diff files. * src/tcp.c (gnet_tcp_socket_new_async_direct): Add GNET_CLOSE_SOCKET()'s before returns if there's an error. Warn if fcntl() fails. Thanks Hans Petter Jansson! * src/*.c: Call g_warning() when syscalls that ought not fail, fail: socket(), fcntl(), getsockopt(). (There are probably many that I missed.) Wed Jul 30 20:24:54 2003 Andrew Lanoix <alanoix@umich.edu> * src/gnet-private.c (gnet_MainCallBack): Make PeekMessage() condition of while loop. Found by Hans Petter Jansson <hpj@ximian.com>. Mon Jul 28 20:19:34 2003 David Helder <dhelder@umich.edu> * NEWS: Update for 2.0.4 Wed Jul 23 21:32:30 2003 David Helder <dhelder@umich.edu> * gnet-2.0.pc.in: Back out the -R${libdir} fix for Solaris. This breaks other systems. * configure.ac: Check sizeof(long), sizeof(void*) * tests/unpack_test.c (main): Compile 64 bit tests if long is 64 bit. Use SIZEOF_VOIDP too. * src/tcp.c (gnet_tcp_socket_server_accept_nonblock): s/INVALID_SOCKET/-1/. This #define isn't on Unix. * examples/echoclient-async.c (async_client_sin_iofunc): Don't unref async_sin. (New GNet 2 get_io_channel() semantics). Fixes bug #118149. Thanks charles. Mon Jul 21 21:04:25 2003 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_gethostbyname): Solaris gethostbyname_r() returns a struct hostent*, not an int. Patch from charles. Fixes bug #118023. Wed Jun 11 20:29:44 2003 Andrew Lanoix <alanoix@umich.edu> *src/tcp.c (gnet_tcp_socket_server_accept): Pass size of sockaddr_storage to accept() to get address of incoming conections on win32. Found by Hans Petter Jansson <hpj@ximian.com> *src/tcp.c (gnet_tcp_socket_server_accept_nonblock): " *src/tcp.c: Fix typecasting to satisfy Visual Studio Sat Jun 6 17:07:19 2003 Andrew Lanoix <alanoix@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_list_async_cb): &state->ias->data should be state->ias->data. * src/tcp.c (gnet_tcp_socket_new_async_direct) Do not call back on a failure in GNet 2.0. Both issues found by Hans Petter Jansson <hpj@ximian.com>. Tue Jun 3 12:11:44 2003 David Helder <dhelder@umich.edu> * AUTHORS: Change my email address * tests/unpack_test.c (main): Add 64 bit tests. * tests/unpack_test.c (main): Use sizeof's for size. * tests/unpack_test.c (main): Use lg*int where we were using ig*int. * tests/pack_test.c (test_bytes): Skip the first half of 64-bit answers. (We store the correct value as 32 bits.) * src/pack.c (gnet_vpack): Longs should get long off of stack, not int. * src/pack.c (gnet_vcalcsize): " (not that it matters for this func.) * tests/pack_test.c (main): long tests need buffer sizeof(long). (and use sizeof(unsigned int) for unsigned int tests. Sat May 31 12:47:45.57 2003 Andrew Lanoix <alanoix@umich.edu> * src/makefile.mingw: Update for 2.0 * examples/makefile.mingw: " * tests/makefile.mingw: " * gnet.def: " Tue May 20 21:03:15 2003 David Helder <dhelder@umich.edu> * configure.ac: Don't check for -lpthread or -lc_r if -pthread or -pthreads worked. * src/inetaddr.c (inet_ntop): Make buf const. Wed May 14 00:48:22 2003 David Helder <dhelder@umich.edu> * configure.ac: Update version (unreleased) * src/tcp.c (gnet_tcp_socket_server_accept): cast to struct sockaddr (Win32) * src/tcp.c (gnet_tcp_socket_server_accept_nonblock): " Tue May 13 23:54:59 2003 David Helder <dhelder@umich.edu> * src/gnet-private.h (in_addr_t): define for win32. (guint32) * src/inetaddr.c (gnet_inetaddr_unref): ref_count--, not ++ (thanks Pierre-Emmanuel Gros). :-\ Tue May 13 22:31:19 2003 David Helder <dhelder@umich.edu> * NEWS: 2.0.3 * configure.ac (GNET_BINARY_AGE): " Tue May 13 14:58:28 2003 David Helder <dhelder@umich.edu> * README: Added Gnome Jabber. * src/inetaddr.c (inet_ntop): Copy from src, not dst. * src/inetaddr.c (gnet_inetaddr_get_canonical_name): Remove Win32 version (we wrote a inet_ntop for it.) Tue May 13 01:25:12 2003 David Helder <dhelder@umich.edu> * src/inetaddr.c (inet_ntop): Add Win32 inet_pton and inet_aton. * src/gnet-private.c (DllMain): Comment out DestroyWindow. This causes problems. Andy will take a look at it. * src/gnet-private.h: Define IN_LOOPBACKNET if not defined (like in Windows?) * src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Add a & (was bad cast). * src/inetaddr.c (gnet_inetaddr_new_list_async): s/name/hostname, Fix list code. Delete list. * src/gnet-private.c (gnet_MainCallBack): Use GInetAddrNewListState (a rename) Sun May 11 22:31:59 2003 David Helder <dhelder@umich.edu> * src/inetaddr.c: Use ias, not ia (Win32). Clean-up list code. * src/gnet-private.h (struct _GUnixSocket): ifdef out for Win32 compile. Tue May 6 12:27:07 2003 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_gethostbyname): Fix memory leak? Call freeaddrinfo on res if res it set, regardless of there being an error. I'm not sure if this fixes anything. Tue May 6 11:44:33 2003 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Don't delete the addresses in state. The get deleted when we call cancel. Tue Apr 29 13:57:43 2003 David Helder <dhelder@umich.edu> * README (Features): Remove GnomeICU Tue Apr 29 12:23:34 2003 David Helder <dhelder@umich.edu> * configure.ac: Fix AC_INIT version. Mon Apr 28 12:32:55 2003 David Helder <dhelder@umich.edu> * configure.ac (GNET_BINARY_AGE): version++ * gnet.pc.in, src/?: Sun compiler patch from Ives Aerts * gnet.spec.in: Fixes from Bas Mevissen Mon Apr 21 18:22:07 2003 David Helder <dhelder@umich.edu> * configure.ac: Update version for 2.0.1 Thu Apr 17 17:52:20 2003 David Helder <dhelder@umich.edu> * tests/inetaddr_test.c (main): More IPv6 fixes. * configure.ac: Check for -pthreads (alternative to -pthread) Wed Apr 16 15:21:21 2003 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_gethostbyname): Remover sa_inp - not used. * src/inetaddr.c (gnet_gethostbyname): " * src/gnet-private.h: Fix sockaddr_storage def. Wed Apr 16 11:52:22 2003 David Helder <dhelder@umich.edu> * src/{inetaddr,mcast,udp, gnet-private, gnet}.c: Use HAVE_IPV6 * examples/inetaddr_test.c: " * configure.ac (HAVE_IPV6): Added check for. Tue Apr 15 13:37:38 2003 David Helder <dhelder@umich.edu> * src/gnet-private.h: define sockaddr_storage if not defined. * configure.ac: Check for sockaddr_storage Tue Apr 15 11:07:52 2003 David Helder <dhelder@umich.edu> * src/gnet.c (ipv6_detect_envvar): s/index/strchr/ Sun Apr 13 17:50:23 2003 David Helder <dhelder@umich.edu> * doc/Makefile.am (maintainer-clean-local): Fix clean rule. Sun Apr 13 14:09:14 2003 David Helder <dhelder@umich.edu> * doc/gnet-docs.sgml: Update version. Sat Apr 12 15:24:21 2003 David Helder <dhelder@umich.edu> * *: Various 2.0 renames. * tests/client_server_test.pl (test): Add a pause - too fast for BSD. Wed Mar 19 09:46:12 2003 David Helder <dhelder@umich.edu> * gnet.m4/gnet-1.3.m4: Rename -> gnet-1.3.m4 * configure.ac: Use AC_CANONICAL_SYSTEM instead of BUILD (BSD fix). Wed Mar 5 18:58:44 2003 David Helder <dhelder@umich.edu> * BUGS,README: Updates Wed Mar 5 18:47:04 2003 David Helder <dhelder@umich.edu> * gnet.spec.in: Fixes from Jeff Boonggren (closes #107499) Tue Feb 25 15:19:17 2003 David Helder <dhelder@umich.edu> * src/makefile.mingw: Commited Martyn Russell's patch to use pkg-config. * src/conn.c (async_cb): Guard conn->func's with g_return_val_if_fail(). * src/conn.c (gnet_conn_new_socket): Don't watch error. Fri Feb 21 17:52:18 2003 David Helder <dhelder@umich.edu> * *: Release 1.3.2 * src/gnet-private.h: Add macros for setting ss_len based on ss_family. On linux this is a no-op. * src/inetaddr.c (gnet_inetaddr_list_interfaces: GNET_INETADDR_SET_SS_LEN * src/inetaddr.c (gnet_inetaddr_set_bytes): * src/inetaddr.c (gnet_inetaddr_new_nonblock): * src/inetaddr.c (gnet_inetaddr_new_list_async_cb): * src/inetaddr.c (gnet_gethostbyname): * src/inetaddr.c (hostent2ialist): * src/inetaddr.c (gnet_inetaddr_list_interfaces): * src/inetaddr.c (gnet_inetaddr_list_interfaces): * src/udp.c (gnet_udp_socket_send): * src/gnet-private.c (gnet_private_create_listen_socket): * src/inetaddr.c (gnet_inetaddr_get_interface_to): Assign sa, don't memcpy. * src/inetaddr.c (gnet_inetaddr_list_interfaces): " * src/inetaddr.c (gnet_gethostbyname): Set sin_addr, don't memcpy. * src/inetaddr.c (gnet_gethostbyname): " sin6_addr * src/inetaddr.c (gnet_inetaddr_new_nonblock): " * src/udp.c (gnet_udp_socket_receive): * src/gnet-private.c (gnet_private_create_listen_socket): no memcpy * src/tcp.c (gnet_tcp_socket_server_accept_nonblock): * src/tcp.c (gnet_tcp_socket_server_accept): * src/tcp.c (gnet_tcp_socket_server_accept_nonblock): * src/tcp.c (gnet_tcp_socket_server_accept): " * src/tcp.c (gnet_tcp_socket_get_local_inetaddr): " * src/tcp.c (gnet_tcp_socket_server_new_full): " * src/tcp.c (gnet_tcp_socket_get_remote_inetaddr): * src/tcp.c (gnet_tcp_socket_new_async_direct): no memcpy * src/tcp.c (gnet_tcp_socket_new_direct): no memcpy * src/tcp.c (gnet_tcp_socket_new_async_direct): " * src/udp.c (gnet_udp_socket_send): " * src/udp.c (gnet_udp_socket_get_local_inetaddr): " * src/udp.c (gnet_udp_socket_new_full): " * src/mcast.c (gnet_mcast_socket_new_full): no memcopy * examples/echoserver-udp.c: Print address of server. * src/udp.c (gnet_udp_socket_send): Map IPv4 dst to IPv6 is socket is IPv6 and vice versa. FreeBSD is less tolerant than Linux about this. RFC 2553 says to do this anyway. * src/udp.c (gnet_udp_socket_get_local_inetaddr): Added * src/mcast.c (gnet_mcast_socket_get_local_inetaddr): Added Wed Feb 19 16:55:21 2003 David Helder <dhelder@umich.edu> * Makefile.am (EXTRA_DIST): Distribute tests/testfile * gnet.m4: Updated based on GLib 2.2.1's glib-2.0.m4 * Makefile.am: Install gnet-1.3.pc instead of gnet.pc. Install gnet.m4 to gnet-1.3.m4. * gnet.spec.in: Don't build with --enable-debug=yes. This enables -Werror and messes up SRPM builds. * configure.ac: Check for GLib in this order: 2.2, 2.0, 1.2. Use --enable-glib12 to force GLib 1.2 * configure.ac: Check for -pthread * src/udp.c (gnet_udp_socket_get_ttl): Initialize rv. * src/mcast.c (gnet_mcast_socket_leave_group): s/IPV6_REMOVE_MEMBERSHIP/IPV6_LEAVE_GROUP/, s/IPV6_ADD_MEMBERSHIP/IPV6_JOIN_GROUP/, * configure.ac: Look for ifaddrs.h * src/inetaddr.c: Include ifaddrs.h * src/inetaddr.c: Convert s6_addr32 to s6_addr's. FreeBSD says s6_addr32 is "nonstandard". * src/gnet-private.h (GNET_SOCKADDR_ADDR32): Added. Tue Feb 18 16:53:33 2003 David Helder <dhelder@umich.edu> * src/pack.c: Use gsize for internal functions. buffer length is a gint, not a guint. We return the number of bytes packed/unpacked, which can be -1. So the buffer can't be more then a gint. * src/udp.c (gnet_udp_socket_receive/send): " * src/mcast.c (gnet_mcast_socket_receive/send): " * src/iochannel.[ch]: Use gsize instead of guint Fri Feb 14 16:49:10 2003 David Helder <dhelder@umich.edu> * gnet.pc.in: Link against gnet-MAJOR.MINOR, not plain gnet * src/Makefile.am: Build libgnet-1.3 * configure.ac (LT_CURRENT): Use GLib's macros. Yoink! * src/Makefile.am (libgnet_1_3_la_LDFLAGS): Remove revision from LDFLAGS. Thu Feb 13 16:24:22 2003 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Delete using new_list_async_cancel, not new_async_cancel. Bug! * src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Don't delete the ias after callback. They are callee owned. This fixes a bug. * src/inetaddr.c (gnet_inetaddr_new_list_async): Move ialist_free up. (shouldn't matter) * src/inetaddr.c (gnet_inetaddr_get_name_async_cancel): Remove watch only if set (we can remove it above). * src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Set watch to 0 afer it is removed. This avoids gettting a warning maybe. * src/inetaddr.c (gnet_inetaddr_get_name_async): IPv6-ize fork() version. * src/socks.c (gnet_socks_get_version): Make env const. Wed Feb 12 15:53:44 2003 David Helder <dhelder@umich.edu> * tests/dns_test.pl: Add. * configure.ac: Add dns_test.pl to NETWORK_TESTS * Makefile.am (EXTRA_DIST): " * src/inetaddr.c (inetaddr_new_async_cb): ialist condition backwards. * src/gnet-private.h (_GInetAddrNewListState ): Add in_callback flag to GInetAddrNewListState-pthread. * src/inetaddr.c (gnet_inetaddr_new_list_async_cancel): Add in_callback to guard against calling in callback. * src/inetaddr.c (inetaddr_new_list_async_pthread_dispatch): Set in_callback. * examples/dnslookup.c (list_cb): Free the ialist. * src/inetaddr.c (gnet_inetaddr_get_name): s/assert/return_if_fail/. * src/inetaddr.c (gnet_inetaddr_new_async_cancel): s/assert/return_if_fail. * src/inetaddr.c (inetaddr_new_async_cb): Add return_if_fail. * src/inetaddr.c (gnet_inetaddr_new_async): Include state. Fixes bug. Tue Feb 11 16:14:31 2003 David Helder <dhelder@umich.edu> * *: Release 1.3.1 Fri Feb 7 14:00:18 2003 David Helder <dhelder@umich.edu> * README: Added PAN to "Applications that use GNet" Wed Feb 5 18:29:40 2003 David Helder <dhelder@umich.edu> * examples/echoserver-gserver.c (ob_server_func): Watch for error. * examples/echoclient-gconn.c (main): " * src/conn.c (conn_connect_cb): Add watch if flags set * src/conn.c (conn_new_cb): " * src/conn.c (gnet_conn_set_watch_writable): Don't do source add if not connected yet. * src/conn.c (gnet_conn_set_watch_error): Added. * src/conn.c (gnet_conn_timeout): return_if_fail(conn->func) only if a timer is being set. Wed Feb 5 12:26:29 2003 David Helder <dhelder@umich.edu> * src/base64.c: Patch from fredo * tests/base64_test.c: Test from fredo. Tue Feb 4 20:05:23 2003 David Helder <dhelder@umich.edu> * tests/Makefile.am (ipv6_test_SOURCES): Fix ipv6_test_SOURCES rule. Tue Feb 4 19:48:35 2003 David Helder <dhelder@umich.edu> * doc/Makefile.am (dist-hook): Don't require gtk-doc to make dist. Otherwise we need to write our own custom dist rule in the main Makefile. * tests/Makefile.am: Add $(NETWORK_TESTS) * configure.ac: Add --enable-network-tests flag * autogen.sh: network tests enabled by default via autogen.sh * src/conn.c: Add asserts for conn->func on functions that use callbacks. * examples/hostinfo.c (main): Autodetect interface check. * src/inetaddr.c (gnet_inetaddr_get_internet_interface): Use policy. Do not return a non-internet inteface, when there no internet interface. (We did this before, but this did not match the docs). * src/inetaddr.c (gnet_inetaddr_autodetect_internet_interface): IPv6-ize. * src/gnet-private.h (struct _GUnixSocket): Use sockaddr_un. * src/unix.c (gnet_unix_socket_server_new): Add some casts. Tue Feb 4 15:20:46 2003 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_list_async_cb): Use INETADDR macros. * src/gnet-private.h (GNET_INETADDR_ADDRLEN): Added. * src/inetaddr.c (gnet_inetaddr_get_length): " * src/inetaddr.c (gnet_inetaddr_get_bytes): * src/inetaddr.c (gnet_inetaddr_set_bytes): Tue Feb 4 14:37:05 2003 David Helder <dhelder@umich.edu> * src/tcp.[ch] (gnet_tcp_socket_get_remote_inetaddr): Was gnet_tcp_socket_get_inetaddr(). Note if this is called on a server, the local address is created, which is not unreasonable. This is an undocumented feature. Mon Feb 3 23:06:59 2003 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_get_local_inetaddr): Added. * src/*: param name clean-ups. * src/unix.c (gnet_unix_socket_unref): Restore old unref code. (Where did it go?!) * src/uri.c (gnet_uri_equal): Return gboolean. * src/inetaddr.c (gnet_inetaddr_equal): " * src/inetaddr.c (gnet_inetaddr_noport_equal): " * src/sha.c (gnet_sha_equal): " * src/sha.c (gnet_md5_equal): " * src/inetaddr.c (gnet_inetaddr_new_bytes): s/guint8*/gchar*/ for bytes arg. * src/inetaddr.c: s/ia/inetaddr in args. * src/inetaddr.c (gnet_inetaddr_set_port): port is a gint, not a guint. * src/inetaddr.c: gnet_inetaddr_gethostname -> gnet_inetaddr_get_host_name. gnet_inetaddr_gethostaddr -> gnet_inetaddr_get_host_addr. Mon Feb 3 20:21:02 2003 David Helder <dhelder@umich.edu> * src/server.c (gnet_server_{ref,unref}): Added * src/socks.c (gnet_socks_get_server): Clean-up. * src/socks-private.c: s/socks_get_version/gnet_socks_get_version/. * src/socks.c (gnet_socks_{get/set}_version): Added * src/tcp.c: gnet_tcp_socket_server_new becomes gnet_tcp_socket_server_new_with_port, gnet_tcp_socket_server_new_interface becomes gnet_tcp_socket_server_new_full. gnet_tcp_socket_server_new now takes 0 args. Mon Feb 3 17:56:55 2003 David Helder <dhelder@umich.edu> * *: More doc work. * src/mcast.c (gnet_mcast_socket_new_full): Disable loopback by default. * src/unix.c (gnet_unix_socket_connect): Removed. Same as gnet_unix_socket_new. * src/inetaddr.c: Remove gnet_inetaddr_new_any(). Not needed with new API for server sockets. Mon Feb 3 12:55:49 2003 David Helder <dhelder@umich.edu> * configure.ac: Bump version to 1.3.1 (unreleased) * examples/*: Remove "Or include <gnet/gnet.h>" comment. This is no longer true. * src/iochannel.c: bytes_{read,written} is no longer optional (reverses change from a few days ago). Added some g_return_val_if_fail's * *: More doc work. Wed Jan 29 21:23:57 2003 David Helder <dhelder@umich.edu> * src/md5.[hc]: s/guchar and gint8/gchar/ * src/sha.[hc]: s/guchar and gint8/gchar/ * src/socks.c (gnet_socks_get_server): Return the socks server even if socks in disabled. * tests, examples: Renames. Moved dnstest and hostinfo to examples. * *: Doc updates. Tue Jan 28 23:17:30 2003 David Helder <dhelder@umich.edu> * *: Doc updates. Still rough. Mon Jan 27 15:07:38 2003 David Helder <dhelder@umich.edu> * src/base64.[hc]: Updates from Fredo. Fri Jan 24 15:33:13 2003 David Helder <dhelder@umich.edu> * src/base64.[hc]: Added. Contributed by Alfred Reibenschuh <alfredreibenschuh@gmx.net> * src/iochannel.c (gnet_io_channel_writen): bytes_written is optional. * *: More doc work Tue Jan 21 16:51:45 2003 David Helder <dhelder@umich.edu> * src/unix.[hc]: No longer experimental * *: Clean-ups for release and docs. * *: Release 1.3.0 Tue Jan 21 15:03:49 2003 David Helder <dhelder@umich.edu> * src/uri.c (gnet_uri_get_string): Renamed from gnet_uri_get_nice_string(). The string should be escaped manually if necessary. Tue Jan 21 14:02:43 2003 David Helder <dhelder@umich.edu> * src/uri.c (gnet_uri_new): Fix reading IPv6 name. Convert isspace to locale-independent macro. (Thanks Eric!) * src/server.[hc]: The server func no longer has a status argument. If the conn is NULL, it's an error. Otherwise, it's good. * src/server.c (server_accept_cb): Call gnet_conn_new_socket() to create conn. * src/iochannel.[hc]: Remove experimental functions. These were complex and bug-prone. Most the functionality is now in conn. * src/conn.[hc]: Reworked entire API. * src/uri.[hc]: Added escape/unescape code. Contributed by Eric Williams (ericjw@umich.edu). Thu Jan 9 18:15:16 2003 David Helder <dhelder@umich.edu> * tests/client_server_test.pl: Remove IPC::Open2. We don't use it anymore. Perl in /usr/bin. Thu Jan 9 16:35:36 2003 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_get_iochannel): Removed. I broke so many interfaces already, why *try* to keep a crappy one? * src/udp.c (gnet_udp_socket_get_iochannel): " * src/udp.c (gnet_unix_socket_get_iochannel): " * src/gnet.c (ipv6_detect_envvar): Make envvar const. Thu Jan 9 16:24:36 2003 David Helder <dhelder@umich.edu> * tests/pack.c: Fixed output in 2 big-ending pointer packing tests * src/tcp.{ch}: Remove status from GTcpSocketNewAsyncFunc. NULL now signifies error (as it did before). * src/inetaddr.{ch}: Reomve status from GInetAddrNewAsyncFunc, GInetAddrGetNameAsyncFunc. NULL now signifies error (as it did before) * src/{conn.c,socks.c}: Update. * src/gnet.c (ipv6_detect_iface): Use interface list again. Thu Jan 9 15:09:16 2003 David Helder <dhelder@umich.edu> * tests/client_server_test.pl, testfile: New echoclient/echoserver tester. * examples/echoserver-async.c: Fix bug where we tried to read into a zero length buffer, read 0, and thought it was an EOF. * examples/echoclient-{async,gconn}.c: If we get an EOF before we've gotten the lines back, then keep waiting. This makes automated testing easier - otherwise we quit too soon. * examples/echoclient,echoserver.c: Break up into more files. * src/conn.c: Implement connect timeout. * src/tcp.h: Remove inetaddr from GTcpSocketConnectAsyncFunc. The user can get this from the socket. * src/tcp.c (gnet_tcp_socket_connect, etc...): Use gnet_inetaddr_new_list(). * src/gnet-private.h (_GTcpSocketConnectState ): Add in_callback flag to guard deletion. * src/inetaddr.c (gnet_gethostbyname): Handle ipv6 policy. * src/mcast.c (gnet_mcast_socket_get_io_channel): Added. * src/mcast.c (gnet_mcast_socket_{get/set}_ttl): Move from udp.c to here. * src/udp.c (gnet_udp_socket_{set/get}_*_ttl): IPv6-ify. * src/udp.c (gnet_udp_socket_get_ttl): Interface change: -1 means "kernel default". < -1 means error. * src/udp.c (gnet_udp_socket_get_mcast_ttl): " * src/udp.c (gnet_udp_socket_get_ttl): Make ttl an int. * src/udp.c (gnet_udp_socket_set_ttl): Make ttl an gint. * src/gnet.c (gnet_init): Use IPv4 before IPv6. Check GNET_IPV6_POLICY and IPV6_POLICY environment variable. Create sockets to get policy - don't list interfaces. * src/gnet-private.c (gnet_private_create_listen_socket): New helper function. Used in tcp and udp. * src/udp.c (gnet_udp_socket_send): Change prototype. Send to dst, not to socket!. * src/udp.c (gnet_udp_socket_receive): " * src/udp.c: Get rid of GUdpPacket. * src/mcast.c: Updates. * examples/echoserver-udp.c (normal_echoserver): Update Wed Jan 1 17:14:54 2003 David Helder <dhelder@umich.edu> * configure.ac: Output clean-ups. * configure.ac: Check for Apple Darwin * src/gnet-private.h (socklen_t): Define to be 'int' on Apple Darwin. Tue Dec 24 14:28:14 2002 David Helder <dhelder@umich.edu> * src/usagi_ifaddrs.c (usagi_getifaddrs): Compile fix. Add ";"'s to default case. Some compiler complains about this. Thanks Murray! Sat Dec 21 14:35:14 2002 David Helder <dhelder@umich.edu> * tests/unpack.c (main): Fix test 40021. Was accessing free'd memory. * src/pack.c (gnet_vunpack): Cosmetic touches. Tue Dec 17 20:25:23 2002 David Helder <dhelder@umich.edu> * src/udp.c (gnet_udp_socket_new_full): Rename. Was gnet_udp_socket_new_interface() * src/udp.c (gnet_udp_socket_new_with_port): Rename. Was gnet_udp_socket_port_new() * src/udp.c (gnet_udp_packet_new): Rename. Was gnet_udp_packet_receive_new(). * src/udp.c (gnet_udp_packet_new_with_address): Rename Was gnet_udp_packet_send_new(). * examples/echo*-udp.c: Updated. Need to fix packet API. * src/tcp.c (gnet_tcp_socket_server_new_interface): Add port argument back. A NULL iface now means INADDR_ANY or IN6ADDR_ANY_INIT. Rather than adding two inetaddr constructors for these, we use IPv6 policy to determine which (or whether both) should be tried. * src/server.c (gnet_server_new): " * examples/echoserver.c (object_echoserver): " * src/tcp.c (gnet_tcp_socket_server_new_interface): Use IPv6 policy. * src/inetaddr.c (gnet_inetaddr_new_bytes): Added * src/inetaddr.c (gnet_inetaddr_get_interface_to): Use family when creating socket. * src/tcp.c (gnet_tcp_socket_new_direct): " * src/tcp.c (gnet_tcp_socket_new_async_direct): " * src/tcp.c (gnet_tcp_socket_new_async_direct): " * src/tcp.c (gnet_tcp_socket_server_new_interface): ". But, use IPv4 by default. TODO: Fix this and use policy. * tests/inetaddr_test.c: Added * tests/Makefile.am: " * src/inetaddr.c (gnet_inetaddr_is_loopback): Add IPv6 implementation. * src/inetaddr.c (gnet_inetaddr_is_multicast): Use in.h IN_MULTICAST macro. * src/inetaddr.c (gnet_inetaddr_equal): Use IN6_ARE_ADDR_EQUAL macro. * src/inetaddr.c (gnet_inetaddr_is_broadcast): Compare with INADDR_BROADCAST. There is no broadcast in IPv6 - only multicast. * src/inetaddr.c (gnet_inetaddr_new_nonblock): Bug: Set family. Thu Dec 12 14:03:05 2002 David Helder <dhelder@umich.edu> * src/inetaddr.c: Fix compile warnings. * src/{tcp, udp,unix}.h (gnet_*_socket_get_iochannel): Add compatibility functions. These are depricated. Note they ref the iochannel before they return it, which is non-intuitive. Sun Dec 8 21:34:16 2002 David Helder <dhelder@umich.edu> * src/inetaddr.c: New inetaddr_new_list{_async} functions. I patched up the Windows code the best I could, but it probably doesn't compile. * tests/dnstest.c: Updated to test list functions. Fri Dec 6 15:57:39 2002 David Helder <dhelder@umich.edu> * *: More IPv6 hacking. DNS and IPv6 should work. Todo: connect()/bind(), auto-detection, inetaddr helper funcs Connections have not been tested yet. IPv6 auto-detection is not done yet. Inetaddr * src/inetaddr.c (gnet_gethostbyname): Add getifaddr() version. Use USAGI's getifaddr() on systems with linux/netlink.h. We do this because Glibc's getifaddr() does not handle IPv6. * configure.ac: Check for linux/netlink.h * src/inetaddr.c (gnet_inetaddr_new_async_cb): read() (ideally) will always return positive. If it's zero, then there's something wrong. We detect when the read is done and close the socket, so we should not get the other side closing the socket. * src/uri.c (gnet_uri_new): Strip whitespace before scheme (before we included it). Strings of whitespace produce errors. Strip hostname brackets (this is used for IPv6 canonical names. * src/uri.c (gnet_uri_get_nice_string): Add brackets if hostname has :'s in it (it's IPv6 then). * src/inetaddr.c (gnet_gethostbyname): Remove "nicename" (FQDN) functionality. It doesn't work consistently. E.g., www.microsoft.com's h_name is www.microsoft.akadns.com, h_alias[0] is www.microsoft.com. Really we need to do a reverse DNS lookup for this to work reliably. * src/inetaddr.c (gnet_inetaddr_gethostname): Do reverse DNS to get name. * src/inetaddr.c (gnet_gethostbyaddr): Add getnameinfo implementation. Changed prototype to take a sockaddr*. * tests/dnstest.c: Clean-up. Add args so you don't have to recompile. * src/inetaddr.c (gnet_gethostbyname): Don't init gthreads - this is done in gnet_init(). * configure.ac: Add --enable-threadsafe-gethostbyname * src/tcp.c (gnet_tcp_socket_get_port): IPv6ize. Use GNET_SOCKADDR_PORT macro. * src/tcp.c (gnet_tcp_socket_new_async): Update docs - callback is *not* called if an error occurs immediately. * src/tcp.c (gnet_tcp_socket_new_async_direct): Don't call callback. * src/tcp.c (gnet_tcp_socket_new_async_direct): IPv6ize. * src/tcp.c (gnet_tcp_socket_new_async_direct[win32]): " Thu Nov 7 14:25:08 2002 Jonathan Blandford <jrb@redhat.com> * src/inetaddr.c (gnet_inetaddr_hash): initialize addr to keep -Werror compiling. Mon Nov 4 12:24:20 2002 David Helder <dhelder@umich.edu> * *: More IPv6 hacking. Added USAGI project's getifaddr() implementation for Linux. Wed Oct 23 13:52:18 2002 David Helder <dhelder@umich.edu> * configure.ac: Add --disable-pthreads flag. Patch from Ian Peters Tue Oct 22 14:23:13 2002 David Helder <dhelder@umich.edu> * *: First pass at IPv6-ization. Some builds may fail. The main change is to use (struct sockaddr_storage) everywhere. Some macros have been added to aid the conversion. Network addresses should work, DNS addresses are next. TODO: - how should binding work? - fix mcast join - set sa_len? - fix gnet_inetaddr_is_*() - check storage format for in6_addr - fix everything marked FIX :-) Mon Oct 21 23:24:30 2002 David Helder <dhelder@umich.edu> * *: HEAD is now GNet 1.3, to become GNet 1.4. GNet 1.1 is in the "GNET_1_1" CVS branch. * src/inetaddr.c: get_name_async cleanups. Fixed a bug in cancelling async reverse DNS lookups in Win32. * configure.ac: Update version to 1.3.0. GNet 1.1 is in the GNET_1_1 branch. * Makefile.am (configincludedir): " * gnet-config.in (cflags): " * gnet.spec.in: " * gnet.pc.in (Cflags): " * src/tcp.c (gnet_tcp_socket_get_io_channel), udp.c, unix.c: Don't ref the io_channel. * src/conn.c (gnet_conn_disconnect): Don't unref iochannel. * src/socks-private.c (gnet_private_socks_tcp_socket_server_accept_async): " * src/socks-private.c (socks_negotiate_connect): " * src/socks-private.c (socks5_negotiate_bind): " * src/socks-private.c (gnet_private_socks_tcp_socket_server_accept): " * src/tcp.c (gnet_tcp_socket_server_accept_async): " * examples/echoclient.c (normal_echoclient): " * examples/echoserver-unix.c: " * examples/echoserver.c: " * examples/hfetch.c (hfetch): " * src/url.[ch]: s/url/uri/. Re-ordered fields. * src/url.c (gnet_uri_new_fields_all): Fix bug - fields weren't copied right. * glib-config.in, Makefile.am, doc/glib-config.1.in, doc/Makefile.am: Remove glib-config. * src/Makefile.am (gnetincludedir): Put headers into gnet-1.3. * src/inetaddr.h: Changed prototypes of GInetAddrNewAsyncFunc and GInetAddrGetNameAsyncFunc * src/iochannel.h: " GNetIOChannelReadAsyncFunc * src/inetaddr.c (inetaddr_new_async_pthread_dispatch): Address is callee owned. i * src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Delete the address. * src/*: s/get_iochannel/get_io_channel/, s/iochannel_new/io_channel_new/ * src/inetaddr.c (gnet_inetaddr_new_nonblock): Remove check for "localhost". * configure.ac: Turn on warnings after tests are done. Simplified test logic. Passing -ansi, etc to gcc more than once doesn't seem to hurt. Mon Oct 21 17:28:57 2002 David Helder <dhelder@umich.edu> * tests/Makefile.am (EXTRA_PROGRAMS): Make tests EXTRA, not noinst. They should only be build when 'make check' is run. * configure.ac: Touch. Wed Oct 16 17:24:00 2002 David Helder <dhelder@umich.edu> * configure.ac: Enable -Werror only when in "yes" debug mode. gcc-3.2 issues warnings on the G_something_BE_LE ASM macro. This allows gcc-3.2 users to compile GNet. Fri Oct 11 15:37:41 2002 David Helder <dhelder@umich.edu> * tests/{unpack,pack}.c: Include stdlib.h. Include string.h in unpack. Thanks Richard and Erland! Mon Oct 7 11:51:22 2002 David Helder <dhelder@umich.edu> * 1.1.7 "re-release" * configure.ac (GNET_BINARY_AGE): Set binary age to 7. Oops. * README: Added eDonkey2000 GTK frontend Mon Sep 30 16:41:55 2002 David Helder <dhelder@umich.edu> * configure.ac: Include "-Werror" in CFLAGS. Mon Sep 30 13:18:47 2002 David Helder <dhelder@umich.edu> * src/gnet-private.c (gnet_private_iochannel_new): Return iochannel. Mon Sep 30 13:18:11 2002 David Helder <dhelder@umich.edu> * NEWS, *: Release 1.1.6 Thu Sep 26 20:10:23 2002 David Helder <dhelder@umich.edu> * configure.ac: Add --enable-threadsafe-gethostbyname option. * src/inetaddr.c (gnet_gethostbyaddr): Add threadsafe gethostbyaddr() variant. (gnet_gethostbyname): " * configure.ac: Define GTHREAD_CFLAGS if gthread module is available. This is used to determine if a gthreads implementation of gethostbyname_r is possible. Thu Sep 26 18:33:16 2002 David Helder <dhelder@umich.edu> * NEWS, TODO: Updates Mon Sep 23 18:59:39 2002 David Helder <dhelder@umich.edu> * examples/Makefile.am (noinst_PROGRAMS): Make examples noinst, not extra. * examples/*: Update include to handle this. * examples/echoclient.c (async_client_sin_iofunc): Return FALSE on EOF. Otherwise we get an error. * src/gnet-private.c (gnet_private_iochannel_new): Added. Creates iochannel from descriptor in usual way. If we're using GLib 2, then it turns off buffering and encoding. * src/tcp.c (gnet_tcp_socket_get_iochannel): Use gnet_private_iochannel_new() * src/tcp.c (gnet_tcp_socket_new_async_direct): " * src/tcp.c (gnet_tcp_socket_new_async_direct): " * src/udp.c (gnet_udp_socket_get_iochannel): * src/unix.c (gnet_unix_socket_get_iochannel): Mon Sep 23 15:31:52 2002 David Helder <dhelder@umich.edu> * Makefile.am (EXTRA_DIST): Move more extra dist here. depcomp is no longer needed evidently. Mon Sep 23 14:43:21 2002 David Helder <dhelder@umich.edu> * autogen.sh: Don't include macros dir if there isn't one. * aclocal.h: Remove this. No longer required. Sat Sep 21 21:11:41 2002 David Helder <dhelder@umich.edu> * configure.ac: Fixes for autoconf 1.6. * acconfig.h.in: Removed this. Not needed in newer autoconf. * autogen.sh: Include the macros directory in aclocal. We do not distribute the macros directory. This is for developer convience. * examples/Makefile.am, src/Makefile.am/, Makefile.am: Move EXTRA_DIST to root makefile. autoconf 1.6 doesn't like EXTRA_DIST in subdirectories for some reason. Thu Sep 12 16:13:37 2002 David Helder <dhelder@umich.edu> * tests/Makefile.am (LDADD): Add glib_libs and gthread_libs * src/inetaddr.c (gnet_inetaddr_list_interfaces): Increment pointer in header. We were missing the first interface. Check return value of ioctl for flags. * configure.ac (pthread_libs): Explicitly define HAVE_SOCKADDR_SA_LEN since autoconf no longer does it, it seems. * Makefile.am (EXTRA_DIST): Include depcomp Tue Sep 10 20:35:27:39 2002 Andrew Lanoix <alanoix@umich.edu> * README.win32: Update * GNET.DSP: Link to Glib 2.0 * gnet.def: Add new funcs * examples\makefile.mingw: Update * tests\makefile.mingw: Update * src\makefile.mingw: Update Wed Sep 04 21:54:47:06 2002 Andrew Lanoix <alanoix@umich.edu> * src/gnet.c (gnet_init): Don't do anything on win32 * src/gnet-private.h (_GInetAddrAsyncState) Needs in_callback * src/inetaddr.c (gnet_gethostbyname) #define out unix code Wed Aug 14 12:37:23 2002 David Helder <dhelder@umich.edu> * *: Release 1.1.5 * src/iochannel.c (gnet_io_channel_write_async): Don't succeed immediately if the buffer is length 0. Also allow a write from a non-NULL buffer of length 0. Sat Aug 10 19:18:33 2002 David Helder <dhelder@umich.edu> * examples/hash.c: Move hash example to examples. * tests/pack.c: Made this a proper automake automated test. * tests/unpack.c: " * tests/hash.c: " * examples/Makefile.am: Updated * tests/hash.c: Don't dump core on './hash' * tests/urlparse.c: Removed. url_test covers this. * src/gnet.c (gnet_init): Added. Call this at the beginning of any Gnet program. (This is really only required for asynchronous DNS support when pthreads are available and GNet is compiled with GLib 2.0.) * examples/*.c (main): Add call to gnet_init (). * tests/*.c (main): " * src/Makefile.am (libgnet_la_LDFLAGS): Link with GTHREAD_LIBS. * src/socks.c (gnet_socks_get_server): Add const * src/socks-private.c (socks_get_version): " Mon Aug 5 16:54:55 2002 David Helder <dhelder@umich.edu> * src/conn.h: Fix typo. * src/inetaddr.c (gnet_inetaddr_new_async_cancel): " * src/iochannel.c (_GNetIOChannelWriteAsyncState): Add in_upcall flag so that state doesn't get deleted during the upcall. * src/iochannel.c (gnet_io_channel_write_async_cancel): Don't delete state if in an upcall. Only delete the buffer (if requested). * src/iochannel.c (write_async_cancel): Added this static function to make all this a bit more clear. Users call gnet_io_channel_write_async_cancel(), but internally we call this. * src/iochannel.c (write_async_cb): Set in_upcall during upcall. Call write_async_cancel(). * src/iochannel.c (write_async_timeout_cb): " * src/iochannel.c (_GNetIOChannelReadAsyncState): Basically did the same thing as above for the read_async functions. * src/iochannel.c (gnet_io_channel_read_async_cancel): Ignore cancel if in an upcall. * src/mcast.c (gnet_mcast_socket_port_new): Add g_htonl around INADDR_ANY (style bug - it should not make a difference). (thanks Eduardo Pérez Ureta) * src/udp.c (gnet_udp_socket_new_interface): Fix memory leak on errors (thanks Jakub Jagielka). * src/tcp.c (gnet_tcp_socket_new_direct): Use GNET_CLOSE_SOCKET macro, not close(). (style bug, maybe affects Windows) Wed May 15 11:43:44 2002 David Helder <dhelder@umich.edu> * configure.ac: Up version to 1.1.5 Wed May 15 11:37:10 2002 David Helder <dhelder@umich.edu> * Release GNet 1.1.4 Mon May 13 22:44:44 2002 David Helder <dhelder@umich.edu> * tests/dnstest.c: Minor improvements. * src/inetaddr.c (inetaddr_new_async_pthread): Rewrite pthread implementation. Problem was writing to closed pipe raised SIGPIPE for threads. Now we don't use pipes with threads. Stupid UNIX. It's not like you get SIGACCES when you attempt to open a file that doesn't exist. * src/inetaddr.c (gnet_inetaddr_get_name_async): " * src/inetaddr.c (gnet_inetaddr_new_async): Move process code here. * src/inetaddr.c (gnet_inetaddr_get_name_async): " * src/inetaddr.c (gnet_inetaddr_new_async): Close unused pipes. * src/inetaddr.c (gnet_inetaddr_get_name_async): " * src/inetaddr.c (gnet_inetaddr_get_name_async): Initialize state. * src/inetaddr.c (gnet_inetaddr_new_async): " Sat May 11 14:36:50 2002 David Helder <dhelder@umich.edu> * src/*.h: Added instructions on using experimental modules. * Makefile.am (copyweb): Updated copyweb. Fri May 3 11:18:51 2002 David Helder <dhelder@umich.edu> * src/{inetaddr,tcp}.h: s/id/async_id/. id is a reserved word in Objective C. Thu Apr 25 10:14:07 2002 David Helder <dhelder@umich.edu> * Release GNet 1.1.3 * src/iochannel.h: Doc fixes. * examples/echoserver.c: Remove debug output. Sat Apr 20 17:04:04 2002 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_list_interfaces): Delete buffer. (gethostbyaddr_async_child): * tests/hostinfo.c: Delete addresses. Thu Apr 18 14:13:30 2002 David Helder <dhelder@umich.edu> * src/socks-private.c (gnet_private_socks_tcp_socket_new): Delete socks server address. * src/socks-private.c (gnet_private_socks_tcp_socket_new_async): " * src/gnet-private.c (gnet_private_inetaddr_sockaddr_new): Set ref_count to 1. These weren't getting deleted before. * src/inetaddr.c (gnet_inetaddr_new_any): " * src/pack.c (gnet_vunpack): Fix bad mem deref when zeroing out extra mem. * src/inetaddr.c (gnet_inetaddr_get_name_async_cancel): Don't delete ia - caller owns!. * src/url.c (gnet_url_new): isdigit((int)) cast * src/url.c (gnet_url_new): " * src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Delete old name first. * src/gnet-private.h (_GInetAddrAsyncState ): Add IOChannel field. * src/inetaddr.c (gnet_inetaddr_new_async): Save the IOChannel * src/inetaddr.c (gnet_inetaddr_new_async_cancel): Unref the IOChannel. * src/inetaddr.c (*_get_name_async_*): As above for these funcs. * src/tcp.c (*_new_async_*): As above for these funcs. * src/inetaddr.c (gnet_inetaddr_new_async_cb): Don't clear the watch. This isn't necessary now that we have the in_callback flag. * tests/dnstest.c (reverse_inetaddr_cb): Don't free name - inetaddr owns it, just cname. * tests/dnstest.c (reverse_inetaddr_cb): Delete inetaddr. * examples/echoserver.c (async_client_iofunc): Fix number of bytes moved. Use g_memmove(). * examples/echoserver.c (ob_client_func): Don't add a '\n'. It wasn't needed and wrote past the end of the array. * examples/echoclient.c: Merged echoclient-socks here * tests/echoclient-socks.c: Removed * tests/pack,unpack,dnstest: Memory leak fixes Mon Apr 15 14:05:21 2002 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_get_name_async): Handle EAGAIN error from pthread_create(). * src/inetaddr.c (gnet_inetaddr_new_async): " * configure.ac: Upped version to 1.1.3 (unreleased) * NEWS: " * src/tcp.c (gnet_tcp_socket_server_accept_async): Don't return something in void function. * src/tcp.h: Noted data passed to GTcpSocketConnectAsyncFunc is callee owned. * src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Copy the inetaddr passed - it's caller owned, not callee owned (RTFM)! * src/tcp.c (gnet_tcp_socket_connect_inetaddr_cb): Do not put tcp_id in state immediately. If it failed, state will be deleted just before we dereference it, which could cause a seg fault. * src/tcp.c (gnet_tcp_socket_connect_tcp_cb): Delete inetaddr on failure. * src/tcp.c (gnet_tcp_socket_connect_async): Update docs: The callback will never be called before the function returns. Also, simplified logic since the same semantics are now true for gnet_inetaddr_new_async(). 2002-02-27 Bastien Nocera <hadess@hadess.net> * gnet.pc.in: add $(libdir)/gnet/include to the .pc file, it actually works now :) Sat Feb 16 18:25:15 2002 David Helder <dhelder@umich.edu> * Release GNet 1.1.2 * Makefile.am: Remove debian stuff. * src/inetaddr.c (gnet_inetaddr_get_name): Implement pthread version. * src/gnet-private.h (_GInetAddrReverseAsyncState ): Add pthread field. * src/inetaddr.c (gnet_inetaddr_new_async): Duplicate the hostname before passing to thread. * src/inetaddr.c (gethostbyname_async_child): Delete hostname. Thu Feb 14 12:39:59 2002 David Helder <dhelder@umich.edu> * Release GNet 1.1.1 Wed Feb 13 20:47:51 2002 David Helder <dhelder@umich.edu> * src,doc: Doc improvements. * src/inetaddr.c: NOTE: The no-immediate-callbacks for async functions is finally implemented (in inetaddr). * src/inetaddr.c (gnet_inetaddr_get_name_nonblock): Added. Like gnet_inetaddr_new_nonblock. * src/inetaddr.c (gnet_inetaddr_get_name_async): Don't callback on error. Don't callback on immediate success. * src/inetaddr.c (gnet_gethostbyname): Do a non-blocking lookup. * src/inetaddr.c (gnet_inetaddr_new_async): Don't call callback on error. * src/iochannel.c (gnet_io_channel_read_async_cancel): Remove timer only if set * src/socks-private.h: Move SOCKS_PORT here. * src/conn.[hc]: Removed add/remove watch functions. For binary compatibility, the members are still in the struct. * src/conn.c (conn_timeout_cb): Zero out the timeout before call * src/conn.c: Added docs Sun Feb 10 15:27:36 2002 David Helder <dhelder@umich.edu> * examples/echoserver.c: Print more. * examples/echoserver.c (async_accept): Don't unref iochannel since we're saving it. * examples/echoserver.c: Clean up watch logic for async server so that there's only a single watch on a socket. (This works around the GLib poll bug.) * src/socks-private.h: Fix dport size. * src/socks-private.c (gnet_private_socks_tcp_socket_server_accept): Recreate server socket with same port. If the programmer specified 0 initially (for an ephemeral port) and cannot get the same port, this fails. Mon Feb 4 16:52:58 2002 David Helder <dhelder@umich.edu> * src/tcp.c: Doc updates * doc/*: " Mon Feb 4 14:33:37 2002 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_server_accept_async): Fix warning. * src/socks-private.c (gnet_private_socks_tcp_socket_server_accept_async): " * src/server.c (server_accept_cb): " * configure.ac: Cleaned up debug flag handling. 'minimum' debug flags is set by default * autogen.sh (conf_flags): debug=yes for developers Fri Feb 1 19:37:25 2002 David Helder <dhelder@umich.edu> * src/iochannel.c (gnet_io_channel_read_async_cancel): Don't call g_assert(func()) cause assertions are disabled and func() won't get called. Duh! * src/conn.c (gnet_conn_watch_remove_read): " * src/conn.c (gnet_conn_watch_remove_write): " * src/conn.c (gnet_conn_watch_remove_error): " * src/scheduler.c: " * examples/sdr.c (main): " * examples/echoclient-udp.c (normal_echoclient): " * src/iochannel.c (write_async_cb): Merged write and error cb's into this cb. * src/iochannel.c (read_async_cb): Likewise. * src/conn.c (conn_check_queued_writes): Delete removed link. This was leaking memory. * src/tcp.c (gnet_tcp_socket_server_accept_async): Fix typo (user data not set right). * src/socks-private.c (gnet_private_socks_tcp_socket_server_accept_async): Fix typo. * examples/echoclient.c: Added better debug output. * gnet-config.in: Cleaned up somemore. * src/tcp.c (gnet_tcp_socket_unref): Remove accept watch on destroy. * examples/ljoust.c: Removed. Out-of-date. * doc/gnet.sgml: " * examples/echoserver.c: Update to use new async accept func. * src/server.c: " Wed Jan 30 20:22:33 2002 David Helder <dhelder@umich.edu> * src/sha.c (gnet_sha_new_string): Fixed warning * src/md5.c (gnet_md5_new_string): " * src/tcp.c (gnet_tcp_socket_server_accept_async): Added. We need this to simplify SOCKS code. Setting a read watch on a socket is now DEPRICATED. Use this instead. * src/tcp.c (gnet_tcp_socket_server_accept): No longer const. * src/tcp.c, socks.c: Move most SOCKS logic to socks.c. Add _direct versions in tcp and _socks in socks-private for SOCKSified functions. * src/pack.c (gnet_calcsize): Not _ALL_ arguments should be passed, not just the dynamic arguments. (Otherwise, pack_strdup wouldn't work.) Sun Dec 22 20:36:57 2001 Ross Golder <ross@golder.org> * gnet-config.in (lib_gnet): Fixed breakage if GLIB_LIBS contains spaces Sun Dec 15 23:12:30 2001 Ross Golder <rossg@golder.org> * configure.ac: Added gnet-config.1 to AC_OUTPUT Thu Dec 13 09:50:26 2001 David Helder <dhelder@umich.edu> * configure.ac: Added --enable-glib2 (From Mark Ferlatte). I also changed it so GNet will build against 1.3/2.0 if the build against 1.2 fails. * INSTALL: New INSTALL file. * README: Updated installation info. Tue Dec 11 21:23:06 2001 David Helder <dhelder@umich.edu> * gnet.pc.in (Libs): Fixed typos. Tue Dec 11 21:20:43 2001 David Helder <dhelder@umich.edu> * configure.ac: From Mark Ferlatte's patch Fri Nov 30 17:51:02 2001 Ross Golder <ross@golder.org> * configure.in: Removed gmodule stuff, and exported GTHREAD_* even if empty. * src/Makefile.am: Made use of GTHREAD_* Sat Nov 10 18:37:01 2001 Ross Golder <ross@golder.org> * configure.in: Switched to using PKG_CHECK_MODULES to pick up glib flags (now glib2 friendly). * Makefile.am: Added glib flags. Reinstated distribution of gnet.spec file for 'rpm -t[ab] gnet-x.y.z.tar.gz'. * src/Makefile.am: Added glib flags. * src/gnet.h: Replaced depracated GUTILS_C_VAR definition * src/inetaddr.h: Commented out argument to #endif. * gnet-config.in: Removed unnecessary conditional. Ensured glib flags were being presented in output. * tests/url_test.c: Added headers to get rid of compiler warnings. Fri Nov 9 14:44:09 2001 David Helder <dhelder@umich.edu> * configure.in: Check for lib socket (Needed in SunOS 5.8?) Fri Nov 9 14:27:45 2001 David Helder <dhelder@umich.edu> * configure.in: Check for the gthread module and set CFLAGS, LIBS, glib_cflags, and glib_libs as appropriate. * src/inetaddr.c (gnet_gethostbyname, gnet_gethostbyaddr): Initialize gthreads if not initialized in Glib-Mutex case. This caused seg faults in some FreeBSDs. * gnet.m4 (AM_PATH_GNET): Remove modules. gthread is not a gnet module. Mon Oct 29 16:27:55 2001 David Helder <dhelder@umich.edu> * src/unix.c: Unlink socket on delete, doc fixes * examples/echoserver-unix.c: Delete socket on SIGINT, SIGTERM * src/tcp.c (gnet_tcp_socket_server_accept_nonblock): Doc fix. Thu Oct 25 10:48:51 2001 David Helder <dhelder@umich.edu> * configure.in, Makefile.am: Include deb/rpm stuff Wed Oct 24 17:35:51 2001 David Helder <dhelder@umich.edu> * configure.in: Check if debian or RPM files are there before AC_OUTPUT. This causes an autoconf warning, but not a configure warning. * Makefile.am: Removed .spec and debian from dist. If you really need it, I can put it back. Wed Oct 24 10:02:43 2001 Ross Golder <ross@golder.org> * src/pack.h: Commented out argument to #endif. * src/sha.h: Removed extraneous character (typo?). * Makefile.am: Updated handling of rpms and spec files. * Makefile.am: Added debian directory to make dist. Wed Oct 24 15:58:14 2001 David Helder <dhelder@umich.edu> * tests/unpack.c (main): Fix bugs Tue Oct 23 15:00:55 2001 David Helder <dhelder@umich.edu> * doc/tmpl/socks.sgml: Added * doc/gnet.sgml: Added socks Tue Oct 23 13:03:09 2001 David Helder <dhelder@umich.edu> * configure.in: Check for pthreads in c_r (for BSD) Tue Oct 23 10:50:10 2001 David Helder <dhelder@umich.edu> * doc/gnet-sections.txt: Updated * *: Doc fixes * src/ftp.[ch]: Removed Tue Oct 23 10:26:17 2001 David Helder <dhelder@umich.edu> * *: Integrate Mark Ferlatte's Unix patch. Wed Oct 17 22:26:42 2001 David Helder <dhelder@umich.edu> * src/tcp.c: Integrated SOCKS into gnet_tcp_socket_new_async. * src/gnet-private.h (_GTcpSocketAsyncState ): Added field for socks server (so it can be changed while the connect is in effect). * BUGS: Added note about blocking in tcp_socket_new_async during socks negotiation. * examples/echoclient.c: Finished async example. * test/echoclient-socks.c: Renamed from socksclient. Now does async too (but set manually) * src/socks.c (gnet_socks_get_server): Free hostname if port parse fails. Wed Oct 17 16:48:03 2001 David Helder <dhelder@umich.edu> * src/socks-private.c: Use g_getenv. Fix missing io channel deref. * src/socks.c: Cleaned up interface (get/set server and get/set enable). SOCKS is off by default for now. Simplified parsing code. * tests/socksclient.c: Added Sun Oct 7 23:04:29 2001 David Helder <dhelder@umich.edu> * NEWS: Added SOCKS Sun Oct 7 18:42:05 2001 David Helder <dhelder@umich.edu> * src/socks.[hc]: Added. Not integrated with TCP yet. * src/socks-private.c: Added * AUTHORS: Added Marius * src/server.c: Include gnet-private before server. Fixes MAX/MIN warning with param.h * src/iochannel.c (gnet_io_channel_writen): buf is now a gpointer. * src/iochannel.c (gnet_io_channel_readn): Sun Oct 7 17:53:03 2001 David Helder <dhelder@umich.edu> * src/url.[hc]: Integrated David's URL improvements (fragments, query, username, and password handling). Made many parsing changes to make more sane/RFC-compliant. Added some docs. * tests/url_test.c: Added. Uses "make check". * tests/urlparse.c: Added * AUTHORS: Added David Bolcsfoldi Mon Sep 24 14:07:56 2001 David Helder <dhelder@umich.edu> * src/inetaddr.c: s/Interface/iface Fri Sep 21 17:37:50 2001 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_async): In pthread version, malloc space for pointers passed to pthread_create. Otherwise, if we return before the new thread runs, it crashes. Duh. And I taught this stuff? * src/inetaddr.c (gethostbyname_async_child): Delete args. Thu Sep 20 12:40:43 2001 David Helder <dhelder@umich.edu> * configure.in (glib_libs): Set -lpthread in gnet-config --libs when pthreads are used. * acconfig.h: Added HAVE_LIBPTHREAD manually * gnet-config.in: " * Makefile.am (EXTRA_DIST): Include gnet.m4. It was in m4data, not sure what's going on with autoconf. * configure.in (glib_libs): Use proper glib-config when getting flags for gnet-config Mon Aug 27 13:49:46 2001 Andrew Lanoix <alanoix@umich.edu> * README.win32: Fix typo Fri Aug 24 10:47:34 2001 Andrew Lanoix <alanoix@umich.edu> * README.win32: Update Sun Aug 12 11:59:22 2001 Andrew Lanoix <alanoix@umich.edu> * gnet.def: Add missing gnet_inetaddr_new_nonblock & gnet_inetaddr_new_nonblock Mon Aug 6 13:31:37 2001 David Helder <dhelder@umich.edu> * tests/dnstest.c (main): Clean-up. Now blocks by default. * src/inetaddr.c (inet_aton): Fix our inet_aton to understand 255.255.255.255. This function was in gnet-private.h. Fri Aug 3 10:59:15 2001 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_async): Same as below for Windows version. Fri Aug 3 10:32:45 2001 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_async): Don't do inet_aton and call callback immediately. This is confusing for the programmer and can lead to bugs. Now, either NULL will be returned or the callback will be called later. PROGRAMMERS: For the old semantics, call gnet_inetaddr_new_nonblock and if it fails, call gnet_inetaddr_new_async. Wed Jul 25 14:23:16 2001 David Helder <dhelder@umich.edu> * src/inetaddr.c: Added pthread implementation of gnet_inetaddr_new_async. * src/gnet-private.h (_GInetAddrAsyncState ): " * configure.in: Check for pthreads Wed Jun 13 11:29:25 2001 Andrew Lanoix <alanoix@umich.edu> * gnet.def: update * README.win32: update * tests/Makefile.mingw: Build hash.c * tests/hash.c: Add a note that extra \r's on win32 text files will throw off SHA and MD5 if you don't remove them Sat Jun 9 15:35:19 2001 David Helder <dhelder@umich.edu> * tests/hash.c: Actually removed mmap as advertised. Fri Jun 8 16:49:16 2001 David Helder <dhelder@umich.edu> * tests/hash.c: Don't use mmap. Don't make main loop. Fri Jun 8 15:26:41 2001 David Helder <dhelder@umich.edu> * examples/echoserver.c (async_server_iofunc): Should be accept_nonblock in async_server_iofunc, not accept. * BUGS: Typo Thu May 31 10:46:30 2001 David Helder <dhelder@umich.edu> * Makefile.am (EXTRA_DIST): Add README.win32 GNET.DSP config.h.win32 gnet.def * */Makefile.am: Add makefile.mingw * configure.in: Version is now 1.1.1 [unreleased] * configure.in: Remove poll check * src/udp.c (gnet_udp_socket_has_packet): Use select, not poll. * src/gnet-private.h: Remove poll * README.macosx: Added * Makefile.am: Added README.macosx to EXTRA_DIST * AUTHORS: Added Eric Cronin for above * src/sha.c (gnet_sha_clone): Added. * src/md5.c (gnet_md5_clone): Added. * debian/control.in: Sync with README Thu May 24 21:20:09 2001 David Helder <dhelder@umich.edu> * gnet.spec.in: Change name back to 'gnet'. I don't know how to fix this... * *: Get ready for release... Thu May 24 12:12:04 2001 Andrew Lanoix <alanoix@umich.edu> * NEWS updated to say full windows port Thu May 24 10:14:02 2001 David Helder <dhelder@umich.edu> * examples/echoserver.c (object_echoserver): Fixed call to gnet_server_new. * examples/Makefile.am: Make examples noinst, not extra. Wed May 23 9:33:45 2001 Andrew Lanoix <alanoix@umich.edu> * Add makefiles for mingw (gcc for windows) * examples/echoserver.c: In object_echoserver(), too may args to gnet_server_new() * update Gnet.dsp * update gnet.def * update gnetconfig.h.win32 Version to 1.1.0 Wed May 23 10:08:09 2001 David Helder <dhelder@umich.edu> * src/gnet.h: Include all files on Win32 Tue May 22 23:25:59 2001 David Helder <dhelder@umich.edu> * src/pack.c (strlenn): Fixed sign issue Tue May 22 16:45:01 2001 David Helder <dhelder@umich.edu> * gnet.m4: Fix URL * README (Features): Fix URL * debian/control.in: Add URL Tue May 22 22:21:31 2001 Andrw Lanoix <alanoix@umich.edu> * server.h: #include "gnetconfig.h" * tcp.h: removed 2 unused vars in windows code * gnet-private.c: removed 2 unused vars in windows code * udp.c: gnet_udp_socket_has_packet()[win32 version] change gint arg to u_long arg to get rid of warning Tue May 22 09:59:57 2001 David Helder <dhelder@umich.edu> * src/pack.[hc]: Made int types unsigned where possible. Mon May 21 22:22:01 2001 Andrew Lanoix <alanoix@umich.edu> * udp.c: gnet_udp_socket_new_interface() use GNET_CLOSE_SOCKET instead of close() * conn.h: #include<memory.h> Sun May 20 22:32:19 2001 David Helder <dhelder@umich.edu> * debian/*: Clean ups for 1.1 * src/tcp.c (gnet_tcp_socket_server_new2): Removed * src/*: conn, server, url, and the new iochannel funcs are 'EXPERIMENTAL'. md5, sha, and pack are not. * doc/gnet.sgml, *: More doc cleanups * src/pack.c: Added calcsize docs. * doc/gnet-config.1.in: Added. Based on Owen's glib-config manpage. * debian/rules.in: Install man page Sun May 20 10:22:29 2001 Andrew Lanoix <alanoix@umich.edu> *src/gnet-private.c:[win32 only] workaround for a glib bug that caused problems when one used GNet with GTK *README.win32: Updated Mon May 14 11:13:22 2001 David Helder <dhelder@umich.edu> * src/url.c, inetaddr.c, md5.c (*_hash, *_equal): s/const gpointer/gconstpointer/ Fri May 11 14:58:24 2001 David Helder <dhelder@umich.edu> * tests/unpack.c (main): Fixed the warnings :-) * src/inetaddr.c (gnet_inetaddr_new_any): Added. Thu May 10 10:22:46 2001 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_server_new_interface): If iface is NULL, the OS will choose the address and port. * src/server.c (gnet_server_new): Allow iface to be NULL * src/pack.c (gnet_calcsize): Added * src/pack.c (gnet_vcalcsize): Exposed Wed Apr 25 14:27:26 2001 David Helder <dhelder@umich.edu> * src/server.[hc] (gnet_server_new): Changed prototype so port not included. Now uses new_interface Tue Apr 24 15:10:19 2001 David Helder <dhelder@umich.edu> * src/md5.c (gnet_md5_get_digest): Added cast to supress warning * src/udp.c (gnet_udp_socket_interface_new): Added * src/udp.c (gnet_udp_socket_new_interface): SO_BROADCAST set by default * src/tcp.c (gnet_tcp_socket_server_interface_new): Added. * src/tcp.c (gnet_tcp_socket_server_new2): Above replaces Mon Apr 23 7:07:21 2001 Andrew Lanoix <alanoix@umich.edu> * src/gnet-private.c (gnet_MainCallBack - Win32 ONLY): Explicitly force GNet to grab only its own messages, Found by Anthony Lee. Mon Apr 9 17:10:09 2001 David Helder <dhelder@umich.edu> * src/iochannel.c (gnet_io_channel_readn): Bug fix from Wolfgang Borgert. Fri Mar 30 11:57:21 2001 David Helder <dhelder@umich.edu> * configure.in: Checking for param.h incorrectly Tue Mar 6 15:31:13 2001 David Helder <dhelder@umich.edu> * src/iochannel.c (gnet_io_channel_readline_strdup): Fixed bug when buffer lengthened (off by one). Found by Simon Li. Sun Mar 4 5:04:45 2001 Andrew Lanoix <alanoix@umich.edu> * src/gnet-private.[ch] * src/iochannel.[ch] * gnet.def Removed Glib 1.2 workaround. * gnet.dsp Link to glib-1.3.lib. * README.win32 Cleanup and further clarify linking with mingw/gcc. Tue Feb 27 15:55:56 2001 David Helder <dhelder@umich.edu> * src/inetaddr.c: Fixed const issues for Windows * src/tcp.c: * src/sha.c: * src/server.[hc]: s/interface/iface because interface is reserved in MS C. * README: Added PreViking link Fri Feb 23 7:44:14 2001 Andrew Lanoix <alanoix@umich.edu> *src/server.c added #include<memory.h> *src/sha.c Don't #include<unistd.h> on Windows *src/tcp gnet_tcp_socket_new_async on Windows, needed to add G_IO_ERR to g_io_add_watch() call. *README.win32 Clarify mingw/gcc/cygwin problem. Sat Feb 17 16:17:49 2001 David Helder <dhelder@umich.edu> * tests/Makefile.am: Now compile tests by default * src/*: Added/removed const's * src/md5.c (gnet_md5_copy_string): Added * src/{md5,sha}.c: Added gnet_{sha,md5}_{new_incremental, update, final} for "incremental" hashes Wed Feb 14 20:57:07 2001 David Helder <dhelder@umich.edu> * src/pack.c: Implemented pack_strdup. Removed calcsize - not useful. * src/inetaddr.c (gnet_gethostbyaddr): Fix locking. We did not hold the lock when we accessed the hostent struct. This only affects software that uses threads on systems without gethostby{name,addr}_r * tests/: Moved some examples here * doc/: Rebuilt, cleaned up Tue Jan 23 13:11:03 2001 David Helder <dhelder@umich.edu> * configure.in: Fixed --enable-debug macro * doc/gnet.sgml: Fixed --libs problem * README: Added gpoker * src/iochannel.c (gnet_io_channel_writen): Fixed comment. Thu Dec 14 14:02:50 2000 Andrew Lanoix <alanoix@umich.edu> * Updates to the Win32 GIOChannel socket fix * g_io_channel_win32_new_stream_socket() renamed to gnet_io_channel_win32_new_stream_socket() * gnet_tcp_socket_new_async() Win32 version now uses the GIOChannel fix, also callback on an error was broken Mon Nov 13 19:49:32 2000 David Helder <dhelder@umich.edu> * examples/echoclient-udp.c: Added * examples/echoserver-udp.c: " Wed Nov 8 10:45:46 2000 David Helder <dhelder@umich.edu> * README: Added gPoker Thu Nov 2 19:26:47 2000 Andrew Lanoix <alanoix@umich.edu> * src/tcp.c: gnet_tcp_socket_new_async_cancel() Win32 version did not cleanup properly * src/gnet-private.c: Removed debug code * gnetconfig.h.win32: Defined GNET_WIN32 here if not defined * src/iochannel.[hc]: * src/gnet-private.[hc]: Added Glib of Win32 GIOChannel Socket FIX * src/tcp.c: gnet_tcp_server_accept() Don't force the socket in the Win32 version into blocking mode. * gnet.def: Added g_io_channel_win32_new_stream_socket() * README.win32: Updates Thu Nov 2 15:24:04 2000 David Helder <dhelder@umich.edu> * src/*.h: Added #ifdef GNET_EXPERIMENTAL around experimental stuff. * src/url.c (gnet_url_clone): g_strdup will return NULL if str is NULL - don't check. Mon Oct 30 20:34:29 2000 David Helder <dhelder@umich.edu> * examples/echoserver.c (async_echoserver): Code cleanups Sun Oct 29 22:44:22 2000 David Helder <dhelder@umich.edu> * examples/echo*.c: s/--nonblocking/--async/ since it's asynchronous, not nonblocking. * examples/echoclient.c: Added example showing GConn way. Started showing asynchronous example. UNFINISHED. * src/iochannel.c (gnet_io_channel_readline_check_func): Don't replace \n with \0. This is what readline does. * examples/echoserver.c: Added example showing GServer way * src/server.h (GServerFunc): s/struct _GConn/GConn/ * examples/echoserver.c: Clean-ups Sun Oct 29 17:50:46 2000 David Helder <dhelder@umich.edu> * examples/echoserver.c: Fixed non-blocking server example. It had a couple problems. It should not have switched on the condition, because it's a bit field, not an enum. It should have done better error checking too. * BUGS: Added * src/pack.c: Change 'P' to 'v' for void pointer. Void pointer will always be native size. * src/pack.c: Updated docs Thu Oct 26 16:23:29 2000 David Helder <dhelder@umich.edu> * gnet.spec.in (Group): Integrated Benjamin Kahn's patch. lib/gnet wasn't being include in the dev RPM. Sat Oct 21 01:09:52 2000 David Helder <dhelder@umich.edu> * examples/unpack.c: Added * examples/pack.c: Added more tests * src/pack.c (gnet_vunpack): unpack s is now like pack s. Use r or S for old semantics * src/pack.c (strlenn): Fixed. Fixes unpack s * src/pack.c: Fixed pack/unpack of big endian pointers (like you'd ever do this...) * src/pack.c (gnet_vpack): Fix pack R * src/pack.c (gnet_vpack): p can now be repeated * src/pack.c: Made sure va_arg uses only int or double. This should fix gcc 2.76 warning Joe found. Fri Oct 20 11:27:08 2000 David Helder <dhelder@umich.edu> * src/*.[ch]: Added Copyright line for Andy to files he changed/added to. Thu Oct 19 23:47:01 2000 David Helder <dhelder@umich.edu> * configure.in (GNET_BINARY_AGE): Minor = 5, interface = 0 Thu Oct 19 23:44:17 2000 David Helder <dhelder@umich.edu> * *: Merged GNET_1_0_4_STABLE_BRANCH into HEAD Thu Oct 19 22:48:21 2000 David Helder <dhelder@umich.edu> * *: Release 1.0.4 on GNET_1_0_4_STABLE_BRANCH branch * README.win32: Updates * gnet-config.in (lib_gnet): Fix gnet-config.in Sat Oct 14 11:54:30 2000 David Helder <dhelder@umich.edu> * gnet-config.in (lib_gnet): Fixed cflags for non-/usr prefix systems. * NEWS: Updates (still unreleased) Wed Oct 11 23:31:40 2000 David Helder <dhelder@umich.edu> * TODO: Updates. Wed Oct 11 23:18:04 2000 David Helder <dhelder@umich.edu> * examples/pack.c: Added * examples/hash.c: Added Wed Oct 11 23:16:48 2000 David Helder <dhelder@umich.edu> * src/scheduler.[hc]: Added, but not used yet. * src/md5.[hc]: Added * src/sha.[hc]: Added * src/gnet.h: Added md5 and sha Wed Oct 11 22:57:18 2000 David Helder <dhelder@umich.edu> * src/iochannel.[hc]: Moved functions in gnet.h here * src/iochannel.c ({read,write}_async): Added * src/pack.[hc]: Added. Mostly finished. Needs testing, more docs. * src/conn.[hc]: Added. Needs review, docs. * src/server.[hc]: Added. Needs review, docs. * src/url.[hc]: Added. Very basic, not standards compliant. Needs work. * src/inetaddr.c (gnet_inetaddr_new_nonblock): Added * src/inetaddr.c (gnet_inetaddr_is_*): Added * src/inetaddr.c (gnet_inetaddr_autodetect_internet_interface): Added * src/inetaddr.c (gnet_inetaddr_get_interface_to): " * src/inetaddr.c (gnet_inetaddr_get_internet_interface): " * src/inetaddr.c (gnet_inetaddr_is_internet_domainname): " * src/inetaddr.c,gnet-private.c (gnet_inetaddr_list_interfaces): Moved from private to inetaddr and exposed. * src/tcp.c (gnet_tcp_socket_set_tos): Added * src/tcp.c (gnet_tcp_socket_server_new2): Added. This will become gnet_tcp_socket_server_new() in 1.2. Tue Oct 3 13:26:45 2000 Andrew Lanoix <alanoix@umich.edu> * Added: Gnet.dsp (MS VC 6.0 Project File, builds with Glib 1.2) * Removed references to G_OS_WIN32 in examples Mon Oct 2 00:05:33 2000 Andrew Lanoix <alanoix@umich.edu> * Added: gnetconfig.h.win32, config.h.win32 * Code now compiles with both Glib 1.2, 1.3 on Win32 Mon Oct 2 11:19:12 2000 David Helder <dhelder@umich.edu> * src/gnet-private.c: Remove include config.h Mon Oct 2 11:15:19 2000 David Helder <dhelder@umich.edu> * src/inetaddr.c: Remove include of config.h. Already in gnet-private.h. Sun Oct 1 19:42:07 2000 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_new_async_cb): Remove the watch before calling the user's callback. This prevents it from being called a second time, which could happen if we run the main loop before we return. Joe Shaw found this bug. * src/inetaddr.c (gnet_inetaddr_new_async_cb): " * src/inetaddr.c (gnet_inetaddr_get_name_async_cb): " Sun Oct 1 13:58:35 2000 David Helder <dhelder@umich.edu> * gnetconfig.h.in: Fixed endif (had string - not ANSI) Sun Oct 1 3:48:33:19 2000 Andrew Lanoix <alanoix@umich.edu> * hostinfo.c: Updated Sun Oct 1 3:46:48:28 2000 Andrew Lanoix <alanoix@umich.edu> * Temp patch to get examples to work on Win32 (dnstest.c echoserver.c echoclient.c) Sun Oct 1 3:41:29:66 2000 Andrew Lanoix <alanoix@umich.edu> * Workaround for win32 linking issue. Moved including winsock2 from inetadder.c to inetaddr.h Thu Sep 28 23:13:30 2000 David Helder <dhelder@umich.edu> * README.win32: Added. Writen by Andy. Thu Sep 28 22:55:57 2000 David Helder <dhelder@umich.edu> * gnetconfig.h.in: Added * Makefile.am: Install in library * gnet-config.h.in: Add gnetconfig.h * src/gnet.h: Fixed version stuff * src/gnet-private.h: Include sys/param if available. * src/*: Small windows fixes Thu Sep 28 21:40:15 2000 David Helder <dhelder@umich.edu> * src/gnet-private.h: Added Andy's 2nd patch. Wed Sep 27 01:01:49 2000 David Helder <dhelder@umich.edu> * *: First pass at merging in Andy's Win32 port. Compiles in Unix, but untested in Unix and Windows. Tue Apr 11 16:59:11 2000 David Helder <dhelder@umich.edu> * *: Release 1.0.3 * README: Updated Jungle Monkey URL Mon Apr 10 20:48:01 2000 David Helder <dhelder@umich.edu> * configure.in (GNET_BINARY_AGE): Upped version to 1.0.3 * src/inetaddr.c (gnet_inetaddr_new_async_cb): If gethostbyname failed, then it's an error. Sun Apr 9 15:19:16 2000 David Helder <dhelder@umich.edu> * autogen.sh: Added Gnome-like autogen script * auto*: Removed Thu Apr 6 16:14:16 2000 David Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_async): Don't watch PRI or OUT. * src/inetaddr.c (gnet_inetaddr_get_name_async): Likewise. * src/tcp.c (gnet_tcp_socket_new_async_cancel): Delete the state. * src/tcp.c (gnet_tcp_socket_connect_async_cancel): Delete the state. * src/tcp.c (gnet_tcp_socket_new_async_cb): Bug fix: Mask the condition properly. Delete the socket if there was an error. General clean-ups. * src/inetaddr.c (gnet_inetaddr_get_name_async_cb): Bug fix: Make sure name ends with '\0'. * src/inetaddr.c (gnet_inetaddr_new_async_cb): Bug fix: Mask the condition properly. * src/inetaddr.c (gnet_inetaddr_new_async_cb): Bug fix: Copy len-1 bytes, not len. * src/inetaddr.c (gnet_inetaddr_new_async_cb): If we call back with ERROR, set ia to NULL. Also delete the ia, which fixes a memory leak. * configure.in: Print stuff when checking for --enable-debug Wed Apr 5 14:04:52 2000 David Helder <dhelder@umich.edu> * src/gnet-private.c (gnet_private_inetaddr_list_interfaces): Use ifr_blah macros and don't access ifr directly (which I should have done originally). This fixes a portability issue in FreeBSD 4.0 which changes ifru_flags from a short to a short[2]. * examples/hostinfo.c: Added decl for list_interfaces so it that it will compile. Fri Mar 17 20:07:15 2000 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_server_accept_nonblock): Clean-up * src/tcp.c (gnet_tcp_socket_server_accept): Check errno against EPROTO only if EPROTO is defined. (It isn't on OpenBSD. Fix by Niels.) Sun Mar 5 14:22:11 2000 David Helder <dhelder@umich.edu> * auto*: Release version 1.0.1 Tue Feb 29 11:18:52 2000 David Helder <dhelder@umich.edu> * AUTO*: Version 1.0.1 (unreleased) * src/gnet.c (gnet_io_channel_readline_strdup): Fixed typo bug where buffer was growing too fast. Found by Carl Armstrong <carl@avalon.cameron.edu>. Mon Feb 28 12:38:31 2000 David Helder <dhelder@umich.edu> * NEWS, etc: Version 1.0.0 * debian/*: Upped version to 1.0.0-2, cleaned up control.in * gnet.spec.in: Upped version to 1.0 Wed Feb 23 10:49:39 2000 David Helder <dhelder@umich.edu> * src/tcp.c (gnet_tcp_socket_server_accept_nonblock): Added. Theoretically, gnet_tcp_socket_server_accept could block even if the channel was readable, so I added this. * src/tcp.[ch], inetaddr.[ch]: - Renaming: GTcpSocketAsyncFunc -> GTcpSocketNewAsyncFunc GTcpSocketAyncStatus -> GTcpSocketNewAyncStatus etc... - gpointer ID's given better names: GTcpSocketNewAsyncID GTcpSocketConnectAsyncID GInetAddrNewAsyncID GInetAddrGetNameAyncID * doc/*, src/*, TODO, README, HACKING: Doc cleanups/improvements * libtool*: Upgrade to libtool 1.3.4 * auto*: Version set to 0.1.10 (for now) Tue Feb 15 17:01:39 2000 David A Helder <dhelder@umich.edu> * debian/changelog: Removed middle initial. Tue Feb 15 10:13:59 2000 David A Helder <dhelder@umich.edu> * doc/*: Updates for new stuff * src/*: Documentation fixes * configure.in: Check for sys/poll.h * src/gnet-private.h: Changed __EMX__ to HAVE_SYS_POLL_H * acconfig.h: Added HAVE_SYS_POLL_H * src/{tcp, inetaddr}.c: Reordered enums so that OK comes first. * src/Makefile.am (EXTRA_DIST): Removed ftp.[ch] from EXTRA_DIST (will remain in repository though). 2000-02-09 Asbjorn Pettersen <asbjornP@dualog.no> * src/gnet-private.h: <sys/types.h> before <socket.h> OS/2 havn't <sys/poll.h>. __EMX__ is an OS/2 define. Tue Feb 8 17:40:58 2000 David A Helder <dhelder@umich.edu> * AUTHORS: Fixed Xavier's email address. Tue Feb 8 10:29:02 2000 David A Helder <dhelder@umich.edu> * TODO: Added some TODO's Sun Feb 6 14:27:20 2000 David A Helder <dhelder@umich.edu> * NEWS: Added 0.1.9 (unreleased) Sun Feb 6 13:18:03 2000 David A Helder <dhelder@umich.edu> * src/*: Renamed "nonblock" to "async" because we're really asynchronous. Nonblock usually means the function will return if it would block, which we don't do. * src/tcp.c: - Added gnet_tcp_socket_new_async_cancel() and gnet_tcp_socket_connect_async_cancel(). - gnet_tcp_socket_new_async() and gnet_tcp_socket_connect_async() now return ID's of connections which can be used for cancels. - gnet_tcp_socket_new_async() now calls callback if there is a failure. * src/inetaddr.c: - Added gnet_inetaddr_new_sync_cancel() and gnet_inetaddr_get_name_async_cancel(). - gnet_inetaddr_new_sync() and gnet_inetaddr_get_name_async() now return ID's of connections which can be used for cancels. * src/gnet-private.h: Added signal.h * examples/dnstest.c: Updated for this stuff * src/*: Added _ref and _unref functions to GInetAddr, GTcpSocket, GUdpSocket, and GMcastSocket. _delete now uses these. (Also, GMcastSocket now unrefs the iochannel - it didn't before. Oops). * src/gnet.[hc]: Added Jacques' gnet_iochannel_readline_strdup * AUTHORS: Add Jacques Fortier Wed Feb 2 13:58:10 2000 David A Helder <dhelder@umich.edu> * Makefile.am (copyweb): Fixed copy to debian server Wed Feb 2 10:31:13 2000 David A Helder <dhelder@umich.edu> * doc/gnet.sgml: Fixed version number stuff, old function names. * src/udp.c: Fixed type in docs for get_iochannel. * debian/changelog: Did a 0.1.8-2 release with fixed documentation. (I did not generate them properly when I did the first released). Tue Feb 1 20:00:23 2000 David A Helder <dhelder@umich.edu> * auto: Upped version to 0.1.8 * Makefile.am (copyweb): Added debian server stuff to copyweb rule. Mon Jan 31 21:30:02 2000 David A Helder <dhelder@umich.edu> * examples/.cvsignore: Added example executables. Mon Jan 31 19:40:45 2000 David A Helder <dhelder@umich.edu> * src/gnet-private.h: Added iochannel member to TcpSocket, UdpSocket, McastSocket * src/{udp,tcp}.c: Use single iochannel. * examples/{hfetch, echoserver}.c: Don't close iochannel. * src/{udp,inetaddr,tcp,mcast}.c: Check if the argument to *_delete is NULL. If it is, don't do anything. * README: Added info on submiting bugs. * TODO: Added "Write manpage for gnet-config". Sun Jan 30 16:34:59 2000 David A Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_new_nonblock): Added 'return' if inet_aton worked. This caused a seg fault. * src/tcp.c (gnet_tcp_socket_new_nonblock): Added some g_return_val_if_fail. * TODO: Reformated, added some comments. 2000-01-30 Soren Sandmann Pedersen <sandmann@nerva.daimi.au.dk> * src/inetaddr.c: Use HP-UX' gethostbyaddr_r. Fixed typo in Solaris code (this was a bug - we were calling gethostbyname_r, not gethostbyaddr_r) [DAH]. Sat Jan 29 16:55:41 2000 David A Helder <dhelder@umich.edu> * AUTHORS: Added Soeren Sandmann to AUTHORS 2000-01-29 Soren Sandmann Pedersen <sandmann@saratoga.daimi.au.dk> * src/inetaddr.c: Use HP-UX' gethostbyname_r * acconfig.h: add GETHOSTBYNAME_R_HPUX * configure.in: detect HP-UX' gethostbyname_r Wed Jan 26 12:37:51 2000 David A Helder <dhelder@umich.edu> * AUTHORS: Fixed Xavier's email address. Wed Jan 26 11:11:07 2000 David A Helder <dhelder@umich.edu> * src/Makefile.am: Don't install gnet-private.h, ftp.{hc} * src/{gnet,inetaddr}.h: Removed include of config.h * src/gnet-private.h: Added include of config.h Tue Jan 25 14:48:11 2000 David A Helder <dhelder@umich.edu> * doc/Makefile.am (scan): Added src/ftp, src/gnet-private to the ignore list * doc/[docs]: Regenerated Tue Jan 25 12:28:52 2000 David A Helder <dhelder@umich.edu> * auto*: Upped version to 0.1.7 * src/gnet.c: Fixed read/write functions. Basically brought in line with Steven's code, which I know to be correct. readn didn't handle EOF properly. * src/tcp.c (gnet_tcp_socket_server_accept): Use select so we don't suck up all the CPU time (duh). * examples/echoclient.c (main): Write the strlen of the line, not strlen + 1. * examples/echoserver.c, hfetch.c: Unref the iochannel after closing it. Tue Jan 25 12:01:33 2000 David A Helder <dhelder@umich.edu> * README: Clean-ups * src/inetaddr.c: Changed snprintf to g_snprintf. Sun Jan 23 14:05:42 2000 David A Helder <dhelder@umich.edu> * auto*: Upped version to 0.1.6 * src/*.h: Added #ifdef __cplusplus... * src/gnet.h, gnet-private.h: Added #ifndef _GNET_H, _GNET_PRIVATE_H * TODO, other docs: Reformating, cleanups Thu Jan 20 12:23:38 2000 David A Helder <dhelder@umich.edu> * doc/.cvsignore, debian/.cvsignore: Added * Makefile.am: Cleaned up and Added RPMs to copyweb rule. Thu Jan 20 12:05:36 2000 David A Helder <dhelder@umich.edu> * HACKING: Updated "How to check out GNet anonymously" for Gnome repository. Thu Jan 20 11:41:17 2000 David A Helder <dhelder@umich.edu> * src/*.[ch]: Moved most includes and definitions to gnet-private.h. This will make porting easier. Wed Jan 19 15:48:29 2000 David A Helder <dhelder@umich.edu> * src/gnet.c (gnet_io_channel_writen, gnet_io_channel_readn): Don't count bytes read/written if there was an error. * src/gnet.c (gnet_io_channel_readline): Try reading again if we get G_IO_ERROR_AGAIN. Tue Jan 18 13:59:57 2000 David A Helder <dhelder@umich.edu> * src/inetaddr.c (gnet_inetaddr_get_name_nonblock): Fixed bug in handling large addresses. * src/inetaddr.c: Fixed bugs in internal gnet_gethostby* functions. Changed them around a bit. Tue Jan 18 12:50:38 2000 David A Helder <dhelder@umich.edu> * debian/changelog: Updated to 0.1.5 * debian/rules.in: Handle libtool naming correctly * debian/libgnet0.1.docs: Added (was just 'docs') Tue Jan 18 12:12:13 2000 David A Helder <dhelder@umich.edu> * configure.in: Added tests for variants of gethostbyname_r. Define _REENTRANT * src/inetaddr.c: Added gnet_gethostbyname and gnet_gethostbyaddr which use appropriate function based on config.h * TODO: Remove this improvement from list * src/gnet-private.h: Changed include to sys/socket.h * src/inetaddr.[ch]: Portablity fixed (thought I did these on the 10th - oops) * configure.in: Upped version to 0.1.5 (not released yet) * src/ftp.[ch]: Added note that it was experimental Mon Jan 17 11:16:39 2000 David A Helder <dhelder@umich.edu> * HACKING: Added (based on Xavier's SUBMIT-PATCH) * TODO: Added more details * src/ftp.[ch]: Added (contributed by Xavier Nicolovici) * gnet.spec.in: Added (contributed by Xavier Nicolovici) * Makefile.am: Added HACKING * configure.in: Added gnet.spec * auto*: Brought up-to-date * debian/changelog: Upped to debian version 2 Fri Jan 14 10:15:53 2000 David A Helder <dhelder@umich.edu> * examples/Makefile.am: Use gnet-config, not ../src * examples/*: Include gnet/gnet.h, not gnet.h * TODO: Added "Build Debian docs package" * AUTHORS: Added Xavier Nicolovici to AUTHORS Thu Jan 13 15:20:36 2000 David A Helder <dhelder@umich.edu> * doc/Makefile.am: Docs now put in prefix/share/doc/libgnet0.1-dev * Makefile.am: Added deb rule that builds .debs * debian/*: Added debian package building stuff Wed Jan 12 15:59:29 2000 David A Helder <dhelder@umich.edu> * ALL: Release 0.1.4 * TODO: Updates * examples/sdr.c: Added additional tests of mcast sockets * src/udp.c (gnet_udp_socket_get_mcast_ttl): Fix type of ttl (wasn't broken in Linux as I thought). * src/mcast.c (gnet_mcast_socket_is_loopback): Fix type of flag (wasn't broken in Linux as I thought). * src/udp.c: gnet_udp_socket_get_MTU removed until we can fix it and port it to Solaris. * src/udp.c: Include sys/sockio.h if we have it. * src/{mcast,udp}.c: Cast 4th arg to *sockopt to (void*). * src/{tcp,mcast,udp}.c: Define socklen_t if necessary. * src/inetaddr.c: Include resolv.h, arpa/nameserv.h, Define INET_ADDRSTRLEN and INET6_ADDRSTRLEN if necessary. Wed Jan 12 11:28:34 2000 David A Helder <dhelder@umich.edu> * .cvsignore: Added .cvsignore files Mon Jan 10 18:16:32 2000 David A Helder <dhelder@umich.edu> * src/gnet-private.c: Include sys/sockio.h if we have it. * configure.in: Check for sys/sockio.h Mon Jan 10 12:40:55 2000 David A Helder <dhelder@umich.edu> * ALL: More docs, release 0.1.3 * TODO: Updates * AUTHORS: Credited Owen Taylor for gnet.m4 and gnet-config * doc/gnet.sgml: Added how-to-compile section * src/inetaddr.c (gnet_inetaddr_get_name): Added * src/inetaddr.c (gnet_inetaddr_new_nonblock): Now returns void * examples/dnstest.c: Demonstrates gnet_inetaddr_get_name * examples/ljoust.c: Added Llama Joust Sun Jan 9 16:40:26 2000 David A Helder <dhelder@umich.edu> * src/gnet.[ch], configure.in: Added gnet_*_version * Makefile.am: Added m4 files for install * acconfig.h: Added * src/Makefile.am (libgnet_la_LDFLAGS): Fixed \ problem Sun Jan 9 16:08:11 2000 David A Helder <dhelder@umich.edu> * ALL: Prefixed functions with gnet_ * src/gnet-private.[ch]: Move private functions here * TODO: Cleaned up, removed some * gnet.m4: Added * gnet-config.in: Added * configure.in: Added to it (from glib, gtk) Thu Jan 6 15:25:39 2000 David A Helder <dhelder@umich.edu> * TODO: Added more notes * NEWS: Fixed this * README: Added more notes * src/inetaddr.c (inetaddr_new_nonblock): Use _exit instead of exit Thu Jan 6 13:26:09 2000 David A Helder <dhelder@umich.edu> * doc/gnet.sgml: Added info on dnstest * configure.in (GNET_MICRO_VERSION): Upped to 1 * TODO: Added a few more TODO's based on emails * README: Added info on how to checkout Gnet * src/inetaddr.[hc]: Added inetaddr_new_nonblock * examples/dnstest.c: Added inetaddr_new_nonblock test.