Commit Graph

181 Commits

Author SHA1 Message Date
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