Allow multiple ioset backends.
[srvx.git] / ChangeLog
index 1f70b3f32a46b101d12834514680ea05c8afd351..1ae72566636714b50cd8729863c6871c6dda2e31 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,171 @@
 # arch-tag: automatic-ChangeLog--srvx@srvx.net--2006/srvx--devo--1.3
 #
 
+2006-09-22 02:38:21 GMT        Michael Poole <mdpoole@troilus.org>     patch-38
+
+    Summary:
+      Allow multiple ioset backends.
+    Revision:
+      srvx--devo--1.3--patch-38
+
+    configure.in: Add framework to check for ioset backends.
+    
+    src/Makefile.am (noinst_DATA): Reorganize for easier patching.
+      (checkversion): Avoid spurious error message if $(GNU_ARCH) is missing.
+      (EXTRA_srvx_SOURCES): Reorganize for easier patching; add ioset-select.c.
+      (srvx_SOURCES): Add ioset-impl.h.
+    
+    src/ioset.c (ioset.h): #include "ioset-impl.h" instead.
+      (clock_skew): Make non-static for backends.
+      (engine): New variable.
+      (active_fd): New variable (kind of kludgy).
+      (io_engine_*): New variables, only one exists so far.
+      (ioset_init): New function.
+      (ioset_cleanup): Call engine's cleanup function.
+      (ioset_add): Call engine's add function.
+      (ioset_listen): New function.
+      (ioset_connect): Call engine's update functions at appropriate points.
+      (ioset_try_write): Call engine's update function on success.
+      (ioset_close): Change signature; check against active_fd; call engine's
+        remove function.
+      (ioset_accept): New function.
+      (ioset_buffered_read): Update fd->state instead of fd->eof and call
+        engine's update function as appropriate.  Use active_fd.
+      (ioset_line_read): Check fd->state instead of fd->eof.
+      (debug_fdsets): Move to ioset-select.c.
+      (ioset_events): New function.
+      (ioset_run): Move most of the logic into ioset-select loop function;
+        call it.  Rename "select_timeout" to "timeout" to match.
+      (ioset_write): Call engine->update function.
+      (ioset_printf): New function.
+    
+    src/ioset.h (common.h): #include this header to get PRINTF_LIKE macro.
+      (struct io_fd): Replace 'connected' and 'eof' fields with 'state' field.
+      (ioset_init): Declare new function.
+      (ioset_listen): Declare new function.
+      (ioset_printf): Declare new function.
+      (ioset_close): Update signature.
+    
+    src/main.c (main): Call ioset_init().
+    
+    src/mod-sockcheck.c (sockcheck_free_client): Can unconditionally call
+        ioset_close() now.
+      (expand_var): Always use C99 type names.
+      (sockcheck_begin_test): Can unconditionally call ioset_close() now.
+      (sockcheck_read_conf): Only warn about unknown host if the user set
+        one; it is silly to arn about unknown host `(null)'.
+    
+    src/proto-common.c (socket_destroyed): Check fd->state rather than
+        fd->eof.
+      (close_socket): Update signature for ioset_close().
+
+    new files:
+     src/.arch-ids/ioset-impl.h.id src/.arch-ids/ioset-select.c.id
+     src/ioset-impl.h src/ioset-select.c
+
+    modified files:
+     ChangeLog configure.in src/Makefile.am src/ioset.c src/ioset.h
+     src/main.c src/mod-sockcheck.c src/proto-common.c
+
+
+2006-09-22 02:15:55 GMT        Michael Poole <mdpoole@troilus.org>     patch-37
+
+    Summary:
+      Add "dummy client" support.
+    Revision:
+      srvx--devo--1.3--patch-37
+
+    src/hash.h (FLAGS_DUMMY): New flag for non-propagated clients.
+      (IsDummy): Check it.
+    
+    src/helpfile.c (send_message): Allow sending to dummy clients.
+      (send_message_type): Likewise.
+    
+    src/proto-bahamut.c (irc_user): Bail if user is NULL or has a dummy nickname.
+      (deliver_to_dummy): New function.
+      (irc_privmsg): Try to deliver via dummy method before sending to IRC.
+      (irc_notice): Likewise.
+      (irc_notice_user): Likewise.
+      (AddUser): If the first user mode character is '*', mark as a dummy.
+      (DelUser): Unregister callback functions when destroying local clients.
+    
+    src/proto-p10.c (irc_user): Bail if user is NULL or has a dummy nickname.
+      (deliver_to_dummy): New function.
+      (irc_notice): Try to deliver via dummy method before sending to IRC.
+      (irc_notice_user): Likewise.
+      (irc_privmsg): Likewise.
+      (AddUser): If the first user mode character is '*', mark as a dummy.
+      (DelUser): Unregister callback functions when destroying local clients.
+
+    modified files:
+     ChangeLog src/hash.h src/helpfile.c src/proto-bahamut.c
+     src/proto-p10.c
+
+
+2006-09-22 01:56:07 GMT        Michael Poole <mdpoole@troilus.org>     patch-36
+
+    Summary:
+      Delete obsolete and non-propagated user modes.
+    Revision:
+      srvx--devo--1.3--patch-36
+
+    src/hash.h (FLAGS_LOCOP): Delete.
+      (FLAGS_SERVNOTICE): Delete.
+      (FLAGS_HELPER): Delete.
+      (IsServNotice): Delete.
+      (IsHelperIrcu): Delete.
+    
+    src/opserv.c (cmd_whois): Remove IsServNotice() or IsHelperIrcu().
+    
+    src/proto-bahamut.c (mod_usermode): Do not handle +O/+s/+h, we never see them.
+    
+    src/proto-p10.c (irc_user): Do not emit +s or +h, we never set them..
+      (mod_usermode): Do not handle +O/+s/+h, we never see them.
+
+    modified files:
+     ChangeLog src/hash.h src/opserv.c src/proto-bahamut.c
+     src/proto-p10.c
+
+
+2006-09-22 01:48:00 GMT        Michael Poole <mdpoole@troilus.org>     patch-35
+
+    Summary:
+      Merge AddService(), AddClone() into AddLocalUser()
+    Revision:
+      srvx--devo--1.3--patch-35
+
+    src/chanserv.c (init_chanserv): Convert AddService() call to AddLocalUser().
+    
+    src/global.c (init_global): Likewise.
+    
+    src/mod-helpserv.c (register_helpserv): Likewise.
+    
+    src/modcmd.c (cmd_service_add): Likewise.
+      (modcmd_load_bots): Likewise.
+    
+    src/nickserv.c (regex.h): Fall back to rxposix.h from local rx package.
+      (init_nickserv): Convert AddService() call to AddLocalUser().
+    
+    src/opserv.c (opserv_add_reserve): Convert AddClone() call to AddLocalUser().
+      (cmd_clone): Likewise.
+      (add_reserved): Likewise.
+      (init_opserv): Convert AddService() call to AddLocalUser().
+    
+    src/proto-bahamut.c (AddService): Convert into AddLocalUser().
+      (AddClone): Delete.
+    
+    src/proto-p10.c (AddService): Convert into AddLocalUser().
+      (AddClone): Delete.
+    
+    src/proto.h (AddService): Convert into AddLocalUser().
+      (AddClone): Delete.
+
+    modified files:
+     ChangeLog src/chanserv.c src/global.c src/mod-helpserv.c
+     src/modcmd.c src/nickserv.c src/opserv.c src/proto-bahamut.c
+     src/proto-p10.c src/proto.h
+
+
 2006-09-22 01:35:03 GMT        Michael Poole <mdpoole@troilus.org>     patch-34
 
     Summary: