Commit Graph

246 Commits

Author SHA1 Message Date
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
William Pitcock de0572442e Replace int fd; in local client object with an fde object. 2007-12-28 15:06:33 -06:00
Jilles Tjoelker 372b2193ec 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
Jilles Tjoelker fd4ba65e17 Send a few more snotes about remote connects netwide.
(bad password for server, SID exists)
2007-12-25 16:19:54 +01:00
Jilles Tjoelker 16e0550f25 Use "SID Exists" instead of "Server Exists" where appropriate. 2007-12-25 01:16:18 +01:00
Jilles Tjoelker 2a719c44c0 Consolidate duplicate channel mode flags tables to one. 2007-12-25 01:00:20 +01:00
Jilles Tjoelker 9f8d60cc83 Make the other notices to snomask +b network wide.
(with the exception of flooding on an &channel)
2007-12-24 22:43:47 +01:00
Jilles Tjoelker c13a2d9ad3 Add mass_notice oper priv, enabled by default for compatibility.
Controls /wallops and masked notices/privmsgs.
2007-12-24 21:47:05 +01:00
Jilles Tjoelker 544cde9033 Don't allow opers to bypass can_create_channel check.
Modules need to do so themselves, if desired.
2007-12-18 00:17:25 +01:00
William Pitcock b37021a45e nickdelay -> dictionary. 2007-12-03 10:59:25 -06:00
Jilles Tjoelker 6444959578 Fix receiving TS5 client introductions.
This was broken due to User.server removal.
2007-12-01 19:11:44 +01:00
Jilles Tjoelker 994544c294 Merge links_cache into scache and rework scache.
This changes flattened /links output to disclose less
routing information and slightly increases memory "leak"
from server names that do not come back anymore.
2007-11-23 22:11:25 +01:00
Jilles Tjoelker 66c8fdd207 Remove Server.up and Server.upid.
Server.up is obsolete, like User.server.
Server.upid has never been really useful.
2007-11-22 00:38:13 +01:00
William Pitcock c88cdb0095 Get rid of User.server. 2007-11-20 06:36:55 -06:00
jilles 66b4a7ae7a [svn] Call add_to_hostname_hash() with correct (orig) hostname. 2007-06-22 14:59:09 -07:00
jilles f4a80ce6a1 [svn] - allow JOIN 0 from remotes
- allow JOIN 0 from locals, but only if it is exactly one
  zero and is the first channel
2007-05-27 06:07:27 -07:00
nenolod a3986d9482 [svn] - disallow JOIN 0 2007-05-26 22:44:35 -07:00
jilles 1117fbd3d5 [svn] Merge old trunk r2767:
Copy channel name from command on lowerTS JOIN/SJOIN,
this makes the capitalization of the channel name
timestamped like modes are.
2007-04-28 16:47:25 -07:00
jilles 3f7e06428a [svn] SAVE: make the nickTS of the UID nick equal to 100, so it
is always in sync on the network.
2007-04-22 07:02:54 -07:00
jilles 95ffa68595 [svn] Force nickTS to increase when a local user changes their nick. 2007-04-22 04:22:10 -07:00
jilles 452f4d4bcc [svn] Use TS6 prefix for server-server JOIN 0. 2007-04-14 14:53:28 -07:00
jilles d1d0629f54 [svn] Use orighost in kill server notices. 2007-04-14 13:58:56 -07:00
jilles 0bba178826 [svn] Don't show the UID if a TS6 server sends a kick with
an empty or no comment. Note that charybdis never sends
such kicks.
2007-03-28 16:17:06 -07:00
jilles 5ea98c7a83 [svn] Merge old trunk r2695:
Send an SQUIT instead of an ERROR to announce /die to connected servers.
This will generate better server notices.
2007-03-28 07:45:46 -07:00
jilles 9c2f9ec9a2 [svn] Merge old trunk r2226:
If we are connecting outward to a server, check if the
server name they sent is the same as what we tried to
connect to. Previously such a connection could succeed
if there existed connect blocks with the same IP and
passwords for the other server name.
2007-03-28 07:30:10 -07:00
jilles 7201bb21a4 [svn] Merge old trunk r2212:
Another handling of SJOINs without nicks:
Propagate them if the channel is +P or the channel
already existed, otherwise remove the channel again
and do not propagate the SJOIN.
2007-03-28 07:21:37 -07:00
jilles bee3b6716c [svn] Port over ratbox 2.2 r23507, r23624, r23626 (jilles/anfl):
Change TS6 JOIN processing
- don't send out simple modes in TS6 JOIN and TS5 SJOIN when
  a local user joins an existing channel
- don't send out simple modes in TS6 JOIN and TS5 SJOIN when
  propagating a TS6 JOIN
- don't interpret simple modes in an incoming TS6 JOIN

This is to avoid desyncs when certain mode changes (e.g. -im)
cross with joins. A downside is that simple modes will be
more desynched when a JOIN creates a channel or lowers TS,
but that's less important.

Update the TS6 specification to include this, and clarify
that TMODE can come from a server and that MODE must be
translated into TMODE from other servers too.
2007-02-19 16:34:28 -08:00
jilles b0b7de54b1 [svn] Remove server_exists() which checked whether the
server name existed taking hostmasking into account
and just check with find_server(); admittedly
this checks if the name is a SID but that's not
a real problem.
2007-01-31 16:34:33 -08:00
jilles 63aecfb960 [svn] Change spambot, flooder and jupe joiner notices from host to orighost. 2007-01-31 15:57:18 -08:00
nenolod 8d0903892e [svn] - nick[user@host] -> nick!user@host in kill messages. based on jilles' change in 3.0 2007-01-24 23:36:23 -08:00
nenolod 5366977b4f [svn] Backport from early 3.x:
--
nenolod     2006/09/27 16:39:14 UTC	(20060927-2178)
  Log:
  - remove "Processing connection to foobar.net" message


  Changes:	Modified:
  +0 -3		trunk/src/s_auth.c (File Modified)


nenolod     2006/09/27 16:34:26 UTC	(20060927-2176)
  Log:
  - missed the processing connection one (actually, we can probably nuke this one)


  Changes:	Modified:
  +1 -2		trunk/src/s_auth.c (File Modified)


river       2006/09/27 16:33:05 UTC	(20060927-2174)
  Log:
  get_client_name = stupid



  Changes:	Modified:
  +10 -7	trunk/modules/core/m_kill.c (File Modified)


nenolod     2006/09/27 16:32:37 UTC	(20060927-2172)
  Log:
  - remove excessive arguments


  Changes:	Modified:
  +1 -2		trunk/src/s_conf.c (File Modified)
  +1 -1		trunk/src/s_user.c (File Modified)


nenolod     2006/09/27 16:30:59 UTC	(20060927-2170)
  Log:
  - use sendto_one_notice() for on-connect notices too.


  Changes:	Modified:
  +10 -10	trunk/src/s_auth.c (File Modified)


nenolod     2006/09/27 16:27:01 UTC	(20060927-2168)
  Log:
  - use sendto_one_notice() in the core, too.


  Changes:	Modified:
  +2 -2		trunk/src/chmode.c (File Modified)
  +8 -15	trunk/src/modules.c (File Modified)
  +3 -5		trunk/src/s_conf.c (File Modified)
  +1 -2		trunk/src/s_newconf.c (File Modified)
  +20 -57	trunk/src/s_user.c (File Modified)


river       2006/09/27 16:19:25 UTC	(20060927-2166)
  Log:
  the KILL command will use get_client_name(, SHOW_IP) instead of
  target->name, and will show a more useful error for local opers



  Changes:	Modified:
  +6 -4		trunk/modules/core/m_kill.c (File Modified)


nenolod     2006/09/27 16:09:48 UTC	(20060927-2164)
  Log:
  - fix bugs in sendto_one_notice()/sendto_one_numeric() where a client identifier won't be sent to unregistered clients


  Changes:	Modified:
  +4 -2		trunk/src/send.c (File Modified)


nenolod     2006/09/27 16:05:46 UTC	(20060927-2161)
  Log:
  - back out r2159


  Changes:	Modified:
  +1 -1		trunk/include/client.h (File Modified)


nenolod     2006/09/27 16:04:05 UTC	(20060927-2159)
  Log:
  - get_id(): fall back to "*" if client has no known name


  Changes:	Modified:
  +1 -1		trunk/include/client.h (File Modified)


nenolod     2006/09/27 16:01:29 UTC	(20060927-2157)
  Log:
  - convert to sendto_one_notice().


  Changes:	Modified:
  +2 -3		trunk/unsupported/m_clearchan.c (File Modified)
  +4 -6		trunk/unsupported/m_force.c (File Modified)


nenolod     2006/09/27 15:57:11 UTC	(20060927-2155)
  Log:
  - use sendto_one_notice() in many places instead of
sendto_one(source_p, ":%s NOTICE %s :", ...);


  Changes:	Modified:
  +10 -25	trunk/extensions/example_module.c (File Modified)
  +5 -14	trunk/extensions/hurt.c (File Modified)
  +1 -2		trunk/extensions/m_42.c (File Modified)
  +7 -12	trunk/extensions/m_mkpasswd.c (File Modified)
  +1 -2		trunk/extensions/m_ojoin.c (File Modified)
  +1 -2		trunk/extensions/m_opme.c (File Modified)
  +3 -3		trunk/extensions/spy_whois_notice.c (File Modified)
  +3 -3		trunk/extensions/spy_whois_notice_global.c (File Modified)
  +3 -7		trunk/modules/core/m_die.c (File Modified)
  +2 -4		trunk/modules/core/m_kill.c (File Modified)
  +2 -2		trunk/modules/core/m_squit.c (File Modified)
  +1 -2		trunk/modules/m_challenge.c (File Modified)
  +11 -15	trunk/modules/m_connect.c (File Modified)
  +20 -28	trunk/modules/m_dline.c (File Modified)
  +2 -2		trunk/modules/m_etrace.c (File Modified)
  +11 -21	trunk/modules/m_gline.c (File Modified)
  +2 -4		trunk/modules/m_kline.c (File Modified)
  +1 -2		trunk/modules/m_rehash.c (File Modified)
  +3 -7		trunk/modules/m_restart.c (File Modified)
  +31 -45	trunk/modules/m_set.c (File Modified)
  +2 -4		trunk/modules/m_testmask.c (File Modified)
  +5 -8		trunk/modules/m_unreject.c (File Modified)
  +2 -5		trunk/modules/m_xline.c (File Modified)
--
2007-01-24 23:23:01 -08:00
nenolod 212380e3f4 [svn] - the new plan:
+ branches/release-2.1 -> 2.2 base
  + 3.0 -> branches/cxxconversion
  + backport some immediate 3.0 functionality for 2.2
  + other stuff
2007-01-24 22:40:21 -08:00