Commit Graph

568 Commits

Author SHA1 Message Date
Jilles Tjoelker 338dd42d64 Reject presence updates with too long keys, instead of truncating them
and causing soft assertion failures. Values are still
silently truncated though.
2009-06-03 23:49:50 +02:00
Jilles Tjoelker f62bb0776a Correct minimum parameter counts for PRESENCE. 2009-06-03 20:03:15 +02:00
Jilles Tjoelker 320a0f8528 ENCAPs cannot come from local clients, no need to check. 2009-06-03 19:57:27 +02:00
Jilles Tjoelker 7cc7a2c041 Remove special CAP presence handling of /whois away message.
This cannot work because /whois is executed remotely too
and CAPs aren't known remotely.
2009-06-03 19:54:49 +02:00
William Pitcock fa00b4ada9 presence: m_presence module: Use safer get_metadata() where appropriate, to avoid crash possibilities. 2009-06-02 02:55:45 -05:00
William Pitcock 50aa2dd31d presence: Use RPL_WHOISMETADATA. 2009-06-02 02:44:31 -05:00
William Pitcock fa2a410abe presence: If CLICAP_PRESENCE is enabled, then RPL_AWAY is replaced by the "away" keyword in the presence dataset.
As such, only fall back to legacy RPL_AWAY if CLICAP_PRESENCE is not set on source_p.
2009-06-02 02:17:42 -05:00
William Pitcock 6364809623 presence: Add CLICAP_PRESENCE.
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05:00
William Pitcock 51f73b614b presence: Replace stagnant free_away() call with delete_metadata(..., "away"). 2009-06-02 02:06:18 -05: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
William Pitcock 0827f524e0 presence: Add m_presence module. This provides an ENCAP s2s interface and lowlevel client interface. 2009-06-02 01:45:43 -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 cbd758d71c Rewrite perm xlines containing '",' from local opers (to '"\,').
The change also applies to xlines sent to other servers.
Note that the backslash must be supplied in an unxline.
Incoming xlines containing '",' are rejected to avoid
inconsistency between servers.
2009-05-08 14:42:55 +02:00
Jilles Tjoelker b6c85cc60b Disallow the sequence '",' in perm xlines,
it would cause problems with xline.conf.
2009-05-08 14:27:30 +02:00
Jilles Tjoelker 44bdc688cb Change \s to space when writing xline.conf, to be compatible with older versions. 2009-05-08 13:40:09 +02:00
Jilles Tjoelker 448a723f81 Disallow double quotes in klines.
These could cause parse problems with kline.conf.
2009-05-08 01:50:35 +02:00
Jilles Tjoelker 6e5b8a5dec Disallow commas in channel resvs.
These can never match and could cause parse problems in resv.conf.
2009-05-08 01:23:40 +02:00
Jilles Tjoelker 63860dd1a7 Change xlines to store spaces as \s.
Spaces in xline.conf files are changed to \s in memory
and recognized on unxline, but are not changed in the
file. New xlines are added to xline.conf files with \s.

xline.conf written by this commit or newer will not work
properly with charybdis older than 1124:131254925f32 (which
introduced \s support in match_esc()).
2009-05-08 00:21:14 +02:00
Jilles Tjoelker eb5e3f1520 Stop changing \s to spaces in masktrace and testmask,
match_esc() handles \s directly now.
2009-05-07 23:58:32 +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 fde16193c4 Allow for capabilities to be marked as "required".
If capability negotiation fails on these capabilities, then the server link is dropped.
2009-04-20 09:36:55 -05:00
William Pitcock 16d8d9fc6d can_kick hook, based on the ircd-seven one. 2009-04-20 09:20:11 -05:00
Stephen Bennett 59bb80930d Allow / in spoofed hosts 2009-04-20 08:37:13 -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 80df74cfc5 Add new topic command ETB, allowing services to set topic+setter+ts always
(provided channelTS != 0).

ETB is controlled by the EOPMOD capab. Fairly complicated
stuff is needed for older servers.

ETB can come from clients or servers, but at this time it
should only be sent from clients, as otherwise it is not
always possible to update older servers.
2009-03-29 17:08:42 +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 cb4ddd7268 Do not send "<blah> is rehashing <blah>" notices to the remote oper. 2009-03-07 16:57:58 +01:00
Jilles Tjoelker 0b1e46f5b4 Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
Jilles Tjoelker 8fc0a9b621 Correct WHOX overflow check so it also works for fields other than the last.
Found with llvm static analyzer.
2009-03-01 01:58:53 +01: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 f47964e44a Disallow invites to juped channels.
In particular, this is checked when the source is
local and not resv_exempt, or the target is local and
not resv_exempt.
2009-02-06 14:07:03 +01:00
Jilles Tjoelker 6b2cf989b6 Disable autoconnect for a server with excessive TS delta.
Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
2009-02-05 23:43:07 +01:00
Jilles Tjoelker af2484840a Remove comments related to (removed) ability to disable TS6. 2009-01-30 16:50:00 +01:00
Jilles Tjoelker 1ba281712f For remote rehashes, send error messages to the requesting oper as well. 2009-01-30 00:11:12 +01:00
Jilles Tjoelker c70fcd85f7 Show D:line oper reason in /testline. 2009-01-27 20:20:37 +01:00
Jilles Tjoelker 1b09d11527 Get rid of local variable shadowing. 2009-01-25 16:26:17 +01:00
Jilles Tjoelker e19c515ce9 commit 1df4ff0b0558e4698819f8e4ac6ecb7654b81a2c
Author: Stephen Bennett <spb@exherbo.org>
Date:   Sun Jan 18 16:30:27 2009 +0000

    Make testline show oper reason and setter information for K:lines, where applicable
2009-01-25 16:23:36 +01:00
Jilles Tjoelker 77f3c1f440 Remove some more references to parv[0] in comments. 2009-01-18 21:20:14 +01:00
Jilles Tjoelker ac408af6cb Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker 3619e29987 Change /stats O to show privset blocks (oper only).
To show operator blocks, only /stats o (lowercase) now works.
2009-01-18 01:35:24 +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 9f811fcefd Reject SCAN UMODES if invalid parameters are given. 2009-01-16 18:33:38 +01:00
Jilles Tjoelker 7b31d528b1 Remove obsolete comment. 2009-01-07 23:35:24 +01:00
Jilles Tjoelker c80b76f022 Make SCAN UMODES GLOBAL NO-LIST MASK <mask> no longer an operspy command.
This agrees with allowing MODE <nick> as non-operspy.
2009-01-01 20:32:30 +01:00
Jilles Tjoelker 6dfa266965 Allow opers and shide_exempt users to see hopcounts even if flatten_links is on. 2008-12-27 22:41:52 +01:00
Jilles Tjoelker c552a39d49 Show libratbox version info to opers in /info. 2008-12-23 00:28:05 +01:00
Jilles Tjoelker 0ec112cc00 Add code to detect overflow in WHOX.
This should currently be impossible, but may be
possible with extremely long server/nick names and
additional fields.
In case of overflow, the string sent to to the user is
truncated and if it was the first overflow since the
module was loaded a notice is sent to snomask +d.
2008-12-20 17:17:27 +01:00
Jilles Tjoelker 760ef9e1ea Show rejectcache/throttle in /testline output.
This adds more RPL_TESTLINE numerics with code '!'.
Different from the other results, the I/K line or
RESV will be shown as well.
2008-12-19 19:24:12 +01:00
Jilles Tjoelker 76d4968137 Show throttle info in /stats t.
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker f717c20dbb As in shadowircd, increase buffer for /who status.
Not necessary here but nice for consistency.
2008-12-03 22:54:30 +01:00
Jilles Tjoelker 73788f7953 Add operspy /topic.
This allows querying any channel's topic under the
operspy rules, but not changing it.
2008-12-03 00:16:05 +01:00
Jilles Tjoelker e752dd2618 Allow coloured part reasons in -c channels. 2008-11-29 22:22:18 +01:00
Aaron Sethman 17d00839b3 make is_cti/is_sti collect times connected in unsigned long long instead of time_t as well..on 32bit boxes that is going to wrap pretty quickly
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:04:09 +03: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 79ba162940 Truncate idle time in /who to 32 bits.
Pointed out by dwr (but solved differently).
2008-11-15 21:15:38 +01:00
Jilles Tjoelker 863efb0e6b Should use rb_strlcpy instead of strlcpy... 2008-11-09 01:05:39 +01:00
Jilles Tjoelker 8e0f260b04 Remove LOCAL_COPY (and thus alloca) usage from /who. 2008-11-09 00:13:48 +01:00
Jilles Tjoelker aff2058aa8 who: Use @+ combining for 354 numeric.
The 352 numeric uses it if CAP multi-prefix is enabled, as before.
2008-11-09 00:13:29 +01:00
Jilles Tjoelker 555801db60 Add ircu-like /who format options.
Use  /quote help who  for details.
The format code "o" (oplevel) is not documented,
but implemented showing dummy information (999 for
chanop, n/a otherwise).
2008-11-09 00:12:56 +01:00
Jilles Tjoelker 9d35015621 Make comment for ms_join() up to date. 2008-11-09 00:05:15 +01:00
Jilles Tjoelker 28823cd3db Allow normal users to use /chantrace.
The same information is already available via a
combination of /who and /trace.
2008-11-08 01:28:16 +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 3c80e9d634 Avoid hardcoding the number of shared{} flags another time. 2008-09-09 18:42:59 +02:00
Jilles Tjoelker 90b9ef6c6d Fix indentation. 2008-09-09 18:40:57 +02:00
Jilles Tjoelker 663bbb2836 Add need_ssl to auth{} and operator{}.
Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
2008-09-07 01:18:58 +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
William Pitcock 9ac19244c0 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-08-29 14:48:06 -05:00
Stephen Bennett 1d53b4283b don't set an empty password or auth_user 2008-08-29 14:47:51 -05: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
William Pitcock 028aef6ed6 m_privs: Add stuff for privsets here too. 2008-08-17 08:56:40 -05:00
William Pitcock e2d7f73174 /stats o: display name of privset instead of privs 2008-08-17 08:40:10 -05:00
Jilles Tjoelker 97a6160b45 Allow /list on a named +p channel.
A full /list already included +p channels.
2008-08-12 22:34:37 +02:00
Jilles Tjoelker d1275a8fd6 Move to ratbox3 reject and throttle code.
Throttle replaces max_unknown_ip, reject is like before
(including the charybdis-specific unkline handling).
Both of these now apply before SSL negotiation.

This commit does not include the global_cidr and new dline code.

m_webirc is a bit nasty with throttling (unlike before
with max_unknown_ip), this may be fixed later (or
the webirc IP needs to be exempt{}ed).
2008-08-01 01:59:08 +02:00
Jilles Tjoelker 4045502246 Fix testline crashes, introduced by the auth_user patch. 2008-07-31 22:25:17 +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 7796ef04d4 crypt -> rb_crypt, fixing another gcc warning 2008-07-27 14:45:42 +04:00
Valery Yatsko 1bf485532d Variable aconf was used before its initialization - fixed 2008-07-27 14:43:49 +04: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 e23905e60d Regenerate depend files. 2008-07-12 01:52:27 +02:00
Jilles Tjoelker 121cd4dcb6 Some fixes to .depend generation. 2008-07-12 01:52:14 +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
Jilles Tjoelker 0ae330b43f Reset check_splitmode_ev to NULL after removing it,
to exclude the possibility of it being removed twice.
like ircd-ratbox r25641 (jilles)
reverts 788:476d29d84191
2008-06-29 01:37:11 +02:00
Jilles Tjoelker 346aca1799 Make m_trace.c compile here (with gcc 4.2.1). 2008-06-28 21:08:04 +02:00
Valery V Yatsko a70bad1d73 m_trace.c fixed 2008-06-28 18:20:24 +04:00
Valery V Yatsko 51b0223e4d 'empty_sockhost = "255.255.255.255"' const for report_this_status 2008-06-28 14:27:33 +04:00
Valery V Yatsko 3db8104751 report_this_status: declaration changed 2008-06-28 14:25:31 +04:00
Valery V Yatsko af7c236800 report_this_status fixed 2008-06-28 14:24:18 +04:00
Valery V Yatsko 715b28fefd Applied svn diff from ratbox3 r21458:21470 2008-06-28 14:13:50 +04:00
Valery V Yatsko a2eb0d5913 Removed unneeded '*_ev = NULL' statements 2008-06-28 12:12:18 +04:00
Valery V Yatsko 969a1ae66a PASS selector:password for auth{}, based on spb's patch for ircd-seven 2008-06-26 10:18:58 +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 bf9ca219d3 Remove more TS5 remants (sendto_server calls). 2008-06-14 02:06:55 +02: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
Jilles Tjoelker 4a4ea261b2 m_stats: get rid of function pointers with unspecified parameter lists
stats l/L is now more a special case than before
2008-06-11 00:53:21 +02:00
Jilles Tjoelker 4cb8529c19 m_set: get rid of function pointers with unspecified parameter lists 2008-06-11 00:39:01 +02:00
Jilles Tjoelker 6d18bf1a12 Some const stuff for m_set. 2008-06-11 00:28:08 +02:00
William Pitcock 2647617347 Suppress a warning. 2008-06-08 01:32:17 -05:00
William Pitcock 06a7954fa1 modules: no more TS5 2008-06-08 01:27:25 -05:00
William Pitcock 45f5f151f8 core modules: no more TS5. 2008-06-08 01:25:42 -05:00
Jilles Tjoelker 00f13098a3 Reindent. 2008-06-03 20:52:47 +02:00
Jilles Tjoelker 823d0e7a34 Clean up m_trace somewhat.
All visibility logic is now in m_trace(), none in
report_this_status().
2008-06-03 20:52:00 +02:00
Jilles Tjoelker aeeda4466a Reject u@@h klines. 2008-05-21 23:00:10 +02:00
Jilles Tjoelker 1dc9ac1d69 Give an error message when refusing a kline that has neither . : or @. 2008-05-21 22:56:51 +02:00
Jilles Tjoelker a66dbced56 Require remoteban privilege to send dline/undline to other servers. 2008-04-23 18:32:46 +02:00
William Pitcock 8308fcdfed Use sendto_one_numeric() with the new AWAY numerics. 2008-04-21 20:26:23 -05:00
Jilles Tjoelker 931e8bc49e Take out some seven-style server notices. 2008-04-20 19:43:50 +02:00
Jilles Tjoelker 47819d9814 Repair fast/better undline (169:d8aa0d182c9f). 2008-04-20 16:05:17 +02:00
Jilles Tjoelker e26306d359 Remove windows newlines (^M). 2008-04-20 15:47:53 +02:00
Valery Yatsko 45be325cd2 Remote d:lines implementation (based on ircd-seven's r230 by spb, Stephen Bennett <spb@attenuate.org>) 2008-04-20 11:26:37 +04: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 c6b832270e clean_string() is related to m_links.c ONLY - moved it there 2008-04-20 09:35:22 +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 08a5f1f948 myctime -> rb_ctime 2008-04-20 09:03:39 +04:00
Valery Yatsko 9879cd59a6 Various inet* -> rb_inet_* 2008-04-20 08:55:41 +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 b798359b17 Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code 2008-04-20 08:36:28 +04:00
Valery Yatsko 2667396968 get_randomness() removed from m_challenge.c - we use rb_get_random() now from libratbox 2008-04-20 08:30:41 +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
Valery Yatsko a822ef295a Switched on using cache_user_motd(); for motd update on rehash 2008-04-20 07:24:50 +04:00
Jilles Tjoelker 04cc8ce9ac Remove stray SetCork.
At this time, charybdis does not use ratbox3's cork mechanism.
2008-04-16 20:49:08 +02:00
Jilles Tjoelker b717a466d0 Remove ^M on line endings. 2008-04-13 17:54:23 +02:00
Jilles Tjoelker c6525f80ba Remove various other gline stuff. 2008-04-11 17:10:40 +02:00
Valery Yatsko d5a432fa00 Removing glines 2008-04-11 18:47:03 +04:00
Valery Yatsko 8a78afe43d Fixing time_t warnings 2008-04-09 23:34:34 +04:00
Valery Yatsko ca89e98e03 .cvsignore files removed, SVN-Access replaced by Mercurial-Access 2008-04-09 22:24:50 +04: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 92b8976366 'S' flag meaning we use ssl link added to /stats {c,C} (connect) 2008-04-08 18:30:53 +04:00
Valery Yatsko 477035a4d2 m_stats.c fixed not to use kb in tstats output 2008-04-08 18:05:29 +04:00
Valery Yatsko 29c8637abb Branch merge 2008-04-08 18:01:37 +04:00
Valery Yatsko 6b7c7401f9 Working over zipstats bug and moving on the new ServerStats struct (without Kb counting, this style is used by code parts from ratbox3) 2008-04-08 18:00:38 +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
Valery Yatsko b190d5921a Missed include 2008-04-07 15:29:39 +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
William Pitcock 5da17c500b fix whois :) 2008-04-06 12:04:25 -05:00
William Pitcock 42fa784692 remove unneeded notice, whois idle works fine :) 2008-04-06 11:48:28 -05:00
Valery Yatsko 8db00894ab ssl sync with http://hg.angelforce.ru/charybdis-old 2008-04-06 18:52:42 +04:00
Valery Yatsko 3fe908250a Much clear maxconnections stuff - ported from ratbox3. 2008-04-05 23:56:15 +04:00
Valery Yatsko 2f5fa92127 Missed some files in r520 commit. 2008-04-05 21:20:48 +04:00
Valery Yatsko 2c2e0aa96e Replacing legacy IPV6 define with RB_IPV6 (which is included in libratbox's config.h). 2008-04-05 20:57:30 +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
Jilles Tjoelker 4362b28284 Make m_dline and m_kline load again. 2008-04-04 01:18:47 +02:00
Jilles Tjoelker eeb13d3251 Unbreak /stats ? and fix a bug in /stats Z. 2008-04-03 23:21:20 +02:00
Jilles Tjoelker d76c16d49f Unbreak percentage display in /map.
This now uses integer arithmetic instead of floating point.
2008-04-03 22:55:09 +02:00
Jilles Tjoelker 6336c1bf78 Make m_stats and m_svinfo load again. 2008-04-03 22:01:59 +02:00
Jilles Tjoelker 9df69d5b30 Get rid of ^M. 2008-04-03 22:00:22 +02: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
Jilles Tjoelker f0fbdf6c8d Clear event pointer after removing it. 2008-04-02 21:22:18 +02:00
Jilles Tjoelker bf019bb06d Revert 415a87c328d1 as the corresponding ConfItem change won't be done now. 2008-04-02 20:43:12 +02:00
Valery Yatsko c48eb01dbe Synching http://angelforce.ru:8000/ with http://hg.atheme.org/charybdis 2008-04-02 21:43:20 +04:00
William Pitcock 68876ea24b Automated merge with http://angelforce.ru:8000/ 2008-04-02 10:58:55 -05:00
Valery Yatsko 3ea5fee7ed irc_sockaddr_storage -> rb_sockaddr_storage, changing fd in Listener struct to F 'cause libratbox3 need it. 2008-04-02 19:57:37 +04:00
Valery Yatsko 7db0e309ad m_xline.c fixed 2008-04-02 19:47:04 +04:00
Valery Yatsko de2fb6e2ae m_pass.c fixed 2008-04-02 19:45:22 +04: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
William Pitcock 9ccdb75c11 Make m_resv.so build again. 2008-04-02 10:30:44 -05:00
Valery Yatsko 7e98780bbb warnings fixed 2008-04-02 16:10:09 +04:00
Valery Yatsko fe2b1175ea reject.h include 2008-04-02 16:06:45 +04:00
Valery Yatsko 8750c6e6b7 tstats stuff gone to m_stats.c 2008-04-02 16:04:43 +04:00
Valery Yatsko d1cf8afebd m_unreject.c fixed 2008-04-02 15:28:55 +04:00
Valery Yatsko ae42901c54 m_testline.c fixed 2008-04-02 15:27:59 +04:00
Valery Yatsko cd3b9a5e7b another fix 2008-04-02 15:26:28 +04:00
Valery Yatsko 7de46f2b43 m_kline.c warning fixed, but read my comment 2008-04-02 15:25:36 +04:00
Valery Yatsko 7c3f54ab8a remove_temp_glines() without legacy api 2008-04-02 15:23:07 +04:00
Valery Yatsko dc0490da84 daddr - unused variable warning fixed 2008-04-02 15:21:35 +04:00
Valery Yatsko 206b1ee61b fixing dline 2008-04-02 15:20:15 +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 79edef0918 Trying again - this will need ssld integration from me 2008-04-02 13:32:14 +04:00
Valery Yatsko b0b796e41f m_pass.c fix 2008-04-02 05:59:06 +04:00
Valery Yatsko 9f6bbe3cf9 CurrentTime -> rb_currenttime(); 2008-04-02 03:53:20 +04:00
Valery Yatsko b96058d185 dlinkAddAlloc -> rb_dlinkAddAlloc 2008-04-02 03:44:26 +04:00
Valery Yatsko f781a34520 linebuf_len -> rb_linebuf_len for modules 2008-04-02 03:43:26 +04:00
Valery Yatsko e68712582b Fixed another two warnings in m_stats.c 2008-04-02 03:41:54 +04:00
Valery Yatsko b8127271b7 extern void send_pop_queue(struct Client *); in header, will implement this some time later 2008-04-02 03:39:08 +04:00
Valery Yatsko 62d289465f DubString -> rb_strdup 2008-04-02 03:26:34 +04:00
Valery Yatsko bba1d5ba04 m_capab.c fixed - please check whether I am correct 2008-04-02 03:09:21 +04:00
Valery Yatsko 8e43b0b414 MyMalloc -> rb_malloc 2008-04-02 03:07:29 +04:00
Valery Yatsko 1b95ca0b6a m_away.c derived from ratbox3 - looks much better and do not use deprecated DupString. 2008-04-02 03:00:38 +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
Valery Yatsko 2393f503a6 Removing libcharybdis references. 2008-04-02 02:18:44 +04:00
William Pitcock 7689475b4f make m_signon build. 2008-04-01 16:29:32 -05:00
William Pitcock ccfe0e9712 Make m_set compile. 2008-04-01 16:25:22 -05:00
William Pitcock 8325ed70b7 Automated merge with ssh://hg.atheme.org//hg/charybdis 2008-04-01 16:15:06 -05:00
William Pitcock 9baf91887f fix highest_fd nonsense 2008-04-01 16:14:47 -05:00
William Pitcock 03e24016fc Clean these modules up. 2008-04-01 16:12:16 -05:00
Jilles Tjoelker 7f4fa1956e More changes for libratbox. 2008-04-01 23:11:11 +02: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
William Pitcock db6b03137d bork bork bork 2008-04-01 15:14:08 -05:00
William Pitcock b37edd511a Allow ENCAP GCAP to be reused to broadcast capability changes to the network.
This means that modules can now be added which change CAPs.
2008-04-01 11:45:46 -05:00
Jilles Tjoelker 8e0633f56f Move PRIVS command from extensions to modules (shows effective oper privs). 2008-03-31 00:39:14 +02:00
Jilles Tjoelker 889b032125 Use ERR_DISABLED in CHGHOST and STATS e. 2008-03-30 20:02:55 +02:00
Jilles Tjoelker 5a34b193e6 Unbreak /quote help stats as an oper (all where oper and user help are different).
Remove symlink optimization, so helpfiles equal for
opers and users are loaded into memory twice, which
is not an issue.
2008-03-29 23:38:22 +01:00
Jilles Tjoelker ff74c93aee Use ERR_NOPRIVS when an oper is not allowed to see admin-only /stats.
This includes opers without the admin flag and admins on other servers.
2008-03-29 23:09:45 +01:00
Jilles Tjoelker af58bf737a Fix compiler warning. 2008-03-29 21:36:11 +01:00
Jilles Tjoelker 230a6e6c41 Fix Invalid CAP subcommand error if the user has no nick. 2008-03-18 23:47:37 +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
Jilles Tjoelker 3499aa48d5 Fix a UID leak. 2008-02-04 23:56:13 +01:00
Jilles Tjoelker 1f8b58e769 Remove silly a2client_p, entirely pointless since User.server removal.
(and was pointless since Client.servptr was introduced)
2008-01-14 23:59:46 +01:00
Jilles Tjoelker d1264ac892 Add two missing colons for sendto_one_notice(). 2008-01-06 00:12:51 +01:00
Jilles Tjoelker 8eee9ee160 If stats k is masked for nonopers, treat stats k and K the same.
There is no point in forcing two stats requests for just
one line of information.
2008-01-05 17:00:00 +01:00
Jilles Tjoelker e54995b150 Remove idle time checking (auto disconnecting users idle too long). 2008-01-01 23:04:34 +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 df7a3250b1 Never allow a duplicate kline; always allow a wider kline.
Duplicate klines are now disallowed regardless of
no_redundant_klines.  There is a somewhat hackish check
to see if the new kline is wider than the existing one.
2007-12-26 00:51:22 +01:00
Jilles Tjoelker 4c171a9c72 When removing a temp kline, show removed mask, not given mask.
Example: when temp klining 10.0.0.0/16 and unklining 10.0.0.1/16,
it showed 10.0.0.1/16 being removed before, and shows
10.0.0.0/16 now.
2007-12-26 00:18:22 +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 757f5aa8fc Make the notable TS delta snote netwide as this may screw up the entire network. 2007-12-25 00:18:34 +01:00
Jilles Tjoelker 55b5711c56 Put full detail in the SQUIT reason for invalid TS version or excessive TS delta. 2007-12-25 00:16:26 +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 2d2c402d0b Move various flags from flags2 to flags. 2007-12-24 20:58:55 +01:00
Jilles Tjoelker 420b2c9a10 Remove dot_in_ip6_addr config option. 2007-12-24 18:24:23 +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
Jilles Tjoelker 326217c4d0 Don't allow faking adminwall via wallops, in case anyone loads it. 2007-12-17 18:50:22 +01:00
Jilles Tjoelker 1ebe6ffc92 Add resv oper priv, enabled by default for compatibility. 2007-12-17 02:20:14 +01:00
Jilles Tjoelker e8149a2c64 Make /rehash help work again. 2007-12-12 22:26:17 +01:00
Jilles Tjoelker 35f6f850b6 Remove reject entries on unkline/ungline/unxline.
When a user is rejected, remember the hash value of the
ban mask (for klines/glines, hash value of the user part
XOR hash value of the host part) with the rejected IP;
if the kline/gline/xline is removed, remove rejects with
the same hash value also.  Note that this does not happen
for expiries; this is deliberate.
Rejects for no auth{} or dnsbl put a hash value of 0;
they cannot be removed selectively.
2007-12-08 21:54:51 +01:00
William Pitcock 9802490cbb help system rework, part 1 2007-12-03 19:35:55 -06: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 1328da8618 Speed up /unresv. Rehash bans now only happens if explicitly requested. 2007-11-30 23:35:48 +01:00
Jilles Tjoelker 60c96e64c1 Clean up m_xline a bit. 2007-11-30 23:35:14 +01:00
Jilles Tjoelker 5408b484da Speed up /unxline similarly. 2007-11-30 14:10:24 +01:00
Jilles Tjoelker 6f3a09ff67 Speed up /undline similarly
- Change find_exact_conf_by_address() to work for dlines also.
- Use find_exact_conf_by_address() to find the dline and
  abort immediately if there is no such dline.
- When removing a permanent dline, remove the dline from
  the data structures instead of rehashing bans.
- Convert alternative ways to write the same dline to the
  one in the found dline. (This was changed in unkline too.)
2007-11-30 01:14:12 +01:00
Jilles Tjoelker 40a1d44606 Speed up /unkline
- Use find_exact_conf_by_address() to find the kline and
  abort immediately if there is no such kline.
- When removing a permanent kline, remove the kline from
  the data structures instead of rehashing bans.
2007-11-29 00:12:51 +01:00
Jilles Tjoelker 60e127c188 Correct already X-Lined notice. 2007-11-25 18:19:26 +01:00
Jilles Tjoelker 0fdb257090 When checking if a nick resv or xline already exists, match exact not wild.
This is important because masks containing @ or # do not
match themselves.
2007-11-25 18:18:07 +01:00
Jilles Tjoelker c0bc9fe39a Show opers a list of recently (<24hrs) split servers in /map. 2007-11-23 23:38:54 +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 732a8c5344 [svn] Make /knock send to all channel members on +g (anyone may invite) channels. 2007-09-09 12:19:23 -07:00
nenolod cda8e9b8db [svn] - TS6 is always enabled now.
There is no reason for it to not be enabled on a proper charybdis network.
2007-08-08 23:47:26 -07:00
jilles f7eac53df5 [svn] In a two-argument whois, RPL_ENDOFWHOIS should show second arg.
This already works correctly for successful/notfound case.
2007-07-14 14:50:21 -07: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 88a2a1484b [svn] Prevent too wide klines with CIDR masks. 2007-05-19 16:36:51 -07:00
jilles 598ebb42c7 [svn] Exempt klines with a fixed user@ (no */?) from min_nonwildcard checks. 2007-05-19 15:21:10 -07:00
jilles 0482ebf7b6 [svn] Target left IRC (more friendly error message if a UID
cannot be found) for /invite.
2007-05-06 07:46:45 -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 822a4a2537 [svn] chghost: refuse spoofs which are empty or start with a colon
(would break the protocol)
2007-04-25 08:21:34 -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 81795a910c [svn] Remove #define UFLAGS. We haven't allowed this
undocumented extension to the IRC protocol for
years (allowing an initial umode in USER).
2007-04-15 13:18:54 -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 f4ed5745de [svn] set: Use sendto_one_notice() for MAXCLIENTS too high notice. 2007-04-13 12:06:53 -07:00
jilles d8228627f2 [svn] Show max_clients in /info. 2007-04-04 17:38:52 -07:00
jilles 6c70c576cc [svn] Don't allow /quote set max higher than the
serverinfo::max_clients ircd.conf value.
2007-04-04 17:33:52 -07:00
nenolod 607cf49f89 [svn] - rename m_list_safelist to m_list and remove ratbox implementation 2007-04-03 03:18:07 -07:00
nenolod e8a2d50da8 [svn] - some more transit to sendto_one_numeric(). 2007-04-03 03:15:39 -07:00
nenolod 885203035d [svn] - change some sendto_one() to sendto_one_numeric(). 2007-04-03 03:11:06 -07:00
jilles f71e18eee5 [svn] Repair operspy who !#channel, broken by me in r3283. 2007-04-02 15:03:08 -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 add9f99dfa [svn] Merge old trunk r2907,r2991:
Allow TESTLINE on channel names.
2007-03-28 08:22:49 -07:00
jilles 8a1e143f6f [svn] Merge old trunk r2817:
WHOIS: Show the given nick in ERR_NOSUCHNICK even if it
starts with a digit. This is safe because the last
parameter is a nick and never a UID. (The first parameter
in a server-server two-param whois is a UID/SID.)
2007-03-28 07:54:10 -07:00