Elizabeth Myers
8e9c6a7590
modules: add new MAPI V2
...
MAPI V1 is still supported for legacy modules, but it is highly
recommended to update to MAPI V2. It includes support for capability
tables, module descriptions, and implicit versions.
2016-03-06 16:53:03 -06:00
Elizabeth Myers
a4bf26dd34
Move irc_* data structures to librb.
...
This makes the base ircd less cluttered up with data structures that can
go elsewhere.
2016-03-06 14:17:19 -06:00
Elizabeth Myers
fe037171d6
Change all leftover libratbox stuff to librb.
2016-03-06 03:49:27 -06:00
Elizabeth Myers
5f5b18684d
config.h.dist: forgot one...
2016-03-06 03:00:42 -06:00
Elizabeth Myers
cbeab4bc34
Remove $Id tags from everything.
...
These are obsolete and none have changed since 10 years gao...
2016-03-06 02:47:27 -06:00
Elizabeth Myers
1d91de8100
Remove old .indent.pro files
...
These have been unused since dinosaurs roamed the earth and are mostly
smelly old Hybrid relics.
2016-03-05 21:21:36 -06:00
William Pitcock
38ffccf8c3
cap: allow modules to return client-specific responses for capability inquiries
2016-03-05 18:56:36 -06:00
William Pitcock
9ea48ec30a
remove presupplied autotools files
2016-03-05 17:47:48 -06:00
Elizabeth Myers
7416e480b0
parse: export cmd_dict for use elsewhere.
2016-03-05 01:05:26 -06:00
Elizabeth Myers
e8f1c19e7b
parse: get rid of report_messages
...
It is a function with a single usage, that is used only for one specific
stats command on one line.
2016-03-05 00:55:33 -06:00
Simon Arlott
e9ffc3c153
ssld: provide version in stats S output
2016-03-03 22:14:50 +00:00
William Pitcock
ddf62b10f9
m_cap: add support for CAP LS 302
2016-02-28 01:13:08 -06:00
William Pitcock
193d4db30c
sasl: transfer ownership of 'sasl' capability to m_sasl module
2016-02-28 00:29:26 -06:00
William Pitcock
be2ce24c42
send: implement echo-message
2016-02-27 02:48:37 -06:00
William Pitcock
0416a2cc86
starttls: take ownership of 'tls' capability
2016-02-27 01:45:40 -06:00
William Pitcock
32df5e96a6
cap: substantial rewrite leveraging the ircd capabilities framework for client caps
2016-02-27 01:41:36 -06:00
William Pitcock
ba83226733
capability: move some previously private structures to public API
2016-02-27 00:46:49 -06:00
William Pitcock
486cd34415
ircd: chase capability API changes
2016-02-27 00:01:54 -06:00
William Pitcock
63b9db9675
capability: allow attaching capability-owner data to a capability token, to enable extended data for client capabilities
2016-02-26 23:55:43 -06:00
William Pitcock
71c875fb9a
msgbuf: allow for an explicit target to be defined
2016-02-20 17:59:00 -06:00
William Pitcock
48a2b7c182
hook: allow hook_data to have non-const arguments, add hook_cdata for arguments that must be treated const
2016-02-20 17:44:13 -06:00
William Pitcock
ddedc60398
cap: register the account-tag capability
2016-02-20 17:26:35 -06:00
William Pitcock
4f8ababae0
send: implement linebuf_put_msgbuf() and msgbuf_build_from(), which build the core of the ircv3.2 tags support for outbound messages
2016-02-20 15:50:12 -06:00
William Pitcock
33085472a2
msgbuf: make msgbuf_unparse_prefix() public
2016-02-20 14:46:09 -06:00
William Pitcock
c678fbc08b
ircd: remove broken USE_IODEBUG_HOOKS knob and related code
2016-02-20 12:02:49 -06:00
William Pitcock
4a13e3f1da
msgbuf: add some message building code
2016-02-20 11:21:12 -06:00
William Pitcock
d84acbceca
newconf: move SSL/TLS deprecation message from ERROR severity to WARNING severity
2016-02-19 17:11:25 -06:00
William Pitcock
7baa37a9ef
msg: remove last vestiges of the fakelag system. charybdis has never supported fakelag.
2016-02-19 16:43:39 -06:00
Antoine Beaupré
a393a68a0e
make build reproducible
...
we do this by removing the uname usage everywhere: it is not actually
used at runtime at all.
we keep the timestamp, because it is actually used in user_welcome()
but allow it to be overriden.
ideally, that timestamp would be completely removed, but I am not sure
what to put in its place, or if it would break some mysterious RFC (or
client!) if we remove that announcement.
2016-02-16 00:37:20 -05:00
William Pitcock
d670fe5271
msgbuf: msgbuf_append_tag(): add support for attaching a specific capability bit
2016-02-13 00:19:23 -06:00
William Pitcock
b4993fe8c3
msgbuf: pull in s_assert
2016-02-12 12:12:30 -06:00
William Pitcock
920e4849f1
msgbuf: fix AFP() macro
2016-02-12 11:56:15 -06:00
William Pitcock
9d5170247e
msgbuf: attach capabilities mask to each tag for sending
...
this will be used with a bloom filter to speed up the 1-to-many case
2016-02-11 19:50:47 -06:00
William Pitcock
4a84a763cd
ircd: change MessageHandler to include a MsgBuf pointer at the front for tag access
2016-02-10 20:13:44 -06:00
Simon Arlott
eb1b303d56
ircd: support restarting ssld processes
...
Add REHASH SSLD (admins only) that starts new sslds and marks the
existing ones as inactive until all their clients disconnect.
Very useful whenever the SSL library has a vulnerability because
new connections can use a new version of the library without
disconnecting existing clients/servers.
Add STATS S (admins only) to list ssld processes, status, and client
count.
2016-02-10 19:03:30 -06:00
William Pitcock
269dd686b3
msgbuf: improve parse logic
2016-02-10 00:46:32 -06:00
William Pitcock
a8e69f5dfc
msgbuf: implement msgbuf_parse()
2016-02-10 00:08:58 -06:00
William Pitcock
88b427b61d
msgbuf: add lowlevel interface for building MsgBuf objects
2016-02-09 23:19:13 -06:00
William Pitcock
b830b64106
include: add msgbuf.h for future msgbuf api
2016-02-09 23:08:35 -06:00
William Pitcock
cc6ce2d689
ircd: hash: remove some detritus
2016-01-23 11:44:08 -05:00
William Pitcock
b47f8a4fda
ircd: import modified version of ratbox 3.1 whowas code
2016-01-23 11:16:34 -05:00
William Pitcock
912cae0c9c
Revert "ircd: rework sendq limits a bit."
...
This reverts commit 9a5958119c
.
2016-01-20 22:27:33 -05:00
William Pitcock
999fab778c
Revert "LIST: use new sendq system to reimplement SAFELIST differently."
...
This reverts commit e835592cfc
.
2016-01-20 22:26:55 -05:00
William Pitcock
704697b6b6
ircd: radixtree: allow irc_radixtree_elem_find() to find a fuzzy match instead of an exact match
2016-01-20 22:10:35 -05:00
William Pitcock
0d9a72de21
ircd: radixtree: add irc_radixtree_foreach_start_from() which uses irc_radixtree_elem_find() to find the starting point
2016-01-20 21:02:03 -05:00
William Pitcock
71c955336e
ircd: add general::hide_opers_in_whois to simulate ircd-seven operhide
2016-01-15 13:38:40 -06:00
William Pitcock
4d21f1e8e0
extensions/helpops: new module, implementing a helpops system.
...
if loaded, this module takes over /stats p, and displays people who are umode +H.
to get umode +H, one must have the "usermode:helpops" permission.
2016-01-14 08:08:40 -06:00
William Pitcock
ea2d270096
STATS: allow modules to override normal stats requests
2016-01-14 06:57:04 -06:00
William Pitcock
3ee43bcf29
ircd: get_channel_access(): do not derive channel pointer from membership
2016-01-13 22:16:44 -06:00
William Pitcock
14482679ce
ircd: channel: implement an option to strip color codes from channel topics
2016-01-13 17:05:41 -06:00
William Pitcock
be29ec793d
ircd: import hidden channel modes framework, from ircd-seven
...
This allows for modules to define channel modes which are only visible to opers.
2016-01-13 16:34:27 -06:00
William Pitcock
15feac531c
ircd: implement support for remote module load/unload/etc commands
2016-01-12 00:37:54 -06:00
William Pitcock
cc7ae51cdc
Allow remote DIE and RESTART (from ircd-seven)
2016-01-12 00:04:54 -06:00
William Pitcock
a4721f5e9f
ircd: implement EXTENDCHANS, based on ircd-seven (with some improvements from chatircd)
2016-01-11 23:32:23 -06:00
William Pitcock
fe749d3709
ircd: implement GRANT subsystem based on ircd-seven
2016-01-11 23:02:03 -06:00
William Pitcock
b870a5f8e9
extensions/override: display mode-change string in override messages
2016-01-11 22:40:32 -06:00
William Pitcock
7abb4a4f0d
parse: add missing semicolon
2016-01-11 22:31:19 -06:00
William Pitcock
e4603e3d27
parse: implement reconstruct_parv()
2016-01-11 22:28:55 -06:00
William Pitcock
9b74b99268
ircd: hash: channels are no longer a hashtable
2016-01-09 23:47:50 -06:00
William Pitcock
730b914c17
LIST: more cleanups
2016-01-09 23:34:52 -06:00
William Pitcock
9a5958119c
ircd: rework sendq limits a bit.
...
The sendq limit is now soft, now we halt processing if a sendq is exceeded, until it is sufficiently drained.
This allows us to implement SAFELIST and other floody commands without hacks.
2016-01-09 23:14:04 -06:00
William Pitcock
bb4ac31447
ircd: hash: use an irc_radixtree for client names
2016-01-09 05:30:13 -06:00
William Pitcock
3eeccbe3ce
ircd: hash: use an irc_radixtree for IDs
2016-01-09 05:13:10 -06:00
William Pitcock
46be39faab
ircd: hash: use an irc_radixtree for storing resv's
2016-01-09 04:59:02 -06:00
William Pitcock
5c7c7d65c2
ircd: hash: client connection id hashtables are now dictionaries keyed by uint32
2016-01-09 04:25:41 -06:00
William Pitcock
45dfdf46c8
ircd: irc_dictionary: allow storage of non-string types as keys
2016-01-09 04:09:40 -06:00
William Pitcock
21d5a11cb8
ircd: irc_dictionary: also show dictionary stats
2016-01-09 01:34:37 -06:00
William Pitcock
99b461bb2f
ircd: ensure irc_dictionary users have names, for stats tracking.
2016-01-09 01:22:11 -06:00
William Pitcock
db891ac3ca
ircd: irc_radixtree: add irc_radixtree_irccasecanon and irc_radixtree_strcasecanon helpers
2016-01-09 01:00:55 -06:00
William Pitcock
325cc939b7
ircd: irc_radixtree: add some convenience functions for tracking radix tree stats
2016-01-09 00:54:57 -06:00
William Pitcock
8e6ba6f9ce
ircd: add irc_radixtree, which is like irc_dictionary but uses a radix tree as the backing store
2016-01-09 00:44:39 -06:00
William Pitcock
e575ed5193
libratbox: disable the block allocator, but keep it as a stub for now
2016-01-08 07:16:23 -06:00
William Pitcock
1eeb046930
ircd: remove internal resolver, no longer used
2016-01-08 06:39:51 -06:00
William Pitcock
1d02144f8b
ircd: move DNS resolution over to authd
2016-01-08 06:31:08 -06:00
Aaron Jones
d8c4154da2
Fix LTDL conditional, remove some unnecessary and/or ugly configure tests
2016-01-07 17:15:55 +00:00
William Pitcock
fb7d74efef
ircd/authd: split out authd lifecycle functions from actual DNS functions
2016-01-06 04:41:57 -06:00
William Pitcock
7d2852b4d1
dns: new WIP client which queries authd for DNS records, not yet in use
2016-01-06 04:28:34 -06:00
William Pitcock
d610d3f344
config.h: fix SPATH
2016-01-06 02:00:12 -06:00
William Pitcock
2a19fc3f57
general: remove last vestiges of static modules support (this hasn't ever actually worked...)
2016-01-06 01:28:20 -06:00
William Pitcock
f272e7abc7
modules: use libltdl to load the modules
2016-01-05 21:39:09 -06:00
William Pitcock
c52df12552
buildsystem: convert to automake + libtool
2016-01-05 21:20:25 -06:00
William Pitcock
9e07c8f70b
whois: add a hook allowing for ShowChannel() behaviour to be overridden for channel visibility
2016-01-05 18:45:07 -06:00
Juuso Lapinlampi
6eb0267a90
messages.h: Remove 900-902 IRCv3.1 SASL trailing period
...
The IRCv3.1 SASL specification [1] has been updated today, and brings a
level of consistency with the trailing periods (or the lack of).
This implements the change made in
ircv3/ircv3-specifications@6d2ca77ffd .
[1]: http://ircv3.net/specs/extensions/sasl-3.1.html
2015-12-30 12:51:48 +02:00
Juuso Lapinlampi
e0160ec5a4
messages.h: Standardize 256 (RPL_ADMINME) with RFC 1459
...
RPL_ADMINME is a response the client receives using the ADMIN command.
Charybdis used to implement a non-standard version of this.
The RFC 1459 standard [1] says in section "6.2 Command responses.":
256 RPL_ADMINME
"<server> :Administrative info"
This commit corrects the behavior to follow the standard.
[1]: https://tools.ietf.org/html/rfc1459
2015-12-28 21:19:47 -06:00
William Pitcock
0817ad4cd0
messages.h: fix numeric 320
2015-12-28 01:36:40 -06:00
William Pitcock
72ad5c04fe
whois: list active operator block and privset when appropriate
2015-12-28 01:33:09 -06:00
William Pitcock
d513218a9e
LIST: allow channel display threshold to be configured ( closes #109 )
2015-12-26 22:23:28 -06:00
William Pitcock
2f9687c48c
channel: cache duplicate calls to is_banned() and is_quieted()
2015-12-13 08:13:52 -06:00
Jilles Tjoelker
2d28539c68
Reduce clean_nick() code duplication further.
...
Side effect: hurt and monitor now allow nicks starting with a digit.
2015-12-13 00:22:21 +01:00
William Pitcock
72dee03d50
clean up some code duplication when checking nicks for validity
2015-12-12 08:41:09 -06:00
William Pitcock
c1725bda3c
ssl: allow cipher list to be overridden ( closes #67 )
2015-12-12 07:50:48 -06:00
William Pitcock
b5b4a0e79b
client: use sequential connection ids for ssld connections in ssld RPC, instead of the file descriptor
...
this avoids race conditions when a file descriptor is reused and an ssld worker has not acked that the previous
connection was closed, which results in the new client being kicked.
2015-12-12 05:20:51 -06:00
William Pitcock
63eb8567cb
implement configurable channel modes ( closes #31 )
...
While functionally compatible with the implementation in ElementalIRCd, our approach is different,
specifically pre-calculating the bitmask at config load time. This is more efficient, and allows us
to report errors as part of the configuration phase.
2015-12-11 15:36:53 -06:00
William Pitcock
bac8c4829f
config.h.dist: resync with config.h ( closes #14 )
2015-12-11 12:14:34 -06:00
William Pitcock
427a8d5dbb
WHOIS: use cipher string if available
2015-12-11 08:20:11 -06:00
William Pitcock
ebe33dbfab
sslproc: set Client.localClient.cipher_string if sent by ssld
2015-12-11 08:19:50 -06:00
William Pitcock
196740c42b
sslproc: likewise
2015-12-10 23:44:31 -06:00
William Pitcock
7801d174d7
Revert "extban: implement helper functions for stackable extbans (part 1) (ref #74 )"
...
This reverts commit 304bd0d095
.
2015-12-10 02:19:21 -06:00
William Pitcock
304bd0d095
extban: implement helper functions for stackable extbans (part 1) (ref #74 )
2015-12-10 01:33:30 -06:00
William Pitcock
202d496644
override: only engage override code if we're needing to authorize a WRITE to a channel's state ( closes #65 )
2015-12-10 01:00:32 -06:00