]> jfr.im git - irc/charybdis-ircd/charybdis.git/log
irc/charybdis-ircd/charybdis.git
6 years agocharybdis 4.0 charybdis-4.0
Simon Arlott [Fri, 20 Oct 2017 22:29:47 +0000 (23:29 +0100)] 
charybdis 4.0

6 years agocharybdis 4-rc7 charybdis-4-rc7
Simon Arlott [Thu, 24 Aug 2017 19:12:17 +0000 (20:12 +0100)] 
charybdis 4-rc7

6 years agoexit_unknown_client: don't delete servers from the client hash
Simon Arlott [Thu, 24 Aug 2017 19:07:31 +0000 (20:07 +0100)] 
exit_unknown_client: don't delete servers from the client hash

Outgoing servers are not added to the client hash until they reach
IsServer() status, so if they're unknown when they exit then don't
attempt to delete them.

6 years agotests: add serv_connect1 (exit_unknown_client)
Simon Arlott [Thu, 24 Aug 2017 19:03:51 +0000 (20:03 +0100)] 
tests: add serv_connect1 (exit_unknown_client)

Test serv_connect followed by exit_unknown_client.

An outgoing connection should not delete an incoming connection that
occurs during the connection attempt.

6 years agos_serv: connect using both IPv4 and IPv6 if unspecified
Simon Arlott [Tue, 22 Aug 2017 20:55:03 +0000 (21:55 +0100)] 
s_serv: connect using both IPv4 and IPv6 if unspecified

6 years agoauthd: assume all providers are running
Simon Arlott [Sun, 20 Aug 2017 11:53:44 +0000 (12:53 +0100)] 
authd: assume all providers are running

Otherwise ident returns without setting itself running causing problems.

Move opm/blacklist before ident/rdns so that they can receive completion
notifications.

6 years agom_sasl: indicate client connection type for SASL
Simon Arlott [Wed, 9 Aug 2017 21:04:11 +0000 (22:04 +0100)] 
m_sasl: indicate client connection type for SASL

6 years agolibrb: remove zstring
Simon Arlott [Sun, 6 Aug 2017 17:40:24 +0000 (18:40 +0100)] 
librb: remove zstring

rb_zstring_serialized leaks memory while doing nothing with its
arguments... nothing is using zstring so remove it

6 years agotests: add rb_dictionary1
Simon Arlott [Sun, 6 Aug 2017 17:38:25 +0000 (18:38 +0100)] 
tests: add rb_dictionary1

This doesn't do much because replacing existing elements isn't allowed.

6 years agolibrb: dictionary_add mishandles replacing elements
Simon Arlott [Sun, 6 Aug 2017 17:37:20 +0000 (18:37 +0100)] 
librb: dictionary_add mishandles replacing elements

This can only happen with soft asserts otherwise it will crash instead.

Nothing currently uses the return value of rb_dictionary_add.

6 years agocharybdis 4-rc6 charybdis-4-rc6
Simon Arlott [Sun, 6 Aug 2017 15:43:49 +0000 (16:43 +0100)] 
charybdis 4-rc6

6 years agotests: send1: add tag tests to all functions
Simon Arlott [Sun, 6 Aug 2017 15:20:03 +0000 (16:20 +0100)] 
tests: send1: add tag tests to all functions

6 years agoircd: send tags on every message
Simon Arlott [Sun, 6 Aug 2017 11:05:24 +0000 (12:05 +0100)] 
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.

6 years agotests: send1: fix sendto_channel_opmod (remote) to cover all scenarios
Simon Arlott [Sun, 6 Aug 2017 12:30:47 +0000 (13:30 +0100)] 
tests: send1: fix sendto_channel_opmod (remote) to cover all scenarios

6 years agotests: send1: fix sendto_channel_opmod (remote) to call the right function
Simon Arlott [Sun, 6 Aug 2017 12:14:12 +0000 (13:14 +0100)] 
tests: send1: fix sendto_channel_opmod (remote) to call the right function

6 years agotests: send1: add missing CAP_SERVER_TIME test to sendto_channel_flags from remote...
Simon Arlott [Sun, 6 Aug 2017 12:00:49 +0000 (13:00 +0100)] 
tests: send1: add missing CAP_SERVER_TIME test to sendto_channel_flags from remote users

6 years agotests: send1: test MODE_MODERATED with sendto_channel_opmod
Simon Arlott [Sun, 6 Aug 2017 11:53:39 +0000 (12:53 +0100)] 
tests: send1: test MODE_MODERATED with sendto_channel_opmod

6 years agotests: send1: load modules in a predictable order
Simon Arlott [Sun, 6 Aug 2017 10:05:03 +0000 (11:05 +0100)] 
tests: send1: load modules in a predictable order

So that tags are added in the same order every time.

# wanted: @time=2017-07-14T02:40:00.000Z;account=test :LChanPeon!username@example.test TEST #placeholder :Hello World!
#   seen: @account=test;time=2017-07-14T02:40:00.000Z :LChanPeon!username@example.test TEST #placeholder :Hello World!

6 years agotests: add missing modules symlinks
Simon Arlott [Sun, 6 Aug 2017 00:42:51 +0000 (01:42 +0100)] 
tests: add missing modules symlinks

6 years agotests: add remaining sendto_* tests
Simon Arlott [Sun, 6 Aug 2017 00:12:59 +0000 (01:12 +0100)] 
tests: add remaining sendto_* tests

6 years agoircd: check caps for user in sendto_common_channels_local
Simon Arlott [Sat, 5 Aug 2017 21:34:17 +0000 (22:34 +0100)] 
ircd: check caps for user in sendto_common_channels_local

6 years agotests: add remote server message tests
Simon Arlott [Sat, 5 Aug 2017 15:54:44 +0000 (16:54 +0100)] 
tests: add remote server message tests

Test sendto_one, sendto_one_prefix, sendto_one_notice and complete
sendto_one_numeric (for unregistered clients).

6 years agotests: add client util make_local_person_oper()
Simon Arlott [Sat, 5 Aug 2017 13:14:53 +0000 (14:14 +0100)] 
tests: add client util make_local_person_oper()

6 years agotests: add sendto_* test framework
Simon Arlott [Sat, 5 Aug 2017 13:09:01 +0000 (14:09 +0100)] 
tests: add sendto_* test framework

6 years agoircd: log command in mod_add_cmd/mod_del_cmd error scenarios
Simon Arlott [Sat, 5 Aug 2017 11:29:52 +0000 (12:29 +0100)] 
ircd: log command in mod_add_cmd/mod_del_cmd error scenarios

6 years agoircd: substitution: fix buffer overrun if variable name is too long
Simon Arlott [Sat, 5 Aug 2017 10:27:02 +0000 (11:27 +0100)] 
ircd: substitution: fix buffer overrun if variable name is too long

Also fix the "ptr = ptr + (pptr - ptr)" aka "ptr = pptr" mess by
removing pptr.

6 years agoremove unused variables
Simon Arlott [Fri, 4 Aug 2017 20:01:17 +0000 (21:01 +0100)] 
remove unused variables

6 years agossld: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:29:24 +0000 (20:29 +0100)] 
ssld: avoid clang static analysis warning

Edit by @aaronmdjones: fix for loop initialisation and inner condition

6 years agotests: fix warnings
Simon Arlott [Fri, 4 Aug 2017 18:45:34 +0000 (19:45 +0100)] 
tests: fix warnings

6 years agoremove unused variables
Simon Arlott [Fri, 4 Aug 2017 18:56:29 +0000 (19:56 +0100)] 
remove unused variables

6 years agom_webirc: set sockhost before potentially using it to set host
Simon Arlott [Tue, 1 Aug 2017 21:42:56 +0000 (22:42 +0100)] 
m_webirc: set sockhost before potentially using it to set host

Remove extra IP check, it's not necessary.

6 years agocap_server_time: check return values of string functions
Simon Arlott [Mon, 31 Jul 2017 06:58:06 +0000 (07:58 +0100)] 
cap_server_time: check return values of string functions

6 years agocap_server_time: provide time with millisecond resolution
Simon Arlott [Sun, 30 Jul 2017 21:03:23 +0000 (22:03 +0100)] 
cap_server_time: provide time with millisecond resolution

6 years agocharybdis 4-rc5 charybdis-4-rc5
Simon Arlott [Sun, 30 Jul 2017 17:43:52 +0000 (18:43 +0100)] 
charybdis 4-rc5

6 years agombedtls.c: minor fixups
Aaron Jones [Mon, 3 Jul 2017 00:12:47 +0000 (00:12 +0000)] 
mbedtls.c: minor fixups

- Add (void) casts for unused function parameters
- Rearrange member in `struct rb_mbedtls_cfg_context' for data alignment
- Document a `clang-4.0 -Weverything' (-Wcast-qual) diagnostic
- Avoid pointless conversions between positive/negative error codes
- Use capital hexadecimals in error codes and properly cast to
  (unsigned int) for %x/%X

6 years agom_cap: use rn_snprintf_try_append
Simon Arlott [Sun, 30 Jul 2017 17:04:38 +0000 (18:04 +0100)] 
m_cap: use rn_snprintf_try_append

6 years agotests: add rb_snprintf_append, rb_snprintf_try_append tests
Simon Arlott [Sun, 30 Jul 2017 16:05:26 +0000 (17:05 +0100)] 
tests: add rb_snprintf_append, rb_snprintf_try_append tests

6 years agolibrb: add rb_snprintf_try_append
Simon Arlott [Sun, 30 Jul 2017 16:04:06 +0000 (17:04 +0100)] 
librb: add rb_snprintf_try_append

For when it might fit, or it might not.

6 years agolibrb: rb_snprinf_append: handle error return value from vsnprintf()
Simon Arlott [Sun, 30 Jul 2017 16:03:30 +0000 (17:03 +0100)] 
librb: rb_snprinf_append: handle error return value from vsnprintf()

6 years agotests: add rb_linebuf_put tests
Simon Arlott [Sun, 30 Jul 2017 14:56:29 +0000 (15:56 +0100)] 
tests: add rb_linebuf_put tests

6 years agolibrb: linebuf: reduce the number of "put" implementations from 4 to 1
Simon Arlott [Sun, 30 Jul 2017 12:47:27 +0000 (13:47 +0100)] 
librb: linebuf: reduce the number of "put" implementations from 4 to 1

6 years agoRevert "Core modules cannot be unloaded, otherwise bad things happen."
Simon Arlott [Sat, 29 Jul 2017 22:51:54 +0000 (23:51 +0100)] 
Revert "Core modules cannot be unloaded, otherwise bad things happen."

This reverts commit b5cfad03195d566cd259154d212875fb238f5d80.

6 years agom_join: remove global variable parabuf
Simon Arlott [Sat, 29 Jul 2017 22:19:24 +0000 (23:19 +0100)] 
m_join: remove global variable parabuf

6 years agom_join: remove global variable modebuf
Simon Arlott [Sat, 29 Jul 2017 22:15:14 +0000 (23:15 +0100)] 
m_join: remove global variable modebuf

6 years agom_join: remove global variable para
Simon Arlott [Sat, 29 Jul 2017 22:11:36 +0000 (23:11 +0100)] 
m_join: remove global variable para

6 years agom_join: remove global variable pargs
Simon Arlott [Sat, 29 Jul 2017 22:10:35 +0000 (23:10 +0100)] 
m_join: remove global variable pargs

6 years agom_join: remove global variable mbuf
Simon Arlott [Sat, 29 Jul 2017 22:09:16 +0000 (23:09 +0100)] 
m_join: remove global variable mbuf

6 years agolibrb: linebuf needs to use the buffer limit from msgbuf_unparse_prefix
Simon Arlott [Sat, 29 Jul 2017 22:32:27 +0000 (23:32 +0100)] 
librb: linebuf needs to use the buffer limit from msgbuf_unparse_prefix

6 years agoircd: send: these buffers can be static
Simon Arlott [Sat, 29 Jul 2017 22:24:23 +0000 (23:24 +0100)] 
ircd: send: these buffers can be static

6 years agom_cap: Fix CAP LS generation
Simon Arlott [Sat, 29 Jul 2017 21:15:27 +0000 (22:15 +0100)] 
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.

6 years agolibrb: rb_rawbuf_length: do something if soft assert fails
Simon Arlott [Sat, 29 Jul 2017 16:47:07 +0000 (17:47 +0100)] 
librb: rb_rawbuf_length: do something if soft assert fails

correct the value of rb->len

6 years agotests: add msgbuf_unparse tests
Simon Arlott [Fri, 28 Jul 2017 17:34:46 +0000 (18:34 +0100)] 
tests: add msgbuf_unparse tests

6 years agotests: add substitution_parse tests
Simon Arlott [Thu, 27 Jul 2017 11:58:13 +0000 (12:58 +0100)] 
tests: add substitution_parse tests

6 years agotests: add msgbuf_parse tests
Simon Arlott [Wed, 26 Jul 2017 20:06:49 +0000 (21:06 +0100)] 
tests: add msgbuf_parse tests

6 years agomsgbuf: correctly split buffers into IRCv3 tags and RFC1459 message data
Simon Arlott [Wed, 28 Jun 2017 20:24:10 +0000 (21:24 +0100)] 
msgbuf: correctly split buffers into IRCv3 tags and RFC1459 message data

6 years agolinebuf: increase buffer size to accommodate IRCv3 tags
Simon Arlott [Wed, 28 Jun 2017 19:40:03 +0000 (20:40 +0100)] 
linebuf: increase buffer size to accommodate IRCv3 tags

6 years agotests: add C TAP harness
Simon Arlott [Tue, 25 Jul 2017 20:02:45 +0000 (21:02 +0100)] 
tests: add C TAP harness

6 years agolibrb: remove unnecessary NULL from the end of rb_string_to_array output
Simon Arlott [Fri, 28 Jul 2017 20:50:16 +0000 (21:50 +0100)] 
librb: remove unnecessary NULL from the end of rb_string_to_array output

6 years agoircd: attach_conf: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:26:21 +0000 (20:26 +0100)] 
ircd: attach_conf: avoid clang static analysis warning

In the impossible scenario where ClassPtr(aconf) is NULL, reject the
client instead of dereferencing the NULL pointer.

6 years agomake soft asserts better by allowing them to be used in expressions
Simon Arlott [Sat, 29 Jul 2017 16:37:53 +0000 (17:37 +0100)] 
make soft asserts better by allowing them to be used in expressions

6 years agowsockd: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 20:05:41 +0000 (21:05 +0100)] 
wsockd: avoid clang static analysis warning

Don't set `x = 0` twice.

6 years agoauthd: opm: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 21:31:04 +0000 (22:31 +0100)] 
authd: opm: avoid clang static analysis warning

Remove unused `c` variable.

6 years agoircd: send_to_channel_flags: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:45:53 +0000 (20:45 +0100)] 
ircd: send_to_channel_flags: avoid clang static analysis warning

Set current_capmask and then use it, instead of referencing target_p->localClient->caps again.

This makes the purpose of current_capmask a bit clearer.

6 years agoircd: sendto_one_notice: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:41:37 +0000 (20:41 +0100)] 
ircd: sendto_one_notice: avoid clang static analysis warning

target_p->from can't be NULL, and if it is then get_id(..., target_p)
dereferences it later in the function anyway

6 years agolibrb: rb_lib_loop: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:35:54 +0000 (20:35 +0100)] 
librb: rb_lib_loop: avoid clang static analysis warning

6 years agossld: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:29:24 +0000 (20:29 +0100)] 
ssld: avoid clang static analysis warning

Don't set `x = 0` twice.

6 years agoircd: sendto_one_numeric: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:16:59 +0000 (20:16 +0100)] 
ircd: sendto_one_numeric: avoid clang static analysis warning

target_p->from can't be NULL, and if it is then get_id(..., target_p)
dereferences it later in the function anyway

6 years agoauthd: opm: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:16:26 +0000 (20:16 +0100)] 
authd: opm: avoid clang static analysis warning

Remove unused `lookup` variables.

6 years agoircd: get_or_create_channel: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 19:14:43 +0000 (20:14 +0100)] 
ircd: get_or_create_channel: avoid clang static analysis warning

Use `len` after setting it.

6 years agossld: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 18:45:07 +0000 (19:45 +0100)] 
ssld: avoid clang static analysis warning

6 years agoircd: sendto_one_prefix: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 18:25:11 +0000 (19:25 +0100)] 
ircd: sendto_one_prefix: avoid clang static analysis warning

target_p->from can't be NULL, and if it is then get_id(..., target_p)
dereferences it later in the function anyway

6 years agoexit_remote_server: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 18:17:34 +0000 (19:17 +0100)] 
exit_remote_server: avoid clang static analysis warning

if IsServer(source_p) then the following must be all non-NULL:
 ->serv
 ->servptr
 ->servptr->serv

Remove unnecessary and inconsistent pointer checks.

6 years agolibrb: rb_linebuf_copy_raw: remove unused assignment
Simon Arlott [Sat, 29 Jul 2017 18:27:19 +0000 (19:27 +0100)] 
librb: rb_linebuf_copy_raw: remove unused assignment

6 years agoircd: hostmask: avoid clang static analysis warning
Simon Arlott [Sat, 29 Jul 2017 16:39:28 +0000 (17:39 +0100)] 
ircd: hostmask: avoid clang static analysis warning

arec->Mask.ipa.bits is unused if arec->masktype == HM_HOST

6 years agolibrb: commio: Must set addrlen before every call to accept()
Simon Arlott [Sat, 29 Jul 2017 20:38:34 +0000 (21:38 +0100)] 
librb: commio: Must set addrlen before every call to accept()

If an IPv4 connection is dropped by the pre-callback, and there is a
pending IPv6 connection on the same listening socket then the retried
accept() will be unable to populate `st` because `addrlen` will be too
small. Also initialise `st` each time to avoid a clang static analysis
warning.

6 years agoircd: listener: Document check_reject() behaviour
Simon Arlott [Sat, 29 Jul 2017 20:31:17 +0000 (21:31 +0100)] 
ircd: listener: Document check_reject() behaviour

6 years agowsockd: Initialise ws_frame_hdr_t before using it
Simon Arlott [Sat, 29 Jul 2017 18:59:20 +0000 (19:59 +0100)] 
wsockd: Initialise ws_frame_hdr_t before using it

Outgoing messages have uninitialised data from the stack in the 3 reserved
bits of the opcode_rsv_fin value.

6 years agosslproc: check number of arguments to zipstats command
Simon Arlott [Fri, 28 Jul 2017 20:28:44 +0000 (21:28 +0100)] 
sslproc: check number of arguments to zipstats command

6 years agosrc/channel.c: don't use the bancache in is_banned()/is_quieted()
Aaron Jones [Wed, 5 Jul 2017 17:35:28 +0000 (17:35 +0000)] 
src/channel.c: don't use the bancache in is_banned()/is_quieted()

The bancache will be re-architected onto clients in future for easier
invalidation, but this is a good-enough temporary fix for issue #243

Fixes #243

6 years agoRevert "no really, it's dead people"
Simon Arlott [Thu, 27 Jul 2017 17:51:13 +0000 (18:51 +0100)] 
Revert "no really, it's dead people"

This reverts commit 40ac82e87820d9941bdd38571d0390122008e5d3.

6 years agocharybdis 4-rc4 charybdis-4-rc4
Simon Arlott [Thu, 27 Jul 2017 17:46:42 +0000 (18:46 +0100)] 
charybdis 4-rc4

6 years agomsgbuf: remove unused field parselen
Simon Arlott [Wed, 26 Jul 2017 11:10:17 +0000 (12:10 +0100)] 
msgbuf: remove unused field parselen

6 years agoircd: substitution: fix NULL termination buffer overrun when the output is too large...
Simon Arlott [Thu, 27 Jul 2017 11:58:23 +0000 (12:58 +0100)] 
ircd: substitution: fix NULL termination buffer overrun when the output is too large for the buffer

6 years agoircd: substitution: fix overrun with unterminated '}' in format string
Simon Arlott [Wed, 26 Jul 2017 21:52:51 +0000 (22:52 +0100)] 
ircd: substitution: fix overrun with unterminated '}' in format string

handle a variable following an unterminated variable better

6 years agomsgbuf: s_assert is not a substitute for proper code
Simon Arlott [Wed, 26 Jul 2017 18:18:08 +0000 (19:18 +0100)] 
msgbuf: s_assert is not a substitute for proper code

(dns, m_alias, m_stats updated as msgbuf no longer includes s_assert.h)

6 years agoircd: check_server: don't allow a connection if that would exceed the class limit
Simon Arlott [Sun, 23 Jul 2017 14:34:29 +0000 (15:34 +0100)] 
ircd: check_server: don't allow a connection if that would exceed the class limit

6 years agoircd: serv_connect: don't try to connect if that would exceed the class limit
Simon Arlott [Sun, 23 Jul 2017 13:59:22 +0000 (14:59 +0100)] 
ircd: serv_connect: don't try to connect if that would exceed the class limit

6 years agom_webirc: use rb_inet_ntop_sock to populate sockhost
Simon Arlott [Tue, 27 Jun 2017 19:45:02 +0000 (20:45 +0100)] 
m_webirc: use rb_inet_ntop_sock to populate sockhost

6 years agoircd: s_conf: fix use of strlcpy in strip_tabs
Simon Arlott [Sun, 25 Jun 2017 18:48:49 +0000 (19:48 +0100)] 
ircd: s_conf: fix use of strlcpy in strip_tabs

strlcpy should be called with the size of the destination buffer, not
the length of the source string.

When the source is an empty string, the destination buffer isn't
written at all, resulting in it trying to output uninitialised data.

This could also cause a buffer overflow on very long invalid config
lines.

7 years agono really, it's dead people
William Pitcock [Tue, 28 Feb 2017 05:31:32 +0000 (23:31 -0600)] 
no really, it's dead people

7 years agoCREDITS: fix my nickname and update my email address
Simon Arlott [Fri, 6 Jan 2017 21:51:05 +0000 (21:51 +0000)] 
CREDITS: fix my nickname and update my email address

7 years agoMbedTLS: Disable TLSv1.0
Aaron Jones [Fri, 30 Dec 2016 17:54:05 +0000 (17:54 +0000)] 
MbedTLS: Disable TLSv1.0

7 years agoOpenSSL: Disable TLSv1.0
Aaron Jones [Fri, 30 Dec 2016 17:44:03 +0000 (17:44 +0000)] 
OpenSSL: Disable TLSv1.0

Also some misc other cleanups/additions to bring it in line with the
release/3.5 backend

7 years agoGNUTLS: Provide a default priority string, disable TLSv1.0 in it
Aaron Jones [Fri, 30 Dec 2016 17:39:45 +0000 (17:39 +0000)] 
GNUTLS: Provide a default priority string, disable TLSv1.0 in it

The user can still override this choice with the ssl_cipher_list option
in ircd.conf -- this is the only backend that will allow you to do so.

7 years agoextensions/extb_channel: Allow matching secret channels.
Keith Buck [Thu, 29 Dec 2016 05:44:18 +0000 (05:44 +0000)] 
extensions/extb_channel: Allow matching secret channels.

This change modifies extb_channel to allow matching users in secret
channels, which prevents trivial ban evasion by setting the target
channel +s. Information leak due to this change is unlikely since the
attacker would have to know that the target channel exists, the name of
the channel (or guess it), have a specific user they wanted to know
whether was in the channel (and not know already), and the target user
would need to have something like autojoin-on-invite enabled (or any of
the other various ways hostname cloaking is attacked).

7 years agoDocumentation: Comment-out the OPM block and its options by default
Aaron Jones [Wed, 28 Dec 2016 23:41:32 +0000 (23:41 +0000)] 
Documentation: Comment-out the OPM block and its options by default

The feature is not yet stable and is causing several issues.

7 years agoWhen a remote MODRESTART command is received, it will pass through the
Aaron Jones [Wed, 28 Dec 2016 22:08:14 +0000 (22:08 +0000)] 
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)
7 years agomkpasswd: avoid strdup(NULL) and the like if rb_crypt() fails
Aaron Jones [Tue, 20 Dec 2016 17:29:37 +0000 (17:29 +0000)] 
mkpasswd: avoid strdup(NULL) and the like if rb_crypt() fails

7 years agoauthd: don't exit() on OPM duplicate scanner errors, just ignore it
Aaron Jones [Mon, 19 Dec 2016 04:56:54 +0000 (04:56 +0000)] 
authd: don't exit() on OPM duplicate scanner errors, just ignore it

I run into this code even with a single kind of scanner with a single
port, so I'm not even sure how it thinks it already exists.

Perhaps it's being parsed twice, or something similar.

c.f. issue #229

7 years agomr_server: Handle certificate validation errors.
Keith Buck [Fri, 9 Dec 2016 10:01:22 +0000 (10:01 +0000)] 
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).