Adam
79e7c3f98a
Also defer channel deletion when processing sjoins
2016-03-19 16:21:40 -04:00
Robby
f118960a25
Update copyright to 2016. This was done with:
...
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
Added missing copyright headers to files that didn't have it yet.
Fixed some whitespace and blank lines along the way.
2016-01-28 20:24:49 +01:00
Adam
1ac4a1d9a5
Defer channel deletion until after i/o. There are some edge cases with events kicking users mid-event that can delete them.
2015-09-17 10:07:30 -04:00
Adam
907e192aab
Merge pull request #126 from SaberUK/2.0+typos
...
Fix a ton of typos.
2015-09-06 16:11:50 -04:00
Adam
c007b829f7
Don't unset modes which have no privilege associated with them
2015-09-06 16:01:43 -04:00
Adam
ceddb8370c
Unset extensibles on larger objects when they destruct
...
Some complex extensibles require the full object to still be alive in
their destructors to keep proper bookkeeping
2015-07-13 17:59:14 -04:00
Peter Powell
1666b1a8d8
Fix a ton of typos.
2015-07-08 11:06:02 +01:00
Adam
845ca576b4
More properly track topic change sources and allow users with access to change topics through topiclock
2015-01-28 22:57:15 -05:00
Adam
969cd5dd6c
Always use source name when logging server kicks
2015-01-10 15:29:19 -05:00
Adam
bf8f62c32d
Change Channel::GetModeList to return a copy of the mode list, not a
...
pair of lower/upper bound iterators.
Sometimes when iterating the list, like in cs_mode, we can modify the
contents of it, which combined with mlock always agressively trying to
readd modes to it can do bad things.
2014-08-24 16:39:04 -04:00
Adam
3c88f3b8cf
Check modetimes in CheckModes before enabling bouncy modes
2014-07-15 17:02:14 -04:00
Adam
63b02b8c97
Sanitize nuh masks more to prevent the other side from rewriting them, which screws with our internal tracking of them
2014-05-13 22:57:53 -04:00
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