srvx.git
16 years agoConvert time-related variables to consistently use "unsigned long".
Michael Poole [Sat, 5 Jan 2008 17:22:03 +0000 (12:22 -0500)]
Convert time-related variables to consistently use "unsigned long".

configure.in: Remove no-longer-used check for FMT_TIME_T.
src/*.c: Convert time_t and time adjustment values to unsigned long.
src/*.h: Likewise.
src/config.h.win32: Remove definition of FMT_TIME_T.

16 years agoPrefer "bind_address" for local addresses over "address".
Michael Poole [Tue, 18 Dec 2007 03:38:56 +0000 (22:38 -0500)]
Prefer "bind_address" for local addresses over "address".

src/mod-qserver.c (qserver_conf_read): Check for "bind_address" option
    before "address" option.
src/mod-sockcheck.c (sockcheck_read_conf): Likewise.
srvx.conf.example: Update config examples to match.

16 years agoMake triggers work properly again for privsmsgs to channels.
Michael Poole [Sat, 15 Dec 2007 18:19:51 +0000 (13:19 -0500)]
Make triggers work properly again for privsmsgs to channels.

16 years agoGreatly enhance the slab allocator.
Michael Poole [Fri, 14 Dec 2007 04:47:10 +0000 (23:47 -0500)]
Greatly enhance the slab allocator.

configure.in: Look for mprotect() function.
src/Makefile.am: Add slab-read program.
src/slab-read.c: New helper program.
src/alloc-slab.c (SLAB_DEBUG_HEADER): New bitmask macro.
  (SLAB_DEBUG_LOG): Likewise.  Implement its functions.
  (SLAB_DEBUG_PERMS): Likewise.  Implement its functions.
  (SLAB_DEBUG): Update default.
  (slab_alloc): Call slab_unprotect() when pulling free_slab_head.  Call
    slab_log_alloc() on any slab allocation.
  (slab_unalloc): Call slab_log_free() on slab unallocation.  Call
    slab_unprotect() and slab_protect() when manipulating free slabs.
  (slab_malloc): Call slab_log_alloc() on large object allocation.
  (slab_free): Call slab_log_unmap() on large object free.

16 years agoFix some memory leaks in the slab allocator (funny, isn't it?).
Michael Poole [Fri, 14 Dec 2007 03:56:03 +0000 (22:56 -0500)]
Fix some memory leaks in the slab allocator (funny, isn't it?).

alloc-slab.c (SLAB_DEBUG): Allow environment to override definition.
  (SLAB_RESERVE): Likewise.
  (MAX_SLAB_FREE): New preprocessor macro, used to cap free_slab_count.
  (slab_unalloc): Reindent SLAB_RESERVE logic.  Unconditionally link the
    free slab to the list of free slabs.  Add code to check MAX_SLAB_FREE.

16 years agoAvoid appending a user to curr_opers or curr_helpers more than once.
Michael Poole [Fri, 14 Dec 2007 03:32:13 +0000 (22:32 -0500)]
Avoid appending a user to curr_opers or curr_helpers more than once.

hash.h (userList_contains): Declare new function.
hash.c (userList_contains): Implement it.
nickserv.c (set_user_handle_info): Use it to check against curr_helpers.
proto-p10.c (mod_usermode): Use it for curr_opers.

16 years agoFix some memory leaks.
Michael Poole [Fri, 14 Dec 2007 03:01:04 +0000 (22:01 -0500)]
Fix some memory leaks.

recdb.c (parse_database): Close recdb.f on all exit paths.
sar.c (sar_cleanup): Free the string lists allocated inside config struct.
saxdb.c (saxdb_read_db): Free the previous mondo_db (if any) at first read.

16 years agoUpdate configure.in to show 1.4.0 rather than 1.4.
Michael Poole [Fri, 14 Dec 2007 02:43:20 +0000 (21:43 -0500)]
Update configure.in to show 1.4.0 rather than 1.4.

16 years agoUpdate config.h.win32 for more recent versions of mingw32.
Michael Poole [Fri, 14 Dec 2007 02:42:52 +0000 (21:42 -0500)]
Update config.h.win32 for more recent versions of mingw32.

16 years agoStore git version string to a C file, not a header.
Michael Poole [Fri, 14 Dec 2007 02:42:30 +0000 (21:42 -0500)]
Store git version string to a C file, not a header.

.gitignore: Update git-ignore.* file name.
Makefile.am: Update rebuild rules and srvx_SOURCES to match.
common.h: Declare git_version[].
main-common.c: Include git_version in version banner.  Update copyright years.
modcmd.c: Use git_version instead of GIT_VERSION.

16 years agoGet rid of trailing whitespace in coverage scripts.
Michael Poole [Thu, 13 Dec 2007 04:16:08 +0000 (23:16 -0500)]
Get rid of trailing whitespace in coverage scripts.

16 years agoDo not generate a flood of complaints on rehashing the asynchronous resolver.
Michael Poole [Thu, 13 Dec 2007 04:08:41 +0000 (23:08 -0500)]
Do not generate a flood of complaints on rehashing the asynchronous resolver.

src/sar.c (sar_services_init): Delete and re-allocate the services dicts here.
  (sar_init): .. rather than here.

16 years agoFix DNR expiration and expiration-based DNR searches.
Michael Poole [Thu, 13 Dec 2007 04:07:52 +0000 (23:07 -0500)]
Fix DNR expiration and expiration-based DNR searches.

src/chanserv.c (expire_dnrs): Use the usual trick for iterating over a dict
    while we might want to delete elements from it.
  (dnr_search_matches): Simplify the min_expires test.  If max_expires is
    set, fail if the DNR never expires or it expires later.
  (dnr_search_create): Initialize max_expires to 0, not INT_MAX.

16 years agoUpdate .gitignore files with entries normally generated by in-tree builds.
Michael Poole [Thu, 13 Dec 2007 03:51:12 +0000 (22:51 -0500)]
Update .gitignore files with entries normally generated by in-tree builds.

16 years agoDo not eat first word in ?part reason.
ThiefMaster [Mon, 10 Dec 2007 00:11:37 +0000 (01:11 +0100)]
Do not eat first word in ?part reason.

16 years agoFix sar.c build on FreeBSD 5.5.
Michael Poole [Wed, 12 Dec 2007 02:44:25 +0000 (21:44 -0500)]
Fix sar.c build on FreeBSD 5.5.

src/sar.c: #include <netinet/in.h> if it is available.

16 years agoClarify some log messages. v1.4.0-rc1
Michael Poole [Tue, 11 Dec 2007 01:04:44 +0000 (20:04 -0500)]
Clarify some log messages.

src/mod-sockcheck.c (sockcheck_read_conf): Add missing "from".

src/proto-common.c (cmd_error): Clarify the source of the error.

16 years agoAdd variable reference to quash gcc warning with -DNDEBUG.
Michael Poole [Tue, 31 Jul 2007 18:55:47 +0000 (14:55 -0400)]
Add variable reference to quash gcc warning with -DNDEBUG.

16 years agoAdded forcekick command to opserv to allow kicking of +k opers.
ThiefMaster [Fri, 22 Jun 2007 19:36:07 +0000 (21:36 +0200)]
Added forcekick command to opserv to allow kicking of +k opers.

16 years agoAvoid trying to mmap() or read a zero-byte database file.
Michael Poole [Fri, 27 Jul 2007 03:15:23 +0000 (23:15 -0400)]
Avoid trying to mmap() or read a zero-byte database file.

src/recdb.c (parse_database): If the file is empty, we can just return an
  empty database without trying to mmap() it (zero-sized mmap generates
  EINVAL) or trying to read it.

16 years agoDon't check users on bursting servers against blacklists.
ThiefMaster [Wed, 13 Jun 2007 16:24:54 +0000 (18:24 +0200)]
Don't check users on bursting servers against blacklists.

16 years agoReversed channel order in remote whois so it matches ircu's order.
ThiefMaster [Tue, 29 May 2007 22:32:32 +0000 (00:32 +0200)]
Reversed channel order in remote whois so it matches ircu's order.

16 years agoAdded debug notices for dnsbl matches in blacklist module.
ThiefMaster [Tue, 29 May 2007 20:03:04 +0000 (22:03 +0200)]
Added debug notices for dnsbl matches in blacklist module.

16 years agoFix an error in backtracking (apparently exacerbated by escapes).
Michael Poole [Fri, 27 Jul 2007 01:35:57 +0000 (21:35 -0400)]
Fix an error in backtracking (apparently exacerbated by escapes).

src/tools.c: When backtracking, make sure we have not hit the end of text.

16 years agoBump services version to 1.4.
Michael Poole [Fri, 27 Jul 2007 01:35:18 +0000 (21:35 -0400)]
Bump services version to 1.4.

configure.in: Bump version to 1.4.

16 years agoUpdate revision levels in config.h.win32.
Michael Poole [Fri, 27 Jul 2007 01:35:00 +0000 (21:35 -0400)]
Update revision levels in config.h.win32.

src/config.h.win32: Update VERSION and related data to use 1.4.  Also,
  socklen_t should be int on Windows.

16 years agoUplink exhaustion should be a non-fatal error, since we exit afterwards.
Michael Poole [Fri, 27 Jul 2007 01:34:04 +0000 (21:34 -0400)]
Uplink exhaustion should be a non-fatal error, since we exit afterwards.

src/main-common.c: Demote LOG_FATAL errors to LOG_ERROR so that we do not
  generate a core file by tripping the assert() in LOG_FATAL.

16 years agoFix typo in !help ban.
Michael Poole [Fri, 27 Jul 2007 01:32:55 +0000 (21:32 -0400)]
Fix typo in !help ban.

src/chanserv.help: In English, we generally say "please join #channel"
  rather than "please join to #channel".

16 years agoGet native Win32 mode working (at least in a basic state).
Michael Poole [Tue, 29 May 2007 02:14:21 +0000 (22:14 -0400)]
Get native Win32 mode working (at least in a basic state).

Makefile.win32: Use mail-smtp backend.  Fix main build rule.
src/ioset-win32.c (ioset_win32_init): Return values appropriately.
  (ioset_win32_loop): Update "now" before dispatching events.
src/ioset.c: Add errno kludges to work properly on Win32.  Use send() and
  recv() rather than write() and read().  Use simple comparisons rather
  than switch statements with only one case.
src/mail-smtp.c: Initial pass at SMTP backend for mail service.  Does not
  yet try to send the mail body, and has not been tested.
src/main-common.c: Move usage(), version(), license() to here ..
src/main.c: .. from here.
src/main-win32.c: Parse command-line options.

16 years agoFix misapplied patches from the GameSurge branch.
Michael Poole [Mon, 28 May 2007 19:02:30 +0000 (15:02 -0400)]
Fix misapplied patches from the GameSurge branch.

* src/nickserv.c (cmd_handleinfo): Use IsStaff() rather than IsSupport().
* src/opserv.c (cmd_block): Use C style comment, not C++ style.
  (is_oper_victim): Likewise.

16 years agoAdded TARGET criterion for notice alerts to specify the channel the notice is sent to.
ThiefMaster [Mon, 28 May 2007 15:14:34 +0000 (17:14 +0200)]
Added TARGET criterion for notice alerts to specify the channel the notice is sent to.

16 years agoAllow *account in ban/unban commands (to ban/unban *!*@account.*)
ThiefMaster [Sat, 26 May 2007 12:07:55 +0000 (14:07 +0200)]
Allow *account in ban/unban commands (to ban/unban *!*@account.*)

16 years agoWe have year 2007 in !version, too...
ThiefMaster [Sun, 20 May 2007 22:12:42 +0000 (00:12 +0200)]
We have year 2007 in !version, too...

16 years agoGet rid of remaining tabs and replace them with spaces.
ThiefMaster [Sun, 20 May 2007 15:48:44 +0000 (17:48 +0200)]
Get rid of remaining tabs and replace them with spaces.

16 years agoAdded feigling's patch to allow multiple 'channel' criteria in trace/addalert.
ThiefMaster [Sun, 20 May 2007 14:19:32 +0000 (16:19 +0200)]
Added feigling's patch to allow multiple 'channel' criteria in trace/addalert.

16 years agoMake opserv.part and opserv.join use the channel arg from the modcmd system.
ThiefMaster [Sun, 20 May 2007 12:31:29 +0000 (14:31 +0200)]
Make opserv.part and opserv.join use the channel arg from the modcmd system.

16 years agoReject invalid durations in addnote.
ThiefMaster [Sun, 20 May 2007 10:16:17 +0000 (12:16 +0200)]
Reject invalid durations in addnote.

16 years agoAvoid crashing when BURST has missing modes.
Michael Poole [Sun, 20 May 2007 15:59:43 +0000 (11:59 -0400)]
Avoid crashing when BURST has missing modes.

src/proto-p10.c (cmd_burst): If the expected number of modes is larger
  than the actual number, only unsplit and advance by the actual number.

16 years agoCheck if there are opers on the target ip in trace gag/gline and block.
ThiefMaster [Fri, 4 May 2007 20:24:09 +0000 (22:24 +0200)]
Check if there are opers on the target ip in trace gag/gline and block.

16 years agoAdded idletime to remote whois.
ThiefMaster [Wed, 2 May 2007 15:52:28 +0000 (17:52 +0200)]
Added idletime to remote whois.

16 years agoMade ounregister command safer by requiring FORCE to unregister active/flagged accounts.
ThiefMaster [Mon, 30 Apr 2007 11:19:36 +0000 (13:19 +0200)]
Made ounregister command safer by requiring FORCE to unregister active/flagged accounts.

16 years ago* Disallow BLOCK on trusted ips
ThiefMaster [Sat, 14 Apr 2007 18:54:02 +0000 (20:54 +0200)]
* Disallow BLOCK on trusted ips
* Add ABUSE TRUSTED criterion for alerts/trace

16 years agoOnly allow opers with access to GLINE to use a custom duration in BLOCK.
ThiefMaster [Sat, 14 Apr 2007 17:06:53 +0000 (19:06 +0200)]
Only allow opers with access to GLINE to use a custom duration in BLOCK.

16 years agoCheck account-based alerts when someone authenticates.
ThiefMaster [Sat, 7 Apr 2007 18:06:24 +0000 (20:06 +0200)]
Check account-based alerts when someone authenticates.

16 years ago* Reject durations containing invalid characters (like "1day" instead of "1d").
ThiefMaster [Fri, 6 Apr 2007 22:06:24 +0000 (00:06 +0200)]
* Reject durations containing invalid characters (like "1day" instead of "1d").
* Add duration to opserv.block.

16 years agoDo not display account notes to non-staff.
ThiefMaster [Fri, 6 Apr 2007 13:05:05 +0000 (15:05 +0200)]
Do not display account notes to non-staff.

16 years agoFix unreg_{notice,privmsg}_func().
Michael Poole [Wed, 23 May 2007 02:39:39 +0000 (22:39 -0400)]
Fix unreg_{notice,privmsg}_func().

proto.h: Remove the useless second parameter.
proto-bahamut.c: Implement the functions.
proto-p10.c: Make them non-buggy.

17 years agoUse appropriate upper bounds for account searches.
Michael Poole [Sun, 1 Apr 2007 00:27:50 +0000 (20:27 -0400)]
Use appropriate upper bounds for account searches.

src/nickserv.c (nickserv_discrim_create): Set max_level and lastseen to
    more appropriate values.

17 years agoFix DNR searching for globs.
Michael Poole [Sat, 31 Mar 2007 17:52:13 +0000 (13:52 -0400)]
Fix DNR searching for globs.

src/chanserv.c (dnr_search_matches): Fix the order of arguments to
    match_ircglob().

17 years agoUse correct free functions for blacklist dicts.
Michael Poole [Sat, 31 Mar 2007 17:26:31 +0000 (13:26 -0400)]
Use correct free functions for blacklist dicts.

src/mod-blacklist.c (blacklist_conf_read): Use dnsbl_zone_free() to free
    zone structures, and free() to free blacklist reasons, rather than
    vice versa.

17 years agoAdd "dnrsearch count" action.
Michael Poole [Sat, 31 Mar 2007 17:24:56 +0000 (13:24 -0400)]
Add "dnrsearch count" action.

src/chanserv.c (dnr_count_func): New function.
  (cmd_dnrsearch): Recognize it.
  (init_chanserv): Register it.

src/chanserv.help (DNRSEARCH ACTION): Document it.

17 years agoFor giveownership to new members, give old owner access 499 instead of 400.
Michael Poole [Sat, 31 Mar 2007 17:20:19 +0000 (13:20 -0400)]
For giveownership to new members, give old owner access 499 instead of 400.

src/chanserv.c (cmd_giveownership): When the new user did not exist, give
  them UL_OWNER-1 (499) access rather than UL_COOWNER, so that when the
  access levels are swapped later, the previous owner ends up with 499.

17 years agoNickServ "notes" command, "oset <command>" restriction, fakehost searching.
Michael Poole [Sat, 31 Mar 2007 17:15:52 +0000 (13:15 -0400)]
NickServ "notes" command, "oset <command>" restriction, fakehost searching.

src/nickserv.c (msgtab): New entries for the "notes" command.
  (cmd_notes): New function to show notes for an account.
  (cmd_oset): Check access for subcommands.
  (struct nickserv_discrim): New "fakehostmask" field.
  (nickserv_discrim_create): Set it.
  (nickserv_discrim_match): Check against it.
  (init_nickserv): Register NOTES and OSET KARMA commands.

src/nickserv.help (SEARCH CRITERIA): Mention FAKEHOST and KARMA options.

17 years agoAdd typecast to avoid a warning from some buggy Gentoo version of gcc.
Michael Poole [Sat, 31 Mar 2007 16:11:28 +0000 (12:11 -0400)]
Add typecast to avoid a warning from some buggy Gentoo version of gcc.

src/mod-blacklist.c (do_expandos): Typecast an expression that is
  supposed to have type size_t (which is unsigned) to unsigned.

17 years agoAvoid crashing in chanserv_is_dnr() when handle == NULL.
Michael Poole [Sat, 31 Mar 2007 16:09:25 +0000 (12:09 -0400)]
Avoid crashing in chanserv_is_dnr() when handle == NULL.

17 years agoAdd missing newline to "Forking into the background" display.
Michael Poole [Sat, 31 Mar 2007 16:09:03 +0000 (12:09 -0400)]
Add missing newline to "Forking into the background" display.

17 years agoReplace ChangeLog appropriately.
Michael Poole [Fri, 30 Mar 2007 01:48:22 +0000 (21:48 -0400)]
Replace ChangeLog appropriately.
Make "version git" work in addition to "version arch".

17 years agoAdd an asynchronous resolver library.
Michael Poole [Mon, 19 Mar 2007 03:05:55 +0000 (23:05 -0400)]
Add an asynchronous resolver library.

src/Makefile.am: Add sar.* to the build.
src/main.c: Call sar_init().
src/sar.*: The srvx asynchronous resolver.
src/mod-blacklist.c: Use it to add DNSBL support.
srvx.conf.eaxmple: Document the DNSBL support and sar options.

17 years agoAdd file-based IP blacklist module.
Michael Poole [Sun, 18 Mar 2007 17:36:31 +0000 (13:36 -0400)]
Add file-based IP blacklist module.

src/mod-blacklist.c: New module.

srvx.conf.example: Document its configuration options.

17 years agoRemove unnecessary #include from proto.h
Michael Poole [Sun, 18 Mar 2007 17:33:43 +0000 (13:33 -0400)]
Remove unnecessary #include from proto.h

src/proto.h: We no longer need to #include <netinet/in.h>, so don't.

17 years agoGet rid of srvx-broadcast announcements. (They do not scale.)
Michael Poole [Sun, 18 Mar 2007 14:42:49 +0000 (10:42 -0400)]
Get rid of srvx-broadcast announcements.  (They do not scale.)

src/global.h (MESSAGE_RECIPIENT_ANNOUNCE): Remove.

src/global.c (KEY_ANNOUNCEMENTS_DEFAULT): Remove.
  (global_conf): Remove announcements_default field.
  (message_create): Do not recognize "announce[ment]" target.
  (messageType): Remove MESSAGE_RECIPIENT_ANNOUNCE condition.
  (message_send): Remove MESSAGE_RECIPIENT_ANNOUNCE condition.
  (cmd_notice): Do not recognize "announce[ment]" target.
  (global_conf_read): Do not look up announcements_default key.

src/global.help (TARGET): Remove ANNOUNCEMENT target.

src/nickserv.h (struct handle_info): Remove announcements field.

src/nickserv.c (KEY_ANNOUNCEMENTS): Remove.
  ("NSMSG_INVALID_ANNOUNCE"): Remove.
  ("NSMSG_SET_ANNOUNCEMENTS"): Remove.
  (register_handle): Do not assign to hi->announcements.
  (set_list): Remove ANNOUNCEMENTS from the default list.
  (opt_announcements): Remove.
  (nickserv_saxdb_write): Remove announcements code.
  (nickserv_db_read_handle): Remove announcements code.
  (init_nickserv): Do not register opt_announcements function.

nickserv.help (SET): Remove ANNOUNCEMENTS option.

17 years agoTweak default access restrictions for "set unreviewed *".
Michael Poole [Sun, 18 Mar 2007 14:37:58 +0000 (10:37 -0400)]
Tweak default access restrictions for "set unreviewed *".

src/chanserv.c (init_chanserv): Default "set unreviewed on" to +helping
  and "set unreviewed off" to +oper.

17 years agoAdd "unreviewed" flag for channels.
Michael Poole [Wed, 14 Mar 2007 02:57:20 +0000 (22:57 -0400)]
Add "unreviewed" flag for channels.

src/chanserv.c (CHANNEL_DEFAULT_FLAGS): Include "unreviewed" flag.
  (CHANNEL_PRESERVED_FLAGS): New macro for flags not reset by !set defaults
  (msgtab): New entry for "CSMSG_SET_UNREVIEWED".
  (chanserv_search_create): Recognize "unreviewed" flag.
  (chan_opt_unreviewed): New function.
  (chan_opt_defaults): Preserve CHANNEL_PRESERVED_FLAGS.
  (cmd_set): Act like cmd_joiner with respect to updating argv.
  (init_chanserv): Register unreviewed option and its subcommands.

src/chanserv.h (CHANNEL_UNREVIEWED): New flag.

src/chanserv.help: Update documentation for SEARCH and SET.

17 years agoAdd trace-style DNR searching capabilities.
Michael Poole [Wed, 14 Mar 2007 02:03:49 +0000 (22:03 -0400)]
Add trace-style DNR searching capabilities.

src/chanserv.c (msgtab): Separate DNR info strings for easier translation.
    Add DNR bad-action and search results strings.
  (dnr_print_func): New function to reduce code duplication.
  (chanserv_show_dnrs): Use dnr_print_func() instead of doing the display
    in this function.
  (send_dnrs): Likewise.
  (cmd_allowregister): Simplify checks for DNR existence and removal.
  (struct dnr_search): New type.
  (dnr_search_matches): New function.
  (dnr_search_create): New function.
  (dnr_search_func): New typedef.
  (dnr_search): New function.
  (dnr_remove_func): New function.
  (cmd_dnrsearch): New function.
  (init_chanserv): Register dnrsearch and its subcommands.

src/chanserv.help: Document DNRSEARCH command.

17 years agoFix a few parsing bugs in search bounds.
Michael Poole [Mon, 12 Mar 2007 03:48:29 +0000 (23:48 -0400)]
Fix a few parsing bugs in search bounds.

src/log.c (log_discrim_create): Do not skip parts of the time period if
    the interval is given with no prefix.
src/opserv.c (opserv_discrim_create): Likewise.
  (opserv_cdiscrim_create): Likewise.

17 years agoTweak DNR expiration code for aesthetics.
Michael Poole [Tue, 27 Feb 2007 02:26:35 +0000 (21:26 -0500)]
Tweak DNR expiration code for aesthetics.

src/chanserv.c (CSMSG_DNR_INFO_SET): Add missing "ago".
  (chanserv_find_dnrs): Add "max" argument.  Revise to remove expired
    DNRs as they are found.
  (chanserv_show_dnrs): Exploit the above.
  (chanserv_is_dnr): Use chanserv_find_dnrs(), removing lots of nearly
    duplicated code.
  (send_dnrs): New function to send unexpired DNRs from one dict.
  (cmd_noregister): Use send_dnrs() to merge duplicated code.
  (write_dnrs_helper): Remove expired DNRs here.

17 years agoAdded expire time for DNRs.
ThiefMaster [Mon, 26 Feb 2007 19:43:23 +0000 (20:43 +0100)]
Added expire time for DNRs.

17 years agoAdd account karma support.
Michael Poole [Mon, 12 Mar 2007 02:30:30 +0000 (22:30 -0400)]
Add account karma support.

src/nickserv.*: Add new karma account option.

17 years agoAdd saxdb_write_sint() to handle signed values.
Michael Poole [Mon, 12 Mar 2007 02:29:54 +0000 (22:29 -0400)]
Add saxdb_write_sint() to handle signed values.

src/saxdb.* (saxdb_write_sint): New function.

17 years agoAdd account notes.
Michael Poole [Sun, 11 Mar 2007 23:23:20 +0000 (19:23 -0400)]
Add account notes.

src/nickserv.h (struct handle_note): New structure.
  (struct handle_info): Add field to point to account's notes.

src/nickserv.c (KEY_NOTE*): New configuration key macros.
  (WALK_NOTES): New macro to make a single pass through notes while
    deleting ones that have expired.
  (msgtab): Add entries to support commands related to account notes.
  (free_handle_info): Release notes on an account.
  (cmd_handleinfo): Show notes, or say there are none.
  (cmd_addnote): New command-handler function.
  (cmd_delnote): New command-handler function.
  (nickserv_saxdb_write): Write notes to the database.
  (nickserv_db_read_handle): Read notes from the database.
  (init_nickserv): Register new functions.

src/nickserv.help (ADDNOTE): Document new command.
  (DELNOTE): Likewise.

17 years agoClose qserver listener when exiting.
Michael Poole [Sun, 11 Mar 2007 22:22:17 +0000 (18:22 -0400)]
Close qserver listener when exiting.

src/mod-qserver.c (qserver_conf_read): Close qserver_listener.

17 years agoRelease his_servername and his_servercomment on termination.
Michael Poole [Sun, 11 Mar 2007 22:14:29 +0000 (18:14 -0400)]
Release his_servername and his_servercomment on termination.

src/proto-p10.c (parse_cleanup): Free two strings allocated in this file.

17 years agoRearrange early init printouts to not try to use log_module().
Michael Poole [Sun, 11 Mar 2007 22:13:54 +0000 (18:13 -0400)]
Rearrange early init printouts to not try to use log_module().

src/main.c (main): Before log_init() is called and we register MAIN_LOG,
  we cannot log using it -- so do not try to.

17 years agoRestore checks for WITH_PROTOCOL_BAHAMUT.
Michael Poole [Sun, 11 Mar 2007 19:53:56 +0000 (15:53 -0400)]
Restore checks for WITH_PROTOCOL_BAHAMUT.

17 years agoFix typo for "accepted" in PCMSG_STATUS_ACCEPTED.
Michael Poole [Sun, 11 Mar 2007 19:42:57 +0000 (15:42 -0400)]
Fix typo for "accepted" in PCMSG_STATUS_ACCEPTED.

src/mod-sockcheck.c (msgtab): Spell "accepted" correctly.

17 years agoAvoid possible one-byte overrun in ioset_line_read().
Michael Poole [Sun, 11 Mar 2007 15:59:07 +0000 (11:59 -0400)]
Avoid possible one-byte overrun in ioset_line_read().

src/ioset.c (ioset_line_read): We can safely overwrite dest[max-1] to
  terminate the buffer.  Also return the available line length, rather
  than the number of bytes written to the buffer.

17 years agoMake prettier git versions.
Michael Poole [Sun, 11 Mar 2007 15:36:31 +0000 (11:36 -0400)]
Make prettier git versions.

src/Makefile.am (checkversion): Use "git describe" to get the git version.

17 years agosrc/mail-sendmail.c: Move #include "mail-common.c" up a few lines.
Michael Poole [Sun, 11 Mar 2007 15:18:25 +0000 (11:18 -0400)]
src/mail-sendmail.c: Move #include "mail-common.c" up a few lines.

17 years agoClean up protocol and mail backend selection.
Michael Poole [Sun, 11 Mar 2007 15:17:57 +0000 (11:17 -0400)]
Clean up protocol and mail backend selection.

configure.in: Allow easier selection of protocol and mail backends.

17 years agoSplit sendmail into common and sendmail-specific portions.
Michael Poole [Thu, 8 Mar 2007 00:52:57 +0000 (19:52 -0500)]
Split sendmail into common and sendmail-specific portions.

This is in preparation for an SMTP alternative to the current code.

17 years agoSet quit_services based on WM_QUIT wParam under Windows.
Michael Poole [Wed, 7 Mar 2007 05:19:27 +0000 (00:19 -0500)]
Set quit_services based on WM_QUIT wParam under Windows.

17 years agoCheck for additional functions during configure.
Michael Poole [Wed, 7 Mar 2007 05:19:10 +0000 (00:19 -0500)]
Check for additional functions during configure.

If the operating system does not provide gai_strerror(), we must.
If the OS does not have a Unix-ish times(), we can use GetProcessTimes().
Update config.h.win32 based on the new configure script.

17 years agoRearrange main*.c and linking for Win32 target.
Michael Poole [Wed, 7 Mar 2007 05:16:10 +0000 (00:16 -0500)]
Rearrange main*.c and linking for Win32 target.

Split main.c into two files (main-common.c and the old main.c).
Add main-win32.c to handle the Win32-specific parts.

17 years agoFinish ioset-win32 (not yet tested).
Michael Poole [Tue, 6 Mar 2007 04:43:42 +0000 (23:43 -0500)]
Finish ioset-win32 (not yet tested).

compat.h: Define BSD socket errors in terms of Windows socket errors.
config.h.win32: Fix typo in PACKAGE_STRING.
ioset-win32.c: Implement most of this file.
ioset.c: Ifdef out the fcntl() calls to make Windows happier.

17 years agoStop tracking files from autotools.
Michael Poole [Sun, 25 Feb 2007 22:57:06 +0000 (17:57 -0500)]
Stop tracking files from autotools.

autogen.sh: Add libtoolize; update arguments for aclocal and automake.
.gitignore: Ignore the files added by libtoolize and automake.
Delete those files from the repository.

17 years agoAdd new ChangeLog, reflecting git commit history
Michael Poole [Wed, 24 Jan 2007 20:27:30 +0000 (15:27 -0500)]
Add new ChangeLog, reflecting git commit history

17 years agoDelete ChangeLog file
Michael Poole [Wed, 24 Jan 2007 20:19:58 +0000 (15:19 -0500)]
Delete ChangeLog file

17 years agoRemove .cvsignore files; replace with .gitignore as needed.
Michael Poole [Wed, 24 Jan 2007 16:05:34 +0000 (11:05 -0500)]
Remove .cvsignore files; replace with .gitignore as needed.
Remove rx/Makefile.in, since there is a Makefile.am there.
Update src/Makefile.am and src/modcmd.c to work with git.

17 years agoDelete binary files that were committed (by git archimport?) and more
Michael Poole [Wed, 24 Jan 2007 02:57:48 +0000 (21:57 -0500)]
Delete binary files that were committed (by git archimport?) and more
Arch droppings.

17 years agoDelete {arch} directory since git does not use it.
Michael Poole [Wed, 24 Jan 2007 02:37:09 +0000 (21:37 -0500)]
Delete {arch} directory since git does not use it.

17 years agoDelete {arch} directory since git does not use it.
Michael Poole [Wed, 24 Jan 2007 02:36:42 +0000 (21:36 -0500)]
Delete {arch} directory since git does not use it.

17 years agoAvoid epoll_ctl(..., EPOLL_CTL_DEL, ...) for closed fds.
Michael Poole [Mon, 8 Jan 2007 04:27:45 +0000 (04:27 +0000)]
Avoid epoll_ctl(..., EPOLL_CTL_DEL, ...) for closed fds.

src/ioset-impl.h (struct io_engine): Add "os_closed" parameter to
    remove() method.

src/ioset.c (ioset_close): Add this to the call.

src/ioset-epoll.c (ioset_epoll_remove): Use it to avoid removing the fd
    from epoll_fd, since that epoll_ctl() call will always fail.

src/ioset-select.c (ioset_select_remove): Ignore the new parameter.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-81

17 years agoSkip reporting mondo db sections in ?stats databases.
Michael Poole [Mon, 8 Jan 2007 04:22:20 +0000 (04:22 +0000)]
Skip reporting mondo db sections in ?stats databases.

src/saxdb.c (cmd_stats_databases): Only show entries for databases that
    have their own file; skip sections of "mondo".
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-80

17 years agoFix SourceForge bug #1629748
Michael Poole [Mon, 8 Jan 2007 04:11:56 +0000 (04:11 +0000)]
Fix SourceForge bug #1629748

src/chanserv.c (cmd_adduser): Include suspended users in check for
    pre-existing channel access for the user being added.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-79

17 years agoAllow last account mask to be deleted with odelmask.
Michael Poole [Sat, 23 Dec 2006 05:50:25 +0000 (05:50 +0000)]
Allow last account mask to be deleted with odelmask.

src/nickserv.c (nickserv_delmask): Add parameter to distinguish between
    normal and override use.
  (cmd_delmask): Pass the new argument.
  (cmd_odelmask): Likewise.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-78

17 years agoProperly handle overrides in !wipeinfo.
Michael Poole [Sat, 23 Dec 2006 05:40:12 +0000 (05:40 +0000)]
Properly handle overrides in !wipeinfo.

src/chanserv.c (cmd_wipeinfo): Allow real_actor to be null.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-77

17 years agoRevert miscommitted file from patch-73.
Michael Poole [Sat, 23 Dec 2006 05:38:37 +0000 (05:38 +0000)]
Revert miscommitted file from patch-73.

src/proto-common.c: Revert accidentally committed patch.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-76

17 years agoAllow extra arguments to privmsg and notice.
Michael Poole [Sat, 23 Dec 2006 05:37:07 +0000 (05:37 +0000)]
Allow extra arguments to privmsg and notice.

src/proto-p10.c (cmd_privmsg): Allow extra arguments between target and
    text.
  (cmd_notice): Likewise.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-75

17 years agoFix typo in "gtrace criteria" help entry.
Michael Poole [Sat, 23 Dec 2006 05:35:29 +0000 (05:35 +0000)]
Fix typo in "gtrace criteria" help entry.

src/opserv.help (gtrace criteria): Fix capitalization of $b tag.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-74

17 years agoFix typo in "gtrace criteria" help entry.
Michael Poole [Sat, 23 Dec 2006 05:33:28 +0000 (05:33 +0000)]
Fix typo in "gtrace criteria" help entry.

src/opserv.help (gtrace criteria): Fix capitalization of $b tag.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-73