B.Greenham
b3b2ed9780
Add can_kick_deop() and use it in m_kick.
2010-02-27 21:27:05 -05:00
B.Greenham
46f0c51863
Add config options for owner and halfop.
2010-02-27 20:05:07 -05:00
B.Greenham
bbc6973347
Move is_chanop_voiced() to a function in channels.c in preperation for +ah.
2010-02-27 19:40:52 -05:00
B.Greenham
d1c7eccf6a
Add is_any_op() in preperation for adding +ah, start using it instead of is_chanop() in a few places.
2010-02-27 19:20:01 -05:00
B.Greenham
846aa234b8
Add the +J channelmode and config options, though they don't do anything yet.
2010-02-26 00:30:39 -05:00
B.Greenham
c279d43b75
Add has_common_channel(), which is needed by umode +G.
2010-02-25 19:15:13 -05:00
B.Greenham
61ffa214b4
Add umode +G, soft callerid.
2010-02-25 17:57:12 -05:00
JD Horelick
0a9c5766e7
Compile fix
2010-02-25 16:24:06 -05:00
JD Horelick
13a467bb98
Override part one.
2010-02-25 16:01:03 -05:00
JD Horelick
cff17f66fa
branch merge
2010-02-25 15:13:24 -05:00
JD Horelick
da3ba37e04
Backed out changeset 0d7b5f2ac591
2010-02-25 15:13:12 -05:00
JD Horelick
4355dbd3c9
branch merge
2010-02-25 15:12:18 -05:00
JD Horelick
47fab428b1
Backed out changeset 65db6ca26281
2010-02-25 15:11:43 -05:00
B.Greenham
2b3c7c29c3
Add chmode +G, which blocks messages in all caps.
2010-02-25 01:51:28 -05:00
B.Greenham
ea4041ece9
Automated merge with ssh://shadowircd/uranium/shadowircd/
2010-02-25 01:14:49 -05:00
B.Greenham
afd4834b50
Add chmode +N, which prevents nickchanges.
2010-02-25 01:14:38 -05:00
JD Horelick
13ec57db15
autochanmodes support
2010-02-24 22:18:13 -05:00
JD Horelick
44a8fbc29e
Actually add +p umode and expiry code. It currently does nothing though.
2010-02-24 21:53:45 -05:00
JD Horelick
5974ba0c55
Add the config handling code for expire_override_time config option.
...
Part one of override stuff. This is gonna be painful.
2010-02-24 20:28:17 -05:00
B.Greenham
837a020a0c
Add general::secret_channels_in_whois.
2010-02-23 22:38:35 -05:00
JD Horelick
45b9f1cbc0
Added channel::host_in_topic.
2010-02-23 20:19:58 -05:00
JD Horelick
c3a0fde28f
Added cycle_host_change option.
2010-02-23 19:50:45 -05:00
B.Greenham
f9e91eceaa
Add chmode +E, which prevents ops from using /kick on channels where it is set.
2010-02-23 18:14:43 -05:00
B.Greenham
88b63e6506
Make the target user's modes show up in whois.
2010-02-23 02:59:35 -05:00
JD Horelick
677e21a450
Constify the header too :D
2010-02-23 02:53:44 -05:00
JD Horelick
9230426e7a
More moving
2010-02-23 02:52:01 -05:00
JD Horelick
67b90240c4
move user_join() to channels.c
2010-02-23 02:48:33 -05:00
JD Horelick
080bb5cf25
Start moving parts of join to channels.c so they can be used in more places.
2010-02-23 02:41:26 -05:00
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