pk910 [Sat, 26 Nov 2011 14:34:20 +0000 (15:34 +0100)]
don't use empty new_channel_unauthed_join, new_channel_authed_join or new_channel_message settings
pk910 [Thu, 24 Nov 2011 22:59:11 +0000 (23:59 +0100)]
activated new fakehost protocol
root [Wed, 9 Nov 2011 15:27:40 +0000 (16:27 +0100)]
Merge remote branch 'upstream/master'
Conflicts:
src/chanserv.c
pk910 [Wed, 9 Nov 2011 14:53:53 +0000 (15:53 +0100)]
fixed vote commands
lukas9950 [Wed, 2 Nov 2011 00:27:54 +0000 (01:27 +0100)]
changed cmd_version informations
root [Tue, 1 Nov 2011 21:02:19 +0000 (22:02 +0100)]
Merge remote branch 'upstream/master'
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.)
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.
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.
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().
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.
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.
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.
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.
pk910 [Sun, 16 Oct 2011 00:01:40 +0000 (02:01 +0200)]
fixed unused variable warning
pk910 [Sat, 15 Oct 2011 23:58:26 +0000 (01:58 +0200)]
allow IRC Ops unregister protected channels (nodelete override)
pk910 [Wed, 12 Oct 2011 19:09:35 +0000 (21:09 +0200)]
added cmd_opme command to chanserv (based on new devnull privilege: OpMe)
pk910 [Fri, 26 Aug 2011 09:58:14 +0000 (11:58 +0200)]
added $U $I $H (moved previous $H to $A)
pk910 [Thu, 25 Aug 2011 02:42:13 +0000 (04:42 +0200)]
ignore badwords on channels watchdog isn't in
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 ;))
pk910 [Tue, 16 Aug 2011 21:14:25 +0000 (23:14 +0200)]
don't hide protected channels from Network Helpers in cmd_myaccess
pk910 [Sat, 23 Jul 2011 22:37:07 +0000 (00:37 +0200)]
changed TOKEN of FFAKEHOST2 to NFH
pk910 [Sat, 23 Jul 2011 22:29:59 +0000 (00:29 +0200)]
activated the new features
pk910 [Sat, 23 Jul 2011 06:12:00 +0000 (08:12 +0200)]
fixed a (maybe) error in the database write function (mod-watchdog.c)
pk910 [Fri, 22 Jul 2011 01:38:07 +0000 (03:38 +0200)]
KICK user only if he's really in the channel!
pk910 [Fri, 22 Jul 2011 00:47:29 +0000 (02:47 +0200)]
fixed some syntax errors & tidied up code a little bit
pk910 [Fri, 22 Jul 2011 00:43:19 +0000 (02:43 +0200)]
extended example configuration file for mod-Watchdog
pk910 [Fri, 22 Jul 2011 00:41:52 +0000 (02:41 +0200)]
added real message "scanner" to mod-watchdog.c
pk910 [Thu, 21 Jul 2011 23:57:30 +0000 (01:57 +0200)]
fixed NULL bug on modcmd.c cmd_stats_services
pk910 [Thu, 21 Jul 2011 23:41:03 +0000 (01:41 +0200)]
reset triggered counter when changing mask (Watchdog BadWord)
pk910 [Thu, 21 Jul 2011 23:31:41 +0000 (01:31 +0200)]
added cmd_setbad
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
pk910 [Thu, 21 Jul 2011 19:22:01 +0000 (21:22 +0200)]
connect Watchdog before loading saved data (channels)
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
pk910 [Thu, 21 Jul 2011 01:23:34 +0000 (03:23 +0200)]
fixed cmd_users counter (-1)
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)
pk910 [Thu, 21 Jul 2011 00:54:24 +0000 (02:54 +0200)]
added total user count to cmd_users
pk910 [Wed, 20 Jul 2011 22:13:10 +0000 (00:13 +0200)]
fixed watchdog config path (modules/watchdog)
pk910 [Wed, 20 Jul 2011 21:44:54 +0000 (23:44 +0200)]
added chanlist to mod-watchdog.c
pk910 [Wed, 20 Jul 2011 20:38:25 +0000 (22:38 +0200)]
fixed mod-watchdog.c basics
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
pk910 [Wed, 20 Jul 2011 20:23:00 +0000 (22:23 +0200)]
added mod-watchdog (without any functions, yet)
Zer0n [Wed, 20 Jul 2011 18:42:12 +0000 (20:42 +0200)]
changed cmd_myaccess: added ".. is owner of XX channel(s)."
Lukas [Wed, 20 Jul 2011 13:38:10 +0000 (15:38 +0200)]
added flag +I (user not shown in staff list)
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)
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)
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
pk910 [Sun, 17 Jul 2011 15:20:11 +0000 (17:20 +0200)]
step over ! if it's allowed on MODE_NOFLOOD
pk910 [Sun, 17 Jul 2011 14:47:26 +0000 (16:47 +0200)]
fully included MODE_AUDITORIUM & fixed a missing break
pk910 [Sun, 17 Jul 2011 14:45:50 +0000 (16:45 +0200)]
removed nickserv.c "comparison between signed and unsigned" compiler warning
pk910 [Sun, 17 Jul 2011 14:37:14 +0000 (16:37 +0200)]
removed some debug output and fixed mode handling
pk910 [Sun, 17 Jul 2011 14:12:12 +0000 (16:12 +0200)]
include MASK check to LOC Authentication
pk910 [Sun, 17 Jul 2011 04:49:22 +0000 (06:49 +0200)]
check AutoHide setting on LOC Authentication
pk910 [Sun, 17 Jul 2011 02:05:29 +0000 (04:05 +0200)]
added FAKEHOST2 to support the FAKEIDENT idea coming from srvx DEV
pk910 [Sun, 17 Jul 2011 01:32:07 +0000 (03:32 +0200)]
reverted new fakehost change method (causes ident as host on ircu :D)
pk910 [Sun, 17 Jul 2011 01:25:11 +0000 (03:25 +0200)]
fix
pk910 [Sun, 17 Jul 2011 01:17:18 +0000 (03:17 +0200)]
show Access on cmd_handleinfo & bypass mask check for clones
pk910 [Sun, 17 Jul 2011 01:06:36 +0000 (03:06 +0200)]
added helpserv public channel
pk910 [Sun, 17 Jul 2011 01:04:25 +0000 (03:04 +0200)]
added CMODE_AUDITORIUM & CMODE_NOFLOOD
pk910 [Fri, 8 Jul 2011 16:08:59 +0000 (18:08 +0200)]
added unknown command handler (just reply that the command is unknown ^^)
pk910 [Fri, 8 Jul 2011 16:08:28 +0000 (18:08 +0200)]
make bots being able to see channels of other bots and services
pk910 [Fri, 8 Jul 2011 15:58:58 +0000 (17:58 +0200)]
svsjoin, svsmode, svsnick, relay and simul added
pk910 [Fri, 8 Jul 2011 15:42:10 +0000 (17:42 +0200)]
added mode +a access check
pk910 [Fri, 8 Jul 2011 15:26:36 +0000 (17:26 +0200)]
channel created messages added
pk910 [Fri, 8 Jul 2011 14:49:55 +0000 (16:49 +0200)]
added option to force opers to be in staff_auth_channel
pk910 [Fri, 8 Jul 2011 00:07:00 +0000 (02:07 +0200)]
fixed various build errors
pk910 [Thu, 7 Jul 2011 23:54:49 +0000 (01:54 +0200)]
added LOC Support with privilege exchange and privilege class interface
pk910 [Thu, 7 Jul 2011 23:20:19 +0000 (01:20 +0200)]
added field called "website" to the handle info (only accessible by bots)
pk910 [Thu, 7 Jul 2011 21:04:36 +0000 (23:04 +0200)]
added $.x.y fakhosts where $ gets replaced with the users auth handle
pk910 [Thu, 7 Jul 2011 20:50:19 +0000 (22:50 +0200)]
general P10_RELAY, P10_SVSMODE & P10_SVSJOIN support
pk910 [Thu, 7 Jul 2011 20:40:45 +0000 (22:40 +0200)]
increased TOPICLEN to 500
pk910 [Thu, 7 Jul 2011 20:37:06 +0000 (22:37 +0200)]
general support for Channel Mode +NMFa and User Mode +SDXHst
pk910 [Thu, 7 Jul 2011 20:12:21 +0000 (22:12 +0200)]
added invite_timeout to the example configuration
pk910 [Thu, 7 Jul 2011 20:07:40 +0000 (22:07 +0200)]
ignore MODE -z but allow MODE +z
pk910 [Thu, 7 Jul 2011 20:01:59 +0000 (22:01 +0200)]
only give users +ov if they have UserAutoOp enabled on cmd_resync
pk910 [Thu, 7 Jul 2011 19:57:24 +0000 (21:57 +0200)]
cmd_invitemeall added
pk910 [Thu, 7 Jul 2011 19:32:22 +0000 (21:32 +0200)]
fixes for the last commits (buildable now)
pk910 [Thu, 7 Jul 2011 19:28:38 +0000 (21:28 +0200)]
added entry counter to cmd_myaccess
pk910 [Thu, 7 Jul 2011 19:24:53 +0000 (21:24 +0200)]
added channel votes
pk910 [Thu, 7 Jul 2011 18:57:00 +0000 (20:57 +0200)]
added channel expire setting
pk910 [Thu, 7 Jul 2011 18:42:12 +0000 (20:42 +0200)]
added cmd_info peek time info
pk910 [Thu, 7 Jul 2011 11:24:14 +0000 (13:24 +0200)]
added user invite timeout
pk910 [Thu, 7 Jul 2011 11:09:49 +0000 (13:09 +0200)]
appended pre-install notes to INSTALL
pk910 [Thu, 7 Jul 2011 11:07:23 +0000 (13:07 +0200)]
fixed a small build problem (RANLIB is undefined)
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
Michael Poole [Mon, 27 Jun 2011 01:59:22 +0000 (21:59 -0400)]
Fix typo in #if test for localtime_r().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.