William Pitcock
3e54d7bfb0
Define RPL_STARTTLS.
2012-09-22 14:04:57 -05:00
Keith Buck
7d60375446
Add new conf_read_start and conf_read_end hooks.
2012-05-21 20:22:07 +00:00
Keith Buck
62cf5b4036
Call the privmsg_channel hook for part messages too.
2012-04-07 03:03:07 +00:00
William Pitcock
f30a5ee4c4
Remove MODE_NOCTCP from core, in favor of chm_noctcp.
2012-03-31 22:48:36 -05:00
William Pitcock
67aeaba593
Remove MODE_NOCOLOR from core, replacing it with modules/chm_nocolour.so.
2012-03-31 22:26:45 -05:00
William Pitcock
ca4c2a86ee
Add support for hookifying PRIVMSG/NOTICE.
...
This will allow us to modularize message processing, e.g. having new modules to manipulate
channel and private messages in new ways.
Yes: it can be used to intercept messages, but such modules are already out in the wild for
charybdis anyway -- so this doesn't really change anything there.
If you are changing the text, then it is your responsibility to provide a pointer to a new
buffer. This buffer should be statically allocated and stored in your module's BSS segment.
We will not, and cannot, free your buffer in core, so dynamically allocated buffers will
cause a memory leak.
This will allow us to simplify m_message considerably, by moving channel mode logic out to
their own modules.
2012-03-31 21:23:01 -05:00
Keith Buck
330692a1f2
Add option to immediately apply nick RESVs by FNC'ing.
2012-03-25 01:34:45 +00:00
William Pitcock
02270e9602
Add listen::defer_accept option for controlling usage of TCP_DEFER_ACCEPT option.
2012-03-17 10:00:39 -05:00
Jilles Tjoelker
57b1cd5f6b
strip_colour: Prefer IsDigit to isdigit.
...
Unlike isdigit, IsDigit can safely be applied to 'char's.
Arguments to isdigit needs a character cast to 'unsigned char' or EOF.
2012-03-15 00:58:56 +01:00
Jilles Tjoelker
aba43ba823
When stripping colour/control codes, also strip \004.
...
Some clients such as irssi interpret \004 as colour or other markup.
2012-03-15 00:17:40 +01:00
Nathan Phillip Brink
9f9b7042fb
Run autoconf and autoheader.
2012-03-01 03:49:35 +00:00
Nathan Phillip Brink
c74836dc4a
Add explicit support for being installed into a system triggered with --enable-fhs-paths.
...
Add two mechanism for avoiding name-collisions in a system-wide
installation of charybdis. The ssld and bandb daemons, intended to be
directly used by ircd and not the user, install into libexec when
--enable-fhs-paths is set. For binaries which are meant to be in PATH
(bindir), such as ircd and viconf, there is now an option
--with-program-prefix=progprefix inspired by automake. If the user
specifies --with-program-prefix=charybdis, the ircd binary is named
charybdisircd when installed.
Add support for saving the pidfile to a rundir and storing the ban
database in localstatedir instead of in sysconfdir. This is, again,
conditional on --enable-fhs-paths.
Fix(?) genssl.sh to always write created SSL key/certificate/dh
parameters to the sysconfdir specified during ./configure. The
previous behavior was to assume that the user ran genssl.sh after
ensuring that his current working directory was either sysconfdir or a
sibling directory of sysconfdir.
2012-03-01 02:41:09 +00:00
Jilles Tjoelker
f8e43a0b8f
Remove dummies, given that ratelimit already broke the ABI once.
...
As with ratelimit, ircd/modules before and after this commit
are incompatible, but not detected as such.
2012-02-21 21:02:20 +01:00
William Pitcock
63a0ed0604
numeric: reserve RPL_SASLMECHS (908)
2012-02-21 09:15:15 -06:00
Jilles Tjoelker
d42e6915cf
Pace aways.
...
This becomes important because of away-notify sending aways to common
channels much like nick changes (which are also paced).
Marking as unaway is not limited (but obviously only does something if the
user was away before). To allow users to fix typos in away messages, two
aways are allowed in sequence if away has not been used recently.
2012-02-18 16:32:57 +01:00
Keith Buck
e88a1f1b15
Add ratelimit for high-bandwidth commands.
2012-02-18 03:54:44 +00:00
Keith Buck
c5bbc60375
Add away-notify client capability.
2012-02-14 14:15:44 +00:00
William Pitcock
a16910aa4e
capability: add capability_index_stats() for getting statistics about the capability broker system
2012-02-04 21:27:43 -06:00
William Pitcock
885cd603b5
capability: add global list of capability indexes, and name all capability indexes
2012-02-04 21:16:40 -06:00
Jilles Tjoelker
bde42c6063
Don't shadow the name "index".
2012-02-04 15:15:26 +01:00
William Pitcock
f01f67f0ad
capability: add capability_require().
2012-02-04 02:00:33 -06:00
William Pitcock
346fba9252
Migrate capability negotiation code to new dynamic capability management API.
...
This needs a lot of testing, obviously.
2012-02-04 01:47:46 -06:00
William Pitcock
ec3a9055f2
capability: add capability_index_mask() which calculates old CAP_MASK
2012-02-04 00:39:53 -06:00
William Pitcock
5e773521a9
capability: add capability_index_list() to build a list of capabilities given an index and mask
2012-02-04 00:36:42 -06:00
William Pitcock
64b56afd8c
Add a new dynamic capability manager.
...
Specifically, what this capability manager does, is map keywords to
calculated bitmasks. These bitmasks are allocated at runtime, so that
the any managed capability index can be manipulated by modules.
Modules should call capability_orphan() when orphaning capabilities. This
makes it so that bitmasks aren't reallocated, except for cases where the
capability is the same.
2012-02-04 00:05:13 -06:00
Jilles Tjoelker
fe74401bf0
Add one more const.
2012-01-08 16:25:34 +01:00
Jilles Tjoelker
d9af501aa8
Fix a warning about const with forward channels.
2012-01-08 16:23:18 +01:00
Jilles Tjoelker
ae52fe0ff7
Show underlying IPv4 in a remote whois.
2012-01-08 15:51:48 +01:00
Jilles Tjoelker
524a5b3ac7
Add code to get IPv4 addresses from 6to4 and Teredo IPv6 addresses.
...
It is not used yet.
2012-01-08 15:51:44 +01:00
Jilles Tjoelker
be0365e152
Add an error message if a ban mask is invalid.
...
This is given if the ban mask is too long, it is an invalid extban or the
forward channel is invalid and no other message has been given about that.
2011-12-18 23:24:22 +01:00
William Pitcock
b583faf970
Add support for customizing the usable nick length.
...
This adds a new ISUPPORT token, NICKLEN_USABLE which is strictly an informative value.
NICKLEN is always the maximum runtime NICKLEN supported by the IRCd, as other servers may
have their own usable NICKLEN settings. As NICKLEN_USABLE is strictly informative, and
NICKLEN is always the maximum possible NICKLEN, any clients which depend on NICKLEN for
memory preallocation will be unaffected by runtime changes to NICKLEN_USABLE.
The default NICKLEN is 50; the default serverinfo::nicklen in the config file is set to
30, which is the NICKLEN presently used on StaticBox.
2011-11-29 16:10:21 -06:00
Stephen Bennett
a695b0e40e
Apply extended-join client cap to QJM joins
2011-11-12 14:41:01 +00:00
Jilles Tjoelker
d74fa5b502
Prefer PATH_MAX to non-standard MAXPATHLEN.
2011-10-28 16:45:18 +02:00
Jilles Tjoelker
d182b85454
Minor cleanup to command throttling code:
...
* Deduce allow_read from the client's state (IsFloodDone) rather than
storing it in LocalUser.
* Fix the documentation (in oper /info), however strange
client_flood_burst_rate and client_flood_burst_max may seem, that is
how they currently work.
2011-10-04 00:46:00 +02:00
Jilles Tjoelker
f9dda63969
Disable LocalUser.actually_read (write-only field).
2011-10-04 00:25:22 +02:00
Jilles Tjoelker
c598ff7b04
Fold client_flood_burst_rate check into MAX_FLOOD_BURST.
...
The original definition of floodgrace was MAX_FLOOD_BURST lines per second.
A second check for another number of lines per second makes no sense.
2011-10-04 00:21:19 +02:00
Jilles Tjoelker
2da6f6ebd7
Put back use_forward.
2011-09-25 16:22:29 +02:00
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