Adam
6a03eb69eb
Add "virtual mode" support
...
This allows fully tracking extbans and other modes set by a different
underlying mode, such as InspIRCd's namedmodes
Add two configuration options to cs_ban to configure which mode is set
and whether or not to kick banned users.
Add default "mute" fantasy command to botserv.example.conf
2014-04-25 16:51:06 -04:00
Adam
a259244297
Make bouncymodes harder to trigger by only bumping server modcount when something changes
2014-03-20 10:53:27 -04:00
Adam
ef9729fb02
Mark all channels as syncing when we connect to our uplink. They will
...
finish syncing later when the uplink syncs. Normally the channel state
is fully synced here anyway, except if we do not know the modes the
uplink has yet.
Also fix a related issue with resetting chanels and bouncing modes on
our clients, if this is done prior to knowing which modes exist it would
silently fail.
2014-03-14 22:13:04 -04:00
Adam
09bec79b47
Fix 2 crashes from removing the permanent channel mode from channels which do not exist
2014-03-04 04:15:32 -05:00
Adam
5adc8bfefc
Do not take modes from users in channels with secureops off if we are always lowering channels timestamps to their creations
2014-02-27 04:48:48 -05:00
Adam
5dfa6598c2
Do not sync channels in Channel::Reset if they are in the middle of syncing, and checkmodes in Channel::Sync. Fixes channel modes sometimes not being set if always_lower_ts is on
2014-02-14 11:09:53 -05:00
Adam
6d61a84286
Add an opertype priv "protected" to not allow services to kick a user.
...
Also classify ulines as protected
2014-02-09 18:51:52 -05:00
Adam
595dad4ec1
Update copyright to 2014. This was done with:
...
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
2014-01-01 20:48:38 -05:00
Adam
51a9f64adb
Use the source's sync state and not mine when processing sjoins to determine whether or not to sync the channel on creation, instead sync it when the server syncs.
2013-11-16 09:38:13 -05:00
Adam
04e7fa493a
Don't take modes in SetCorrectModes if the user has the ME privilege
2013-11-01 02:04:21 -04:00
Adam
b005089f2f
Dont allow multiple list modes with the same param on the mode list at once
2013-09-03 19:58:40 -04:00
Adam
678f54903d
Fix not resetting channel status modes on our clients when a channel ts lowers
2013-08-25 22:57:26 -04:00
Adam
847cceaba3
Create persistent channels on startup, which used to work and got lost somewhere
...
Fix some oddities with using persistent channels with no botserv
Send list modes to uplink when bursting
Fix issues with persist + keepmodes
Fix /os modes clear all not clearing all status modes
Fix operwall on ratbox/plexus
Dont apply mlock in SetCorrectModes since that just recursively calls itself unncessarially
Change command logging to show the command name and not the service name
2013-08-25 04:48:43 -04:00
Adam
5ac0c9a327
Fix previous commit
2013-08-22 17:33:16 -04:00
Adam
e8763d5b3c
Always set +o on users who have access for it, even if higher modes have a prefix
2013-08-22 01:48:17 -04:00
Adam
1e625b6837
Use MessageSource as the source for many IRCDProto funcs
...
Keep track of what user modes are oper only/server only/etc
2013-08-01 13:39:35 +00:00
Adam
6db0186947
Fix not setting the correct compile flags on modules and fix the resulting warnings
2013-07-20 03:06:20 -04:00
Adam
1a3d9a016d
Change extensible keys to require explicitly having a type defined for it. Completely modularize more features like bs_kick, entrymsg, log, mode, etc. Move fantasy to its own module. Move greet to its own module.
2013-07-01 22:17:52 -04:00
Adam
9956da18e3
Move OnJoinChannel event to trigger after the user has completely joined and document it more about what you should and shouldnt do in it
2013-06-01 21:56:52 -04:00
Adam
b56e71ab14
Move CheckKick event to Channel and make os_forbid use it instead of kicking users in the join event, which does bad things
2013-06-01 14:55:45 -04:00
Adam
06bad31b18
Fix Channel::SetCorrectModes to never remove modes <= voice (currently secureops enforces everything, inclurding voice)
2013-05-28 22:17:22 -04:00
Adam
37b3535543
Initially attach all modules to all events, and detach them as the events are run if they are not implemented per module
2013-05-27 19:36:37 -04:00
Adam
22658d63bd
Get rid of the remaining references in the core to specific services. Move more stuff out of the core to the proper modules.
2013-05-26 17:13:11 -04:00
Adam
735e234c2c
Fixed some issues and desyncs with creating empty permanent channels on startup & dropping empty channels
2013-05-08 20:26:45 -04:00
DukePyrolator
223aa65cfa
removed an unused variable
2013-05-06 07:28:23 +02:00
Adam
1d0bb9b26b
Rework the config file reader to be much more flexible and move many configuration directives to the actual modules they are used in.
2013-05-05 01:55:04 -04:00
Adam
c3eb5b885d
And my bots initially start with no server..
2013-04-09 04:23:29 -05:00
Adam
6faf4e3823
'Me' can not exist when channels are created
2013-04-09 04:13:49 -05:00
Adam
72493b7305
Fix secureops
2013-04-08 00:42:07 -05:00
Adam
1a37e1c048
Made auto* chanserv privileges not hard coded.
...
Made cs_statusupdate not remove status on users if they still match other entries.
Move privilege descriptions out of the config
2013-04-08 00:19:07 -05:00
Adam
fb7fef7a84
Optimizations of much of the more commonly used code
2013-04-07 23:46:44 -05:00
Adam
a911354f24
Fix "leave" channel log level
2013-02-22 00:39:13 -05:00
Adam
32592987c8
Allow /os mode clear [all] to unset modes, similar to old clearmodes
2013-02-19 04:07:53 -05:00
Adam
cb91f991a3
Made the mode bouncing detector harder to hit and ignore syncing channels
2013-02-18 22:10:57 -05:00
Adam
7656c25e38
Made chanserv/unban with no parameters unban you in every channel you have access in
2013-02-14 01:20:18 -05:00
Adam
01413dd3cc
Use channel mode +r to determine if a channel has either been newly created or
...
created while we were offline (eg, during the inital burst to the
uplink). Fixes not knowing whether or not channels ops in non-secureop
non-persistent channels obtained op while we were offline by creating
the channel or legitimately by being set op by another channel op.
2013-02-07 21:49:49 -05:00
CuleX
74ace7d4b9
Channel::HasUserStatus: Don't just return false if cms is NULL.
2013-01-24 00:34:41 -05:00
Adam
cad3850f3d
Move channel mode set and unset events to be after the action has been done internally to allow easially canceling it
2013-01-22 01:23:55 -05:00
Adam
7de058ba35
Fix crash trying to unset the permanent channel mode during channel syncs of empty channels
2013-01-22 00:24:58 -05:00
Adam
ddaa001daf
Merge usefulness of Flags and Extensible classes into Extensible, made most flags we have juse strings instead of defines/enums
2013-01-21 22:31:16 -05:00
Adam
51c049e1a7
Really fix Channel::GetModes
2013-01-21 18:03:31 -05:00
Adam
93472f84bd
Revert "Fix Channel::GetModes, we can never have a negative mode set on a channel so this check is unnecessary"
...
This reverts commit 678d27fdb7 .
2013-01-21 17:59:22 -05:00
Adam
678d27fdb7
Fix Channel::GetModes, we can never have a negative mode set on a channel so this check is unnecessary
2013-01-21 17:55:27 -05:00
Adam
5007b72b28
Update copyright to 2013. This was done with:
...
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-2012 Anope Team/-2013 Anope Team/i' {} \;
2013-01-09 04:20:55 -05:00
Adam
b591e8cdc8
Use the same object for chanusercontainer and userchancontainer
2012-12-28 10:43:30 -05:00
Adam
05094b0da5
When processing many modes don't enforce mlock until all are set
2012-12-27 15:03:38 -05:00
Adam
784683a68d
Having these references to bots bugged out older compilers, so simplify this by just moving pointers to the core
2012-12-19 08:48:23 -05:00
Adam
d33a0f75a5
Pretty large coding style cleanup, in source doc
...
cleanup, and allow protocol mods to depend on each
other
2012-11-22 00:50:33 -05:00
Adam
5d6fb2427e
Fixed some stuff spotted by Cronus, made db_old convert ACCESS_INVALID levels to ACCESS_FOUNDER, fix cs_enforce +R from an earlier commit, fixed ChangeModeInternal TS checking when IRCds don't send TS on mode
2012-11-16 00:03:15 -05:00
Adam
53e8cd18dc
Duplicate check some of these larger hashmaps on insert, just incase
2012-11-07 21:57:31 -05:00