Kyle Jonhson
27b08207de
channel: refactor fe3c1c828e
and fix surrounding indentation
2013-11-15 05:00:40 +00:00
Sam Dodrill
8e1c8b7543
src/channel: Fix for autojoin_opers segfault
2013-11-07 11:39:43 -08:00
Sam Dodrill
2cfa339185
Explicitly allow channel admins to kick eachother
2013-10-10 10:55:42 -07:00
Sam Dodrill
6e14174c95
Disallow non-channel ops from kicking users
2013-10-09 13:13:51 -07:00
Sam Dodrill
0814442111
away-notify and away rate limiting added
...
Referenced:
atheme/charybdis@c5bbc60375 : Add
away-notify client capability.
atheme/charybdis@d42e6915cf : Pace aways.
atheme/charybdis@725403fd7f : Don't end
the flood grace period with the first AWAY.
atheme/charybdis@dc0fd46236 : Ensure AWAY
pacing only affects local clients.
2013-10-04 21:32:00 -07:00
Sam Dodrill
0d45b7860f
Merge account-notify and extended-join client capabilities
2013-09-29 05:24:52 -07:00
Sam Dodrill
172deacb06
Finalize behavor of channel admins
...
Channel admins are able to kick channel admins
2013-09-13 19:52:30 -07:00
Sam Dodrill
aa294a3a54
Support for channel owner mode added
...
This is a lot like the previous channel owner mode patch, except the
documentation that previously said "admin" now says "owner" in comments.
src/channel: Kicking logic for owner mode fixed
src/channel: Document the kick/deop logic
decruft: remove temporary files
2013-09-13 11:45:38 -07:00
JD Horelick
4b631c0586
Send ERR_TOOMANYCHANNELS for each channel join that fails due to channel limits.
...
The reason why we do this is because some clients are dependent on receiving a numeric
for every channel join failure, even due to this limit where it can be assumed that
subsequent joins failed.
2010-12-15 00:02:47 -05:00
B.Greenham
5323ec7352
Move flood_attack_channel to channel.c so it can be used outside m_message.c
2010-12-11 16:11:54 -05:00
B.Greenham
4023293674
Merge.
2010-10-11 11:58:39 -04:00
B.Greenham
90728edb58
Backed out changeset 3097ade953f5
...
Backout modesets.
They're overly invasive and a bit uglier than is required.
The same thing can be accomplished in a better way with another method.
2010-10-11 11:58:21 -04:00
B.Greenham
1fe75e33cc
mode api: Remove most modes from the chmode_table, and have them initialized in modeset files.
...
Modeset files are modules stored in shadowircd/modes. All they do is initalize
a set of modes on load, and orphan said modes on unload.
All cmodes not included in ircd-ratbox are now located in modeset files, rather
than being in the core. These modes no longer simply use defines, their
locations are stored in a the new struct module_modes. Each of these is set
when intializing the mode in the modeset files, and set to 0 when orphaning
the mode upon unloading the modeset file.
In addition, use_forward has been removed, as it is now obsoleted by modesets.
2010-07-02 19:09:46 -04:00
JD Horelick
133755685e
Removal of ancient SVN ID's part one
2010-06-10 21:22:44 -04:00
Stephen Bennett
b72bd23a03
Rework ircd-side MLOCK enforcement: instead of trying to track modes locked on or off, instead keep a simple list of mode letters that are locked, and reject any change to those modes.
2010-04-30 22:01:21 +01:00
JD Horelick
ea84bfdeff
Backed out changeset c04f6578869c
2010-09-11 13:31:00 -04:00
JD Horelick
e09ea16973
"Import" changeset 1346:c57955c5225e from charybdis by hand.
2010-09-11 13:23:35 -04:00
B.Greenham
2498a1b577
Fix some valgrind warnings.
2010-05-27 18:03:51 -04:00
JD Horelick
1add004b97
Change kicknorejoin to be hardcoded to 2 seconds instead of a
...
configurable opton.
2010-05-21 04:20:45 -04:00
JD Horelick
f0e0e5672d
Backed out changeset 9bd802724b74
2010-05-21 04:08:05 -04:00
JD Horelick
446c7d4f57
Remove +J chmode (KICKNOREJOIN)
2010-05-21 03:29:07 -04:00
Jilles Tjoelker
9b9d818b32
Add propagated resvs, like klines and xlines.
2010-03-27 16:13:57 +01:00
B.Greenham
d76346d3d4
Make channel::admin_on_channel_create only work if admin is enabled.
2010-07-29 14:26:18 -04:00
B.Greenham
d7a3d23cdd
Add channel::admin_on_channel_create, which gives users creating new channels +ao instead of +o, if enabled.
2010-07-29 14:22:33 -04:00
B.Greenham
7bd3701cd6
Remove override being able to automatically and silently go through +q/+m/etc.
...
This was previously doable without sending wallops, and had high abuse potential.
Overriding opers can set themselves +v/+o or remove the offending mode if they need to get past such things.
2010-03-16 13:44:44 -04:00
JD Horelick
71ea606903
Make override WALLOPS actually send netwide this time.
2010-03-07 23:22:07 -05:00
B.Greenham
c1c91f9438
s/owner/admin/ throughout the source code and docs.
2010-03-07 23:18:39 -05:00
B.Greenham
f8b60fb5fd
Make joining in override only wallops if you couldn't normally join the channel.
2010-03-07 22:58:27 -05:00
JD Horelick
34d8ef4d14
Change all override snotes to wallops to match m_o* and to
...
make it a lot more obvious when a oper is using override.
2010-03-07 22:42:51 -05:00
B.Greenham
bc4764aefd
Looks like irc_dictionary things cannot support more than one key with the same value. Therefore, a rework of +J and OACCEPT's metadata are required to make them work properly with multiple users.
2010-03-06 19:22:59 -05:00
JD Horelick
a8afd89db2
Made overriding join send snotes.
2010-03-05 19:32:17 -05:00
B.Greenham
d3b90aaad3
Clean up +J to work nicely and properly.
2010-03-05 13:45:01 -05:00
B.Greenham
6a97cac667
Make channel_metadata_time_add accept a regular value as well as a time value.
2010-03-05 11:57:48 -05:00
B.Greenham
0b370fcc63
There's no reason to have two nearly identical structs for metadata, move metadata struct to ircd.h and use it for both channel and user metadata.
2010-03-05 00:51:40 -05:00
B.Greenham
8bced6dc39
Add *_metadata_clear and start using them.
2010-03-05 00:39:18 -05:00
B.Greenham
104becbf7f
Add channel_metadata_time_add, a local only form of metadata that stores time values. And use it to make +J work.
2010-03-05 00:18:56 -05:00
B.Greenham
9a4dc29c68
Finish chmode +K, which prevents repeated lines.
2010-03-04 18:05:15 -05:00
B.Greenham
cc39ce707d
Make it so that channels can have more than one piece of channel metadata with the same value.
2010-03-04 17:49:15 -05:00
B.Greenham
6f659342dc
Add channel metadata system.
2010-03-04 15:08:16 -05:00
JD Horelick
565f4362f2
A couple more chm_hidden cleanups/fixes.
2010-03-03 15:16:06 -05:00
JD Horelick
1cdd8fdfd7
Framework for hidden (only opers can see/set them) chmodes.
...
The first one of these is +M and the actual extension which handles
+M will be added next commit.
2010-03-03 14:35:54 -05:00
B.Greenham
5ad94b5000
Add channel::exemptchanops, and make +cCDTNG support it.
2010-03-01 02:43:55 -05:00
B.Greenham
0eceaff17a
Borrow some ircd-seven code to create channel::use_local_channels.
2010-02-28 22:42:59 -05:00
B.Greenham
82f8e812f5
Add full support for +a (owner) and +h (halfop) chmodes.
2010-02-28 02:35:48 -05:00
B.Greenham
b8643345db
Update find_channel_status() for halfop and owner.
2010-02-27 22:50:41 -05:00
B.Greenham
40c6b59b63
Add is_halfop() and is_owner() and start using them in the new functions.
2010-02-27 21:53:46 -05:00
B.Greenham
b3b2ed9780
Add can_kick_deop() and use it in m_kick.
2010-02-27 21:27:05 -05:00
B.Greenham
bbc6973347
Move is_chanop_voiced() to a function in channels.c in preperation for +ah.
2010-02-27 19:40:52 -05:00
B.Greenham
d1c7eccf6a
Add is_any_op() in preperation for adding +ah, start using it instead of is_chanop() in a few places.
2010-02-27 19:20:01 -05:00
B.Greenham
99c780941a
Fix everything I broke with the last three commits and make +G work for real.
2010-02-25 20:36:03 -05:00