Simon Arlott
40a766a0a0
m_sasl: Don't process authentication messages if SASL has been aborted, but track failures
2019-02-23 13:02:15 +00:00
Simon Arlott
d5d52a994d
m_nick/m_sasl/m_user: restore check for mixing of client and server protocol
2018-08-15 22:48:21 +01:00
Simon Arlott
d4b2529a61
m_pass: store unverified SID in preClient for use in m_server
2018-08-15 22:48:20 +01:00
Simon Arlott
15b05f95f0
m_sasl: check if the agent is present after every client_exit
...
When a server disconnects the client_exit hook will only be called once
but there could be multiple servers and clients behind that server.
After any client exits, check if the agent is still present.
2018-08-12 12:50:43 +01:00
Aaron Jones
6d8a8851df
modules/m_sasl.c: prevent abort_sasl() sending 906 twice
2018-04-06 20:07:08 +00:00
Aaron Jones
631c30890c
modules/m_sasl.c: command functions are void on this branch
2018-04-06 19:58:45 +00:00
Aaron Jones
280ce6a951
modules/m_sasl.c: abort session if we receive '*' as data
...
Otherwise we'd send the * on to services as actual data, which is likely
to fail to decode it (it's not valid Base-64) and reply with an SASL ...
D F which will result in us sending a 904 numeric instead of a 906.
cf. https://github.com/ircv3/ircv3-specifications/pull/298#issuecomment-271336287
Reported-By: James Wheare
2018-04-06 19:49:33 +00:00
Simon Arlott
fe5fc851aa
gcc7 fixes: NICKLEN -> NAMELEN
...
Use NAMELEN instead of NICKLEN when accessing Client->name because it
could in theory be a HOSTLEN length string.
2018-01-19 23:26:20 +00:00
Simon Arlott
6003ce763c
Add outgoing SCTP connect support
2017-08-24 20:08:21 +01:00
Simon Arlott
de2934965c
remove RB_IPV6
2017-08-20 12:54:46 +01:00
Simon Arlott
0ee833da4a
m_sasl: indicate client connection type for SASL
2017-08-09 22:04:11 +01:00
Simon Arlott
4b1cce65ed
ircd: send tags on every message
...
Simplify linebuf by introducing fsnprint to manage a list of printfs.
Add a msgbuf unparse cache for send functions that loop.
2017-08-06 16:21:29 +01:00
Simon Arlott
de36941445
remove unused variables
2017-08-04 20:02:20 +01:00
Simon Arlott
a2a670824c
cap_server_time: check return values of string functions
2017-07-31 07:58:06 +01:00
Simon Arlott
2d5f4d8e7f
cap_server_time: provide time with millisecond resolution
2017-07-30 22:03:23 +01:00
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 db05a36210
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
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
9e45a5ca19
buildsystem: further cleanup
2016-01-08 07:01:00 -06:00
William Pitcock
a886cb82fb
buildsystem: more LTDLINCL fixes
2016-01-08 06:57:45 -06:00
William Pitcock
f0718c93d5
configure: use correct path for libltdl
2016-01-08 06:50:01 -06:00
William Pitcock
1eeb046930
ircd: remove internal resolver, no longer used
2016-01-08 06:39:51 -06:00
William Pitcock
5164a68650
buildsystem: update Makefile.in's
2016-01-08 05:20:32 -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
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
46fded53d4
update buildsystem artifacts
2016-01-06 01:16:49 -06:00
William Pitcock
ff12cc9479
rename src to ircd, libcore to libircd
2016-01-06 01:16:08 -06:00
William Pitcock
bc38c72ced
buildsystem: build ircd itself as a library to allow removal of -undefined suppress on OS X
2016-01-05 21:31:21 -06:00
William Pitcock
c52df12552
buildsystem: convert to automake + libtool
2016-01-05 21:20:25 -06:00
William Pitcock
5810d36e0a
whois: privset disclosure: we do not need to check if source user is the same as target, because they will always be opered
2016-01-05 18:55:23 -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
Aaron Jones
5499771f0e
Fix erroneous comment
2016-01-01 09:31:55 +00:00
Aaron Jones
0e06053c33
Fix erroneous use of wrong string concatenation function
...
Avoids warning:
m_map.c:203:3: warning: implicit declaration of function ‘strlcat’
[-Wimplicit-function-declaration]
2015-12-30 08:34:27 +00:00
Mantas Mikulėnas
2b17787939
m_starttls: reject "STARTTLS" use over an existing TLS connection
2015-12-30 09:28:53 +02:00
Jilles Tjoelker
f8d9a4c289
list: Remove a now obsolete comment.
2015-12-29 13:55:16 +01:00
William Pitcock
4d38dd60ed
whois: bring permissions check in line with the same one in m_privs
2015-12-28 14:55:59 -06:00
Valentin Lorentz
d855e13e01
Remove trailing space in CAP ACK.
...
Fixes https://github.com/atheme/charybdis/issues/110
2015-12-28 10:57:17 +01:00
William Pitcock
e00552d5ce
whois: cosmetic improvement to opered-as numeric
2015-12-28 01:38:13 -06:00
William Pitcock
72ad5c04fe
whois: list active operator block and privset when appropriate
2015-12-28 01:33:09 -06:00
William Pitcock
c7b2fd3d66
MODE: allow 'q' banlist queries to bypass flood limits too
2015-12-28 00:48:46 -06:00
William Pitcock
0b904d91bf
supported: move ISUPPORT tokens provided by modules to their specific modules:
...
- m_cmessage: CPRIVMSG/CNOTICE
- m_etrace: ETRACE
- m_knock: KNOCK
- m_services: FNC
- m_who: WHOX
2015-12-26 22:41:09 -06:00
William Pitcock
d513218a9e
LIST: allow channel display threshold to be configured ( closes #109 )
2015-12-26 22:23:28 -06:00
Jilles Tjoelker
e124e4b64c
starttls: Update for client fd hash removal.
2015-12-24 23:01:37 +01: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
e1fda0d81e
map: make flatten_links dump a flattened map instead of blocking it ( closes #48 )
...
based on my patches in shadowircd legacy (4.0)
2015-12-12 09:24:37 -06:00
William Pitcock
413c61aaf5
monitor: ensure monitored nicknames are valid (ref. elemental-ircd/elemental-ircd#187 )
2015-12-12 08:42:03 -06:00
William Pitcock
72dee03d50
clean up some code duplication when checking nicks for validity
2015-12-12 08:41:09 -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
427a8d5dbb
WHOIS: use cipher string if available
2015-12-11 08:20:11 -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
William Pitcock
a7433e330a
m_message: use same behaviour for +R users as +g users ( closes #96 )
2015-12-05 06:48:38 -06:00