srvx.git
12 years agoMerge remote branch 'upstream/master'
root [Wed, 9 Nov 2011 15:27:40 +0000 (16:27 +0100)]
Merge remote branch 'upstream/master'

Conflicts:
src/chanserv.c

12 years agofixed vote commands
pk910 [Wed, 9 Nov 2011 14:53:53 +0000 (15:53 +0100)]
fixed vote commands

12 years agochanged cmd_version informations
lukas9950 [Wed, 2 Nov 2011 00:27:54 +0000 (01:27 +0100)]
changed cmd_version informations

12 years agoMerge remote branch 'upstream/master'
root [Tue, 1 Nov 2011 21:02:19 +0000 (22:02 +0100)]
Merge remote branch 'upstream/master'

12 years agoFix which userData is checked for deny-nonchannel memo sending.
Michael Poole [Mon, 31 Oct 2011 04:12:34 +0000 (00:12 -0400)]
Fix which userData is checked for deny-nonchannel memo sending.

Fixes SourceForge bug #3308832.

src/mod-memoserv.c (memoserv_can_send): Require the recipient to have
    joined a channel for their membership there to count as common
    with the sender.  (This was the original intent.)

12 years agoDo not show "[#channel (500,)]" in a !myaccess list.
Michael Poole [Mon, 31 Oct 2011 03:58:10 +0000 (23:58 -0400)]
Do not show "[#channel (500,)]" in a !myaccess list.

Fixes SourceForge bug #3072634.

src/chanserv.c (cmd_myaccess): Record where the comma was, and remove
    it if nothing was added after it.

12 years agoAllow !trim (for users) to work for helpers.
Michael Poole [Mon, 31 Oct 2011 03:56:13 +0000 (23:56 -0400)]
Allow !trim (for users) to work for helpers.

Fixes SourceForge bug #3081638.

src/chanserv.c (cmd_trim_users): Use GetChannelUser() to check user
  access, so that overrides work.

12 years agoAvoid adding expire_channels() to the timeq on !expire.
Michael Poole [Sun, 30 Oct 2011 22:22:21 +0000 (18:22 -0400)]
Avoid adding expire_channels() to the timeq on !expire.

Fixes SourceForge bug #3000577.

src/chanserv.c (expire_channels): Only (re-)add this function to timeq
    if the data argument is NULL.
  (cmd_expire): Pass a non-NULL pointer when calling expire_channels().

12 years agoRe-fix compilation of src/modcmd.c.
Michael Poole [Sun, 30 Oct 2011 17:32:11 +0000 (13:32 -0400)]
Re-fix compilation of src/modcmd.c.

(I'm not sure why it looked like this compiled before.)

src/modcmd.c (check_alias_args): strtoul has an attribute that makes
  gcc warn if its result is not used, so store (but ignore) its result.

12 years agoFix compilation warnings from gcc 4.6.
Michael Poole [Sun, 30 Oct 2011 17:23:12 +0000 (13:23 -0400)]
Fix compilation warnings from gcc 4.6.

src/chanserv.c (zoot_list): Delete this function.
  (cmd_invite): Remove never-read uData variable.
  (ban_read_helper): Remove never-read bData variable.
src/helpfile.c (vsend_message): Remove never-read expand_pos variable.
src/ioset.c (ioset_buffered_read): Remove never-read fdnum variable.
src/log.c (log_entry_search): Remove never-read last variable.
src/mod-helpserv.c (cmd_add_user): Remove never-read new_user variable.
src/modcmd.c (check_alias_args): Remove never-read tmp variable.
src/nickserv.c (cmd_reclaim): Remove never-read hi variable.
src/proto-p10.c (cmd_topic): Remove never-read chan_ts variable.
  (AddLocalUser): Remove never-read timestamp variable.

12 years agoDocument the ChanServ toy commands.
Michael Poole [Sun, 30 Oct 2011 17:19:41 +0000 (13:19 -0400)]
Document the ChanServ toy commands.

src/chanserv.help: Add documentation for !8ball, !d, !huggle, !ping,
  !unf and !wut.

12 years agoFix MIN_ARGC for ChanServ's !8ball and !d commands.
Michael Poole [Sun, 30 Oct 2011 17:19:08 +0000 (13:19 -0400)]
Fix MIN_ARGC for ChanServ's !8ball and !d commands.

src/chanserv.c (init_chanserv): These commands need at least one argument.

12 years agofixed unused variable warning
pk910 [Sun, 16 Oct 2011 00:01:40 +0000 (02:01 +0200)]
fixed unused variable warning

12 years agoallow IRC Ops unregister protected channels (nodelete override)
pk910 [Sat, 15 Oct 2011 23:58:26 +0000 (01:58 +0200)]
allow IRC Ops unregister protected channels (nodelete override)

12 years agoadded cmd_opme command to chanserv (based on new devnull privilege: OpMe)
pk910 [Wed, 12 Oct 2011 19:09:35 +0000 (21:09 +0200)]
added cmd_opme command to chanserv (based on new devnull privilege: OpMe)

12 years agoadded $U $I $H (moved previous $H to $A)
pk910 [Fri, 26 Aug 2011 09:58:14 +0000 (11:58 +0200)]
added $U $I $H (moved previous $H to $A)

12 years agoignore badwords on channels watchdog isn't in
pk910 [Thu, 25 Aug 2011 02:42:13 +0000 (04:42 +0200)]
ignore badwords on channels watchdog isn't in

12 years agofixed srvx language fail (minimum must NOT be greater than the maximum - it must...
pk910 [Tue, 23 Aug 2011 23:54:55 +0000 (01:54 +0200)]
fixed srvx language fail (minimum must NOT be greater than the maximum - it must be lower ;))

12 years agodon't hide protected channels from Network Helpers in cmd_myaccess
pk910 [Tue, 16 Aug 2011 21:14:25 +0000 (23:14 +0200)]
don't hide protected channels from Network Helpers in cmd_myaccess

12 years agochanged TOKEN of FFAKEHOST2 to NFH
pk910 [Sat, 23 Jul 2011 22:37:07 +0000 (00:37 +0200)]
changed TOKEN of FFAKEHOST2 to NFH

12 years agoactivated the new features
pk910 [Sat, 23 Jul 2011 22:29:59 +0000 (00:29 +0200)]
activated the new features

12 years agofixed a (maybe) error in the database write function (mod-watchdog.c)
pk910 [Sat, 23 Jul 2011 06:12:00 +0000 (08:12 +0200)]
fixed a (maybe) error in the database write function (mod-watchdog.c)

12 years agoKICK user only if he's really in the channel!
pk910 [Fri, 22 Jul 2011 01:38:07 +0000 (03:38 +0200)]
KICK user only if he's really in the channel!

12 years agofixed some syntax errors & tidied up code a little bit
pk910 [Fri, 22 Jul 2011 00:47:29 +0000 (02:47 +0200)]
fixed some syntax errors & tidied up code a little bit

12 years agoextended example configuration file for mod-Watchdog
pk910 [Fri, 22 Jul 2011 00:43:19 +0000 (02:43 +0200)]
extended example configuration file for mod-Watchdog

12 years agoadded real message "scanner" to mod-watchdog.c
pk910 [Fri, 22 Jul 2011 00:41:52 +0000 (02:41 +0200)]
added real message "scanner" to mod-watchdog.c

12 years agofixed NULL bug on modcmd.c cmd_stats_services
pk910 [Thu, 21 Jul 2011 23:57:30 +0000 (01:57 +0200)]
fixed NULL bug on modcmd.c cmd_stats_services

12 years agoreset triggered counter when changing mask (Watchdog BadWord)
pk910 [Thu, 21 Jul 2011 23:41:03 +0000 (01:41 +0200)]
reset triggered counter when changing mask (Watchdog BadWord)

12 years agoadded cmd_setbad
pk910 [Thu, 21 Jul 2011 23:31:41 +0000 (01:31 +0200)]
added cmd_setbad

12 years agochanged type of shitlist to dict_t and added cmd_listbad, cmd_addbad & cmd_delbad
pk910 [Thu, 21 Jul 2011 20:58:53 +0000 (22:58 +0200)]
changed type of shitlist to dict_t and added cmd_listbad, cmd_addbad & cmd_delbad

12 years agoconnect Watchdog before loading saved data (channels)
pk910 [Thu, 21 Jul 2011 19:22:01 +0000 (21:22 +0200)]
connect Watchdog before loading saved data (channels)

12 years agoadded cmd_register & cmd_unregister to mod-watchdog.c, fixed trigger & missing ;...
pk910 [Thu, 21 Jul 2011 01:25:14 +0000 (03:25 +0200)]
added cmd_register & cmd_unregister to mod-watchdog.c, fixed trigger & missing ; in example config block

12 years agofixed cmd_users counter (-1)
pk910 [Thu, 21 Jul 2011 01:23:34 +0000 (03:23 +0200)]
fixed cmd_users counter (-1)

12 years agocommented out AUTOHIDE check on LOC because of a ircu incompatibility (should be...
pk910 [Thu, 21 Jul 2011 01:03:42 +0000 (03:03 +0200)]
commented out AUTOHIDE check on LOC because of a ircu incompatibility (should be fixed, soon)

12 years agoadded total user count to cmd_users
pk910 [Thu, 21 Jul 2011 00:54:24 +0000 (02:54 +0200)]
added total user count to cmd_users

12 years agofixed watchdog config path (modules/watchdog)
pk910 [Wed, 20 Jul 2011 22:13:10 +0000 (00:13 +0200)]
fixed watchdog config path (modules/watchdog)

12 years agoadded chanlist to mod-watchdog.c
pk910 [Wed, 20 Jul 2011 21:44:54 +0000 (23:44 +0200)]
added chanlist to mod-watchdog.c

12 years agofixed mod-watchdog.c basics
pk910 [Wed, 20 Jul 2011 20:38:25 +0000 (22:38 +0200)]
fixed mod-watchdog.c basics

12 years agochanged needed access to set flag +b, added +I to ounregister FORCE list
Zer0n [Wed, 20 Jul 2011 19:56:10 +0000 (21:56 +0200)]
changed needed access to set flag +b, added +I to ounregister FORCE list

12 years agoadded mod-watchdog (without any functions, yet)
pk910 [Wed, 20 Jul 2011 20:23:00 +0000 (22:23 +0200)]
added mod-watchdog (without any functions, yet)

12 years agochanged cmd_myaccess: added ".. is owner of XX channel(s)."
Zer0n [Wed, 20 Jul 2011 18:42:12 +0000 (20:42 +0200)]
changed cmd_myaccess: added ".. is owner of XX channel(s)."

12 years agoadded flag +I (user not shown in staff list)
Lukas [Wed, 20 Jul 2011 13:38:10 +0000 (15:38 +0200)]
added flag +I (user not shown in staff list)

12 years agofixed P10_GLINE protocol violation (expiration has to be the relative time, not a...
pk910 [Tue, 19 Jul 2011 21:22:40 +0000 (23:22 +0200)]
fixed P10_GLINE protocol violation (expiration has to be the relative time, not a timestamp)

12 years agoextended MODE_FORWARD check (check if the user is allowed to use the passed target...
pk910 [Mon, 18 Jul 2011 22:15:43 +0000 (00:15 +0200)]
extended MODE_FORWARD check (check if the user is allowed to use the passed target channel)

12 years agoallow opers with security override enabled using MODE_NOFLOOD with the ! flag on...
pk910 [Sun, 17 Jul 2011 15:49:04 +0000 (17:49 +0200)]
allow opers with security override enabled using MODE_NOFLOOD with the ! flag on ChanServ modelock

12 years agostep over ! if it's allowed on MODE_NOFLOOD
pk910 [Sun, 17 Jul 2011 15:20:11 +0000 (17:20 +0200)]
step over ! if it's allowed on MODE_NOFLOOD

12 years agofully included MODE_AUDITORIUM & fixed a missing break
pk910 [Sun, 17 Jul 2011 14:47:26 +0000 (16:47 +0200)]
fully included MODE_AUDITORIUM & fixed a missing break

12 years agoremoved nickserv.c "comparison between signed and unsigned" compiler warning
pk910 [Sun, 17 Jul 2011 14:45:50 +0000 (16:45 +0200)]
removed nickserv.c "comparison between signed and unsigned" compiler warning

12 years agoremoved some debug output and fixed mode handling
pk910 [Sun, 17 Jul 2011 14:37:14 +0000 (16:37 +0200)]
removed some debug output and fixed mode handling

12 years agoinclude MASK check to LOC Authentication
pk910 [Sun, 17 Jul 2011 14:12:12 +0000 (16:12 +0200)]
include MASK check to LOC Authentication

12 years agocheck AutoHide setting on LOC Authentication
pk910 [Sun, 17 Jul 2011 04:49:22 +0000 (06:49 +0200)]
check AutoHide setting on LOC Authentication

12 years agoadded FAKEHOST2 to support the FAKEIDENT idea coming from srvx DEV
pk910 [Sun, 17 Jul 2011 02:05:29 +0000 (04:05 +0200)]
added FAKEHOST2 to support the FAKEIDENT idea coming from srvx DEV

12 years agoreverted new fakehost change method (causes ident as host on ircu :D)
pk910 [Sun, 17 Jul 2011 01:32:07 +0000 (03:32 +0200)]
reverted new fakehost change method (causes ident as host on ircu :D)

12 years agofix
pk910 [Sun, 17 Jul 2011 01:25:11 +0000 (03:25 +0200)]
fix

12 years agoshow Access on cmd_handleinfo & bypass mask check for clones
pk910 [Sun, 17 Jul 2011 01:17:18 +0000 (03:17 +0200)]
show Access on cmd_handleinfo & bypass mask check for clones

12 years agoadded helpserv public channel
pk910 [Sun, 17 Jul 2011 01:06:36 +0000 (03:06 +0200)]
added helpserv public channel

12 years agoadded CMODE_AUDITORIUM & CMODE_NOFLOOD
pk910 [Sun, 17 Jul 2011 01:04:25 +0000 (03:04 +0200)]
added CMODE_AUDITORIUM & CMODE_NOFLOOD

12 years agoadded unknown command handler (just reply that the command is unknown ^^)
pk910 [Fri, 8 Jul 2011 16:08:59 +0000 (18:08 +0200)]
added unknown command handler (just reply that the command is unknown ^^)

12 years agomake bots being able to see channels of other bots and services
pk910 [Fri, 8 Jul 2011 16:08:28 +0000 (18:08 +0200)]
make bots being able to see channels of other bots and services

12 years agosvsjoin, svsmode, svsnick, relay and simul added
pk910 [Fri, 8 Jul 2011 15:58:58 +0000 (17:58 +0200)]
svsjoin, svsmode, svsnick, relay and simul added

12 years agoadded mode +a access check
pk910 [Fri, 8 Jul 2011 15:42:10 +0000 (17:42 +0200)]
added mode +a access check

12 years agochannel created messages added
pk910 [Fri, 8 Jul 2011 15:26:36 +0000 (17:26 +0200)]
channel created messages added

12 years agoadded option to force opers to be in staff_auth_channel
pk910 [Fri, 8 Jul 2011 14:49:55 +0000 (16:49 +0200)]
added option to force opers to be in staff_auth_channel

12 years agofixed various build errors
pk910 [Fri, 8 Jul 2011 00:07:00 +0000 (02:07 +0200)]
fixed various build errors

12 years agoadded LOC Support with privilege exchange and privilege class interface
pk910 [Thu, 7 Jul 2011 23:54:49 +0000 (01:54 +0200)]
added LOC Support with privilege exchange and privilege class interface

12 years agoadded field called "website" to the handle info (only accessible by bots)
pk910 [Thu, 7 Jul 2011 23:20:19 +0000 (01:20 +0200)]
added field called "website" to the handle info (only accessible by bots)

12 years agoadded $.x.y fakhosts where $ gets replaced with the users auth handle
pk910 [Thu, 7 Jul 2011 21:04:36 +0000 (23:04 +0200)]
added $.x.y fakhosts where $ gets replaced with the users auth handle

12 years agogeneral P10_RELAY, P10_SVSMODE & P10_SVSJOIN support
pk910 [Thu, 7 Jul 2011 20:50:19 +0000 (22:50 +0200)]
general P10_RELAY, P10_SVSMODE & P10_SVSJOIN support

12 years agoincreased TOPICLEN to 500
pk910 [Thu, 7 Jul 2011 20:40:45 +0000 (22:40 +0200)]
increased TOPICLEN to 500

12 years agogeneral support for Channel Mode +NMFa and User Mode +SDXHst
pk910 [Thu, 7 Jul 2011 20:37:06 +0000 (22:37 +0200)]
general support for Channel Mode +NMFa and User Mode +SDXHst

12 years agoadded invite_timeout to the example configuration
pk910 [Thu, 7 Jul 2011 20:12:21 +0000 (22:12 +0200)]
added invite_timeout to the example configuration

12 years agoignore MODE -z but allow MODE +z
pk910 [Thu, 7 Jul 2011 20:07:40 +0000 (22:07 +0200)]
ignore MODE -z but allow MODE +z

12 years agoonly give users +ov if they have UserAutoOp enabled on cmd_resync
pk910 [Thu, 7 Jul 2011 20:01:59 +0000 (22:01 +0200)]
only give users +ov if they have UserAutoOp enabled on cmd_resync

12 years agocmd_invitemeall added
pk910 [Thu, 7 Jul 2011 19:57:24 +0000 (21:57 +0200)]
cmd_invitemeall added

12 years agofixes for the last commits (buildable now)
pk910 [Thu, 7 Jul 2011 19:32:22 +0000 (21:32 +0200)]
fixes for the last commits (buildable now)

12 years agoadded entry counter to cmd_myaccess
pk910 [Thu, 7 Jul 2011 19:28:38 +0000 (21:28 +0200)]
added entry counter to cmd_myaccess

12 years agoadded channel votes
pk910 [Thu, 7 Jul 2011 19:24:53 +0000 (21:24 +0200)]
added channel votes

12 years agoadded channel expire setting
pk910 [Thu, 7 Jul 2011 18:57:00 +0000 (20:57 +0200)]
added channel expire setting

12 years agoadded cmd_info peek time info
pk910 [Thu, 7 Jul 2011 18:42:12 +0000 (20:42 +0200)]
added cmd_info peek time info

12 years agoadded user invite timeout
pk910 [Thu, 7 Jul 2011 11:24:14 +0000 (13:24 +0200)]
added user invite timeout

12 years agoappended pre-install notes to INSTALL
pk910 [Thu, 7 Jul 2011 11:09:49 +0000 (13:09 +0200)]
appended pre-install notes to INSTALL

12 years agofixed a small build problem (RANLIB is undefined)
pk910 [Thu, 7 Jul 2011 11:07:23 +0000 (13:07 +0200)]
fixed a small build problem (RANLIB is undefined)

12 years agoapplied SpamServ patch
pk910 [Thu, 7 Jul 2011 10:46:19 +0000 (12:46 +0200)]
applied SpamServ patch
http://sourceforge.net/tracker/?func=detail&aid=906045&group_id=31654&atid=403003

12 years agoFix typo in #if test for localtime_r().
Michael Poole [Mon, 27 Jun 2011 01:59:22 +0000 (21:59 -0400)]
Fix typo in #if test for localtime_r().

13 years agoFix the name and type of helpserv_bot.persist_types[].
Michael Poole [Tue, 3 May 2011 02:21:19 +0000 (22:21 -0400)]
Fix the name and type of helpserv_bot.persist_types[].

This array really contains persistence lengths.  gcc 4.5.2 complains
about the mismatched comparisons.

src/mod-helpserv.c (struct helpserv_bot): Rename persist_types to
    persist_lengths.  Change its type to enum persistence_length.

13 years agoUpdate IP glob matching to work more accurately with IPv6.
Michael Poole [Mon, 22 Nov 2010 12:33:45 +0000 (07:33 -0500)]
Update IP glob matching to work more accurately with IPv6.

When given an IP like 2001::1234:5678:1:2:3:4, srvx (properly) makes
a glob like 2001:0:4137:*.  However, it wouldn't realize that the
glob actually matches the IP, because it used string glob matching.

src/tools.c (user_matches_glob): Use a parsed glob to match against
  the user's IP address.

13 years agoComplain properly about unterminated comments in config files.
Michael Poole [Mon, 22 Nov 2010 12:31:01 +0000 (07:31 -0500)]
Complain properly about unterminated comments in config files.

sylar noticed that unterminated comments would often cause an
infinite loop in the config parser.

src/recdb.c (fail_codes): Add UNTERMINATED_COMMENT value.
  (parse_skip_ws): Abort with that on EOF inside a comment.
  (failure_reason): Handle UNTERMINATED_COMMENT.

13 years agoFix available byte count returned by ioq_grow().
Michael Poole [Fri, 19 Nov 2010 21:02:01 +0000 (16:02 -0500)]
Fix available byte count returned by ioq_grow().

ioq_grow() needs to use the same -1 that ioq_put_avail() uses when
the "get" pointer is at byte 0.

src/ioset.c (ioq_grow): Reduce the reported available-byte count by 1.

13 years agoFix endianness of IPv6 addresses in generate_hostmask().
Michael Poole [Sun, 4 Jul 2010 21:58:35 +0000 (17:58 -0400)]
Fix endianness of IPv6 addresses in generate_hostmask().

src/proto-common.c (generate_hostmask): The IPv6 address parts are
    network-endian, so convert them before printing them.

14 years agoFix G-line handling and ?gtrace time display.
Michael Poole [Sun, 18 Apr 2010 23:21:41 +0000 (19:21 -0400)]
Fix G-line handling and ?gtrace time display.

src/gline.c (gline_comparator): Use lifetime rather than expiration time to
    sort G-lines.
  (gline_add): Only update expiration time and reason if the new
     modification time is newer than the previous one.  Never update
     issuer (ircu doesn't track it).
src/opserv.c (gtrace_print_func): Display G-lines with no expiration time
  correctly.

14 years agoClean up the implementations of mod_chanmode_format().
Michael Poole [Thu, 18 Mar 2010 03:31:45 +0000 (23:31 -0400)]
Clean up the implementations of mod_chanmode_format().

src/proto-bahamut.c (mod_chanmode_format): Use a second buffer for the
    arguments that get associated with some modes, and append it to
    outbuff at the end.

src/proto-p10.c (mod_chanmode_format): Likewise.

14 years agoSilently ignore +z when users use it from ChanServ. Fixes SF#2970686.
Michael Poole [Thu, 18 Mar 2010 03:00:32 +0000 (23:00 -0400)]
Silently ignore +z when users use it from ChanServ.  Fixes SF#2970686.

src/proto-p10.c (mod_chanmode_parse): Just ignore +z when MCP_REGISTERED
  is set (which only happens from ChanServ).
src/opserv.c (cmd_clearmodes): Do not automatically clear +z.

14 years agoSimplify G-line code somewhat. Generate better output for ?gtrace print.
Michael Poole [Thu, 18 Mar 2010 02:53:30 +0000 (22:53 -0400)]
Simplify G-line code somewhat.  Generate better output for ?gtrace print.

A hub with a negative clock skew will cause adverse results (like the
issued or lastmod times being in the network's future).  That will be
fixed in ircu.

src/gline.c (gline_for_p): Rewrite to just compare the G-line pointer.
  (gline_add): Use that instead.  Move "issued" back in time if the
    lastmod time is earlier than we know the G-line was issued.
src/opserv.c (OSMSG_GTRACE_FOREVER): New format string.
  (OSMSG_GTRACE_EXPIRED): Likewise.
  (gtrace_print_func): Use the appropriate OSMSG_GTRACE_* string.

14 years agoImplement remote /time query functionality.
Michael Poole [Thu, 18 Mar 2010 02:11:27 +0000 (22:11 -0400)]
Implement remote /time query functionality.

src/proto-p10.c (cmd_time): New function.
  (init_parse): Register it.

14 years agoSupport G-line lifetimes.
Michael Poole [Thu, 18 Mar 2010 02:11:00 +0000 (22:11 -0400)]
Support G-line lifetimes.

This involves using the old "expiration" as when the G-line becomes
inactive, and adding a new "lifetime" that is the latest of all the
expiration times that the G-line has ever had.  For convenience,
gline_add() will compare its new "lifetime" argument with its calculated
expiration time -- so callers can safely pass 0 as the lifetime.

src/gline.h (struct gline): Add the lifetime field.  Add Doxygen comments
    for future reference.
  (struct gline_discrim): Add bounds for the lifetime field.
  (gline_add): Add lifetime argument.

src/gline.c (KEY_LIFETIME): New database key.
  (delete_gline_for_p): Delete.
  (gline_expire): Use lifetime to determine whether a G-line expired.
  (gline_remove): Simplify greatly, because we don't actually remove
    G-lines any more (we just mark them immediately expired).
  (gline_add): Add parameter for lifetime, and use it.
  (gline_add_record): Parse lifetime field if it is present.  Simplify
    the parsing of the issued field.
  (gline_write_entry): Write the lifetime.
  (gline_discrim_create): Use ULONG_MAX rather than INT_MAX for
    maximum timestamps.  Parse "lifetime" arguments.
  (gline_discrim_match): Check the lifetime bounds.

src/mod-blacklist.c (dnsbl_hit): Pass 0 lifetime for gline_add().
  (blacklist_check_user): Likewise.

src/mod-sockcheck.c (sockcheck_issue_gline): Likewise.

src/opserv.c (OSMSG_GTRACE_FORMAT): Add lifetime field.
  (opserv_block): Pass 0 lifetime for gline_add().
  (cmd_gline): Likewise.
  (opserv_new_user_check): Likewise.
  (gtrace_print_func): Format the lifetime.

src/proto-p10.c (irc_gline): Include the lifetime in the correct place.
  (irc_ungline): Include the current timestamp (last modified time).
  (cmd_num_gline): When the lifetime argument is given, parse it.
  (cmd_gline): Likewise.  Also implement the normal ircu check for
    expiration as an absolute versus relative time.

14 years agoFix various mode-related bugs (including SF#2964782 and SF#2966959).
Michael Poole [Mon, 15 Mar 2010 01:40:24 +0000 (21:40 -0400)]
Fix various mode-related bugs (including SF#2964782 and SF#2966959).

src/chanserv.c (cmd_mode): Use MCP_NO_APASS, and unparse the mode
    change for display.
  (chan_opt_usergreeting): Use MCP_NO_APASS here too.
  (chanserv_conf_read): Likewise.
  (chanserv_channel_read): Likewise.

src/opserv.c (cmd_kick): Do not let users try to kick services.

src/proto.h (MCP_NO_APASS): New flag.

src/proto-p10.c (irc_user_mode_chars): Allow displaying +x.
  (mod_usermode): Treat +h as setting +x also.
  (mod_chanmode_parse): Reject +A and +U when passed MCP_NO_APASS.

14 years agoFix parsing of (P10) MODE <nickname> +<mode> <parameters>.
Michael Poole [Sun, 14 Mar 2010 22:51:52 +0000 (18:51 -0400)]
Fix parsing of (P10) MODE <nickname> +<mode> <parameters>.

src/proto-p10.c (cmd_mode): Unsplit the mode and any trailing arguments.

14 years agoRemove empty +z channels when the +z is removed.
Michael Poole [Tue, 9 Mar 2010 02:52:46 +0000 (21:52 -0500)]
Remove empty +z channels when the +z is removed.

src/proto-p10.c (dead_channels): New variable.
  (parse_line): Release any dead channels after each command.
  (mod_chanmode_parse): Queue -z'ed channels to be released.

14 years agoDo not send infolines when a normal user joins a +D channel.
Michael Poole [Tue, 9 Mar 2010 02:30:59 +0000 (21:30 -0500)]
Do not send infolines when a normal user joins a +D channel.

src/chanserv.c (handle_join): Suppress infolines for users whose JOIN is
    not going to be broadcast.

14 years agoFix dereference of invalid pointer with ?chaninfo of empty +z channel.
Michael Poole [Tue, 9 Mar 2010 02:29:53 +0000 (21:29 -0500)]
Fix dereference of invalid pointer with ?chaninfo of empty +z channel.

src/opserv.c (cmd_chaninfo): Make sure there is at least one element in
    the members array before reading from the first element.