Commit Graph

518 Commits

Author SHA1 Message Date
B.Greenham 7e6c9180da Add chmode +D, which blocks CTCP ACTION. 2010-02-23 01:08:42 -05:00
B.Greenham 92504d43b1 Merge. 2010-02-23 00:54:16 -05:00
B.Greenham 6afd4b916f Add chmode +T, which blocks notices. 2010-02-23 00:49:24 -05:00
JD Horelick 87f58b4ffb Add oper autojoin (with auth::autojoin_opers config option). 2010-02-23 00:41:14 -05:00
JD Horelick fa72cee166 Added autojoin-on-connect (with auth::autojoin config option). 2010-02-23 00:22:37 -05:00
B.Greenham 930629c5f2 Add umode +B, which marks users with it set as a bot in whois. 2010-02-23 00:21:24 -05:00
B.Greenham 2678f87a51 Fix some indentation I messed up while adding umode +C. 2010-02-22 23:10:36 -05:00
B.Greenham 854f6bd0af Add umode +V, which blocks invites to anyone with it set. 2010-02-22 22:45:37 -05:00
B.Greenham ccfc9b567d Add umode +C, which blocks CTCPs to anyone with it set. 2010-02-22 22:14:47 -05:00
Jilles Tjoelker 3d17692d72 Remove some obsolete paths from config.h. 2010-02-22 23:53:45 +01:00
Jilles Tjoelker c6d5c019d0 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 918a0e1d39 Remove code to write bans to csv files. 2010-02-22 19:09:46 +01:00
William Pitcock d8a023eddd Add support for client certificate fingerprints in o:lines. 2010-02-17 06:41:41 -06:00
Jilles Tjoelker 878733fd68 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 7eb9307794 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 3002877654 target change: Overwrite the least recently used target with a new one. 2010-02-15 00:31:17 +01:00
Jilles Tjoelker d29b1834c3 Make the number of targets tracked for target change a #define. 2010-02-13 15:18:17 +01:00
Jilles Tjoelker 54656d7650 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 6d70eae633 Remove remnants of <foo>_t typedefs. 2010-01-30 15:57:10 +01:00
William Pitcock 92a7995129 Merge +C (no CTCP to channels) from ircd-seven. 2010-01-19 02:11:04 -06:00
William Pitcock 2c9a27c46a Add bandb IRCd APIs. 2010-01-07 17:10:16 -06:00
William Pitcock dbc4e40434 Add DBPATH. 2010-01-07 16:55:34 -06:00
William Pitcock 042acc47bb Run autoreconf. 2010-01-07 16:51:32 -06:00
Jilles Tjoelker 25b1f927be Remove FLAGS_SENDQEX, fix sendq exceeded snotes for servers.
from ircd-ratbox
2009-12-21 16:58:25 +01:00
Jilles Tjoelker 83ad8add98 Remove two obsolete constants. 2009-06-03 23:18:07 +02:00
Stephen Bennett 4606e8fc6c Merge 2009-12-08 19:23:32 +00:00
Stephen Bennett c387fc41ae Revert all presence-related changes 2009-12-08 19:22:55 +00:00
Jilles Tjoelker 100563e836 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 9d393c9052 Add new constants for presence key/value lengths
instead of overloading NICKLEN/TOPICLEN.
2009-06-03 23:38:07 +02:00
Jilles Tjoelker 084af78f05 Remove two obsolete constants. 2009-06-03 23:18:07 +02:00
William Pitcock 46b3bb7655 presence: Add _butone() variant of sendto_common_channels_local_with_capability(). 2009-06-02 02:38:38 -05:00
William Pitcock 489f4799c8 presence: Declare RPL_METADATACHG. 2009-06-02 02:32:07 -05:00
William Pitcock a917e9baf3 presence: Add sendto_common_channels_local_with_capability(), used for broadcasting presence updates. 2009-06-02 02:28:02 -05:00
William Pitcock 727a98a669 presence: Declare RPL_WHOISMETADATA. 2009-06-02 02:19:37 -05:00
William Pitcock 6364809623 presence: Add CLICAP_PRESENCE.
This will enable broadcasting presence updates on channels.
2009-06-02 02:14:44 -05:00
William Pitcock 987ef7eb1f presence: Remove user.away, replaced by a metadata entry.
Cache the metadata retrieval value where feasible for minimal performance impact.
2009-06-02 02:03:51 -05:00
William Pitcock 85171f1f16 presence: Add get_metadata(). 2009-06-02 01:50:40 -05:00
William Pitcock e5847c3ef3 presence: Add set_metadata() and delete_metadata(). 2009-06-02 01:41:44 -05:00
William Pitcock 95cc7c44e8 presence: Declare RPL_METADATASET and RPL_METADATAREM. 2009-06-02 01:32:09 -05:00
William Pitcock d153f8fef1 presence: Declare MetadataEntry struct. 2009-06-02 01:29:58 -05:00
William Pitcock dd7eb3ffaa presence: Create presence metadata tracking structures where appropriate. 2009-05-30 13:30:57 -05:00
William Pitcock c7f7b72079 struct Client: add a dictionary to contain presence metadata. 2009-05-30 13:17:39 -05:00
William Pitcock 3c6fb31a4b Automated merge with ssh://hg.atheme.org//hg/charybdis 2009-05-30 13:16:01 -05:00
William Pitcock a62c60d5dc Add irc_dictionary.h to stdinc. I'm lazy. 2009-05-30 13:15:58 -05:00
Jilles Tjoelker 5f1fd8a556 Remove some obsolete unused definitions. 2009-05-21 16:01:46 +02:00
Jilles Tjoelker fcda56627d Allow ctcp replies through floodcount after ctcp'ing a large group.
A large group is any $$ or $# or a channel with more than
floodcount/2 local members, checked on each server separately.
Note that floodcount checks are done on the sender's server.

The special treatment is active for 15 seconds.
2009-05-17 20:52:16 +02:00
Jilles Tjoelker 63860dd1a7 Change xlines to store spaces as \s.
Spaces in xline.conf files are changed to \s in memory
and recognized on unxline, but are not changed in the
file. New xlines are added to xline.conf files with \s.

xline.conf written by this commit or newer will not work
properly with charybdis older than 1124:131254925f32 (which
introduced \s support in match_esc()).
2009-05-08 00:21:14 +02:00
William Pitcock fde16193c4 Allow for capabilities to be marked as "required".
If capability negotiation fails on these capabilities, then the server link is dropped.
2009-04-20 09:36:55 -05:00
William Pitcock 16d8d9fc6d can_kick hook, based on the ircd-seven one. 2009-04-20 09:20:11 -05:00
Jilles Tjoelker 6ce8910d97 Apply +z to messages blocked by +b and +q as well.
This adds a new server capab EOPMOD which will be used
for an extended topic command also.
2009-03-29 15:48:07 +02:00
Jilles Tjoelker 0b1e46f5b4 Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
Jilles Tjoelker dbbe21ed03 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 dea418e9b4 Add channel::only_ascii_channels config option
to restrict channel names to printable ascii only.
Like disable_fake_channels this only applies to joins
by local users; unlike disable_fake_channels it applies
to opers as well.
2009-02-22 00:12:21 +01:00
Jilles Tjoelker 6b2cf989b6 Disable autoconnect for a server with excessive TS delta.
Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
2009-02-05 23:43:07 +01:00
Jilles Tjoelker 1ba281712f For remote rehashes, send error messages to the requesting oper as well. 2009-01-30 00:11:12 +01:00
Jilles Tjoelker b3a4fe7410 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 ac408af6cb Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
Jilles Tjoelker 3619e29987 Change /stats O to show privset blocks (oper only).
To show operator blocks, only /stats o (lowercase) now works.
2009-01-18 01:35:24 +01:00
Valeriy Yatsko c4a6078abd Update client.h. 2008-12-13 23:22:12 +03:00
Jilles Tjoelker 760ef9e1ea Show rejectcache/throttle in /testline output.
This adds more RPL_TESTLINE numerics with code '!'.
Different from the other results, the I/K line or
RESV will be shown as well.
2008-12-19 19:24:12 +01:00
Jilles Tjoelker 76d4968137 Show throttle info in /stats t.
from ircd-ratbox (androsyn)
2008-12-16 21:02:04 +01:00
Jilles Tjoelker 543b8c392c 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 3b0f3294cf Remove irc_basename, replace it with rb_basename from libratbox. 2008-12-03 02:59:13 +03:00
Jilles Tjoelker c8d8588915 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 660debfad5 Correct buffer without space for '\0', should have been safe due to padding. 2008-11-22 18:51:00 +01:00
Aaron Sethman 17d00839b3 make is_cti/is_sti collect times connected in unsigned long long instead of time_t as well..on 32bit boxes that is going to wrap pretty quickly
committer: Valeriy Yatsko <dwr@it-penza.org>
2008-11-16 10:04:09 +03:00
Jilles Tjoelker 570ca08a4f 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 555801db60 Add ircu-like /who format options.
Use  /quote help who  for details.
The format code "o" (oplevel) is not documented,
but implemented showing dummy information (999 for
chanop, n/a otherwise).
2008-11-09 00:12:56 +01:00
Jilles Tjoelker 850b23f3a9 Remove old oper privilege flags. 2008-09-09 21:51:26 +02:00
Jilles Tjoelker 663bbb2836 Add need_ssl to auth{} and operator{}.
Specifying need_ssl on auth{} denies the connection if
it is not SSL/TLS, much like need_ident or need_sasl.
Specifying need_ssl on operator{} refuses opering with
ERR_NOOPERHOST if the connection is not SSL/TLS.
from ircd-ratbox
2008-09-07 01:18:58 +02:00
William Pitcock 508c7c41fe Make change_isupport() return the old value!!! 2008-08-29 15:36:41 -05:00
William Pitcock 17ad49a96a Add change_isupport() to change the value of an ISUPPORT token. 2008-08-29 15:27:34 -05:00
Jilles Tjoelker 07c8448a5b Fix ident for ssl connections. 2008-08-28 00:49:04 +02:00
William Pitcock 4db97a8263 HasPrivilege(): check to make sure localClient and localClient.privset are non-NULL. 2008-08-17 08:52:04 -05:00
William Pitcock 73a3435109 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 34cb09ceea Make a reference to privset in Client.localClient. 2008-08-17 08:23:40 -05:00
William Pitcock 665e79e999 privilegeset_ref(): return the privilegeset 2008-08-17 08:22:56 -05:00
Jilles Tjoelker d2e6d8d715 Add 328 numeric (ChanServ channel URL) to the header files. 2008-08-17 14:49:01 +02:00
Jilles Tjoelker c73d999576 Remove another servlink remnant. 2008-08-17 14:46:29 +02:00
William Pitcock 120b37f94f oper_conf structure: add privset association. 2008-08-17 07:32:30 -05:00
William Pitcock 0e52880760 Add privilegeset_extend(). 2008-08-17 06:35:49 -05:00
William Pitcock 9291987bba Add basic PrivilegeSet API. 2008-08-17 06:27:59 -05:00
Valery V Yatsko 6145bb6027 no more servlink - removed 'servlink_path' from reference.conf and source files 2008-08-16 22:23:56 +04:00
Valery V Yatsko fba62b0151 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 d1275a8fd6 Move to ratbox3 reject and throttle code.
Throttle replaces max_unknown_ip, reject is like before
(including the charybdis-specific unkline handling).
Both of these now apply before SSL negotiation.

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

m_webirc is a bit nasty with throttling (unlike before
with max_unknown_ip), this may be fixed later (or
the webirc IP needs to be exempt{}ed).
2008-08-01 01:59:08 +02:00
Valery Yatsko a02e61ed80 channel.h cleaned up a bit - removed unused includes 2008-07-30 16:27:35 +04:00
Valery Yatsko eda5c86098 Removed charybdis.h include - used nowhere 2008-07-30 16:19:56 +04:00
Valery Yatsko f97867dff3 rb_uint32_t -> uint32_t, rb_uint16_t -> uint16_t 2008-07-30 02:45:31 +04:00
Valery Yatsko 9a7b24a6be Removed unneeded includes from newconf.h 2008-07-28 23:14:51 +04:00
Valery Yatsko 7608ef4933 A very draft version of extensions, which are adding can_join hooks for custom channel modes 2008-07-27 12:10:48 +04:00
Jilles Tjoelker dada366b70 Also apply floodcount to messages to remote clients (except services).
As before, only local clients can have their message blocked.
2008-07-22 01:46:34 +02:00
Jilles Tjoelker 60817ff45c Remove some obsolete ConfItem flags. 2008-07-04 17:05:18 +02:00
Valery V Yatsko f4fd05e251 Removed SystemTime declaration 2008-06-28 14:38:27 +04:00
Valery V Yatsko 715b28fefd Applied svn diff from ratbox3 r21458:21470 2008-06-28 14:13:50 +04:00
Valery V Yatsko 9a67ad23d9 Remove Channel->users_last, used nowhere 2008-06-28 12:25:53 +04:00
Valery V Yatsko 5475a9321f 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 969a1ae66a PASS selector:password for auth{}, based on spb's patch for ircd-seven 2008-06-26 10:18:58 +04:00
Valery V Yatsko 2392eb24cd Generating cflags bufs dynamically: one for RPL_MYINFO and one for
supported.c
2008-06-25 07:51:32 +04:00
Valery V Yatsko eba517019e Missed declaration of chm_orphaned 2008-06-24 22:08:24 +04:00
Valery V Yatsko 73de5d22ed A draft version of find_cmode_slot and orphaned concept for channel
flags
2008-06-24 21:26:49 +04:00
Valery V Yatsko 75818939ab Applying dyn-cmodes.diff - first step in implementing channel module
addition in extensions
2008-06-24 20:45:19 +04:00
Jilles Tjoelker ed28210c45 Clean up s_auth a little. No functional changes. 2008-06-21 00:58:08 +02:00
Jilles Tjoelker 13818e2470 Remove unused field ip6_int. 2008-06-20 22:55:51 +02:00
Jilles Tjoelker 6d18bf1a12 Some const stuff for m_set. 2008-06-11 00:28:08 +02:00
William Pitcock f06c147c70 Merge with 'charybdis-ts6only' branch. 2008-06-08 01:09:04 -05:00
Jilles Tjoelker bc762249f2 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 c465dbcda4 Move some declarations to header files, this enforces that they match. 2008-04-20 15:30:24 +02:00
Jilles Tjoelker aa65834c6f Fix various compiler warnings. 2008-04-20 15:20:10 +02:00
Valery Yatsko 45be325cd2 Remote d:lines implementation (based on ircd-seven's r230 by spb, Stephen Bennett <spb@attenuate.org>) 2008-04-20 11:26:37 +04:00
William Pitcock 7e8e21a41a Remainder of irc_string.* is moved to new inline/stringops.h. 2008-04-20 01:03:11 -05:00
Valery Yatsko 13ae2f4b69 irc_string.h -> match.h, irc_string.h; includes changed 2008-04-20 09:47:38 +04:00
Valery Yatsko 5f4f1d055f strip_tabs() is related to s_conf.c ONLY - moved it there 2008-04-20 09:38:26 +04:00
Valery Yatsko c6b832270e clean_string() is related to m_links.c ONLY - moved it there 2008-04-20 09:35:22 +04:00
Valery Yatsko dcbd1d073c strtoken -> rb_strtok_r (with arguments order changes) 2008-04-20 09:20:25 +04:00
Valery Yatsko d99380b61b legacy irc sprintf gone 2008-04-20 09:12:09 +04:00
Valery Yatsko 08a5f1f948 myctime -> rb_ctime 2008-04-20 09:03:39 +04:00
Valery Yatsko 9879cd59a6 Various inet* -> rb_inet_* 2008-04-20 08:55:41 +04:00
Valery Yatsko a64c5173a7 strlcat -> rb_strlcat 2008-04-20 08:44:04 +04:00
Valery Yatsko 907468c485 strlcpy -> rb_strlcpy 2008-04-20 08:40:40 +04:00
Valery Yatsko b798359b17 Functions replacement: ircd_baseXX_{en,de}code -> rb_baseXX_{en,de}code 2008-04-20 08:36:28 +04:00
Valery Yatsko 359dada2ab 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 6972e25a95 Moving some m_die code into ircd_shutdown(reason) function and use it on SIGTERM too 2008-04-20 07:38:56 +04:00
Jilles Tjoelker b717a466d0 Remove ^M on line endings. 2008-04-13 17:54:23 +02:00
Jilles Tjoelker faf00e4f00 Rerun autoconf and autoheader. 2008-04-11 17:57:37 +02:00
William Pitcock bbce52f18d TS_MIN is 6 now. 2008-04-11 10:23:47 -05:00
William Pitcock 5295cde25d start working on TS5 removal. 2008-04-11 10:22:44 -05:00
Valery Yatsko b9c1b1b960 Fixing compilation - CAP_GLN removed 2008-04-11 18:56:53 +04:00
Valery Yatsko d5a432fa00 Removing glines 2008-04-11 18:47:03 +04:00
Jilles Tjoelker 33dcd535b7 Add extern to eob_count global variable declaration in header file. 2008-04-11 11:30:07 +02:00
Valery Yatsko ca89e98e03 .cvsignore files removed, SVN-Access replaced by Mercurial-Access 2008-04-09 22:24:50 +04:00
Valery Yatsko b5482c9103 chm_* declarations gone to chmode.h - this makes some modules clean 2008-04-08 23:39:35 +04:00
Jilles Tjoelker 001b3b3633 Make Dictionary keys const everywhere. 2008-04-08 19:52:02 +02:00
Jilles Tjoelker 20961eeada Make the format argument of change_nick_user_host() const. 2008-04-08 18:54:58 +02:00
Jilles Tjoelker b4cd337c77 Make Message.cmd a const pointer. 2008-04-08 18:51:52 +02:00
Valery Yatsko 03d18a46b1 Fixed two places, where sendto_realops_flags was mistakenly used, and removed this function entirely 2008-04-08 20:32:58 +04:00
Valery Yatsko 79c3c679ad Removing UMODE_ALL, replacing all sendto_realops_flags in sslproc.c with snomasks 2008-04-08 20:16:19 +04:00
Valery Yatsko 8e936dafd2 Changing umode defines - renumbered 2008-04-08 20:06:43 +04:00
Valery Yatsko 92b8976366 'S' flag meaning we use ssl link added to /stats {c,C} (connect) 2008-04-08 18:30:53 +04:00
Valery Yatsko 29c8637abb Branch merge 2008-04-08 18:01:37 +04:00
Valery Yatsko 6b7c7401f9 Working over zipstats bug and moving on the new ServerStats struct (without Kb counting, this style is used by code parts from ratbox3) 2008-04-08 18:00:38 +04:00
Valery Yatsko 94ffe93212 ircd_state.{c,h} gone - let us redesign it in future really 2008-04-08 15:41:41 +04:00
Valery Yatsko f9d784da28 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 8d268bdb38 Some declarations connected to removed servlink gone 2008-04-07 15:26:25 +04:00
William Pitcock 5da17c500b fix whois :) 2008-04-06 12:04:25 -05:00
William Pitcock 16cb94cc53 add umode +Z for SSL, can't be set or unset 2008-04-06 11:55:12 -05:00
William Pitcock a6cb5ebfe0 add missing file 2008-04-06 11:31:46 -05:00
Valery Yatsko 8db00894ab ssl sync with http://hg.angelforce.ru/charybdis-old 2008-04-06 18:52:42 +04:00
Jilles Tjoelker 1d39b466d4 Branch merge. 2008-04-05 22:34:13 +02:00
Jilles Tjoelker cecb5c1e51 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 3fe908250a Much clear maxconnections stuff - ported from ratbox3. 2008-04-05 23:56:15 +04:00