Fix some signed/unsigned misbehaviors; add FAQ
authorMichael Poole <mdpoole@troilus.org>
Thu, 8 Apr 2004 03:18:41 +0000 (03:18 +0000)
committerMichael Poole <mdpoole@troilus.org>
Thu, 8 Apr 2004 03:18:41 +0000 (03:18 +0000)
* Change format and variable types to unsigned so as to avoid
confusing negative numbers with very large positive numbers.

* Create a FAQ file
git-archimport-id: srvx@srvx.net--2004-srvx/srvx--devo--1.3--patch-44

ChangeLog
FAQ [new file with mode: 0644]
src/chanserv.c
src/chanserv.help
src/nickserv.c
src/opserv.c
src/proto-common.c

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b86da0d51e456bfebad567efa3cc66a6adcd486 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -0,0 +1,952 @@
+# do not edit -- automatically generated by arch changelog
+# arch-tag: automatic-ChangeLog--srvx@srvx.net--2004-srvx/srvx--devo--1.3
+#
+
+2004-04-04 21:37:36 GMT        Zoot <zoot@gamesnet.net>        patch-43
+
+    Summary:
+      Fix spurious user protection notices
+    Revision:
+      srvx--devo--1.3--patch-43
+
+    * Fix ChanServ warning users when they remove a ban set on a protected
+      user's hostmask.
+
+    modified files:
+     src/chanserv.c
+
+
+2004-04-03 03:26:43 GMT        Michael Poole <mdpoole@troilus.org>     patch-42
+
+    Summary:
+      I18N fixes and (hopefully) protocol fixes
+    Revision:
+      srvx--devo--1.3--patch-42
+
+    * Correct some grammar in German translation (extraneous "vor").
+    
+    * Try to fix desyncs when an older channel bursts in after initial join.
+    
+    * Languages must be subdirectories that do not start with '.', so
+      check that before applying them as a language.  Since we already
+      have the language list at helpfile_finalize() time, use it instead
+      of walking the "languages" directory again.
+    
+    * Ignore 467 response from uplink.
+
+    modified files:
+     languages/de/strings.db src/hash.c src/helpfile.c
+     src/proto-p10.c
+
+
+2004-04-02 18:38:19 GMT        Michael Poole <mdpoole@troilus.org>     patch-41
+
+    Summary:
+      Fix mistakes in backport of German translation
+    Revision:
+      srvx--devo--1.3--patch-41
+
+    * Delete mod-serverspy.help since it is not part of this code base.
+    
+    * Replace /AUTHSERV with /msg $N@$s.
+
+    removed files:
+     languages/de/.arch-ids/mod-serverspy.help.id
+     languages/de/mod-serverspy.help
+
+    modified files:
+     languages/de/strings.db
+
+
+2004-04-02 18:34:40 GMT        Michael Poole <mdpoole@troilus.org>     patch-40
+
+    Summary:
+      Add German translation
+    Revision:
+      srvx--devo--1.3--patch-40
+
+    * Fix a format string bug in nickserv.c:NSEMAIL_ALLOWAUTH_BODY.
+    
+    * Use a separate key name for !netinfo's "Total User Count" so
+      other languages can get proper alignment for both that and
+      !info #channel.
+    
+    * Add German language translation by Marc 'feigling' Kührer.
+
+    new files:
+     languages/.arch-ids/.arch-inventory.id languages/.arch-ids/=id
+     languages/.arch-ids/validate.pl.id languages/.arch-inventory
+     languages/de/.arch-ids/=id languages/de/.arch-ids/README.id
+     languages/de/.arch-ids/chanserv.help.id
+     languages/de/.arch-ids/global.help.id
+     languages/de/.arch-ids/mod-serverspy.help.id
+     languages/de/.arch-ids/modcmd.help.id
+     languages/de/.arch-ids/nickserv.help.id
+     languages/de/.arch-ids/strings.db.id languages/de/README
+     languages/de/chanserv.help languages/de/global.help
+     languages/de/mod-serverspy.help languages/de/modcmd.help
+     languages/de/nickserv.help languages/de/strings.db
+     languages/en/.arch-ids/=id languages/en/.arch-ids/README.id
+     languages/en/README languages/validate.pl
+
+    modified files:
+     src/chanserv.c src/nickserv.c
+
+    new directories:
+     languages languages/.arch-ids languages/de
+     languages/de/.arch-ids languages/en languages/en/.arch-ids
+
+
+2004-03-30 04:40:38 GMT        Michael Poole <mdpoole@troilus.org>     patch-39
+
+    Summary:
+      translate interval strings; translate more NickServ messages
+    Revision:
+      srvx--devo--1.3--patch-39
+
+    * Translate interval strings to the user's language.
+    
+    * Translate cookie emails and auth failure messages based on the
+    account's preferred language, rather than the user's preferred
+    language (they will not be authed, so they would get lang_C).
+
+    modified files:
+     src/chanserv.c src/common.h src/global.c src/main.c
+     src/mod-helpserv.c src/mod-memoserv.c src/mod-sockcheck.c
+     src/nickserv.c src/opserv.c src/saxdb.c src/tools.c
+
+
+2004-03-30 04:25:14 GMT        Michael Poole <mdpoole@troilus.org>     patch-38
+
+    Summary:
+      Fix uninitialized mod_chanmode element in debug build
+    Revision:
+      srvx--devo--1.3--patch-38
+
+    * Convert an old-style auto-variable mod_chanmode to use
+    mod_chanmode_init() so that all fields are initialized.
+
+    modified files:
+     src/proto-common.c
+
+
+2004-03-30 04:11:03 GMT        Michael Poole <mdpoole@troilus.org>     patch-37
+
+    Summary:
+      Multi-language support fixes
+    Revision:
+      srvx--devo--1.3--patch-37
+
+    * Copy keys in per-language message tables so that they don't point to
+    free()d memory.
+    
+    * Only warn about missing/extra messages if there are any.
+    
+    * In language_read_list(), do not allocate languages "." or "..".
+
+    modified files:
+     src/helpfile.c
+
+
+2004-03-29 21:10:10 GMT        Michael Poole <mdpoole@troilus.org>     patch-36
+
+    Summary:
+      automatic arch-version.h update; CTCP support; helpfile fixes; disk-out-of-space error detection and handling
+    Revision:
+      srvx--devo--1.3--patch-36
+
+    * Add a rule to automatically check arch version and update
+    arch-version.h when needed
+    
+    * Implement CTCP response handling messages direct to services.
+    
+    * Fix grammar error in GIVEOWNERSHIP help entry, fix cross-reference
+    markup in several ChanServ commands (should underline, not bold, the
+    "See Also:" link), remove VERSION help entries from modules that no
+    longer implement that command.
+    
+    * Check for errors (using setjmp/longjmp) when writing to a saxdb
+    file, and log the failures.
+
+    modified files:
+     src/Makefile.am src/chanserv.help src/global.help
+     src/mod-helpserv.c src/mod-memoserv.help src/modcmd.c
+     src/opserv.help src/proto-bahamut.c src/proto-p10.c
+     src/proto.h src/saxdb.c src/saxdb.h src/tools.c
+
+
+2004-03-28 03:28:18 GMT        Michael Poole <mdpoole@troilus.org>     patch-35
+
+    Summary:
+      More helpfile fixes
+    Revision:
+      srvx--devo--1.3--patch-35
+
+    * Allow a helpfile to use another module's expansion function by using
+    the syntax ${module:variable}, so that "set language" can be kept in
+    nickserv.help.
+    
+    * Fix typos, unclear help entries, and add some missing entries.
+
+    modified files:
+     src/chanserv.help src/helpfile.c src/modcmd.help
+     src/nickserv.help src/proto-bahamut.c src/proto-p10.c
+
+
+2004-03-25 23:17:04 GMT        Zoot <zoot@gamesnet.net>        patch-34
+
+    Summary:
+      Documentation update
+    Revision:
+      srvx--devo--1.3--patch-34
+
+    * Make some further updates to INSTALL to bring it in line with srvx 1.3
+
+    modified files:
+     INSTALL
+
+
+2004-03-25 21:41:17 GMT        Michael Poole <mdpoole@troilus.org>     patch-33
+
+    Summary:
+      Message and documentation cleanups
+    Revision:
+      srvx--devo--1.3--patch-33
+
+    * Update version number in INSTALL and mention where we do most of
+    srvx's testing.
+    
+    * Move the message about using the authcookie to inside of
+    nickserv_make_cookie(), so that when another cookie exists, only the
+    "cookie already pending" message is sent.
+    
+    * Fix various typos, extraneous sentences, and misplaced command
+    listings in nickserv.help.
+    
+    * Remove (unused) fakehost options from srvx.conf.example and update
+    ChanServ's set_shows option.
+
+    modified files:
+     INSTALL src/nickserv.c src/nickserv.help srvx.conf.example
+
+
+2004-03-24 20:32:16 GMT        Michael Poole <mdpoole@troilus.org>     patch-32
+
+    Summary:
+      Infinite recursion fix; mod_chanmode_parse() fixes
+    Revision:
+      srvx--devo--1.3--patch-32
+
+    * Default lang->parent to lang_C rather than language_find("C"), so
+    that trying to create language "C" does not cause infinite recursion.
+    
+    * Fail when we try to parse a mode with an unrecognized mode character
+    from users; ignore them coming from a server.
+
+    modified files:
+     src/helpfile.c src/proto-bahamut.c src/proto-p10.c
+
+
+2004-03-23 00:12:53 GMT        Michael Poole <mdpoole@troilus.org>     patch-31
+
+    Summary:
+      i18n fixes
+    Revision:
+      srvx--devo--1.3--patch-31
+
+    * Fix typos in several message strings, and clarify others.
+    
+    * Typecast first argument of gethostbyaddr() to quash warnings.
+    
+    * Load languages in finalization, not initialization, and do not crash
+    when running off the end of a localized strings.db file.
+    
+    * Show the LANGUAGE option in NickServ SET response.
+    
+    * Remove mention of GHOST command when !enable_ghost.
+    
+    * Only initialize alloc_argc when !defined(NDEBUG)
+
+    modified files:
+     src/chanserv.c src/gline.c src/helpfile.c src/helpfile.h
+     src/main.c src/modcmd.c src/nickserv.c src/nickserv.help
+     src/proto-common.c
+
+
+2004-03-19 14:46:53 GMT        Michael Poole <mdpoole@troilus.org>     patch-30
+
+    Summary:
+      Fix language initialization bug; fix email change text
+    Revision:
+      srvx--devo--1.3--patch-30
+
+    * Initialize each new account's language when registering it.
+    
+    * Send the first half of the email change cookie to the old address,
+    rather than sending the second half (which also goes to the new
+    address).
+
+    modified files:
+     src/modcmd.c src/nickserv.c
+
+
+2004-03-17 04:27:17 GMT        Michael Poole <mdpoole+arch@troilus.org>        patch-29
+
+    Summary:
+      ChanServ seen fixes; other cleanups
+    Revision:
+      srvx--devo--1.3--patch-29
+
+    * Remove rule to generate the unused EXTRA_MODULES preprocessor macro.
+    
+    * Properly adjust ChanServ seen time when a user leaves or is kicked
+    from a channel.
+    
+    * Read languages from disk before initializing the core services,
+    since they must all be available when loading accounts.
+    
+    * Fix a typo in the log BNF documentation, and add =SEVLIT support for
+    consistency.
+    
+    * Add missing "invalid" to NSMSG_INVALID_ANNOUNCE string.
+
+    modified files:
+     configure.in src/chanserv.c src/helpfile.c src/helpfile.h
+     src/log.c src/main.c src/nickserv.c
+
+
+2004-03-12 00:27:29 GMT        Entrope <entrope@clan-dk.org>   patch-28
+
+    Summary:
+      fix channel mode bouncing bugs
+    Revision:
+      srvx--devo--1.3--patch-28
+
+    * Make mod_chanmode_dup() copy the limit and key like one might expect.
+    
+    * Make ChanServ's handle_mode() copy the default modes using
+    mod_chanmode_dup() instead of an implicit memcpy.
+
+    modified files:
+     src/chanserv.c src/proto-common.c
+
+
+2004-03-11 16:44:35 GMT        Entrope <entrope@clan-dk.org>   patch-27
+
+    Summary:
+      Fix !resync; helpfile updates; improve ?modcmd
+    Revision:
+      srvx--devo--1.3--patch-27
+
+    * Make ChanServ.RESYNC op (or voice) users when GiveOps (GiveVoice,
+    respectively) is 0 and the user is not on the userlist.
+    
+    * Remove mention of PEONINVITE from chanserv.help.
+    
+    * Mention the GIVEOWNERSHIP command in HelpServ's help file; remove
+    mention of the removed VERSION and WRITE commands.
+    
+    * Make modcmd.MODCMD accept no options, and display the (final)
+    settings for the command.  Update the help entry for it.
+
+    modified files:
+     src/chanserv.c src/chanserv.help src/mod-helpserv.help
+     src/modcmd.c src/modcmd.help
+
+
+2004-03-10 19:04:59 GMT        Entrope <entrope@clan-dk.org>   patch-26
+
+    Summary:
+      License update
+    Revision:
+      srvx--devo--1.3--patch-26
+
+    * Revert to plain GPLv2.
+
+    modified files:
+     COPYING src/chanserv.c src/chanserv.h src/common.h src/conf.c
+     src/conf.h src/dict-splay.c src/dict.h src/gline.c src/gline.h
+     src/global.c src/global.h src/hash.c src/hash.h src/heap.c
+     src/heap.h src/helpfile.c src/helpfile.h src/ioset.c
+     src/ioset.h src/log.c src/log.h src/main.c src/mod-helpserv.c
+     src/mod-memoserv.c src/mod-snoop.c src/mod-sockcheck.c
+     src/modcmd.c src/modcmd.h src/modules.c src/modules.h
+     src/nickserv.c src/nickserv.h src/opserv.c src/opserv.h
+     src/policer.c src/policer.h src/proto-bahamut.c
+     src/proto-common.c src/proto-p10.c src/proto.h src/recdb.c
+     src/recdb.h src/saxdb.c src/saxdb.h src/sendmail.c
+     src/sendmail.h src/timeq.c src/timeq.h src/tools.c
+
+
+2004-03-10 17:03:30 GMT        Entrope <entrope@clan-dk.org>   patch-25
+
+    Summary:
+      Further cleanups and bugfixes
+    Revision:
+      srvx--devo--1.3--patch-25
+
+    * Remove "TODO: reimplement" comment in chanserv.c, since all the
+    functions were already reimplemented.
+    
+    * Make "/msg ChanServ huggle" work again.
+    
+    * Fix error messages when bad target names given to say and emote.
+    
+    * If we get a MODE change affecting a user who somehow quit already,
+    just ignore it.
+    
+    * Add debugging checks for mod_chanmode argument counts.
+
+    modified files:
+     src/chanserv.c src/hash.c src/main.c src/mod-helpserv.c
+     src/mod-snoop.c src/proto-bahamut.c src/proto-common.c
+     src/proto-p10.c src/proto.h
+
+
+2004-03-08 17:41:48 GMT        Entrope <entrope@clan-dk.org>   patch-24
+
+    Summary:
+      bug fixes (from code coverage tests)
+    Revision:
+      srvx--devo--1.3--patch-24
+
+    * Fix typo in CSMSG_ADDED_USER message.
+    
+    * Fix memory leak in !bans when no bans are shown.
+    
+    * Fix SAY, EMOTE to user targets.
+    
+    * Require unsuspended channel for OPCHAN (i.e. ChanServ is in-channel).
+    
+    * Fix typo in TOPICSNARF help description.
+    
+    * Fix mod_chanmode argc when reopping services.
+    
+    * Fix memory leak when rehashing with with an uplink bind address.
+    
+    * Fix typo in OSMSG_NICK_UNRESERVED message.
+    
+    * Make *OpServ.op actually op non-ops, instead of just ops.
+    
+    * Fix kick message translations when shutting down a channel.
+    
+    * Fix use-after-free if an oper does ?part #badchan.
+    
+    * Make mod_chanmode_apply() more sensitive to invalid mode changes.
+    
+    * In create_helper(), let AddChannelUser() decide whether to op the user.
+    
+    * Remove "Mod" and "Game" from "set_shows" in srvx.conf.example.
+    
+    * Do not print the status "." in tests when full debug mode is on.
+
+    modified files:
+     src/chanserv.c src/chanserv.help src/hash.c src/helpfile.c
+     src/main.c src/opserv.c src/proto-common.c src/proto-p10.c
+     srvx.conf.example tests/test-driver.pl
+
+
+2004-03-04 04:48:35 GMT        Entrope <entrope@clan-dk.org>   patch-23
+
+    Summary:
+      Bug fixes and cleanups
+    Revision:
+      srvx--devo--1.3--patch-23
+
+    * Remove unused src/expnhelp.c file.
+    
+    * Do not call mod_chanmode_announce() if we give a user neither voice
+    nor ops (it causes an assertion failure).
+    
+    * Make switch() on mod_chanmode argument modes a little clearer.
+    
+    * Add OSMSG_NICK_UNRESERVED format string.
+    
+    * Translate weekly statistics report headers for HelpServ.
+
+    removed files:
+     src/.arch-ids/expnhelp.c.id src/expnhelp.c
+
+    modified files:
+     src/chanserv.c src/mod-helpserv.c src/opserv.c
+
+
+2004-03-03 01:47:41 GMT        Entrope <entrope@clan-dk.org>   patch-22
+
+    Summary:
+      Various bug fixes
+    Revision:
+      srvx--devo--1.3--patch-22
+
+    * In ?kickbanall, mod_chanmode_alloc(1) when we only use one arg.
+    
+    * In ?modcmd ... channel_access, accept "0" to mean the same as "none."
+    
+    * In log.c, make a single function to free the oldest log entry for a
+    log_type struct.
+    
+    * Add more checks for cmd==NULL in chanserv.c:eject_user().
+
+    modified files:
+     src/chanserv.c src/log.c src/modcmd.c src/opserv.c
+
+
+2004-03-02 18:21:59 GMT        Entrope <entrope@clan-dk.org>   patch-21
+
+    Summary:
+      Add MYACCESS command; fix reference count bug in MOVE
+    Revision:
+      srvx--devo--1.3--patch-21
+
+    * Always LockChannel(target) when moving a registered channel.
+    
+    * Move the self-access list function from ACCESS to MYACCESS, so that
+    ACCESS can be marked with MODCMD_REQUIRE_CHANUSER.
+    
+    * Update documentation for MYACCESS vs ACCESS.
+
+    modified files:
+     src/chanserv.c src/chanserv.help
+
+
+2004-03-02 04:35:35 GMT        Entrope <entrope@clan-dk.org>   patch-20
+
+    Summary:
+      Fix NickServ language crash; convert four ChanServ binary options to level options
+    Revision:
+      srvx--devo--1.3--patch-20
+
+    * When you use "/msg nickserv set language" and you have no language
+    assigned, it would crash.  Fix this.
+    
+    * Convert four ChanServ binary options to level based options:
+      * Voice (CHANNEL_VOICE_ALL) -> Voice (lvlGiveVoice)
+      * UserInfo (CHANNEL_INFO_LINES) -> UserInfo (lvlUserInfo)
+      * PeonInvite (CHANNEL_PEON_INVITE) -> InviteMe (lvlInviteMe)
+      * TopicSnarf (CHANNEL_TOPIC_SNARF) -> TopicSnarf (lvlTopicSnarf)
+    
+    * Document the changes in ChanServ options.
+
+    modified files:
+     src/chanserv.c src/chanserv.h src/chanserv.help src/nickserv.c
+
+
+2004-03-01 16:23:51 GMT        Entrope <entrope@clan-dk.org>   patch-19
+
+    Summary:
+      giveownership fix; handle_join +ov "fix"; revert OSMSG_FLOOD_MODERATE
+    Revision:
+      srvx--devo--1.3--patch-19
+
+    * Fix !giveownership by staff.
+    
+    * If ChanServ gives ops to someone onjoin, do not also give them voice.
+    
+    * Translate OSMSG_FLOOD_MODERATE according to the channel options
+    (well, hopefully in the future we will support that) rather than the
+    join-flooding user's options.
+
+    modified files:
+     src/chanserv.c src/opserv.c
+
+
+2004-03-01 09:54:10 GMT        Adam Loghry <adam@gamesurge.net>        patch-18
+
+    Summary:
+      no error on inexistent commands done publicly, announcements setting display fix, two opserv chaninfo fixes, OSMSG_FLOOD_MODERATE now works when sent to channels, and hostmask lastquit searches
+    Revision:
+      srvx--devo--1.3--patch-18
+
+
+    modified files:
+     src/modcmd.c src/nickserv.c src/nickserv.help src/opserv.c
+
+
+2004-03-01 02:44:25 GMT        Entrope <entrope@clan-dk.org>   patch-17
+
+    Summary:
+      Minor fixes and improvements
+    Revision:
+      srvx--devo--1.3--patch-17
+
+    * Fix implementation of privileged-setter note types (it ignored the
+    OpServ access level before).
+    
+    * Show proper message when an account's announcements are disabled.
+    
+    * Translate OSMSG_FLOOD_MODERATE when sending it to a channel.
+
+    modified files:
+     src/chanserv.c src/nickserv.c src/opserv.c
+
+
+2004-02-29 21:58:29 GMT        Entrope <entrope@clan-dk.org>   patch-16
+
+    Summary:
+      Fix possible crash in chanserv.c:handle_kick()
+    Revision:
+      srvx--devo--1.3--patch-16
+
+    * Delay looking up translation for CSMSG_USER_PROTECTED until we know
+    the kicker actually exists (if a server does the KICK, kicker==NULL).
+
+    modified files:
+     src/chanserv.c
+
+
+2004-02-29 14:47:51 GMT        Entrope <entrope@clan-dk.org>   patch-15
+
+    Summary:
+      Update .arch-inventory for in-tree builds; remove --disable-lame-tricks
+    Revision:
+      srvx--devo--1.3--patch-15
+
+    * Switch to using "backup" in .arch-inventory for generated sources
+    and objects, since that is more accurate than "precious."
+    
+    * Add normal build output to .arch-inventory so normal builds do not
+    cause tree-lint failures (e.g. during "tla update" - bad!).
+    
+    * Remove the "lame-tricks" option from configure.in since it was not
+    used anyway.
+
+    modified files:
+     .arch-inventory configure.in rx/.arch-inventory
+     src/.arch-inventory
+
+
+2004-02-29 08:07:37 GMT        Zoot <zoot@gamesnet.net>        patch-14
+
+    Summary:
+      Limit mode parameter count.
+    Revision:
+      srvx--devo--1.3--patch-14
+
+    Restrict the number of mode parameters sent by the P10 protocol
+    backend to MAXMODEPARAMS.
+
+    modified files:
+     src/proto-p10.c
+
+
+2004-02-29 03:40:25 GMT        Entrope <entrope@clan-dk.org>   patch-13
+
+    Summary:
+      Privileged service fixes
+    Revision:
+      srvx--devo--1.3--patch-13
+
+    * Allow runtime control of privileged services.
+    
+    * Make all oper commands default to having flags +oper.
+    
+    * Add a "privileged" directive for OpServ in srvx.conf.example.
+
+    modified files:
+     src/helpfile.c src/modcmd.c src/opserv.c srvx.conf.example
+
+
+2004-02-28 21:33:30 GMT        Entrope <entrope@clan-dk.org>   patch-12
+
+    Summary:
+      more bug fixes from GameSurge
+    Revision:
+      srvx--devo--1.3--patch-12
+
+    * Refuse to let an owner !set setters 501.
+    
+    * Report proper level range when using !trim users <duration>.
+    
+    * Refuse to let anyone !set <numericoption> 502, etc.
+    
+    * Refuse to let people below owner level !set <numericoption> above
+    their level.
+    
+    * Make !d 1d6+5 work.
+    
+    * Mark users as seen/present AFTER deciding whether to show their
+    infoline, and PRIVMSG infolines rather than NOTICE them.
+    
+    * Translate "CSMSG_USER_PROTECTED" (kick protection enforcement
+    message).
+    
+    * Enforce plain mode changes, not just ops/deops/bans etc.
+    
+    * Fix documentation for ChanServ UNREGISTER command.
+
+    modified files:
+     src/chanserv.c src/chanserv.help
+
+
+2004-02-28 19:08:13 GMT        Entrope <entrope@clan-dk.org>   patch-11
+
+    Summary:
+      Fix bugs found on GameSurge
+    Revision:
+      srvx--devo--1.3--patch-11
+
+    * Remove unused ARCH_REVISION macro in Makefile.am
+    
+    * Fix !trim <userlevel> <duration> (so it does not trim ALL users)
+    
+    * Properly allow owners to set levels to 501
+    
+    * Set "deopped" when we deop the person who changed modes
+    
+    * Mark the first user in a channel as a chanop (fixes a spurious
+      HACK(4) for newly registered channels).
+    
+    * Document user level ranges for the TRIM command.
+    
+    * Document user-level-based SET options as being such (rather than
+    being multiple-choice options).
+
+    modified files:
+     src/Makefile.am src/chanserv.c src/chanserv.help src/hash.c
+
+
+2004-02-28 18:46:03 GMT        Zoot <zoot@gamesnet.net>        patch-10
+
+    Summary:
+      reply correctly to bad bans
+    Revision:
+      srvx--devo--1.3--patch-10
+
+    Send the correct ban being bounced.
+
+    modified files:
+     src/chanserv.c
+
+
+2004-02-28 04:31:12 GMT        Entrope <entrope@clan-dk.org>   patch-9
+
+    Summary:
+      put back Make rule for arch-version.h
+    Revision:
+      srvx--devo--1.3--patch-9
+
+    * Reinstate the rule to create arch-version.h, which I accidentally
+    deleted in the last commit
+
+    modified files:
+     src/Makefile.am
+
+
+2004-02-28 00:29:08 GMT        Entrope <entrope@clan-dk.org>   patch-8
+
+    Summary:
+      runtime helpfile splicing
+    Revision:
+      srvx--devo--1.3--patch-8
+
+    * Add a miniature parser to the helpfile reader, allowing
+    nickserv.help's subsections to be selected at runtime.
+    
+    * Move nickserv.help.m4 to nickserv.help and rewrite the
+    selection code to use the above.
+
+    modified files:
+     Makefile.am TODO src/Makefile.am src/helpfile.c
+     src/nickserv.help
+
+    renamed files:
+     src/.arch-ids/nickserv.help.m4.id
+       ==> src/.arch-ids/nickserv.help.id
+     src/nickserv.help.m4
+       ==> src/nickserv.help
+
+
+2004-02-27 16:31:57 GMT        Entrope <entrope@clan-dk.org>   patch-7
+
+    Summary:
+      fix userlist presence tracking; "version" command on all services
+    Revision:
+      srvx--devo--1.3--patch-7
+
+    * Change scan_handle_presence() to scan_user_presence(), since we always
+      have the userData* at the caller site.
+    
+    * Make handle_auth() respect user suspensions.
+    
+    * In handle_part(), let scan_user_presence() update "seen" time.
+    
+    * Make ChanServ adduser command take arguments in the "expected" order
+      ("!adduser target level", not "!adduser level target")
+    
+    * Add the "version" command to all built-in services
+
+    modified files:
+     TODO src/chanserv.c src/chanserv.help src/modcmd.c
+
+
+2004-02-25 04:06:30 GMT        Entrope <entrope@clan-dk.org>   patch-6
+
+    Summary:
+      ChanServ, OpServ and main.c bug fixes
+    Revision:
+      srvx--devo--1.3--patch-6
+
+    * Read new-style channel flags from the correct field, and do not make
+    ChanServ rejoin channels that are still suspended
+    
+    * Allow service nicknames to be omitted from srvx.conf (again)
+    
+    * Construct "opserv" bot earlier so that database read works correctly
+
+    modified files:
+     src/chanserv.c src/main.c src/opserv.c
+
+
+2004-02-24 03:55:22 GMT        Entrope <entrope@clan-dk.org>   patch-5
+
+    Summary:
+      fix TODO list, services without "description" fields
+    Revision:
+      srvx--devo--1.3--patch-5
+
+    Remove items in the TODO list that have been done
+    
+    Restore the ability to use a default description for services when a
+    "nick" but no "description" is present in srvx.conf
+
+    modified files:
+     TODO src/chanserv.c src/global.c src/main.c src/nickserv.c
+     src/opserv.c
+
+
+2004-02-20 19:29:46 GMT        Entrope <entrope@clan-dk.org>   patch-4
+
+    Summary:
+      Fix zoot style [wcmop]list; tweak events access
+    Revision:
+      srvx--devo--1.3--patch-4
+
+    Use proper lower bound for zoot style user-level lists.
+    
+    Change default "events" access to 350.
+
+    modified files:
+     src/chanserv.c
+
+
+2004-02-19 22:36:42 GMT        Entrope <entrope@clan-dk.org>   patch-3
+
+    Summary:
+      cleanups and fixes
+    Revision:
+      srvx--devo--1.3--patch-3
+
+    Fix the response when trying to set an option to an invalid access level.
+    
+    Put accurate headers on zoot_list !users output.
+    
+    Reduce default addban/addtimedban/delban access levels to 250.
+    
+    Add advertising/support plug for #srvx.
+    
+    Handle (but report) IRC socket connection errors.
+
+    modified files:
+     src/chanserv.c src/hash.c src/modcmd.c tests/test-driver.pl
+
+
+2004-02-18 00:18:30 GMT        Entrope <entrope@clan-dk.org>   patch-2
+
+    Summary:
+      Support topic bursts; fix topic display in CHANINFO command
+    Revision:
+      srvx--devo--1.3--patch-2
+
+    When we wipe out an older channel on our end, clear its topic.
+    
+    Fix the message send function used by CHANINFO.
+    
+    When we get a P10 T message, check for the extra fields added in Asuka.
+
+    modified files:
+     src/hash.c src/opserv.c src/proto-p10.c
+
+
+2004-02-17 22:02:03 GMT        Entrope <entrope@clan-dk.org>   patch-1
+
+    Summary:
+      Indenting cleanups, +sp fix, PING fix
+    Revision:
+      srvx--devo--1.3--patch-1
+
+    Add explicit copyright notice to VERSION command
+    When receiving a PING, respond using numnick instead of readable name
+    Indenting fixes
+    Remove out-of-date references to GamesNET
+
+    new files:
+     .arch-ids/.cvsignore.id .cvsignore
+     docs/.arch-ids/.cvsignore.id docs/.cvsignore
+     patches/.arch-ids/.cvsignore.id patches/.cvsignore
+     rx/.arch-ids/.arch-inventory.id rx/.arch-ids/.cvsignore.id
+     rx/.arch-inventory rx/.cvsignore src/.arch-ids/.cvsignore.id
+     src/.cvsignore tests/.arch-ids/.cvsignore.id tests/.cvsignore
+
+    modified files:
+     .arch-inventory AUTHORS docs/.arch-inventory
+     docs/access-levels.txt patches/.arch-inventory
+     sockcheck.conf.example src/.arch-inventory src/chanserv.help
+     src/ioset.c src/modcmd.c src/proto-bahamut.c src/proto-p10.c
+     src/tools.c tests/.arch-inventory
+
+
+2004-02-11 04:12:26 GMT        Entrope <entrope@clan-dk.org>   base-0
+
+    Summary:
+      Initial import (again)
+    Revision:
+      srvx--devo--1.3--base-0
+
+    Initial import of srvx-1.3 code.
+
+    new files:
+     AUTHORS COPYING ChangeLog INSTALL Makefile.am NEWS README TODO
+     autogen.sh compile config.guess config.sub configure.in
+     depcomp docs/access-levels.txt docs/coding-style.txt
+     docs/cookies.txt docs/helpserv.txt docs/ircd-modes.txt
+     docs/malloc-compare.txt install-sh ltmain.sh missing
+     mkinstalldirs patches/asuka-sethost.diff
+     patches/helpserv-pgsql.diff patches/helpserv-pgsql.txt
+     patches/log-pgsql.diff patches/log-pgsql.txt
+     patches/ns_reclaim-flag102403.diff
+     patches/ns_tried2reg102403.diff patches/srvx-bantypes.diff
+     patches/srvx-successor.diff rx/COPYING.LIB rx/ChangeLog
+     rx/Makefile.am rx/Makefile.in rx/_rx.h rx/compile rx/depcomp
+     rx/hashrexp.c rx/inst-rxposix.h rx/rx.c rx/rx.h rx/rxall.h
+     rx/rxanal.c rx/rxanal.h rx/rxbasic.c rx/rxbasic.h
+     rx/rxbitset.c rx/rxbitset.h rx/rxcontext.h rx/rxcset.c
+     rx/rxcset.h rx/rxdbug.c rx/rxgnucomp.c rx/rxgnucomp.h
+     rx/rxhash.c rx/rxhash.h rx/rxnfa.c rx/rxnfa.h rx/rxnode.c
+     rx/rxnode.h rx/rxposix.c rx/rxposix.h rx/rxproto.h rx/rxsimp.c
+     rx/rxsimp.h rx/rxspencer.c rx/rxspencer.h rx/rxstr.c
+     rx/rxstr.h rx/rxsuper.c rx/rxsuper.h rx/rxunfa.c rx/rxunfa.h
+     sockcheck.conf.example src/Makefile.am src/chanserv.c
+     src/chanserv.h src/chanserv.help src/checkdb.c src/common.h
+     src/compat.c src/compat.h src/conf.c src/conf.h
+     src/dict-splay.c src/dict.h src/expnhelp.c src/getopt.c
+     src/getopt.h src/getopt1.c src/gline.c src/gline.h
+     src/global.c src/global.h src/global.help src/globtest.c
+     src/hash.c src/hash.h src/heap.c src/heap.h src/helpfile.c
+     src/helpfile.h src/ioset.c src/ioset.h src/log.c src/log.h
+     src/main.c src/md5.c src/md5.h src/mod-helpserv.c
+     src/mod-helpserv.help src/mod-memoserv.c src/mod-memoserv.help
+     src/mod-snoop.c src/mod-sockcheck.c src/mod-sockcheck.help
+     src/modcmd.c src/modcmd.h src/modcmd.help src/modules.c
+     src/modules.h src/nickserv.c src/nickserv.h
+     src/nickserv.help.m4 src/opserv.c src/opserv.h src/opserv.help
+     src/policer.c src/policer.h src/proto-bahamut.c
+     src/proto-common.c src/proto-p10.c src/proto.h src/recdb.c
+     src/recdb.h src/saxdb.c src/saxdb.h src/saxdb.help
+     src/sendmail.c src/sendmail.h src/sendmail.help src/stamp-h.in
+     src/stamp-h1.in src/timeq.c src/timeq.h src/tools.c
+     srvx.conf.example stamp-h2.in tests/coverage-2.cmd
+     tests/coverage.cmd tests/coverage.txt tests/ircd.conf
+     tests/ircd.motd tests/nickserv.cmd tests/p10.cmd
+     tests/srvx.conf tests/test-driver.pl tests/test.cmd
+
+
diff --git a/FAQ b/FAQ
new file mode 100644 (file)
index 0000000..bb15b42
--- /dev/null
+++ b/FAQ
@@ -0,0 +1,52 @@
+srvx Frequently Asked Questions
+-------------------------------
+
+This FAQ assumes that your services are named NickServ, ChanServ and
+OpServ respectively.
+
+Q1) How do I set up srvx?
+A1) Read the README and INSTALL files, especially INSTALL.
+
+Q2) How do I set up my IRC server so srvx talks to it?
+A2) That depends on which IRC server you use.  Check its
+documentation.  #srvx WILL NOT SUPPORT YOUR IRCD QUESTIONS.
+
+Q3) I get "You must first authenticate with NickServ", help!
+A3) To register an account, /msg NickServ@services.example.com
+register YourName Password.  You must be a global IRC operator to
+register the first account; srvx gives the first account "root" level
+(1000) access.  To log in afterwards, use the "auth" command instead
+of "register".
+
+Q4) I do not like having to type "/msg NickServ@services.example.com"
+for all of my commands.  How can I change that?
+A4) If you want to disable that for the auth command, use "/msg OpServ
+modcmd NickServ.auth flags -qualified".  However, that is a BAD idea:
+if you have an auto-perform to log in, and you connect to some other
+IRC network, you will send your password to whoever or whatever is
+named NickServ on that network.
+
+Q5) When I try to register a channel with ChanServ, it tells me I have
+to have "security override" on.  Why?
+A5-1) srvx's default configuration is to only allow network staff to
+register channels.  For IRC operators and network helpers (users with
+account flag +H), security override can be enabled by sending "/msg
+ChanServ god on".  For support helpers (users with account flag +h),
+security override is enabled when the user is in the configured
+support channel.
+A5-2) If you want to allow anyone to register channels, use "/msg
+OpServ modcmd ChanServ.register flags -helping".
+
+Q6) How do I enable HelpServ?
+A6) When you run the "configure" script, you must enable the helpserv
+module; for example, "./configure --enable-modules=helpserv".  After
+you compile and start srvx with that option, "/msg OpServ bind OpServ
+helpserv *helpserv.helpserv".  After that, you can use "/msg OpServ
+helpserv help" and "/msg OpServ helpserv register"; the "helpserv"
+command acts as a gateway into the HelpServ system.
+
+Q7) How do I enable MemoServ?
+A7) When you run the "configure" script, you must enable the MemoServ
+module; for example, "./configure --enable-modules=memoserv".  Then
+see the comment near the start of src/mod-memoserv.c for configuration
+options.
index e8fbe4b4a917831110539d3aadfc6c4f92d6ce1c..5b5f247db6225ff8d44cfa788f83006c42355a80 100644 (file)
@@ -428,9 +428,9 @@ static const struct message_entry msgtab[] = {
     { "CSMSG_WUT_RESPONSE", "wut" },
     { "CSMSG_BAD_NUMBER", "$b%s$b is an invalid number.  Please use a number greater than 1 with this command." },
     { "CSMSG_BAD_DIE_FORMAT", "I do not understand $b%s$b.  Please use either a single number or standard 4d6+3 format." },
-    { "CSMSG_BAD_DICE_COUNT", "%d is too many dice.  Please use at most %d." },
-    { "CSMSG_DICE_ROLL", "The total is $b%d$b from rolling %dd%d+%d." },
-    { "CSMSG_DIE_ROLL", "A $b%d$b shows on the %d-sided die." },
+    { "CSMSG_BAD_DICE_COUNT", "%lu is too many dice.  Please use at most %lu." },
+    { "CSMSG_DICE_ROLL", "The total is $b%lu$b from rolling %lud%lu+%lu." },
+    { "CSMSG_DIE_ROLL", "A $b%lu$b shows on the %lu-sided die." },
     { "CSMSG_HUGGLES_HIM", "\001ACTION huggles %s\001" },
     { "CSMSG_HUGGLES_YOU", "\001ACTION huggles you\001" },
 
@@ -643,7 +643,7 @@ user_level_from_name(const char *name, unsigned short clamp_level)
 {
     unsigned int level = 0, ii;
     if(isdigit(name[0]))
-        level = atoi(name);
+        level = strtoul(name, NULL, 10);
     else for(ii = 0; (ii < ArrayLength(accessLevels)) && !level; ++ii)
         if(!irccasecmp(name, accessLevels[ii].name))
             level = accessLevels[ii].level;
@@ -4298,12 +4298,14 @@ static CHANSERV_FUNC(cmd_events)
     unsigned int matches, limit;
 
     limit = (argc > 1) ? atoi(argv[1]) : 10;
-    if(limit < 1 || limit > 200) limit = 10;
+    if(limit < 1 || limit > 200)
+        limit = 10;
 
     memset(&discrim, 0, sizeof(discrim));
     discrim.masks.bot = chanserv;
     discrim.masks.channel_name = channel->name;
-    if(argc > 2) discrim.masks.command = argv[2];
+    if(argc > 2)
+        discrim.masks.command = argv[2];
     discrim.limit = limit;
     discrim.max_time = INT_MAX;
     discrim.severities = 1 << LOG_COMMAND;
index db953caaacad76f6bc662a1af64db16b16066150..27031540c01307ffa39746f7d97fae0f831fbb1a 100644 (file)
         "$b3$b  No users will be protected.",
         "$uSee Also:$u set");
 "SET SETTERS" ("/msg $C SET <#channel> SETTERS <value>",
-        "This setting restricts the protection that $C enforces.  It is a numeric user level.",
+        "Users with at least this user level can use the $bset$b command for $C.",
         "$uSee Also:$u set");
 "SET TOPICREFRESH" ("/msg $C SET <#channel> TOPICREFRESH <value>",
         "This setting controls if (and how often) $C refreshes the topic to the default value.  Valid settings are:",
index 2e0d0c7d388b6a77759be73cdc1113ac80e7e0dc..f4221669c1114fe7751e7f67ab105d120f80881f 100644 (file)
@@ -2097,10 +2097,8 @@ static OPTION_FUNC(opt_info)
 
 static OPTION_FUNC(opt_width)
 {
-    if (argc > 1) {
-       unsigned int new_width = strtoul(argv[1], NULL, 0);
-       hi->screen_width = new_width;
-    }
+    if (argc > 1)
+       hi->screen_width = strtoul(argv[1], NULL, 0);
 
     if ((hi->screen_width > 0) && (hi->screen_width < MIN_LINE_SIZE))
         hi->screen_width = MIN_LINE_SIZE;
@@ -2113,10 +2111,8 @@ static OPTION_FUNC(opt_width)
 
 static OPTION_FUNC(opt_tablewidth)
 {
-    if (argc > 1) {
-       unsigned int new_width = strtoul(argv[1], NULL, 0);
-       hi->table_width = new_width;
-    }
+    if (argc > 1)
+       hi->table_width = strtoul(argv[1], NULL, 0);
 
     if ((hi->table_width > 0) && (hi->table_width < MIN_LINE_SIZE))
         hi->table_width = MIN_LINE_SIZE;
@@ -2279,7 +2275,7 @@ static OPTION_FUNC(opt_email)
 
 static OPTION_FUNC(opt_maxlogins)
 {
-    char maxlogins;
+    unsigned char maxlogins;
     if (argc > 1) {
         maxlogins = strtoul(argv[1], NULL, 0);
         if ((maxlogins > nickserv_conf.hard_maxlogins) && !override) {
@@ -2795,7 +2791,7 @@ nickserv_discrim_create(struct userNode *user, unsigned int argc, char *argv[])
             goto fail;
         }
         if (!irccasecmp(argv[i], "limit")) {
-            discrim->limit = atoi(argv[++i]);
+            discrim->limit = strtoul(argv[++i], NULL, 0);
         } else if (!irccasecmp(argv[i], "flags")) {
             nickserv_modify_handle_flags(user, nickserv, argv[++i], &discrim->flags_on, &discrim->flags_off);
         } else if (!irccasecmp(argv[i], "registered")) {
index 74a4380998bf6aa75f0c0cfd4fe890a5d0a2ba60..d6a0ec5604d22b1ac3ccba305870edad1bcd0466 100644 (file)
@@ -2093,7 +2093,7 @@ static MODCMD_FUNC(cmd_addtrust)
     unsigned long interval;
     char *reason, *tmp;
     struct in_addr tmpaddr;
-    int count;
+    unsigned int count;
 
     if (dict_find(opserv_trusted_hosts, argv[1], NULL)) {
         reply("OSMSG_ALREADY_TRUSTED", argv[1]);
@@ -2128,7 +2128,7 @@ static MODCMD_FUNC(cmd_edittrust)
     unsigned long interval;
     struct trusted_host *th;
     char *reason, *tmp;
-    int count;
+    unsigned int count;
 
     th = dict_find(opserv_trusted_hosts, argv[1], NULL);
     if (!th) {
index 5a7a689ca2c5f639684b02c0c9aa9d9ba23523a4..6a042edbaa22a79ca2b7bf6fd014e4237d8fca5e 100644 (file)
@@ -81,7 +81,8 @@ uplink_readable(struct io_fd *fd) {
         close_socket();
         return;
     }
-    if ((eol = strpbrk(buffer, "\r\n"))) *eol = 0;
+    if ((eol = strpbrk(buffer, "\r\n")))
+        *eol = 0;
     log_replay(MAIN_LOG, false, buffer);
     if (cManager.uplink->state != DISCONNECTED)
         parse_line(buffer, 0);
@@ -95,7 +96,8 @@ socket_destroyed(struct io_fd *fd)
         log_module(MAIN_LOG, LOG_ERROR, "Connection to server lost.");
     socket_io_fd = NULL;
     cManager.uplink->state = DISCONNECTED;
-    if (self->uplink) DelServer(self->uplink, 0, NULL);
+    if (self->uplink)
+        DelServer(self->uplink, 0, NULL);
 }
 
 void replay_event_loop(void)