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
Jilles Tjoelker
c71ae7f0dc
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
5b0a527927
Use rb_snprintf() in various places.
2008-09-06 01:00:20 +02:00
Jilles Tjoelker
341504a702
Remove comment referencing LazyLeaf.
2008-09-06 00:44:09 +02:00
Jilles Tjoelker
bdfc9ce626
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
deb7449471
Improve server notices for servers introducing existing servers.
2008-09-05 22:52:39 +02:00
Jilles Tjoelker
9649981ba7
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
628eee0041
Remove some dead code.
...
found using llvm static analyzer
2008-08-29 02:53:52 +02:00
Jilles Tjoelker
509c9ee183
Remove another remnant of server hostmasking.
2008-08-26 00:00:11 +02:00
Jilles Tjoelker
060ea02eec
Remove an unnecessary check for &channels -- sendto_server() already does it.
2008-07-31 18:11:36 +02:00
Jilles Tjoelker
b3be8599aa
Use channel_modes() to convert a new channel's modes to a string.
2008-07-31 17:55:23 +02:00
Jilles Tjoelker
8acef9de29
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
ceac83d965
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
7608ef4933
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
dada366b70
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
85b8e6497d
Do not check floodcount if user is messaging self.
2008-07-13 13:35:43 +02:00
Jilles Tjoelker
dc4d501281
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
715b28fefd
Applied svn diff from ratbox3 r21458:21470
2008-06-28 14:13:50 +04:00
Valery V Yatsko
75818939ab
Applying dyn-cmodes.diff - first step in implementing channel module
...
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker
730c5ff105
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
f037fff482
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
0a70e15066
SJOIN: remove various TS5 stuff
2008-06-13 23:03:52 +02:00
Jilles Tjoelker
767394f009
SJOIN: check minimum parameters more strictly.
2008-06-13 00:32:01 +02:00
William Pitcock
2647617347
Suppress a warning.
2008-06-08 01:32:17 -05:00
William Pitcock
45f5f151f8
core modules: no more TS5.
2008-06-08 01:25:42 -05:00
William Pitcock
7e8e21a41a
Remainder of irc_string.* is moved to new inline/stringops.h.
2008-04-20 01:03:11 -05:00
Valery Yatsko
13ae2f4b69
irc_string.h -> match.h, irc_string.h; includes changed
2008-04-20 09:47:38 +04:00
Valery Yatsko
dcbd1d073c
strtoken -> rb_strtok_r (with arguments order changes)
2008-04-20 09:20:25 +04:00
Valery Yatsko
d99380b61b
legacy irc sprintf gone
2008-04-20 09:12:09 +04:00
Valery Yatsko
a64c5173a7
strlcat -> rb_strlcat
2008-04-20 08:44:04 +04:00
Valery Yatsko
907468c485
strlcpy -> rb_strlcpy
2008-04-20 08:40:40 +04:00
Valery Yatsko
f5bd2fee66
Code cleanup (m_die)
2008-04-20 07:46:08 +04:00
Valery Yatsko
6972e25a95
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
b717a466d0
Remove ^M on line endings.
2008-04-13 17:54:23 +02:00
Valery Yatsko
03d18a46b1
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
d9f98c7a59
'pargs' gone from set_final_mode - should be correct
2008-04-07 19:05:29 +04:00
Valery Yatsko
452382d01b
m_sjoin.c gone, merged with m_join.c
2008-04-07 18:26:59 +04:00
Jilles Tjoelker
0624f969d3
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
8db00894ab
ssl sync with http://hg.angelforce.ru/charybdis-old
2008-04-06 18:52:42 +04:00
Valery Yatsko
8325120565
s_stats.c removed, now we use new style of stats handling.
2008-04-04 19:54:37 +04:00
William Pitcock
d3455e2c7e
s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it)
2008-04-02 21:52:01 -05:00
Valery Yatsko
21c9d815d7
Reverting some changed related not to moving on libratbox3 but using ratbox3 source!
2008-04-02 19:37:50 +04:00
Valery Yatsko
6a73262e4d
'ServerStats->' -> 'ServerStats.'
2008-04-02 15:07:00 +04:00
Valery Yatsko
ee60b66b9d
Line doesn't exists in ratbox3 and makes compile warning - gone
2008-04-02 15:05:04 +04:00
Valery Yatsko
58e8319c1c
Reverting to 398.. trying again with native charybdis hash
2008-04-02 14:16:31 +04:00
Valery Yatsko
529088a022
m_message::add_target from ratbox3
2008-04-02 14:05:17 +04:00
Valery Yatsko
9f6bbe3cf9
CurrentTime -> rb_currenttime();
2008-04-02 03:53:20 +04:00
Valery Yatsko
90a3c35b29
Argh, wrong replace caused by MS VS 2005 interface.
2008-04-02 02:47:17 +04:00
Valery Yatsko
a55e57248b
MyFree -> rb_free
2008-04-02 02:45:16 +04:00
Valery Yatsko
cc200171d7
libcharybdis includes gone.
2008-04-02 02:39:19 +04:00
Jilles Tjoelker
bfccb2c0e1
Various changes for libratbox.
2008-04-01 23:03:14 +02:00
Jilles Tjoelker
9f6c335332
Change over some dlink functions.
2008-04-01 22:54:08 +02:00
William Pitcock
38e6acddad
ircs[n]printf -> rb_s[n]printf
2008-04-01 15:38:40 -05:00
William Pitcock
31c047d725
Make this compile, but lots of warnings.
2008-04-01 15:26:43 -05:00
William Pitcock
581fa5c499
ircsprintf -> rb_sprintf
2008-04-01 15:21:53 -05:00
William Pitcock
08d11e34cc
start making this compile
2008-04-01 15:18:48 -05:00
Jilles Tjoelker
af58bf737a
Fix compiler warning.
2008-03-29 21:36:11 +01:00
Jilles Tjoelker
4d17e288b4
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
26f754d989
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
fda6c724ea
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
c240ecad4f
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