Commit graph

434 commits

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