From 83804a62208d2dc6ef2c6857348d02bc0f4cfab4 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Thu, 8 Apr 2004 03:18:41 +0000 Subject: [PATCH] Fix some signed/unsigned misbehaviors; add FAQ * 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 | 952 +++++++++++++++++++++++++++++++++++++++++++++ FAQ | 52 +++ src/chanserv.c | 14 +- src/chanserv.help | 2 +- src/nickserv.c | 16 +- src/opserv.c | 4 +- src/proto-common.c | 6 +- 7 files changed, 1025 insertions(+), 21 deletions(-) create mode 100644 FAQ diff --git a/ChangeLog b/ChangeLog index e69de29..8b86da0 100644 --- 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 . + + * Refuse to let anyone !set 502, etc. + + * Refuse to let people below owner level !set 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 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 (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 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 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 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 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 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 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 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 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 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 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 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 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. diff --git a/src/chanserv.c b/src/chanserv.c index e8fbe4b..5b5f247 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -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; diff --git a/src/chanserv.help b/src/chanserv.help index db953ca..2703154 100644 --- a/src/chanserv.help +++ b/src/chanserv.help @@ -374,7 +374,7 @@ "$b3$b No users will be protected.", "$uSee Also:$u set"); "SET SETTERS" ("/msg $C SET <#channel> SETTERS ", - "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 ", "This setting controls if (and how often) $C refreshes the topic to the default value. Valid settings are:", diff --git a/src/nickserv.c b/src/nickserv.c index 2e0d0c7..f422166 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -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")) { diff --git a/src/opserv.c b/src/opserv.c index 74a4380..d6a0ec5 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -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) { diff --git a/src/proto-common.c b/src/proto-common.c index 5a7a689..6a042ed 100644 --- a/src/proto-common.c +++ b/src/proto-common.c @@ -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) -- 2.20.1