Jilles Tjoelker
c177d078ea
Among bans with the same creation time, prefer the one with longest lifetime.
2010-03-05 23:16:28 +01:00
Jilles Tjoelker
05114b16a3
BAN: Avoid fake direction.
2010-03-05 22:53:35 +01:00
Jilles Tjoelker
e49d818579
Remove +/- from the BAN message, instead indicating unban with duration=0.
...
A kline must now last at least one second since its creation time.
Also add better logic for bans that have already expired
when they come in.
2010-03-05 22:51:47 +01:00
Jilles Tjoelker
65b8e0029e
Add propagated klines.
...
A KLINE command without the ON clause now sets a propagated
("global") ban. KLINE commands with the ON clause work as
before.
Propagated klines can only be removed with an UNKLINE command
without the ON clause, and this removes them everywhere.
In fact, they remain in a deactivated state until the latest
expiry ever used for the mask has passed.
Propagated klines are part of the netburst using a new BAN
message and capab. If such a burst has an effect, both the
server name and the original oper are shown in the server
notice.
No checks whatsoever are done on bursted klines at this time.
The system should be extended to XLINE and RESV later.
There is currently no way to list propagated klines,
but TESTLINE works normally.
2010-03-05 18:36:44 +01:00
JD Horelick
64dd2404ca
Rewrite message when you don't have the privs to kick a user
...
(be it that the user is +a and you're +o/+h or you're not an op at all).
2010-03-25 12:31:12 -04:00
JD Horelick
d25c6eb1b2
Yay for documenting code....
2010-03-23 21:20:07 -04:00
JD Horelick
5ff039e923
Make remote restart and die actually...work...
2010-03-23 15:21:09 -04:00
JD Horelick
658a333d65
Pull in remote restart and die (from ircd-seven) allow opers
...
to remotely restart and die servers.
2010-03-23 14:21:31 -04:00
JD Horelick
6f7a78f6aa
Added check for flood settings in m_message. Why was this not here
...
before? What good are flood settings really if they're not applied
to messages?
2010-03-21 03:43:25 -04:00
B.Greenham
aa9a8067b1
Use strip_unprintable for chmodes +K and +G, which makes evasion less trivial.
2010-03-20 12:49:57 -04:00
B.Greenham
2c0c690444
Fix some compile warnings.
2010-03-18 12:32:42 -04:00
JD Horelick
b705a46f43
Fix a signedness comparison warning.
2010-03-17 03:42:40 -04:00
B.Greenham
7469e4b0d2
Remove the ability of overriding opers to privmsg/notice @#channel while lacking ops.
...
Since this goes past +q/+m and so on, it could easily and silently be abused.
2010-03-16 13:47:03 -04:00
JD Horelick
e78f685073
Add use_part_messages config option. When disabled, this will show
...
all PARTs without a message/reason. Recommended to set to no if
a static quit message is set.
2010-03-13 22:56:38 -05:00
JD Horelick
c0e2aa60b8
Added static_quit support. Pretty much what the name implies.
2010-03-13 22:19:29 -05:00
B.Greenham
0fbe4a384c
Make metadata use UIDs for s2s communication, and fix up propegation of channel metadata.
2010-03-08 18:09:10 -05: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
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
JD Horelick
b6a3d80129
Change many of the ERR_CANNOTSENDTOCHAN messages to say WHY the user
...
can not send to the channel for the new chmodes.
2010-03-07 17:03:12 -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
B.Greenham
e80126d0d3
Fix +K unintentionally stripping any messages to the channel of color.
2010-03-05 20:59:23 -05:00
B.Greenham
a58b84b4b2
Fix +J not checking for local clients properly.
2010-03-05 20:23:52 -05:00
B.Greenham
1c646b8914
Fix +g messages not showing to opers.
2010-03-05 14:39:42 -05:00
B.Greenham
e6f94b0c3c
Make oaccept use UIDs instead of nicks.
2010-03-05 14:34:44 -05:00
B.Greenham
85465c4341
Make +gGR not affect services.
2010-03-05 14:28:48 -05:00
B.Greenham
75a9b0c8b0
Make oaccept work for multiple opers on the same target.
2010-03-05 14:26:40 -05:00
B.Greenham
d3b90aaad3
Clean up +J to work nicely and properly.
2010-03-05 13:45:01 -05:00
B.Greenham
d925c36c4e
Make m_okick support +J.
2010-03-05 01:40:52 -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
6f659342dc
Add channel metadata system.
2010-03-04 15:08:16 -05:00
B.Greenham
1fbf6db662
Add extensions/m_oaccept , a module to allow opers to bypass +gGR with a command.
2010-03-04 01:40:13 -05:00
B.Greenham
03d65f8fbb
Backed out changeset 8ff8459cb04d
2010-03-03 23:20:48 -05:00
JD Horelick
ccd2e3b8ee
Have KICK not show snotes when you're opped in the channel and you have
...
override on.
2010-03-03 22:34:44 -05:00
B.Greenham
1e25cb1e0e
Add core/m_metadata.c , a module required for metadata propegation to work.
2010-03-03 20:41:39 -05:00
JD Horelick
e7c1f6a51f
Luke! Use the fail Luke!
...
The fail. I am made of it.
* Jdhore boards the failboat.
2010-03-03 15:38:28 -05:00
JD Horelick
cb097b8840
Don't discard self-oppings from remote override opers.
...
There's a small chance this could be incorrect.
Also, the final set of override cleanups.
2010-03-03 15:34:57 -05:00
JD Horelick
565f4362f2
A couple more chm_hidden cleanups/fixes.
2010-03-03 15:16:06 -05:00
JD Horelick
f428b59fa8
Add +M awareness to KICK.
2010-03-03 14:51:25 -05:00
JD Horelick
fbd2e5da56
Make KICK and INVITE send snotes on override.
2010-03-02 13:07:14 -05:00
B.Greenham
5ad94b5000
Add channel::exemptchanops, and make +cCDTNG support it.
2010-03-01 02:43:55 -05:00
B.Greenham
6a52011244
Fix m_kick so that it checks if you're trying to kick the target, not yourself.
2010-02-28 12:07:16 -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
b3b2ed9780
Add can_kick_deop() and use it in m_kick.
2010-02-27 21:27:05 -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
0099f31acf
Add some code back in that I accidentally deleted.
2010-02-25 20:41:19 -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
B.Greenham
12cbce8059
Fix up +G and make it actually work.
2010-02-25 19:16:38 -05:00
B.Greenham
61ffa214b4
Add umode +G, soft callerid.
2010-02-25 17:57:12 -05:00
JD Horelick
13a467bb98
Override part one.
2010-02-25 16:01:03 -05:00
JD Horelick
afe430eebb
Backed out changeset 677d7b5cbbcc
2010-02-25 15:47:08 -05:00
JD Horelick
c7c1673d10
bad
2010-02-25 15:46:42 -05:00
B.Greenham
2b3c7c29c3
Add chmode +G, which blocks messages in all caps.
2010-02-25 01:51:28 -05:00
B.Greenham
afd4834b50
Add chmode +N, which prevents nickchanges.
2010-02-25 01:14:38 -05:00
B.Greenham
f9e91eceaa
Add chmode +E, which prevents ops from using /kick on channels where it is set.
2010-02-23 18:14:43 -05:00
JD Horelick
9230426e7a
More moving
2010-02-23 02:52:01 -05:00
JD Horelick
67b90240c4
move user_join() to channels.c
2010-02-23 02:48:33 -05:00
JD Horelick
080bb5cf25
Start moving parts of join to channels.c so they can be used in more places.
2010-02-23 02:41:26 -05:00
B.Greenham
0bd6cfbe28
Compile fix.
2010-02-23 01:58:38 -05:00
B.Greenham
7e6c9180da
Add chmode +D, which blocks CTCP ACTION.
2010-02-23 01:08:42 -05:00
B.Greenham
6afd4b916f
Add chmode +T, which blocks notices.
2010-02-23 00:49:24 -05:00
B.Greenham
ccfc9b567d
Add umode +C, which blocks CTCPs to anyone with it set.
2010-02-22 22:14:47 -05:00
Jilles Tjoelker
fdd0b6ccf1
Do not penalize for spambot checks if creating a new channel.
2010-02-21 01:45:51 +01:00
Jilles Tjoelker
896e8e51b7
JOIN 0: Make spambot check equivalent to PART's.
2010-02-21 01:12:04 +01:00
Jilles Tjoelker
8cf4cea3da
Remove dead code: last_join_time is already updated by check_spambot_warning().
2010-02-21 01:10:04 +01:00
Jilles Tjoelker
d5e959f179
Do not check for spambot if the user is not allowed to join the channel.
2010-02-21 01:07:32 +01:00
Jilles Tjoelker
878733fd68
Move target change code to src/tgchange.c,
...
so we can use it for /invite as well.
2010-02-15 21:58:34 +01:00
Jilles Tjoelker
7eb9307794
target change: Allow free replies.
...
When a user receives a private message, notice or RPL_UMODEGMSG,
add the source to a special set of 5 target slots.
These slots are checked in the normal way when sending messages,
allowing a reply without using up a free target.
This feature will not be very useful if a user is being messaged
by many different users; to help this, messages blocked entirely
by +g or +R do not affect the targets. CTCP replies also remain
free in terms of targets.
2010-02-15 01:07:07 +01:00
Jilles Tjoelker
3002877654
target change: Overwrite the least recently used target with a new one.
2010-02-15 00:31:17 +01:00
Jilles Tjoelker
d29b1834c3
Make the number of targets tracked for target change a #define.
2010-02-13 15:18:17 +01:00
Jilles Tjoelker
04bf0760f9
Fix op-moderate (cmode +z) for channel names with '@'.
2010-01-24 19:37:00 +01:00
Jilles Tjoelker
343e239585
Put back fb7d6089158e, not setting large_ctcp_sent for CTCP ACTION.
2010-01-20 00:03:57 +01:00
William Pitcock
92a7995129
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
Jilles Tjoelker
ebc55af53c
Do not set large_ctcp_sent for CTCP ACTION as it does not request a reply.
2010-01-14 01:12:16 +01:00
Stephen Bennett
c387fc41ae
Revert all presence-related changes
2009-12-08 19:22:55 +00:00
William Pitcock
987ef7eb1f
presence: Remove user.away, replaced by a metadata entry.
...
Cache the metadata retrieval value where feasible for minimal performance impact.
2009-06-02 02:03:51 -05:00
Jilles Tjoelker
fcda56627d
Allow ctcp replies through floodcount after ctcp'ing a large group.
...
A large group is any $$ or $# or a channel with more than
floodcount/2 local members, checked on each server separately.
Note that floodcount checks are done on the sender's server.
The special treatment is active for 15 seconds.
2009-05-17 20:52:16 +02:00
Jilles Tjoelker
031c4b89d3
Move check for required CAPABs to mr_server -- CAPAB may not be sent.
...
Also fix exit message.
2009-04-21 18:43:07 +02:00
William Pitcock
16d8d9fc6d
can_kick hook, based on the ircd-seven one.
2009-04-20 09:20:11 -05:00
Jilles Tjoelker
cb9345dcd1
Simplify floodcount checking, it is no longer affected by +g/+R anymore.
2009-04-19 00:04:21 +02:00
Jilles Tjoelker
c925bc7706
Use uid/sid for some ERR_CHANOPRIVSNEEDED if they go to a remote client.
2009-04-09 23:45:35 +02:00
Jilles Tjoelker
6ce8910d97
Apply +z to messages blocked by +b and +q as well.
...
This adds a new server capab EOPMOD which will be used
for an extended topic command also.
2009-03-29 15:48:07 +02:00
Jilles Tjoelker
a6210c453a
Remove some unused variables.
...
Found with llvm static analyzer.
2009-03-01 01:53:40 +01:00
Jilles Tjoelker
dea418e9b4
Add channel::only_ascii_channels config option
...
to restrict channel names to printable ascii only.
Like disable_fake_channels this only applies to joins
by local users; unlike disable_fake_channels it applies
to opers as well.
2009-02-22 00:12:21 +01:00
Jilles Tjoelker
ac408af6cb
Update comments for parv[0] removal.
2009-01-18 18:22:43 +01:00
Jilles Tjoelker
8e425f4137
Replace parv[0] with source_p->name.
2009-01-17 01:18:19 +01:00
Jilles Tjoelker
a13b19f9fe
Do not log ERROR messages from unknowns.
...
from ircd-ratbox (androsyn)
2009-01-17 00:23:02 +01:00
Jilles Tjoelker
1c4d0f3ceb
Remove more TS5 remnants.
2009-01-16 23:18:10 +01:00
Jilles Tjoelker
ffa772f3d4
Log to serverlog when throwing out a server because of a bad nickname.
2009-01-16 23:10:49 +01:00
Jilles Tjoelker
6eb9f03a13
Close the local link that sends a TS5 NICK introduction.
...
This is no longer supported and was already broken,
sending out a UID message without UID parameter to
other servers.
2009-01-16 23:08:05 +01:00
Jilles Tjoelker
7b31d528b1
Remove obsolete comment.
2009-01-07 23:35:24 +01:00
Jilles Tjoelker
e752dd2618
Allow coloured part reasons in -c channels.
2008-11-29 22:22:18 +01:00
Jilles Tjoelker
59eedf155f
Allow +z messages from outside if -n.
...
This gives a useful meaning to the cmode combo +mz-n:
messages from ops and voices go to all channel members,
messages from anyone else (on or off channel) go to ops.
With +mnz, messages from outside are not allowed at all.
2008-11-15 22:56:09 +01:00
Jilles Tjoelker
9d35015621
Make comment for ms_join() up to date.
2008-11-09 00:05:15 +01:00
Jilles Tjoelker
2976cd5379
Do not send snotes/logs about juped servers trying to connect.
...
A juped server is defined as a server that already
exists with a service{} server as uplink.
If a juped server is introduced by another server,
this generates snotes/logs as before.
2008-09-25 00:00:36 +02:00
Jilles Tjoelker
e6a0717d15
Make TS deops appear to come from the same server the other modes come from.
...
In particular, this makes atheme changets deops come
from the services server instead of the user's server.
2008-09-24 23:13:10 +02:00
Jilles Tjoelker
18c12212b7
Add more detail in squit reason for certain invalid NICK/UID/EUID commands.
2008-09-16 22:53:44 +02:00
Jilles Tjoelker
4137c21c96
Close the link that sends an invalid UID.
...
It does not make sense to send a kill using an invlid
identifier to an obviously broken server, as was
previously done.
2008-09-06 15:13:28 +02:00
Jilles Tjoelker
77a742c11c
Remove check that cannot happen due to minparc in Message struct.
2008-09-06 01:33:18 +02:00