Jilles Tjoelker
431a1a2784
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
Jilles Tjoelker
ff91faaf76
Do not penalize for spambot checks if creating a new channel.
2010-02-21 01:45:51 +01:00
Jilles Tjoelker
4eb9a3ca0b
JOIN 0: Make spambot check equivalent to PART's.
2010-02-21 01:12:04 +01:00
Jilles Tjoelker
9148f6aa7c
Remove dead code: last_join_time is already updated by check_spambot_warning().
2010-02-21 01:10:04 +01:00
Jilles Tjoelker
cf3564d61f
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
4f2685f3e1
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
c9f01c4f2f
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
179becdf5f
target change: Overwrite the least recently used target with a new one.
2010-02-15 00:31:17 +01:00
Jilles Tjoelker
ad1d39a76f
Make the number of targets tracked for target change a #define.
2010-02-13 15:18:17 +01:00
Jilles Tjoelker
1fd171a547
Fix op-moderate (cmode +z) for channel names with '@'.
2010-01-24 19:37:00 +01:00
Jilles Tjoelker
641eb2c3c8
Put back fb7d6089158e, not setting large_ctcp_sent for CTCP ACTION.
2010-01-20 00:03:57 +01:00
William Pitcock
2e918bf515
Merge +C (no CTCP to channels) from ircd-seven.
2010-01-19 02:11:04 -06:00
Jilles Tjoelker
3d0bbdcbe1
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
c127b45b83
Revert all presence-related changes
2009-12-08 19:22:55 +00:00
William Pitcock
884b5d41c1
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
aa9c9ed268
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
a416ed2e79
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
5f8d323c59
can_kick hook, based on the ircd-seven one.
2009-04-20 09:20:11 -05:00
Jilles Tjoelker
b7b1d686a9
Simplify floodcount checking, it is no longer affected by +g/+R anymore.
2009-04-19 00:04:21 +02:00
Jilles Tjoelker
631b4a542a
Use uid/sid for some ERR_CHANOPRIVSNEEDED if they go to a remote client.
2009-04-09 23:45:35 +02:00
Jilles Tjoelker
c4d2d01419
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
f93bc39774
Remove some unused variables.
...
Found with llvm static analyzer.
2009-03-01 01:53:40 +01:00
Jilles Tjoelker
6865c0b099
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
161f040940
Update comments for parv[0] removal.
2009-01-18 18:22:43 +01:00
Jilles Tjoelker
3dfaa67120
Replace parv[0] with source_p->name.
2009-01-17 01:18:19 +01:00
Jilles Tjoelker
0a849a8fa9
Do not log ERROR messages from unknowns.
...
from ircd-ratbox (androsyn)
2009-01-17 00:23:02 +01:00
Jilles Tjoelker
463947ad90
Remove more TS5 remnants.
2009-01-16 23:18:10 +01:00
Jilles Tjoelker
4dd5d304eb
Log to serverlog when throwing out a server because of a bad nickname.
2009-01-16 23:10:49 +01:00
Jilles Tjoelker
6c77f1f74f
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
5cb843c6a5
Remove obsolete comment.
2009-01-07 23:35:24 +01:00
Jilles Tjoelker
6ccac783ae
Allow coloured part reasons in -c channels.
2008-11-29 22:22:18 +01:00
Jilles Tjoelker
8feca1768e
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
3583564678
Make comment for ms_join() up to date.
2008-11-09 00:05:15 +01:00
Jilles Tjoelker
7b054ca30a
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
7bf78de058
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
56023eb2e8
Add more detail in squit reason for certain invalid NICK/UID/EUID commands.
2008-09-16 22:53:44 +02:00
Jilles Tjoelker
4a5655b20d
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
8c29ec4eeb
Remove check that cannot happen due to minparc in Message struct.
2008-09-06 01:33:18 +02:00
Jilles Tjoelker
8f7ca682ec
Improve server notices for hub_mask/leaf_mask.
...
Local-only server notices kept here because
hub_mask/leaf_mask tends to be specific to a (hub)
server. The same information is now available in
Netsplit notices.
2008-09-06 01:21:16 +02:00
Jilles Tjoelker
c2f73e5dbc
Use rb_snprintf() in various places.
2008-09-06 01:00:20 +02:00
Jilles Tjoelker
847ce0e98d
Remove comment referencing LazyLeaf.
2008-09-06 00:44:09 +02:00
Jilles Tjoelker
b1ace057a7
Avoid empty strings in various notices about rejected server connections.
...
These come from the name field which is empty for unknown
connections attempting to become a server.
Instead, put [@255.255.255.255] just like ratbox3 does.
2008-09-05 22:56:59 +02:00
Jilles Tjoelker
7d4287591f
Improve server notices for servers introducing existing servers.
2008-09-05 22:52:39 +02:00
Jilles Tjoelker
8e34ffc66e
Improve server notices about duplicate SIDs.
...
Note that this is checked after duplicate server names,
so it can only happen if multiple servers have the
same SID configured.
2008-09-04 01:41:49 +02:00
Jilles Tjoelker
d7dc7ae6c1
Remove some dead code.
...
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker
e4bb4f3645
Remove another remnant of server hostmasking.
2008-08-26 00:00:11 +02:00
Jilles Tjoelker
db2545b11e
Remove an unnecessary check for &channels -- sendto_server() already does it.
2008-07-31 18:11:36 +02:00
Jilles Tjoelker
095efcf0fc
Use channel_modes() to convert a new channel's modes to a string.
2008-07-31 17:55:23 +02:00
Jilles Tjoelker
c287438827
Let ops/voices bypass tgchange/floodcount if sending to users in their channel.
...
This was already possible by using CPRIVMSG/CNOTICE
instead of PRIVMSG/NOTICE.
2008-07-27 23:34:58 +02:00
Jilles Tjoelker
ef57f7fb5e
Remove user@server messages to local users.
...
These are unreliable in general and only useful
for violating certain restrictions.
Sending such messages to remote servers is still
possible, for securely messaging pseudoservers whether
service{}'ed or not. The special oper-only syntax
opers@server remains as well.
2008-07-27 22:17:46 +02:00
Valery Yatsko
acdf71d9d2
A very draft version of extensions, which are adding can_join hooks for custom channel modes
2008-07-27 12:10:48 +04:00
Jilles Tjoelker
c24efdc0b7
Also apply floodcount to messages to remote clients (except services).
...
As before, only local clients can have their message blocked.
2008-07-22 01:46:34 +02:00
Jilles Tjoelker
351d22c09b
Do not check floodcount if user is messaging self.
2008-07-13 13:35:43 +02:00
Jilles Tjoelker
9d107a7195
Move nick collision notices from +s to +k.
...
Remote nick collisions (Received KILL/SAVE message)
were already on +k.
2008-07-04 16:54:46 +02:00
Valery V Yatsko
b3ebc7ab9e
Applied svn diff from ratbox3 r21458:21470
2008-06-28 14:13:50 +04:00
Valery V Yatsko
efccc22c27
Applying dyn-cmodes.diff - first step in implementing channel module
...
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker
7b22c84fab
Move -bqeI from lower TS SJOIN to a more logical place.
...
This is possible because TS5 support was removed.
2008-06-13 23:55:37 +02:00
Jilles Tjoelker
316cbf11bc
Add an additional check to mr_server() for TS6, in case we don't get an SVINFO
...
from ircd-ratbox (anfl)
2008-06-13 23:09:52 +02:00
Jilles Tjoelker
8afeb72097
SJOIN: remove various TS5 stuff
2008-06-13 23:03:52 +02:00
Jilles Tjoelker
1766edef79
SJOIN: check minimum parameters more strictly.
2008-06-13 00:32:01 +02:00
William Pitcock
890423fbf9
Suppress a warning.
2008-06-08 01:32:17 -05:00
William Pitcock
d38d07f030
core modules: no more TS5.
2008-06-08 01:25:42 -05:00
William Pitcock
ab4285181c
Remainder of irc_string.* is moved to new inline/stringops.h.
2008-04-20 01:03:11 -05:00
Valery Yatsko
4562c60489
irc_string.h -> match.h, irc_string.h; includes changed
2008-04-20 09:47:38 +04:00
Valery Yatsko
4a2651e520
strtoken -> rb_strtok_r (with arguments order changes)
2008-04-20 09:20:25 +04:00
Valery Yatsko
cbe4e1ba31
legacy irc sprintf gone
2008-04-20 09:12:09 +04:00
Valery Yatsko
1f9de103c3
strlcat -> rb_strlcat
2008-04-20 08:44:04 +04:00
Valery Yatsko
f427c8b00d
strlcpy -> rb_strlcpy
2008-04-20 08:40:40 +04:00
Valery Yatsko
2fcbf2c078
Code cleanup (m_die)
2008-04-20 07:46:08 +04:00
Valery Yatsko
fd5af3d072
Moving some m_die code into ircd_shutdown(reason) function and use it on SIGTERM too
2008-04-20 07:38:56 +04:00
Jilles Tjoelker
8bd5767b95
Remove ^M on line endings.
2008-04-13 17:54:23 +02:00
Valery Yatsko
26716d6d40
Fixed two places, where sendto_realops_flags was mistakenly used, and removed this function entirely
2008-04-08 20:32:58 +04:00
Valery Yatsko
69986379a7
'pargs' gone from set_final_mode - should be correct
2008-04-07 19:05:29 +04:00
Valery Yatsko
8cc12805d7
m_sjoin.c gone, merged with m_join.c
2008-04-07 18:26:59 +04:00
Jilles Tjoelker
ad35b2cd1f
If we see an invalid nick, close the local link instead of killing it.
...
This avoids annoying users when someone links a test
server with the wrong nicklen and is more likely to lead
to the inconsistency being fixed than a kill.
2008-04-06 22:04:42 +02:00
Valery Yatsko
c6d7203732
ssl sync with http://hg.angelforce.ru/charybdis-old
2008-04-06 18:52:42 +04:00
Valery Yatsko
47adde3def
s_stats.c removed, now we use new style of stats handling.
2008-04-04 19:54:37 +04:00
William Pitcock
4016731b1c
s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it)
2008-04-02 21:52:01 -05:00
Valery Yatsko
54ac8b60a1
Reverting some changed related not to moving on libratbox3 but using ratbox3 source!
2008-04-02 19:37:50 +04:00
Valery Yatsko
39bdbd3f7d
'ServerStats->' -> 'ServerStats.'
2008-04-02 15:07:00 +04:00
Valery Yatsko
2bef65c9ad
Line doesn't exists in ratbox3 and makes compile warning - gone
2008-04-02 15:05:04 +04:00
Valery Yatsko
ae78a57163
Reverting to 398.. trying again with native charybdis hash
2008-04-02 14:16:31 +04:00
Valery Yatsko
e55bb3da3d
m_message::add_target from ratbox3
2008-04-02 14:05:17 +04:00
Valery Yatsko
e335494516
CurrentTime -> rb_currenttime();
2008-04-02 03:53:20 +04:00
Valery Yatsko
637c4932f6
Argh, wrong replace caused by MS VS 2005 interface.
2008-04-02 02:47:17 +04:00
Valery Yatsko
bd19829278
MyFree -> rb_free
2008-04-02 02:45:16 +04:00
Valery Yatsko
81af5bcb39
libcharybdis includes gone.
2008-04-02 02:39:19 +04:00
Jilles Tjoelker
0e7cb7e6a1
Various changes for libratbox.
2008-04-01 23:03:14 +02:00
Jilles Tjoelker
555ac41f14
Change over some dlink functions.
2008-04-01 22:54:08 +02:00
William Pitcock
b2f0da886e
ircs[n]printf -> rb_s[n]printf
2008-04-01 15:38:40 -05:00
William Pitcock
ba200635a6
Make this compile, but lots of warnings.
2008-04-01 15:26:43 -05:00
William Pitcock
7cdb0a09b9
ircsprintf -> rb_sprintf
2008-04-01 15:21:53 -05:00
William Pitcock
5b96d9a6b9
start making this compile
2008-04-01 15:18:48 -05:00
Jilles Tjoelker
5b0c1b47c6
Fix compiler warning.
2008-03-29 21:36:11 +01:00
Jilles Tjoelker
3f6e258775
target change: use fnv32 hash of UID instead of pointer to identify clients
...
This way, the information remains valid after a split.
For clients on TS5 servers, the nick is used; this is
not much of a problem because these are on pseudoservers
and not assumed to change nick much at all.
2008-03-16 00:39:49 +01:00
Jilles Tjoelker
43f8445df3
Show some target change statistics in /stats t.
...
- the number of messages blocked by target change on
this server since it was started
- the number of IPs currently subject to a a lower
target limit on this server (these expire over time)
2008-03-02 17:03:56 +01:00
William Pitcock
aed5ce90a5
Remove CHFL_DEOPPED entirely.
...
Since charybdis 2.3 will require TS6, emulating legacy semantics is
unnecessary.
2008-02-27 14:08:27 -06:00
Jilles Tjoelker
81daf9555b
Remove CHFL_DEOPPED check from TMODE.
...
This check sometimes blocks oper overrides (OMODE).
It does not stop any hacks that the channelTS check
already stops, because CHFL_DEOPPED is only set when
this server ignored an @ in an incoming SJOIN (the
SJOIN is then propagated without the @) and this
can only be because of a TS difference.
2008-02-25 00:05:15 +01:00
William Pitcock
c5c2f506c1
Replace int fd; in local client object with an fde object.
2007-12-28 15:06:33 -06:00
Jilles Tjoelker
922aa82644
More helpful ERROR server notices.
...
- Do not use hide_error_messages for certain "safe" ERRORs.
- If hide_error_messages hides an ERROR from a handshake,
send a server notice anyway, but without the message
text.
- Send server notices about ERRORs from handshakes network
wide if it was a remote connect.
2007-12-28 01:31:56 +01:00