Commit graph

871 commits

Author SHA1 Message Date
Elizabeth Jennifer Myers
765d839d3c Port ircd-seven banfowards to charybdis.
nenolod gave the thumbs-up to port ircd-seven banfowards to charybdis to spb
for a while, and people have asked about it. Might as well do it since it's a
slow weekend.

Note that as a side effect use_forward is removed from the config and
unconditionally enabled!
2011-08-12 20:33:10 -04:00
Elizabeth Jennifer Myers
7eec45bc9d Back out chanroles.
While what chanroles are trying to accomplish is a good idea, it is
apparently unclear this is the proper way to do it. Until we figure out
the exact way we wish to do this, it should be reverted for now.
2011-07-07 21:24:14 -04:00
William Pitcock
f3bfe2c271 chanroles: instead of checking for chanop + CHANROLE_UNSET combination, grant a default set of flags.
this allows ops with zero effective privilege.
2011-07-06 15:12:46 -05:00
William Pitcock
ae79dab6ae chanroles: grant initial set of flags to people added to a channel with CHFL_CHANOP.
this allows us to, later on, add a hook that will enable us to disable channel ops entirely
without causing permissions revocation.
2011-07-06 15:00:32 -05:00
Elizabeth Jennifer Myers
8aabb973c0 Implement chanroles, as discussed with nenolod.
The theory behind this is that services sends an ENCAP * GRANT #channel
UID :+flagspec message specifying the chanroles the user has. They are
mapped into flag bits and applied to the membership of the user. They
then are restricted or permitted to what they can do based on the
permissions mask regardless of rank.

For backwards compatibility, the default permission bit (without a GRANT
statement) allows a user to to anything an existing op can do ONLY if
they are an op.

Todo: make CHANROLE_STATUS work (the ability to apply +ov to people),
which is at the moment controlled by CHANROLE_MODE.
2011-07-06 13:46:22 -04:00
Keith Buck
ab894d74fe Add target change spam notice. 2011-05-16 15:29:09 -07:00
William Pitcock
f5493691ed branding: if CUSTOM_BRANDING is defined, display charybdis version in /info
(based on ircd-seven rebrand patch)
2011-05-08 09:06:19 -05:00
William Pitcock
b6d0720c1c configure: Add --with-custom-branding and --with-custom-version options. 2011-05-08 08:55:32 -05:00
Stephen Bennett
e6e54763d9 Make flood control settings configurable by those who know exactly what they're doing.
From ircd-seven git changeset 29aa4203150337925a4f5c6e7da47be5394c2125 .
2011-03-27 16:35:26 -04:00
Elizabeth Jennifer Myers
0a1e77c27c Support IPv6 blacklists. Also add a conf file option allowing the use of IPv4, IPv6, or both for a blacklist.
Although few blacklists currently support IPv6 lookups, they will likely begin to do so in the near future as more net trash begins using IPv6.
2011-02-27 16:38:05 -05:00
Keith Buck
096570b9f8 Add topic TS and channel TS constraints for /LIST. 2011-01-05 21:15:36 -08:00
Keith Buck
bb55ebebe9 Implement operspy for /LIST. 2011-01-05 18:57:27 -08:00
Stephen Bennett
341f971efa Bring across disable_local_channels config option from ircd-seven 2010-12-21 20:38:04 +00:00
William Pitcock
92052a5c24 Add extended-join client capability.
The extended-join client capability extends the JOIN message with information clients typically
query using WHO including accountname, signon TS and realname.
2010-12-16 00:24:54 -06:00
William Pitcock
99cca61ed6 Add sendto_channel_local_with_capability(). 2010-12-16 00:19:24 -06:00
William Pitcock
27912fd4ff Add send_channel_join(). 2010-12-16 00:09:29 -06:00
William Pitcock
7a7f86d344 Rough implementation of the new account-notify client capability.
This replaces identify-msg in ircd-seven.
2010-12-15 23:04:57 -06:00
William Pitcock
7a948bdaa7 Add capability parameter to sendto_common_channels_local() and sendto_common_channels_local_butone(). 2010-12-15 22:55:05 -06:00
William Pitcock
ff0cc1e616 Add support for linking using SSL certificate fingerprints as the link credential rather than the traditional server-password pair. 2010-12-13 23:14:00 -06:00
B.Greenham
15484f02bd Move flood_attack_channel to channel.c so it can be used outside m_message.c 2010-12-09 18:29:56 -05:00
B.Greenham
87d38e8cf1 Add strip_unprintable, a function that strips all unprintable characters from a string. 2010-12-09 12:02:24 -05:00
William Pitcock
a0626e7ce3 Reorder CHFL flags so that they can be used as ranks. 2010-12-07 00:11:53 -06:00
William Pitcock
6ca4dec95a Extend hook_data_channel_activity moduledata with membership struct. 2010-12-06 22:57:04 -06:00
William Pitcock
83b72f917a chmode: Remove chm_regonly, a vestige from ratbox which doesn't apply to native charybdis networks. 2010-12-06 22:46:37 -06:00
JD Horelick
f26e8b67e2 Remove all the DEFINE's and the random places they were used for the .conf-based ban stuff. 2010-12-04 17:26:14 -05:00
Jilles Tjoelker
01b7a527a3 Show the services login name in WHOWAS.
The numeric is the same (330) as used in WHOIS.

This takes at most half a megabyte of memory (large network, 30 char nicks).
2010-08-29 22:30:54 +02:00
Jilles Tjoelker
717238d2a2 Add target change for channels.
This has a separate enabling option channel::channel_target_change.

It applies to PRIVMSG, NOTICE and TOPIC by unvoiced unopped non-opers.

The same slots are used for channels and users.
2010-08-29 01:26:00 +02:00
Jilles Tjoelker
2fb6379693 Change ERR_MLOCKRESTRICTED to 742 as 735-739 seem for MONITOR extensions. 2010-08-24 22:51:20 +02:00
Stephen Bennett
51269a8737 Merge backout of 8939a7e03d15 2010-08-24 21:31:55 +01:00
Stephen Bennett
0f1ab797e4 Backed out changeset 8939a7e03d15
The code behind this capability was never implemented, and subsequent
discussions have agreed to approach the problem differently. There seems no
reason to continue advertising a capability that does nothing.
2010-08-24 21:30:56 +01:00
William Pitcock
6fb6bd15ae Enforce TS rules on MLOCKs. 2010-08-23 20:22:59 -05:00
William Pitcock
32de9f4e67 Add ERR_MLOCKRESTRICTED (735) to reflect bounces caused by MLOCK. 2010-08-23 18:59:32 -05:00
Jilles Tjoelker
f5455d2cd5 Tweak auto-accept:
* does not apply to NOTICE (as those may well be automated)
* mirrors +g behaviour so that no useless accept entries are added for services
* respects max_accept, if it would be exceeded the message is dropped with numeric 494
* check moved up so this is checked before floodcount/tgchange
2010-07-04 17:14:56 +02:00
William Pitcock
545f0a0f07 strip_colour(): strip ASCII 29 (mIRC 7 italics). 2010-06-19 16:53:56 -05:00
Stephen Bennett
c71a6e3bed Branch merge 2010-05-02 21:36:32 +01:00
Stephen Bennett
3b8a6350f8 Backed out changeset c57955c5225e
Now that MLOCK is no longer stored as a struct Mode, this is unnecessary.
2010-05-02 21:29:22 +01:00
Stephen Bennett
6b8db2daf2 Allow the final parameter of MLOCK to be empty, to remove an existing mlock 2010-05-02 20:42:46 +01:00
Stephen Bennett
78e6b731e4 Rework ircd-side MLOCK enforcement: instead of trying to track modes locked on or off, instead keep a simple list of mode letters that are locked, and reject any change to those modes. 2010-04-30 22:01:21 +01:00
William Pitcock
bd44fc7b09 Automated merge with ssh://hg.atheme.org//hg/charybdis 2010-04-06 17:14:51 -05:00
William Pitcock
c239b97f68 Hook up source-account-hostmask client protocol extension. 2010-04-06 17:14:44 -05:00
JD Horelick
944b0584ea Change config option for ident_timeout to default_ident_timeout as jilles
recommended.
2010-04-05 16:29:11 -04:00
JD Horelick
0ffb810660 Add a configuration option for ident_timeout. 2010-04-05 15:28:44 -04:00
Jilles Tjoelker
19716b9fd6 New custom channel mode API allowing reloading such modules.
Additionally, attempting to use too many modes or two times
the same letter is now detected and prevented.

Modules now request that a channel mode be added/orphaned,
instead of ugly manipulation from which that request had
to be guessed.

Slight changes are needed to modules that provide channel modes.
From the old API, one important function has been made static,
the other important function has been renamed, so loading old
modules should fail safely.
2010-04-01 01:16:16 +02:00
Jilles Tjoelker
dca9e55257 Add propagated resvs, like klines and xlines. 2010-03-27 16:13:57 +01:00
Jilles Tjoelker
3cbbfb2556 Add propagated xlines, like klines. 2010-03-16 23:05:50 +01:00
Jilles Tjoelker
1702b69419 Add option general::use_propagated_bans to allow disabling new KLINE.
If this option is yes (default), KLINE by itself sets global (propagated) bans.
If this option is no, KLINE by itself sets a local kline following cluster{},
compatible with 3.2 and older versions.
2010-03-14 17:21:20 +01:00
William Pitcock
8727cbe88a Add propagation of MLOCK state for simple modes.
Special modes like +j can be tracked easily just by adding the necessary
code to parse them to set_channel_mlock().  This will cover propagation
as well.
2010-03-07 23:13:39 -06:00
William Pitcock
82eac99fc0 Fix typo. 2010-03-07 22:30:30 -06:00
William Pitcock
ec55bec527 Add MLOCK capability token. 2010-03-07 22:25:41 -06:00
William Pitcock
a51c452643 Rename channel_modes() to channel_modes_real(), and use macros to build both the mode list, and the mlock list. 2010-03-07 22:22:14 -06:00
William Pitcock
bafd5ea61c struct Channel: add mode_lock structure to the channel object. 2010-03-07 21:41:06 -06:00
William Pitcock
a51b50c366 struct Mode: add off_mode bitfield to describe disabled channel modes. 2010-03-07 21:40:34 -06:00
William Pitcock
dd0f1f5b88 Add RPL_CHANNELMLOCKIS for ircd-side MLOCK enforcement. 2010-03-07 21:35:54 -06:00
Jilles Tjoelker
5c2b9eaf48 BAN: Reject bans with insufficient non-wildcard characters.
Such bans are not applied locally, but are propagated normally.
They can only be removed on a server that applies them.

Note that normally KLINE will not accept such bans.
This is mainly for services, differing min_wildcard and
ircd changes.
2010-03-06 01:45:41 +01:00
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
9197bc355e Add code to expire "propagated" bans.
The data structure is very simple: a dlink list of all propagated bans.
2010-03-04 00:21:22 +01:00
Jilles Tjoelker
c2e7ab8c1e ConfItem.next is not used, remove it. 2010-03-03 23:36:28 +01:00
Jilles Tjoelker
f9545a9b54 Make struct operhash_entry private. 2010-03-01 01:24:00 +01:00
Jilles Tjoelker
27f616ddf5 Track who set a dline/kline/xline/resv as in ratbox3.
Like in ratbox3, there is no way to query this information
(other than bandb's tables, but they worked before this
commit).
2010-03-01 01:23:22 +01:00
Jilles Tjoelker
a12ad04472 Generate the "Temporary K-line %d min" part from aconf->hold - aconf->created. 2010-02-28 16:27:06 +01:00
Jilles Tjoelker
b52c294986 Store the creation time of klines and dlines as a time_t instead of as text.
The value 0 indicates the creation time is unknown (currently the case
for bandb).
Also store a creation time for xlines and resvs, but do not use it yet.
2010-02-28 00:46:56 +01:00
Alexander F?r?y
51027be825 Use RPL_QUIETLIST and RPL_ENDOFQUIETLIST instead of RPL_BANLIST and
RPL_ENDOFBANLIST for channel mode +q.
2010-02-27 01:08:41 +01:00
Jilles Tjoelker
666de5311f Remove some obsolete paths from config.h. 2010-02-22 23:53:45 +01:00
Jilles Tjoelker
1815320d3b Remove more old kline.conf stuff.
Make sure to recompile modules, stuff has been removed
close to the start of ConfigFileEntry.
2010-02-22 19:31:05 +01:00
Jilles Tjoelker
22342cd11f Remove code to write bans to csv files. 2010-02-22 19:09:46 +01:00
William Pitcock
ff31db8473 Add support for client certificate fingerprints in o:lines. 2010-02-17 06:41:41 -06: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
8eda114a78 Pass certfp to other servers and show it in whois. Do not show it on connect.
The server protocol for this is
:<uid> ENCAP * CERTFP :<40 hex chars>
both in new user introductions and in burst.

As in oftc-hybrid, only the user themselves and opers can see the certfp.

Displaying the certfp on connect seems unnecessary to me,
the user can whois themselves if needed.
2010-02-06 00:18:27 +01:00
Jilles Tjoelker
8f10356217 Remove remnants of <foo>_t typedefs. 2010-01-30 15:57:10 +01:00
William Pitcock
2e918bf515 Merge +C (no CTCP to channels) from ircd-seven. 2010-01-19 02:11:04 -06:00
William Pitcock
83595e6016 Add bandb IRCd APIs. 2010-01-07 17:10:16 -06:00
William Pitcock
0d781b9a4f Add DBPATH. 2010-01-07 16:55:34 -06:00
William Pitcock
7083c02121 Run autoreconf. 2010-01-07 16:51:32 -06:00
Jilles Tjoelker
cef7a7bc4e Remove FLAGS_SENDQEX, fix sendq exceeded snotes for servers.
from ircd-ratbox
2009-12-21 16:58:25 +01:00
Jilles Tjoelker
01a7f6d4f9 Remove two obsolete constants. 2009-06-03 23:18:07 +02:00
Stephen Bennett
6657de63ac Merge 2009-12-08 19:23:32 +00:00
Stephen Bennett
c127b45b83 Revert all presence-related changes 2009-12-08 19:22:55 +00:00
Jilles Tjoelker
c2c25552ca Force part local users (not resv_exempt) on channel resv.
A notice will be sent to any force parted users that the channel
is temporarily/permanently unavailable on the server.
A new config option channel::resv_forcepart can be used to disable this.

from ircd-ratbox (dubkat)
2009-09-19 21:24:35 +02:00
Jilles Tjoelker
7919c03041 Add new constants for presence key/value lengths
instead of overloading NICKLEN/TOPICLEN.
2009-06-03 23:38:07 +02:00
Jilles Tjoelker
553aaaf4db Remove two obsolete constants. 2009-06-03 23:18:07 +02:00
William Pitcock
972e31192f presence: Add _butone() variant of sendto_common_channels_local_with_capability(). 2009-06-02 02:38:38 -05:00
William Pitcock
695cc4bc0c presence: Declare RPL_METADATACHG. 2009-06-02 02:32:07 -05:00
William Pitcock
62928328bf presence: Add sendto_common_channels_local_with_capability(), used for broadcasting presence updates. 2009-06-02 02:28:02 -05:00
William Pitcock
727bca6269 presence: Declare RPL_WHOISMETADATA. 2009-06-02 02:19:37 -05:00
William Pitcock
54ff698839 presence: Add CLICAP_PRESENCE.
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05: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
William Pitcock
75ea650c3c presence: Add get_metadata(). 2009-06-02 01:50:40 -05:00
William Pitcock
e581ea8e3d presence: Add set_metadata() and delete_metadata(). 2009-06-02 01:41:44 -05:00
William Pitcock
195d10c293 presence: Declare RPL_METADATASET and RPL_METADATAREM. 2009-06-02 01:32:09 -05:00
William Pitcock
f01154c478 presence: Declare MetadataEntry struct. 2009-06-02 01:29:58 -05:00
William Pitcock
0d3b24f9cf presence: Create presence metadata tracking structures where appropriate. 2009-05-30 13:30:57 -05:00
William Pitcock
d7ca5991bc struct Client: add a dictionary to contain presence metadata. 2009-05-30 13:17:39 -05:00
William Pitcock
32a7faa104 Automated merge with ssh://hg.atheme.org//hg/charybdis 2009-05-30 13:16:01 -05:00
William Pitcock
8669b3b99c Add irc_dictionary.h to stdinc. I'm lazy. 2009-05-30 13:15:58 -05:00
Jilles Tjoelker
6dbb113478 Remove some obsolete unused definitions. 2009-05-21 16:01:46 +02: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
97c9dd8a26 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
William Pitcock
c6240d7940 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
5f8d323c59 can_kick hook, based on the ircd-seven one. 2009-04-20 09:20:11 -05: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
995f300eb1 Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
Jilles Tjoelker
ad13bb7556 Rework remote rehash messages to apply to all server notices during rehash.
Previously various notices such as those applying
to modules were not sent to the remote oper.
2009-03-07 01:27:05 +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
53307da8ca 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
ad08ad1876 For remote rehashes, send error messages to the requesting oper as well. 2009-01-30 00:11:12 +01:00
Jilles Tjoelker
975c61928a Don't suggest putting values in an enum that are not in the enum.
Compilers may assume that variables of enumerated type
only contain values in the enumeration.
2009-01-28 01:02:34 +01:00
Jilles Tjoelker
161f040940 Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker
3a17735469 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
Valeriy Yatsko
32eadd332e Update client.h. 2008-12-13 23:22:12 +03:00
Jilles Tjoelker
83235e9ed5 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
ae09cb7dbe Show throttle info in /stats t.
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker
422bb0b553 Make rehashing privset{} change online oper privileges.
This also fixes memory leak due to multiple privsets
with the same name (added after each rehash).
2008-12-14 18:25:15 +01:00
Valeriy Yatsko
b7a689d1e5 Remove irc_basename, replace it with rb_basename from libratbox. 2008-12-03 02:59:13 +03:00
Jilles Tjoelker
e33e589cbf Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen.
Taken from ircd-ratbox 3 via shadowircd.
2008-11-30 13:31:59 +01:00
Jilles Tjoelker
d764f7ce5a Correct buffer without space for '\0', should have been safe due to padding. 2008-11-22 18:51:00 +01:00
Aaron Sethman
679ccbe5ef 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
db3efb7ac2 Allow the resolver to process longer hostnames,
for the benefit of some DNSBLs like the "TorDNSEL service".
2008-11-15 16:13:39 +01:00
Jilles Tjoelker
48957a4951 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
10847f65d3 Remove old oper privilege flags. 2008-09-09 21:51:26 +02:00
Jilles Tjoelker
b159441429 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
William Pitcock
5d47bdca0f Make change_isupport() return the old value!!! 2008-08-29 15:36:41 -05:00
William Pitcock
474b0d3515 Add change_isupport() to change the value of an ISUPPORT token. 2008-08-29 15:27:34 -05:00
Jilles Tjoelker
3540120ad5 Fix ident for ssl connections. 2008-08-28 00:49:04 +02:00
William Pitcock
f37fc9389b HasPrivilege(): check to make sure localClient and localClient.privset are non-NULL. 2008-08-17 08:52:04 -05:00
William Pitcock
6ac9e53ee4 All modules converted to use privsets by porting the macro over.
New macro, HasPrivilege() does most of the work here, the old IsOper*() macros
are deprecated, and will likely be removed later.
2008-08-17 08:36:17 -05:00
William Pitcock
ef24271618 Make a reference to privset in Client.localClient. 2008-08-17 08:23:40 -05:00
William Pitcock
598b4cf10c privilegeset_ref(): return the privilegeset 2008-08-17 08:22:56 -05:00
Jilles Tjoelker
8c59a8403b Add 328 numeric (ChanServ channel URL) to the header files. 2008-08-17 14:49:01 +02:00
Jilles Tjoelker
f11d08a405 Remove another servlink remnant. 2008-08-17 14:46:29 +02:00
William Pitcock
a2e1310cbe oper_conf structure: add privset association. 2008-08-17 07:32:30 -05:00
William Pitcock
353f862553 Add privilegeset_extend(). 2008-08-17 06:35:49 -05:00
William Pitcock
9c3f080b99 Add basic PrivilegeSet API. 2008-08-17 06:27:59 -05:00
Valery V Yatsko
33e65f0004 no more servlink - removed 'servlink_path' from reference.conf and source files 2008-08-16 22:23:56 +04:00
Valery V Yatsko
392ae75ca9 Moved extern chmode_flags declaration from channel.h to chmode.h, as
it's actually declared in the second one
2008-08-04 21:51:15 +04:00
Jilles Tjoelker
43946961df 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
Valery Yatsko
9bdd947118 channel.h cleaned up a bit - removed unused includes 2008-07-30 16:27:35 +04:00
Valery Yatsko
687ff2f994 Removed charybdis.h include - used nowhere 2008-07-30 16:19:56 +04:00
Valery Yatsko
104c6d469d rb_uint32_t -> uint32_t, rb_uint16_t -> uint16_t 2008-07-30 02:45:31 +04:00
Valery Yatsko
adc7be98fc Removed unneeded includes from newconf.h 2008-07-28 23:14:51 +04: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
ce3801b175 Remove some obsolete ConfItem flags. 2008-07-04 17:05:18 +02:00
Valery V Yatsko
b2064202fb Removed SystemTime declaration 2008-06-28 14:38:27 +04:00
Valery V Yatsko
b3ebc7ab9e Applied svn diff from ratbox3 r21458:21470 2008-06-28 14:13:50 +04:00
Valery V Yatsko
b4407833bd Remove Channel->users_last, used nowhere 2008-06-28 12:25:53 +04:00
Valery V Yatsko
b617afdc02 channel_heap,ban_heap,topic_heap,member_heap declared statically in channel.c instead of ircd.{c,h} 2008-06-28 11:54:51 +04:00
Valery V Yatsko
40c1fd4799 PASS selector:password for auth{}, based on spb's patch for ircd-seven 2008-06-26 10:18:58 +04:00
Valery V Yatsko
c18cb68b91 Generating cflags bufs dynamically: one for RPL_MYINFO and one for
supported.c
2008-06-25 07:51:32 +04:00
Valery V Yatsko
33599ae783 Missed declaration of chm_orphaned 2008-06-24 22:08:24 +04:00
Valery V Yatsko
46d59e1138 A draft version of find_cmode_slot and orphaned concept for channel
flags
2008-06-24 21:26:49 +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
1a53072881 Clean up s_auth a little. No functional changes. 2008-06-21 00:58:08 +02:00
Jilles Tjoelker
0c5cbb3b96 Remove unused field ip6_int. 2008-06-20 22:55:51 +02:00
Jilles Tjoelker
a3143c9b6b Some const stuff for m_set. 2008-06-11 00:28:08 +02:00
William Pitcock
2a7872e9fb Merge with 'charybdis-ts6only' branch. 2008-06-08 01:09:04 -05:00
Jilles Tjoelker
c42fb00e7f Remove dline flags from shared all.
This means dline/undline need to be specified
explicitly in a shared{} block.
2008-04-21 01:41:42 +02:00
Jilles Tjoelker
896755fe0d Move some declarations to header files, this enforces that they match. 2008-04-20 15:30:24 +02:00
Jilles Tjoelker
2e819b6b3e Fix various compiler warnings. 2008-04-20 15:20:10 +02:00
Valery Yatsko
f5cb68d51d 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
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
decf0486cc strip_tabs() is related to s_conf.c ONLY - moved it there 2008-04-20 09:38:26 +04:00
Valery Yatsko
e3b33fe3e6 clean_string() is related to m_links.c ONLY - moved it there 2008-04-20 09:35:22 +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
08d75d9702 myctime -> rb_ctime 2008-04-20 09:03:39 +04:00
Valery Yatsko
caa4d9d273 Various inet* -> rb_inet_* 2008-04-20 08:55:41 +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
6af128685d Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code 2008-04-20 08:36:28 +04:00
Valery Yatsko
ea82a3ca27 Splitted open_logfiles(); into open_logfiles(); and close_logfiles();, use the second one on ircd_shutdown 2008-04-20 07:42:30 +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
Jilles Tjoelker
7b7daec8db Rerun autoconf and autoheader. 2008-04-11 17:57:37 +02:00
William Pitcock
cd3cab1416 TS_MIN is 6 now. 2008-04-11 10:23:47 -05:00
William Pitcock
729d5e3558 start working on TS5 removal. 2008-04-11 10:22:44 -05:00
Valery Yatsko
453ea2fde8 Fixing compilation - CAP_GLN removed 2008-04-11 18:56:53 +04:00
Valery Yatsko
170703fe3a Removing glines 2008-04-11 18:47:03 +04:00
Jilles Tjoelker
a8ac111452 Add extern to eob_count global variable declaration in header file. 2008-04-11 11:30:07 +02:00
Valery Yatsko
79b0d5a330 .cvsignore files removed, SVN-Access replaced by Mercurial-Access 2008-04-09 22:24:50 +04:00
Valery Yatsko
c84557ac70 chm_* declarations gone to chmode.h - this makes some modules clean 2008-04-08 23:39:35 +04:00
Jilles Tjoelker
6db4fb0a9b Make Dictionary keys const everywhere. 2008-04-08 19:52:02 +02:00
Jilles Tjoelker
8262273238 Make the format argument of change_nick_user_host() const. 2008-04-08 18:54:58 +02:00
Jilles Tjoelker
d48a559768 Make Message.cmd a const pointer. 2008-04-08 18:51:52 +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
536845c57d Removing UMODE_ALL, replacing all sendto_realops_flags in sslproc.c with snomasks 2008-04-08 20:16:19 +04:00
Valery Yatsko
044aa2c757 Changing umode defines - renumbered 2008-04-08 20:06:43 +04:00
Valery Yatsko
f53ed7f8ca 'S' flag meaning we use ssl link added to /stats {c,C} (connect) 2008-04-08 18:30:53 +04:00
Valery Yatsko
b2c42c4589 Branch merge 2008-04-08 18:01:37 +04:00
Valery Yatsko
4c79bbd350 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
72324d1052 ircd_state.{c,h} gone - let us redesign it in future really 2008-04-08 15:41:41 +04:00
Valery Yatsko
aa6c90dec7 It seems that we don't use data structs version anywhere since 1.2.0 - removed 2008-04-08 15:36:56 +04:00
Valery Yatsko
e04fd343f8 Some declarations connected to removed servlink gone 2008-04-07 15:26:25 +04:00
William Pitcock
af7aaa8444 fix whois :) 2008-04-06 12:04:25 -05:00
William Pitcock
3318e109f9 add umode +Z for SSL, can't be set or unset 2008-04-06 11:55:12 -05:00
William Pitcock
1471fb5f2b add missing file 2008-04-06 11:31:46 -05:00
Valery Yatsko
c6d7203732 ssl sync with http://hg.angelforce.ru/charybdis-old 2008-04-06 18:52:42 +04:00
Jilles Tjoelker
f1eccc3420 Branch merge. 2008-04-05 22:34:13 +02:00
Jilles Tjoelker
abe5dd209d Put back connecting to servers defined by hostname.
The DNS lookup is done at connect time.
2008-04-05 22:09:32 +02:00
Valery Yatsko
101db4c443 Much clear maxconnections stuff - ported from ratbox3. 2008-04-05 23:56:15 +04:00
Valery Yatsko
9ea3ea1085 Missed some files in r520 commit. 2008-04-05 21:20:48 +04:00
Valery Yatsko
ccda6e3fc5 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
47adde3def s_stats.c removed, now we use new style of stats handling. 2008-04-04 19:54:37 +04:00
Jilles Tjoelker
074e7607a7 Remove some declarations for removed functions. 2008-04-04 01:19:28 +02:00
Jilles Tjoelker
f455ed520d Servlink control data is read again, this makes /stats Z work. 2008-04-04 00:45:38 +02:00
Jilles Tjoelker
8c689f969d Ziplinks appear to work again now. 2008-04-04 00:13:50 +02: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
William Pitcock
ba1a1399c7 ilog_error() replaces legacy report_error() craq 2008-04-02 21:40:54 -05:00
Jilles Tjoelker
c6f49c9a63 Make s_auth.c compile. 2008-04-02 21:14:34 +02:00
Valery Yatsko
e967e868c4 Stuff connected with ctrlFd disabled 2008-04-02 21:16:13 +04:00
Valery Yatsko
5a606a8f8c flood_recalc moved on ratbox3 event engine 2008-04-02 21:10:29 +04:00
Valery Yatsko
60eb0cdc9c linebuf -> rb_linebuf 2008-04-02 21:04:44 +04:00
Valery Yatsko
f691939a17 Workarond with listener.c stuff on moving from listener->fd usage on listener->F. 2008-04-02 20:06:11 +04:00
Valery Yatsko
e7046ee54d 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
b08ce46eb1 class.c fixed 2008-04-02 19:49:42 +04:00
Valery Yatsko
97b41ffab9 m_pass.c fixed 2008-04-02 19:45:22 +04: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
18b94b70dc replacing ssld with servlink 2008-04-02 17:00:18 +04:00
Valery Yatsko
07d5c0494a get_printable_kline(..) fix 2008-04-02 16:55:01 +04:00
Valery Yatsko
e4d8860e06 READBUF_SIZE 2008-04-02 16:35:48 +04:00
Valery Yatsko
4714a17f54 Trying to fix packet.c 2008-04-02 16:31:17 +04:00
Valery Yatsko
a4597cd8d9 fixing ServerStats struct 2008-04-02 16:08:28 +04:00
Valery Yatsko
19fee732d7 tstats stuff gone to m_stats.c 2008-04-02 16:04:43 +04:00
Valery Yatsko
05ffd6946d fixing Class struct 2008-04-02 15:34:26 +04:00
Valery Yatsko
4998e3d6dc More charybdis -> ratbox3 2008-04-02 15:02:45 +04:00
Valery Yatsko
3c5a494ddd Fixing bugs 2008-04-02 14:43:53 +04:00
Valery Yatsko
9fa9300fa2 hostmask.h cleanup 2008-04-02 14:42:25 +04:00
Valery Yatsko
7ee5e8a5fe reject functions from ratbox3 2008-04-02 14:41:37 +04:00
Valery Yatsko
b5cf99a8c3 s_stats workaround 2008-04-02 14:35:57 +04:00
Valery Yatsko
f888761cec ssl_ok in ircd.{h,c} 2008-04-02 14:29:18 +04:00
Valery Yatsko
e1c8d82073 localflags stuff 2008-04-02 14:28:02 +04:00
Valery Yatsko
a3996b820e LocalUser::ssl_ctl 2008-04-02 14:26:13 +04:00
Valery Yatsko
6120b9525d CLI_FD_MAX 2008-04-02 14:23:36 +04:00
Valery Yatsko
835b12ef61 Some hash stuff 2008-04-02 14:20:27 +04:00
Valery Yatsko
ae78a57163 Reverting to 398.. trying again with native charybdis hash 2008-04-02 14:16:31 +04:00
Valery Yatsko
002bc9e82c switching back on nd_dict instead of ratbox3 hash functions 2008-04-02 14:11:01 +04:00
Valery Yatsko
46f200fae9 LocalUser struct changes 2008-04-02 14:07:14 +04:00
Valery Yatsko
4c07af8252 LOCAL_COPY_N macro 2008-04-02 14:03:16 +04:00
Valery Yatsko
5c65d4ca0c nd_entry struct from ratbox3 2008-04-02 14:00:41 +04:00
Valery Yatsko
85958381ad hash.{h,c} from ratbox3, let's work around them! xD 2008-04-02 13:58:52 +04:00
Valery Yatsko
fd1e24eccb 'lip' added in LocalUser struct 2008-04-02 13:55:17 +04:00
Valery Yatsko
ba4936e2c5 extern declaration in ircd.h instead of ircd.c 2008-04-02 13:53:41 +04:00
Valery Yatsko
433a202989 Much more changes to remove compilation warnings 2008-04-02 13:43:11 +04:00
Valery Yatsko
18f4cc5a2c This define is in libratbox config.h 2008-04-02 13:40:07 +04:00
Valery Yatsko
f7e2c5b340 Trying again - this will need ssld integration from me 2008-04-02 13:32:14 +04:00
Valery Yatsko
f438bd836a Reverting last commit to try again 2008-04-02 13:11:59 +04:00
Valery Yatsko
873487eb8f Trying to migrate on ratbox3's listener. 2008-04-02 06:25:08 +04:00
Valery Yatsko
bac4c06faf DupNString removed - we don't need it now 2008-04-02 06:00:24 +04:00
William Pitcock
2b42818532 yet another autoreconf run. 2008-04-01 20:55:40 -05:00
William Pitcock
f589ec6fb1 run autoreconf. 2008-04-01 20:40:26 -05:00
William Pitcock
fa94d8fb93 make s_user.c build. 2008-04-01 20:36:50 -05:00
Valery Yatsko
398b6a7372 ok, trying to work on blockheap's stuff 2008-04-02 04:28:05 +04:00
Valery Yatsko
0ccdff98ac fixing cache.c compilation - code stolen from ratbox3, with irc dictionary addition 2008-04-02 04:15:58 +04:00
Valery Yatsko
e335494516 CurrentTime -> rb_currenttime(); 2008-04-02 03:53:20 +04:00
Valery Yatsko
a235e4101d 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
6e6a632636 ircd_defs.h declaration in stdinc.h - needed for some reasons. 2008-04-02 03:31:31 +04:00
Valery Yatsko
a1f535de14 Returned back declaration I've mistakenly removed. 2008-04-02 03:28:15 +04:00
Valery Yatsko
47a0375094 DubString -> rb_strdup 2008-04-02 03:26:34 +04:00
Valery Yatsko
300a543344 away stuff from ratbox3 2008-04-02 03:03:15 +04:00
Valery Yatsko
423f18a073 monitor.{c,h} stuff for libratbox3. 2008-04-02 02:55:34 +04:00
Valery Yatsko
81af5bcb39 libcharybdis includes gone. 2008-04-02 02:39:19 +04:00
Jilles Tjoelker
3b2ebd04de Make send.c compile, except for ziplinks. 2008-04-01 23:51:34 +02:00
William Pitcock
fa8328508d Make m_set compile. 2008-04-01 16:25:22 -05:00
Jilles Tjoelker
7018b86a12 More changes for libratbox. 2008-04-01 23:11:11 +02:00
Jilles Tjoelker
0e7cb7e6a1 Various changes for libratbox. 2008-04-01 23:03:14 +02:00
William Pitcock
5b96d9a6b9 start making this compile 2008-04-01 15:18:48 -05:00
William Pitcock
d56734d6dd bork bork bork 2008-04-01 15:14:08 -05:00
Jilles Tjoelker
7b7e1640de Move PRIVS command from extensions to modules (shows effective oper privs). 2008-03-31 00:39:14 +02:00
Jilles Tjoelker
bd710c8837 Add ERR_DISABLED (517) from ircu. 2008-03-30 19:56:20 +02:00
Jilles Tjoelker
85550587fb 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
48a266e5da Cleanups to 005 code, from ratbox (androsyn). 2008-03-18 23:28:03 +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
014e2aa049 Generate include/serno.h from the hg revision data.
The code is inspired by the code in atheme-services, but
* it uses 'hg parents' instead of 'hg tip' so it will
  also work if the working directory is not updated
  to the latest version in the local repository
* the format is different (date-shorthash instead of
  revnum:shorthash)
* some sort of serno.h is always generated, be it
  "unknown" only
2008-03-12 18:44:47 +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
5ca543e7c5 Remove FLAGS2_NOLIMIT (IsExemptLimits/SetExemptLimits).
This only has an effect at connection time, and the
ConfItem flag suffices for that.
2008-01-06 00:16:57 +01:00
Jilles Tjoelker
de82e84fae Use a more expected value for SHARED_TRESV. 2008-01-05 14:58:13 +01:00
Jilles Tjoelker
962747349b Send a rate-limited server notice if a blacklist gives a non-127.0.0.x reply. 2008-01-05 00:38:23 +01:00
Jilles Tjoelker
fddc5ee420 config.h: remove some obsolete options, move MAX_BUFFER to tunable section 2008-01-04 18:42:59 +01:00
Jilles Tjoelker
be462ae76a Overwrite config.h.dist with config.h.
config.h.dist serves no purpose other than a backup copy
for local changes to config.h
2008-01-04 18:33:36 +01:00
Jilles Tjoelker
cdd5b26189 Remove idle time checking (auto disconnecting users idle too long). 2008-01-01 23:04:34 +01:00
Jilles Tjoelker
d61de0adff Remove various obsolete ConfItem statuses (types) and flags. 2008-01-01 16:06:59 +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
7d1f9131fb Consolidate duplicate channel mode flags tables to one. 2007-12-25 01:00:20 +01:00
Jilles Tjoelker
a6f4368b96 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
3fec9477b8 Rearrange flags2 to make room for 3 more oper privileges. 2007-12-24 21:16:19 +01:00
Jilles Tjoelker
095328a742 Move various flags from flags2 to flags. 2007-12-24 20:58:55 +01:00
Jilles Tjoelker
9696c9d6ab Remove various unused macros. 2007-12-24 20:40:12 +01:00
Jilles Tjoelker
86142e83d7 Remove unused CONF_FLAGS_DO_IDENTD and FLAGS_NEEDID. 2007-12-24 20:32:41 +01:00
Jilles Tjoelker
29c55c49f2 Remove unused flag FLAGS_CHKACCESS. 2007-12-24 20:26:39 +01:00
Jilles Tjoelker
420b2c9a10 Remove dot_in_ip6_addr config option. 2007-12-24 18:24:23 +01:00
Jilles Tjoelker
1ebe6ffc92 Add resv oper priv, enabled by default for compatibility. 2007-12-17 02:20:14 +01:00
Jilles Tjoelker
d7f753cd3a Do not copy string passed to add_top_conf()/add_conf_item().
If the caller can keep a function pointer valid, they can
certainly keep a string valid.
This also fixes an error with HAVE_STRDUP undefined.
2007-12-13 00:14:02 +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
Jilles Tjoelker
1cda7a9cb2 Change meaning of "bits" in FNV hash functions to bitlen instead of 32-bitlen.
Do reduction like recommended by
http://www.isthe.com/chongo/tech/comp/fnv/index.html#xor-fold
2007-12-08 19:44:18 +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
William Pitcock
90187f2112 It compiles, ship it. 2007-12-02 09:41:13 -06:00
William Pitcock
8ac7552983 commands and aliases go from horrible hashtable code to dictionary... try 1 2007-12-02 09:34:45 -06:00
William Pitcock
c98390004f Automated merge with ssh://hg.atheme.org//hg/charybdis 2007-12-02 09:06:50 -06:00
William Pitcock
d6bda36db1 Add irc_dictionary code. 2007-12-02 09:06:25 -06:00
Jilles Tjoelker
4e0f14a0e8 Add find_exact_conf_by_address() to find klines etc by exact mask. 2007-11-28 23:59:49 +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
nenolod
0a61720ad4 [svn] - we do not need to call find_server() in the function for registering local users 2007-11-20 03:16:43 -08:00
nenolod
cc32202d96 [svn] Explain invalid username rejections to users when they are rejected. 2007-11-20 03:08:23 -08:00
jilles
407b1826e6 [svn] Update description of oper privileges a bit. 2007-11-17 13:55:48 -08:00
jilles
832942858c [svn] Fix desyncs with very long extbans. Bans can now be upto 195 chars long. 2007-11-07 15:45:14 -08:00
jilles
5b87d08a05 [svn] allocate_channel(): no need to truncate name, its only caller already does it
furthermore, truncating here causes an inconsistent channel name
2007-11-07 13:45:14 -08:00
jilles
fea1ad5224 [svn] Fix a memory leak. 2007-10-27 14:56:53 -07: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
jilles
c614f4a9c9 [svn] Make EXTBAN 005 token like unreal's (, instead of :). 2007-09-09 11:59:08 -07:00
jilles
d64fec57a1 [svn] Remove a sentence which gives the impression that TS6 is optional. 2007-09-06 13:30:22 -07:00
jilles
0c30404320 [svn] Clarify format of IPv6 addresses in SGML documentation. 2007-08-29 15:18:31 -07:00
jilles
b0dc8e031c [svn] Clarify format of IPv6 addresses in auth{} and connect{}. 2007-08-29 15:04:45 -07:00
jilles
f0e3fa7629 [svn] Add more information about invitations and invexes. 2007-08-23 14:02:31 -07:00
jilles
518bd9012d [svn] Add what /invite actually does (bypass +ijlr). 2007-08-23 12:00:10 -07:00
jilles
29fa754919 [svn] callerid (+g) documentation:
- Mention 005 (isupport) token with possibility of different mode letter.
- Explicitly clarify that /accept can be used while -g, and setting -g
  does not clear the accept list.
- Mention that some users may be able to bypass +g.
- Mention that /accept may allow more than just going through +g.
- Update to 716/717/718 numerics instead of notices.
- Clarify that the one-minute period applies to messages from all users,
  not just one user.
- Add a numerics section with more exact syntax.
2007-08-18 07:45:10 -07:00
jilles
8e8f4ffc19 [svn] Send TS6 protocol for the actual work of override modules.
Wallops remain TS5-style for now.
2007-08-10 15:31:14 -07:00
nenolod
abe616bb76 [svn] - update IDEAS as TS6 only is partially done 2007-08-08 23:50:13 -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
nenolod
fffecc26ed [svn] - better text for RPL_LOAD2HI explaining in a better way what is going on 2007-08-08 23:40:52 -07:00
jilles
8f0a1bf3ac [svn] Also rerun autoheader, for solaris ports changes. 2007-08-01 13:52:54 -07:00
jilles
7dfa2d1d42 [svn] Rerun autoconf for version bump, at last. 2007-08-01 13:50:54 -07:00
jilles
2f15f871ff [svn] Make highest connection counts a bit more consistent. 2007-08-01 13:18:12 -07:00
jilles
4f3f411b34 [svn] Fix wrong line numbers in ircd.conf parser (some comments).
from ratbox 2.2 (androsyn).
2007-07-30 10:26:00 -07:00
jilles
d62ae16cb0 [svn] Change EmptyString so gcc 4.2 doesn't complain.
from ratbox (androsyn), slightly changed
2007-07-26 07:21:57 -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
fd488ac17a [svn] Use mask_match() to check bans from local clients for
redundancy. This fixes the problem that bans like *!?@*
prevent any ban starting with *!*@ being set.
2007-07-14 06:34:50 -07:00
jilles
df251055ca [svn] Add mask_match(), like ircu mmatch().
This compares two masks and returns whether the "new" is
more specific than or equal to the "old". The difference
with match() is that a '?' in "old" does not match a '*' in
"new".
2007-07-14 06:32:18 -07:00
jilles
94d53e53a4 [svn] add_id() for local client: do not collapse() the ban mask.
The code calling this already collapses the mask, and if
not, doing it here would cause a desync.
2007-07-14 05:20:48 -07:00
nenolod
efb1d08613 [svn] - fix dereference problems with not widely used polling engines 2007-07-07 01:08:23 -07:00
nenolod
b076458c6f [svn] - forgot to do something 2007-07-06 00:56:14 -07:00
nenolod
514235a762 [svn] - fix a possible problem with ipv6 2007-07-06 00:54:54 -07:00
nenolod
762cc38cf9 [svn] - new ip cloaking module 2007-07-06 00:48:28 -07:00
jilles
8aba962d43 [svn] monitor: send the same message buffer to all users
monitoring a certain nick; the target field of the
numeric becomes *, much like server notices
2007-06-30 15:15:35 -07:00
jilles
66b4a7ae7a [svn] Call add_to_hostname_hash() with correct (orig) hostname. 2007-06-22 14:59:09 -07:00
jilles
88cb7f9965 [svn] Version bump on trunk to 2.3. 2007-06-10 09:14:03 -07:00
nenolod
f80a18239d [svn] - "please report this to the ratbox developers" -> "please report this to the charybdis developers". not sure how we overlooked this for so long. 2007-06-06 09:25:21 -07:00
nenolod
4a8fab1f7b [svn] Add IRC_DEPRECATED macro for marking functions and data structures
as deprecated on compilers that support it.
2007-06-06 09:20:40 -07:00
nenolod
7fd77cb085 [svn] - update IDEAS with link failover 2007-06-06 08:46:12 -07:00
jilles
7d08aa8911 [svn] xline/resv wildcard checking:
- count escaped (\) characters as one nonwild
- accept strings without wilds no matter how short they are
2007-06-04 09:04:49 -07:00
jilles
5832fa369b [svn] Tweak some comments in sno_whois extension. 2007-05-30 03:22:25 -07:00
jilles
f7b6029312 [svn] Tweak NEWS a little. 2007-05-30 03:22:01 -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
a6ac2e9122 [svn] - add some IDEAS, including SASL based opering, internally reworking channel access (custom access
levels?), hideops, namespace cleanups, etc
2007-05-26 23:33:26 -07:00
nenolod
a3986d9482 [svn] - disallow JOIN 0 2007-05-26 22:44:35 -07:00
nenolod
57b8cb0fcf [svn] - blacklist{}: add notes about DroneBL and enable it by default. AHBL is still not enabled by default due
to their policies indicating that they wish to be contacted before their services are used.
2007-05-26 22:35:06 -07:00
nenolod
a88fc0a897 [svn] - update NEWS in preparation of upcoming 2.2 release this week 2007-05-26 22:30:41 -07:00
jilles
297c7db408 [svn] Move sno_channeljoin to unsupported, due to the privacy
issue and the fact that any oper with admin or hidden_admin
can load extensions.
2007-05-24 08:10:06 -07:00
nenolod
45ed977779 [svn] - createoperonly: like createauthonly, but checks opered status instead of authed status 2007-05-23 21:28:36 -07:00
nenolod
59e2698a9f [svn] - sno_channeljoin: implements snomask +j and sends channel join notices there from local users 2007-05-23 21:16:02 -07:00
nenolod
446d88ddd4 [svn] - update config files 2007-05-23 21:02:33 -07:00
nenolod
3868ef9a7c [svn] - fold in whois_notice_global functionality. 2007-05-23 21:01:12 -07:00
nenolod
9e6feafe29 [svn] - rework spy_whois_notice as a snomask-implementing module, snomask +W. 2007-05-23 20:58:27 -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
b808adf9d3 [svn] - fold conf_connect_allowed() into accept_connection()
- extend add_connection() so that exempt{}s apply to max unregistered
  connections per ip
from ratbox
2007-05-18 13:31:33 -07:00
jilles
477bbce447 [svn] m_webirc: call del_unknown_ip() otherwise the unknown will
never be subtracted from the cgiirc ip
2007-05-18 12:51:22 -07:00
jilles
8017ad2d27 [svn] Remove s_assert in del_unknown_ip() supposedly if the ip
cannot be found, it is not feasible to avoid that case
entirely with m_webirc.c.
2007-05-18 12:14:18 -07:00
jilles
54015b5fea [svn] Apply ratbox flood fix. 2007-05-14 15:21:16 -07:00
nenolod
f8b45e91a3 [svn] - fix a bug here 2007-05-08 17:32:08 -07:00
nenolod
c1c5fdc4b6 [svn] - regen configure 2007-05-06 19:57:50 -07:00
nenolod
686ebf4149 [svn] - remove "ASM hashing code" from the configure overview 2007-05-06 19:53:54 -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
1d3e262e40 [svn] Remove emptyline craq because it leaks memory on /rehash motd etc.
from ratbox 2.2 (anfl/Androsyn)
2007-05-02 12:56:40 -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
f1e35c19a7 [svn] Merge old trunk r2065,r2067:
channel_modes(): get rid of the trailing space
also make the *pbuf check work like it should
(don't call IsMember another time if we already
gave one parameter)
simplify a bit more, update comments
2007-04-26 16:01:16 -07:00
jilles
4636e5cbac [svn] webirc bugfix 2007-04-25 08:22:28 -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
f22db6d04b [svn] Fix description of 043 numeric. 2007-04-22 07:35:28 -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
e2b44358a2 [svn] Move new_local_user hook, so it is possible to call
exit_client() from it, refusing the connection.
2007-04-15 09:54:50 -07:00
jilles
ec3fbdecd2 [svn] Only free PreClient struct when the rest of the Client
is freed, not immediately upon exit_client(). Doing this
would cause problems with sasl's new_local_user hook
vs hooks that exit the client there.
2007-04-15 09:49:56 -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
nenolod
725a6c5dc9 [svn] - 2.2 operline 2007-04-06 14:25:37 -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
jilles
afc20e91f7 [svn] Change code that checks maxclients limit: allow exactly
the configured amount of non-exceed_limit clients.
Code that appeared to limit exceed_limit clients too
but less heavily removed (it was not effective because
the parentheses were wrong).
2007-04-04 17:24:47 -07:00
jilles
23836ead45 [svn] By default, leave MAX_BUFFER fds free for log files,
server connections, ident lookups, exceed_limit clients,
etc. Mention this in example.conf and reference.conf.
2007-04-04 17:12:55 -07:00
jilles
78e647ad3f [svn] --with-maxclients configure option is gone 2007-04-03 15:45:04 -07:00
jilles
1aa8ffcbfd [svn] Make the code that raises fd rlimit to hard limit work. 2007-04-03 15:25:11 -07:00
nenolod
f32e30ddd8 [svn] - note the I/O reworking 2007-04-03 04:45:22 -07:00
nenolod
751894543b [svn] - use mkdir -p 2007-04-03 04:37:39 -07:00
nenolod
5522d08c14 [svn] - enforce proper conditions for EPOLL_CTL_DEL.
- remove possibly problematic "performance" check
2007-04-03 03:49:11 -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
nenolod
1b4cfad88d [svn] - river's ports.c from old charybdis trunk 2007-04-03 02:57:53 -07:00
nenolod
5e12fb1089 [svn] - remove broken ports stuff and devpoll stuff. 2007-04-03 02:50:56 -07:00
nenolod
4536ee2587 [svn] - regenerate files 2007-04-03 02:49:11 -07:00
nenolod
6c8cbf341b [svn] - remove x86-optimized hash code. 2007-04-03 02:37:03 -07:00
nenolod
3611dcf761 [svn] - apparently setting KE_LENGTH to 128 is fine. 2007-04-03 02:34:38 -07:00
nenolod
631ef23987 [svn] - remove the rest of the MAX_CLIENTS stuff. change kqueue implementation accordingly. (needs testing) 2007-04-03 02:31:11 -07:00
nenolod
6fcb8629ae [svn] - remove ALL braindead 2.8 I/O artifacts: MASTER_MAX, HARD_FDLIMIT, HARD_FDLIMIT_, MAXCONNECTIONS, MAX_CLIENTS, etc.
they are ALL gone. all of this stuff is now determined at runtime via getrlimit(2).
- due to this, devpoll is broken. i'm not motivated to fix it at the moment.
2007-04-03 02:21:31 -07:00
jilles
f71e18eee5 [svn] Repair operspy who !#channel, broken by me in r3283. 2007-04-02 15:03:08 -07:00
jilles
9113281379 [svn] Update bug report and IRC channel information. 2007-04-01 15:20:00 -07:00
jilles
8d53472c4a [svn] Change copyright years in version.c.SH as in release-2.1 r3339. 2007-04-01 15:10:05 -07:00
jilles
3ad1a781e1 [svn] Rerun autoconf. 2007-03-30 16:34:11 -07:00
jilles
a34ec229bf [svn] Need to check for various flavours of epoll,
even if --enable-epoll is forced.
2007-03-30 16:33:43 -07:00
jilles
5c5d24f088 [svn] Hack to allow some more warnings, already present in configure (?). 2007-03-30 16:32:43 -07:00
jilles
64f2a7eb2c [svn] Merge old trunk r2077,r2079:
- Move closing of servlink control fd to close_connection()
  instead of doing it in exit_local_server(), and make sure
  we first close the data fd and then the control fd.
- Have servlink process ready fds in order net, data, ctrl
  instead of ctrl, data, net.  This seems to fix the problem
  that squit reasons do not show up on the other side of a
  ziplink (by making it send any final SQUIT and/or ERROR
  before noticing the closed control fd).
2007-03-29 13:03:06 -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
8d19a2b257 [svn] Merge old trunk r2081:
Don't say that services cannot be killed in
ERR_ISCHANSERVICE message (given when trying
to kick or deop them), as that's not the case.
2007-03-28 08:40:24 -07:00
jilles
e7d250a693 [svn] Merge old trunk r2059
Clarifications to the descriptions of umode +Q and cmode +F,
suggested by Ariadne@SorceryNet.
2007-03-28 08:30:56 -07:00
jilles
add9f99dfa [svn] Merge old trunk r2907,r2991:
Allow TESTLINE on channel names.
2007-03-28 08:22:49 -07:00
jilles
42bda3f3d2 [svn] Merge old trunk r2835:
resolver: if sendto(2) fails, try sending to the next nameserver
2007-03-28 08:04:06 -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
jilles
a5ea0e0dc4 [svn] Merge old trunk r2779,r2785:
Show correct privilege name in a few ERR_NOPRIVS numerics.
2007-03-28 07:49:48 -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
c83cbedc0e [svn] Merge old trunk r2294:
Zero out the varlist passed to substitution_* when rejecting DNSBL clients.
2007-03-28 07:33:50 -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
04513cff6c [svn] Remove channels entirely from /whois on services.
This cannot be overridden with operspy.
2007-03-28 06:49:57 -07:00
jilles
4cda5f2264 [svn] Fix /who on channels with ** in their name. 2007-03-28 06:11:30 -07:00
jilles
0af87e57ad [svn] NEWS: As in 2.1.3, mention that the TS6 revision will
interoperate with older versions
2007-03-25 10:59:50 -07:00
jilles
3891c2c24f [svn] Fix documentation of HIDE_SERVERS_IPS define. 2007-03-18 09:29:31 -07:00
jilles
4b7e690457 [svn] Don't leak auth{} spoofed ip for I-line is full notice either. 2007-03-18 07:44:24 -07:00
jilles
0b15df83c0 [svn] Update NEWS. 2007-03-17 16:50:25 -07:00
jilles
1ebf4db4c6 [svn] Allow /invite (but not invex) to override +r, +l, +j in
addition to +i. As before, a restrictive mode must be in
place at /invite time for the invite to have an effect;
+r does not count as a restrictive mode if the user is
logged in; +l and +j always count as restrictive modes to
allow for cases where they would allow join at /invite
time but not when the user tries to join.
2007-03-15 11:09:08 -07:00
jilles
307328bb13 [svn] Remove invite_ops_only, forcing it to YES. 2007-03-13 09:09:28 -07:00
jilles
0734f634d9 [svn] Move username check after xline and dnsbl checks, so it
will not complain to opers about clients who are xlined
or blacklisted anyway (both of which silently reject).
2007-03-06 06:07:11 -08:00
nenolod
35237302c0 [svn] - MASTER_MAX is no longer relevant 2007-03-05 11:01:05 -08:00
nenolod
c2d96fcbff [svn] - add config option for setting max_clients. 2007-03-05 10:58:38 -08:00
nenolod
68ff929f3d [svn] - remove get_maxrss() and all of that insecure and unsafe nonsense 2007-03-05 10:51:17 -08:00
nenolod
a6a30f6f7b [svn] - avoid some potential NULL dereferencing 2007-03-05 10:42:24 -08:00
nenolod
c18de29d18 [svn] - fix a typo 2007-03-05 10:41:14 -08:00
nenolod
ce439f5186 [svn] - rework poll a bit for the MAXCONNECTIONS changes. 2007-03-05 10:40:39 -08:00
jilles
51b5f3356a [svn] Our way of using kqueue may cause it to report fds we
don't know about anymore, cope.
2007-03-05 09:52:28 -08:00
jilles
df98bc52c8 [svn] Don't reference freed memory (fde_t) in comm_close(). 2007-03-05 09:41:40 -08:00
nenolod
61e3b8f276 [svn] - fix for 100% cpu use 2007-03-05 09:35:17 -08:00
nenolod
d0e1e8ee78 [svn] - rework comm_checktimeouts() to use the hashtable in an efficient manner. 2007-03-05 09:31:35 -08:00
nenolod
c961476e55 [svn] - clear up use of fd_table in ircd. 2007-03-05 09:28:27 -08:00
nenolod
e70f8e928e [svn] - use a hashtable for fdlist storage. first step to making the amount of allowed clients dynamic and removing MAXCONNECTIONS. 2007-03-05 09:23:07 -08:00
jilles
14e23b0e1e [svn] Fix some cases where the size argument to strlcpy()
for usernames and hostnames is 1 too small.
2007-03-04 17:14:46 -08:00
jilles
61569b65f2 [svn] Cut down quit/part/kick reasons to avoid quit reasons
overflowing the client exiting server notice (from
TOPICLEN to 260). kill reasons become shorter accordingly.
kline/dline/gline reasons become 390.
away messages stay at TOPICLEN for now.
2007-03-04 15:42:55 -08:00
jilles
606384aea8 [svn] Don't leak auth{} spoofed IP addresses in +f notices.
from ratbox (androsyn)
2007-03-02 09:45:47 -08:00
jilles
652b8478fb [svn] Make oper_up() take +i/-i during opering up into account
(e.g. no_oper_invis extension, +i in operator::umodes).
Remove the hack from no_oper_invis.
2007-02-24 11:34:28 -08:00
jilles
af6ca5f5e5 [svn] no_oper_invis: decrement invisible count when clearing
invisible on a local client who has just opered up
oper_up() should really do this
2007-02-24 10:35:58 -08:00