Commit graph

965 commits

Author SHA1 Message Date
Simon Arlott 3fb264ef49
m_cap: use rn_snprintf_try_append 2017-07-30 18:30:28 +01:00
Simon Arlott 2f0b6f83bd
m_join: remove global variable parabuf 2017-07-29 23:48:55 +01:00
Simon Arlott 95fff33cf6
m_join: remove global variable modebuf 2017-07-29 23:48:54 +01:00
Simon Arlott b051b0efd9
m_join: remove global variable para 2017-07-29 23:48:53 +01:00
Simon Arlott 7fce9c6d1b
m_join: remove global variable pargs 2017-07-29 23:48:53 +01:00
Simon Arlott 2077757f2a
m_join: remove global variable mbuf 2017-07-29 23:48:52 +01:00
Simon Arlott b6f271b2aa
m_cap: Fix CAP LS generation
The `caplen` variable was unused, so the cap to be output wasn't considered
when determining whether or not it would fit.
2017-07-29 22:46:11 +01:00
Simon Arlott 169a1c3535
msgbuf: s_assert is not a substitute for proper code
(dns, m_alias, m_stats updated as msgbuf no longer includes s_assert.h)
2017-07-26 19:30:41 +01:00
Simon Arlott d2b3a2a474
ircd: check_server: don't allow a connection if that would exceed the class limit 2017-07-23 17:38:11 +01:00
Aaron Jones 41390bfe5f
When a remote MODRESTART command is received, it will pass through the
ENCAP module. The ms_encap function is responsible for dispatching the
command handler and then the modules will eventually be reloaded.

However, if the ENCAP module is reloaded to a different address, the
stack now contains the address of a function that no longer exists.

Also, in this version of the IRCd, the module restarting functionality
was located in a function that is itself located in a module, so things
will also go badly if that module is reloaded to a different address,
too.

Return immediately from the command handler and have the event loop
call the function responsible for reloading the modules instead.

c.f. release/3.5 commit db05a3621058

Reported-by: mniip (Freenode)
2016-12-28 22:08:14 +00:00
Keith Buck df0c70dd1f mr_server: Handle certificate validation errors.
When certificate validation fails, the certificate fingerprint won't be
calculated, resulting in an attempt to format NULL into a log line
showing the fingerprint. Instead, add a different error message for
missing fingerprint (i.e. validation failed).
2016-12-09 10:08:47 +00:00
Keith Buck fbd3e77eac m_rehash: Require admin privileges for REHASH SSLD.
This change enforces admin privileges for the REHASH SSLD command, as
originally intended.
2016-12-04 22:15:29 +00:00
Simon Arlott ab6a27d184
Fix cross compile for Windows 2016-12-04 20:21:07 +00:00
Simon Arlott e2d5ffd5dd
echo-message should work for privmsg/notice to another user
Build the same message but send it to the local client first,
so that the echo-message capability works. But don't do it when
sending a message to yourself.
2016-11-23 21:59:43 +00:00
Simon Arlott 5bc95eaf4a
Use const hook data where possible
core/m_nick.c: In function `change_remote_nick':
core/m_nick.c:745: warning: assignment discards qualifiers from pointer target type
2016-10-30 12:36:50 +00:00
Simon Arlott d8f0b5d763
cppcheck: fix various warnings/errors
[ircd/match.c:316]: (error) Shifting a negative value is undefined behaviour
[librb/src/patricia.c:55]: (error) Shifting a negative value is undefined behaviour
[modules/m_alias.c:64]: (portability) '(void*)message' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[modules/m_time.c:111]: (warning) %u in format string (no. 9) requires 'unsigned int' but the argument type is 'signed int'.
[modules/m_time.c:111]: (warning) %u in format string (no. 10) requires 'unsigned int' but the argument type is 'signed int'.
[librb/src/dictionary.c:819]: (warning) %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'.
[librb/src/radixtree.c:1080]: (warning) %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'.
[ircd/s_user.c:351] -> [ircd/s_user.c:357]: (warning) Either the condition '0!=source_p' is redundant or there is possible null pointer dereference: source_p.
[extensions/ip_cloaking_3.0.c:109]: (warning, inconclusive) The buffer 'buf' may not be null-terminated after the call to strncpy().
[ircd/chmode.c:256]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_help.c:100]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_knock.c:169]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_stats.c:628]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_stats.c:727]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:601]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:704]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:739]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:763]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:768]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:774]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:781]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:786]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:791]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:804]: (style) Clarify calculation precedence for '&' and '?'.
[ircd/wsproc.c:372]: (style) Unused variable: len
[modules/core/m_modules.c:382]: (style) Unused variable: i
[modules/m_stats.c:741]: (style) Unused variable: amsg
[ircd/authproc.c:390]: (style) Unused variable: iter
[ircd/authproc.c:391]: (style) Unused variable: client_p
2016-10-28 20:13:36 +01:00
Aaron Jones 23f5c31719
SASL: Relax rate limiting for failures a little
Begin at 8 seconds after 2 failures and up to ~4 minutes
2016-10-02 14:13:02 +00:00
Xenthys 46ef49c390
SASL: rate-limit after the 2nd failed attempt (m_sasl.c) 2016-10-02 03:57:11 +02:00
Aaron Jones c6d884e877
whois: check target is an oper before assuming they have a privset
The CHALLENGE functionality will set opername but not privset --
if an oper performs a WHOIS on someone currently half-way through
a challenge we will perform a NULL dereference.

Related to ircd-seven commit d7b05f7583babf6
2016-09-20 13:47:55 +00:00
William Pitcock 01978a2c8c supported: add chantypes_update() 2016-09-16 13:49:02 -05:00
William Pitcock a4840ff1d8 Merge pull request #217 from Xenthys/release/4
m_grant.c - fixed remote grant support
2016-09-15 22:06:40 -07:00
Stephen Bennett f32b9ebd63 Add hooks for local and remote nick changes 2016-09-16 00:04:16 -05:00
Xenthys 89aef424e9 m_grant.c - fixed remote grant support 2016-09-10 17:54:13 +02:00
Aaron Jones ac88154f94
SASL: Disallow beginning : and space anywhere in AUTHENTICATE parameter
This is a FIX FOR A SECURITY VULNERABILITY. All Charybdis users must
apply this fix if you support SASL on your servers, or unload m_sasl.so
in the meantime.
2016-09-03 17:29:53 +00:00
William Pitcock f8f5ff705a m_grant: convert jevolk's rewritten version to AV2 2016-08-05 23:37:05 -05:00
Jason Volk 17f925817e m_grant: rewrite. 2016-07-26 22:40:26 -07:00
Jason Volk b5cfad0319 Core modules cannot be unloaded, otherwise bad things happen.
Additionally some information is logged and passed to the operator
conducting a MODRESTART.
2016-06-21 17:42:36 -07:00
William Pitcock 2185c50aad m_modules: use new module api 2016-06-18 00:59:15 -05:00
William Pitcock 397ec4d171 invite: do not send duplicate invite messages (closes #194) 2016-06-16 20:21:18 -05:00
Aaron Jones 0982871a99
strcpy: mass-migrate to strlcpy where appropriate 2016-05-15 03:58:44 +00:00
Aaron Jones 7de13f7e5e
starttls: Allow command usage with backends other than OpenSSL 2016-05-14 00:26:03 +00:00
Simon Arlott 4ad9738d7a
m_alias: correctly construct string to be sent 2016-05-12 19:45:27 +01:00
Simon Arlott da20854e83
random_ping: stop producing negative values that become 16 chars 2016-05-02 21:14:16 +01:00
Elizabeth Myers f4d828ef96 m_alias: restore old behaviour of joining all parameters.
There are two important caveats here, however:

1) Aliased commands have more than 8 parameters will be truncated;
there's nothing I can do about this.
2) Parameters with colons will not be handled as you expect. Again,
nothing I can do about this.
2016-05-01 03:48:00 -05:00
Simon Arlott 896370cc3e
m_stats: don't try to access bl_stats if it doesn't exist 2016-04-30 13:18:48 +01:00
Simon Arlott 4fbb736202
ssld: add a callback when the connection is opened
This allows us to wait until we have the fingerprint information before
continuing with a server connect process.
2016-04-24 11:48:35 +01:00
Simon Arlott 3085734104
m_stats: display certificate fingerprint in STATS C 2016-04-24 01:06:51 +01:00
Simon Arlott 00039dcddd
m_alias: store a copy of alias->name as it will be freed on a rehash 2016-04-24 00:09:12 +01:00
Simon Arlott 84e3e445aa
mr_server: Report certificate fingerprint mismatches
Log the received certificate fingerprint when it causes a server to be
rejected.
2016-04-23 17:37:05 +01:00
Simon Arlott b49efe577c
mr_server: Handle unknown error codes
As mr_server is a module, it could potentially receive an unknown
error code from check_server().
2016-04-23 17:37:04 +01:00
Elizabeth Myers 7445ece1d1
Revert "Implement the netsplit batch type."
This needs more work, see
https://github.com/ircv3/ircv3-specifications/issues/253

This reverts commit 2373891299.
2016-04-16 11:05:00 -05:00
Elizabeth Myers 2373891299
Implement the netsplit batch type.
This also lays the groundwork for the netjoin batch type, but that isn't
implemented yet. I don't like how some of this is implemented but it'll
have to do for now...

Compile tested, needs more testing.
2016-04-15 16:50:43 -05:00
Elizabeth Myers 5e9a3f8674
Change the way authd configures opm
It's a bit of a hack, but better than before. Rather than rehashing
(which could get us into an endless loop), we now segregate the
configuration phase (creating entries ircd-side in case we restart authd
later) and sending phases (when configure_authd() is called). Since we
have to call configure_authd() no matter what (to send timeouts etc.)
and we have to send this data to configure authd anyway, and sending
duplicate data is bad, this is the only way I can think of for now.
2016-04-12 09:36:09 -05:00
Mantas Mikulėnas 9d07a42d7a
m_sasl: rate-limit SASL REAUTH usage 2016-04-11 21:45:10 +03:00
Mantas Mikulėnas 834579cecd
m_sasl: fix coding style 2016-04-11 20:12:31 +03:00
Mantas Mikulėnas 37289346cd
m_sasl: temporarily reject clients after many failed attempts 2016-04-11 20:02:09 +03:00
Elizabeth Myers e34368b1bc modules/m_set: booleanify. 2016-04-10 10:11:03 -05:00
Elizabeth Myers 4eafa9e62f ipv4_from_ipv6: move to librb 2016-04-08 03:49:23 -05:00
Elizabeth Myers 66f7fe673b Get rid of flags2.
It seems to come from an era where long long didn't exist and 64-bit
machines weren't common. 32-bit machines are still common but I can't
imagine this will have much performance impact there.

This "fixes" #179 in title only, but see comments within.
2016-04-07 07:40:55 -05:00
Elizabeth Myers 78946542bb modules: move module loading/unloading commands to dedicated module.
There's no reason to really have these in the main ircd anymore, static
modules are dead and aren't coming back.

To ensure people don't do something hopelessly retarded, this is a core
module.
2016-04-07 04:00:25 -05:00
Elizabeth Myers 95b0324658 m_stats: use macros to clean up generating the stats table 2016-04-07 03:27:50 -05:00
Elizabeth Myers 999c42bad8 Remove useless alias_entry hits member 2016-04-06 11:47:13 -05:00
Elizabeth Myers 0d7e4d311a m_stats: don't list alias entries twice. 2016-04-06 11:45:55 -05:00
Elizabeth Myers 9620c6d61c m_alias: fix an assert 2016-04-06 11:43:19 -05:00
Elizabeth Myers cef7dfc56c m_alias: fix build with --enable-assert 2016-04-06 07:57:20 -05:00
Elizabeth Myers dd598516c8 m_alias: minor cleanup 2016-04-06 07:33:36 -05:00
Elizabeth Myers b663a8070f Move alias handling into a dedicated module.
Not yet tested, caveat emptor!

Closes #166
2016-04-06 07:27:50 -05:00
Elizabeth Myers 900683650a Static modules are dead, remove this. 2016-04-06 06:30:58 -05:00
Elizabeth Myers f956cb0f1f Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05:00
Elizabeth Myers fc9013d6b0 Don't send original error message if we're already on the channel we're forwarding to
Closes #55
2016-04-04 03:08:52 -05:00
Elizabeth Myers c0483ac17b boolify calls to rehash 2016-04-03 01:53:34 -05:00
Elizabeth Myers 0ed0a9fe0a Move m_locops module to extensions.
Many networks do not use local ops and therefore should not be required
to have this around all the time.
2016-04-02 05:20:30 -05:00
Elizabeth Myers 7b4d1de38d Merge branch 'master' into authd-framework 2016-03-28 14:44:47 -05:00
Elizabeth Myers d3f6b80867 Replace s_auth/blacklist stuff with authd calls
This also does a lot of surgery on the conf system to reconfigure authd.

/!\ WARNING! ACHTUNG! ADVERTENCIA! ATTENTION! AVVERTIMENTO! /!\
This code has not been run-time tested yet (though it compiles)!
2016-03-28 02:11:16 -05:00
Matt Ullman aa7eff28f2 hash.c: Save some more bytes 2016-03-27 06:29:10 -04:00
William Pitcock de7cf7e009 ircd: client: substantially rework the connid registry system
now connid's are allocated on demand and clients may have as many connid's as necessary.
this allows us to build chains of helpers while ensuring the ircd properly tracks and GCs the resources.
2016-03-25 19:50:29 -05:00
William Pitcock 704279e429 starttls: use the client connid instead of the FD for opening the channel with ssld 2016-03-24 20:33:54 -05:00
William Pitcock 4d8cfacd95 ircd: start staging for relocatable paths 2016-03-24 18:45:28 -05:00
Elizabeth Myers fea4e2d2a8 modules: libircd depends on librb, so no need to include it.
This triggers multiple inclusion warnings on Solaris also.
2016-03-23 13:59:45 -05:00
Elizabeth Myers 79435744c7 common.h: raison d'être is gone, so out it goes.
Fold whatever was left into ircd_defs.h
2016-03-23 09:33:56 -05:00
Elizabeth Myers 82236a2a65 IRCD_BUFSIZE is redundant with BUFSIZE, so kill it. 2016-03-23 09:22:55 -05:00
Elizabeth Myers ab31d2b07e Send YES/NO to Davy Jones's Locker. 2016-03-23 08:52:32 -05:00
Elizabeth Myers 2fc6772ee1 typedef-ify rb_radixtree for consistency. 2016-03-23 08:32:22 -05:00
Elizabeth Myers 4177311e6e Change struct Dictionary(*) to rb_dictionary(_\1).
This cleans things up a slightly and puts the dictionary stuff in its
own namespace.
2016-03-23 08:09:58 -05:00
Elizabeth Myers 56f84dedf7 DICTIONARY_FOREACH → RB_DICTIONARY_FOREACH
This is in librb and therefore should be prefixed.
2016-03-23 07:45:44 -05:00
Matt Ullman 66769bc1f8 More cleanup 2016-03-23 00:11:26 -04:00
Matt Ullman e23126c83b Cleanup warnings 2016-03-21 22:28:41 -04:00
Matt Ullman ceabbbbf3c m_cap: Remove CLEAR subcommand as per v3 specs 2016-03-21 00:29:07 -04:00
William Pitcock 032ef5ef9e modules: more GET_SS_FAMILY() checking 2016-03-20 04:46:50 -05:00
William Pitcock 2d77d121a3 m_stats: win32 fixes 2016-03-20 02:19:36 -05:00
William Pitcock 1859e9d7d7 ircd: remove basically entirely pointless ServerInfo.hub (closes #167) 2016-03-19 23:05:07 -05:00
Elizabeth Myers 9b8e9eb321 config.h delenda est 2016-03-19 19:14:26 -05:00
Elizabeth Myers fe4224394e Can IGNORE_BOGUS_TS at the behest of @kaniini and @jilest 2016-03-19 18:55:13 -05:00
William Pitcock bfc44622c8 ircd: do not shadow internal openssl symbol "ssl_ok" (yeah, i know) 2016-03-19 00:57:32 -05:00
William Pitcock f2d5cea00a modules: remove explicit CPRIVMSG/CNOTICE, this has been obsolete for a long time 2016-03-10 02:13:43 -06:00
Elizabeth Myers 3ec1db3785 m_error: use strncasecmp, not strcmp 2016-03-09 18:53:08 -06:00
Elizabeth Myers 788e2d592c m_stats: eliminate special casing of calling the stats L handler. 2016-03-09 17:19:16 -06:00
Mantas Mikulėnas 6f39a80ec6 authd, m_stats: fix command table sizes
There are 256 possible byte values.
2016-03-09 18:15:42 +02:00
Elizabeth Myers 6445c1cf0b rehash: don't restart authd for DNS reloads
This could lead to pretty nasty things, like losing DNS (and in the
future, ident) queries. That's a Bad Thing™.
2016-03-09 03:46:04 -06:00
Elizabeth Myers 5c1dbc3cc3 Fix m_xline [ci skip] 2016-03-09 02:10:23 -06:00
Elizabeth Myers f66f0baa67 More bool conversions 2016-03-09 02:00:40 -06:00
Elizabeth Myers 05b77c613f m_close: remove dangling return [ci skip] 2016-03-09 01:45:01 -06:00
Elizabeth Myers b8b72cbdf1 m_chghost: convert more stuff to bool [ci skip] 2016-03-09 01:44:20 -06:00
Elizabeth Myers 550e851c5e Merge branch 'master' of github.com:charybdis-ircd/charybdis into elizafox-cleanups 2016-03-09 01:41:10 -06:00
Elizabeth Myers 3c7d6fcce7 Message handlers should return void.
Also fix up some return values and stuff to use bool (or void if
nothing). I just did it whilst I was here.

According to jilles, the return value used to signify whether or not the
client had exited. This was error-prone and was fixed a long, long time
ago, but the return value was left int for historical reasons.

Since the return type is not used (and has no clear use case anyway),
it's safe to just get rid of it.
2016-03-09 01:37:03 -06:00
Elizabeth Myers eeabf33a7c Move module description headers to the top
This is cleaner.

Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
2016-03-09 01:29:41 -06:00
Andrew Wilcox 959f5f368b core/m_error: Be consistent in strncmp usage 2016-03-09 01:08:23 -06:00
Elizabeth Myers 6287d57fa9 s_user: clean up return types and can YES/NO. 2016-03-08 05:06:29 -06:00
Elizabeth Myers 07554369bd Detect stdbool.h and add conformant shims if it isn't available
Charybdis requires C99 already, so it's high time we start using
stdbool. I've converted a few pieces of code already.

A lot of the old code that uses YES/NO should probably be updated too
because that's fucking hideous.
2016-03-08 04:54:04 -06:00
Elizabeth Myers b3b7401f13 Remove another silly outdated comment [ci skip] 2016-03-08 04:40:46 -06:00
Elizabeth Myers 1235d6848f m_svinfo: remove outdated comment 2016-03-08 04:40:19 -06:00
Elizabeth Myers 963c3faa43 m_stats: kill O(n) lookup on stats. 2016-03-08 04:38:42 -06:00
Elizabeth Myers 55799c6b4d dns: prune worthless function. 2016-03-08 03:25:21 -06:00
Elizabeth Myers 8a26cd1973 dns: clean up awful hacks.
We now have a resolver cache which we init on startup.
2016-03-08 03:22:25 -06:00
Elizabeth Myers 394b8dde17 authd: allow querying the list of DNS servers.
This was an asston of pain, and it still feels "dirty" as it introduces
an async call where there normally wouldn't be one. Better
implementation more than welcome.
2016-03-08 02:53:25 -06:00
Elizabeth Myers b8e9ac5f5f AV2 description: forgot this one too 2016-03-07 04:13:01 -06:00
Elizabeth Myers f45f4143f6 m_starttls: fix fucked-up merge 2016-03-07 03:15:50 -06:00
Elizabeth Myers 684725edf5 m_starttls: port to AV2 caps stuff 2016-03-07 03:15:00 -06:00
Elizabeth Myers fc939ca58f Merge pull request #161 from awilfox/av2desc
Add AV2 descriptions to all modules P-X
2016-03-07 03:10:51 -06:00
Andrew Wilcox 893806a6ea modules: Add AV2 description to m_xline 2016-03-07 02:54:54 -06:00
Andrew Wilcox 3bf449fe26 modules: Add AV2 descriptions for m_w* modules 2016-03-07 02:53:27 -06:00
Andrew Wilcox ae5695cdcb m_time and m_user: Fix small typo 2016-03-07 02:53:16 -06:00
Elizabeth Myers 1fe7d6083d AV2 descriptions for m_[no]* 2016-03-07 02:45:37 -06:00
Andrew Wilcox 78624ddf8d modules: Add AV2 description to m_version 2016-03-07 02:45:00 -06:00
Andrew Wilcox 4855e957c5 modules: Add AV2 descriptions to all m_u* modules 2016-03-07 02:43:11 -06:00
Elizabeth Myers bc89faebd1 m_map: oops... 2016-03-07 02:37:33 -06:00
Elizabeth Myers f5ebe640bc Add AV2 descriptions to m_[l-m]* 2016-03-07 02:34:00 -06:00
Andrew Wilcox be9c397952 modules: Add AV2 descriptions to all m_t* modules 2016-03-07 02:27:32 -06:00
Elizabeth Myers f1156bf07a Do AV2 descriptions for m_[i-k]* 2016-03-07 02:11:50 -06:00
Elizabeth Myers df1f1212a8 m_invite: update for AV2 2016-03-07 02:09:21 -06:00
Andrew Wilcox 3abc337fe1 modules: Add AV2 descriptions to all m_s* modules 2016-03-07 02:05:28 -06:00
Elizabeth Myers 9fd8e7cbc9 Do AV2 strings for m_[d-h]* 2016-03-07 01:59:08 -06:00
Andrew Wilcox 114d98b3cc modules: Add AV2 descriptions to all m_r* modules 2016-03-07 01:52:45 -06:00
Elizabeth Myers 5544da98b8 Add AV2 descriptions to all m_c* modules. 2016-03-07 01:52:16 -06:00
Andrew Wilcox d5d3540913 modules: Add AV2 descriptions to all m_p* modules 2016-03-07 01:47:40 -06:00
Elizabeth Myers 3c88406edc Do a few more AV2 descriptions in modules. 2016-03-07 01:38:14 -06:00
Elizabeth Myers b212d71344 chm_noctcp: add AV2 string 2016-03-07 01:32:19 -06:00
Elizabeth Myers 4a0944732a chm_nocolour: add AV2 docs 2016-03-07 01:31:27 -06:00
Elizabeth Myers 4491f53665 Merge branch 'av2desc' of https://github.com/awilfox/charybdis into awilfox-av2desc 2016-03-07 01:20:49 -06:00
Elizabeth Myers 0466682f92 m_quit: add desc string 2016-03-07 01:17:30 -06:00
Elizabeth Myers ee6dcb0514 Add more core module descriptions 2016-03-07 01:16:24 -06:00
Andrew Wilcox 42c9851a5d core/m_squit: Add AV2 description 2016-03-07 01:09:07 -06:00
Andrew Wilcox 51588bbc9f core/m_server: Add AV2 description 2016-03-07 01:06:39 -06:00
Andrew Wilcox 4dc7383a2f core/m_quit: Add AV2 description 2016-03-07 01:06:39 -06:00
Andrew Wilcox 25e38006db core/m_part: Add AV2 description 2016-03-07 01:06:39 -06:00
Elizabeth Myers d821282260 cap_server_time: update doodads for AV2 2016-03-07 01:05:24 -06:00
Elizabeth Myers 41fb059881 cap_account_tag: migrate CAP reg/desc to AV2 2016-03-07 01:02:08 -06:00
Andrew Wilcox 8661d5ae5c core/m_message: Add AV2 description 2016-03-07 00:57:05 -06:00
Andrew Wilcox ac1b809c5f core/m_kill: Add AV2 description 2016-03-07 00:56:08 -06:00
Andrew Wilcox 33b2b6c1ab core/m_kick: Add AV2 description 2016-03-07 00:55:36 -06:00
Andrew Wilcox 823ab5285f core/m_join: Add AV2 description 2016-03-07 00:52:50 -06:00
Andrew Wilcox 8798744e50 core/m_die: Add AV2 description 2016-03-07 00:48:48 -06:00
Andrew Wilcox 65ca483f97 core/m_ban: Add AV2 description 2016-03-07 00:48:27 -06:00
William Pitcock ccb75e917e m_cap: use rb_snprintf_append() instead of pointer math 2016-03-07 00:13:54 -06:00
Elizabeth Myers 105a4985b4 Migrate remaining modules to AV2
No descriptions yet. :(
2016-03-07 00:03:39 -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 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
William Pitcock c83f2f5e12 rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -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
William Pitcock 4c83e47679 invite: implement invite-notify support 2016-03-05 02:49:10 -06:00
William Pitcock d058096aaa invite: broadcast INVITE messages instead of using point to point routing, to facilitate invite-notify 2016-03-05 02:39:42 -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 08e43ffb21 connect: fix tmpport handling 2016-03-02 16:32:27 -06:00
Simon Arlott 035d9143bd ircd: add missing sslproc function ssld_foreach_info()
Iterate through the ssl daemons and report their status.
2016-03-01 21:30:51 +00:00
William Pitcock 455d2750fc cap: don't show orphaned capabilities 2016-02-28 19:15:13 -06:00
William Pitcock 6b23b98ab6 m_cap: ensure buffers are initialized properly 2016-02-28 18:49:29 -06:00
mniip 802710b59a Always send the certificate fingerprint when doing SASL because the services might need it for SOME REASON 2016-02-29 03:29:08 +03:00
William Pitcock ba316ed56c cap: implicitly enable cap-notify on CAP LS 302, to MAKE IRC GREAT AGAIN!!!!oneoneone 2016-02-28 01:32:54 -06:00
William Pitcock ddf62b10f9 m_cap: add support for CAP LS 302 2016-02-28 01:13:08 -06:00
William Pitcock da3e5fcb42 sasl: implement support for distributing mechlists 2016-02-28 01:02:10 -06:00
William Pitcock df06f4c920 cap server-time: add .000 for microsecs since our clock does not support microsecs 2016-02-28 00:40:46 -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 573896f639 send: allow passing NULL origin to build_msgbuf_from() (for future use) 2016-02-27 02:56:44 -06:00
William Pitcock 4bdf963cdc modules: add cap_server_time, adding server-time cap support 2016-02-27 02:31:38 -06:00
William Pitcock ed3853649d starttls: add s_serv for caps 2016-02-27 01:51:58 -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 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 815fbc146f modules/cap_account_tag: new module providing the account-tag cap as a proof of concept 2016-02-20 17:44:46 -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 c678fbc08b ircd: remove broken USE_IODEBUG_HOOKS knob and related code 2016-02-20 12:02:49 -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
William Pitcock 428ca87b01 modules: chase MsgBuf API change 2016-02-10 20:54:17 -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 de50a480af Remove unused .depend files. 2016-02-09 23:08:35 -06:00
Valerii Iatsko 5203cba5ce Remove libratbox's snprintf.c, update related ircd code 2016-02-10 02:25:32 +01:00
William Pitcock b47f8a4fda ircd: import modified version of ratbox 3.1 whowas code 2016-01-23 11:16:34 -05:00
William Pitcock b9a32bd24b LIST: plug memory leak 2016-01-22 16:07:55 -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
Jilles Tjoelker 6da38a0a5d WHOIS: Make hide_opers_in_whois not affect opers doing whois. 2016-01-16 15:22:50 +01: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 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 633531a4aa TOPIC: strip channel topic colors here if configured, instead of in set_channel_topic() 2016-01-13 17:17:14 -06:00
William Pitcock e4af89f4d7 Revert "LIST: since we now have channel::strip_topic_colors, don't unconditionally strip colors here anymore"
This reverts commit b28b21f6d5.
2016-01-13 17:11:16 -06:00
William Pitcock b28b21f6d5 LIST: since we now have channel::strip_topic_colors, don't unconditionally strip colors here anymore 2016-01-13 17:05:49 -06:00
William Pitcock abad2c5da6 CONNECT: allow using 3-argument CONNECT with port == 0 locally (closes #119) 2016-01-12 05:54:04 -06:00
William Pitcock cc7ae51cdc Allow remote DIE and RESTART (from ircd-seven) 2016-01-12 00:04:54 -06:00
William Pitcock 3b1c2aa62c modules: add missing m_grant.c 2016-01-11 23:52:04 -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 730b914c17 LIST: more cleanups 2016-01-09 23:34:52 -06:00
William Pitcock e835592cfc LIST: use new sendq system to reimplement SAFELIST differently.
This is more like ratbox, but with the same filtering etc. features, and also using the hard sendq limit.
2016-01-09 23:28:53 -06:00
William Pitcock 8dacf9e917 ircd: make STATS B easier to understand 2016-01-09 06:23:13 -06:00
William Pitcock 46be39faab ircd: hash: use an irc_radixtree for storing resv's 2016-01-09 04:59:02 -06:00