]>
jfr.im git - solanum.git/log
William Pitcock [Sat, 18 Jun 2016 05:52:54 +0000 (00:52 -0500)]
conf_parser: warning fixes
William Pitcock [Sat, 18 Jun 2016 05:52:16 +0000 (00:52 -0500)]
modules: serious cleanups
William Pitcock [Sat, 18 Jun 2016 05:38:40 +0000 (00:38 -0500)]
modules: cleanups
William Pitcock [Sat, 18 Jun 2016 05:22:02 +0000 (00:22 -0500)]
ircd: fix compile of relocate_paths()
William Pitcock [Sat, 18 Jun 2016 05:21:39 +0000 (00:21 -0500)]
ircd: make relocate_paths() available always
William Pitcock [Sat, 18 Jun 2016 05:20:59 +0000 (00:20 -0500)]
ircd: call relocate_paths() in all cases
William Pitcock [Sat, 18 Jun 2016 04:39:19 +0000 (23:39 -0500)]
messages: fix format string warning reported by latest clang
William Pitcock [Sat, 18 Jun 2016 04:36:47 +0000 (23:36 -0500)]
ircd: print runtime path configuration
William Pitcock [Sat, 18 Jun 2016 04:29:11 +0000 (23:29 -0500)]
librb: dictionaries which use integer keys may use 0 legitimately
William Pitcock [Fri, 17 Jun 2016 01:20:50 +0000 (20:20 -0500)]
invite: do not send duplicate invite messages (closes #194)
Aaron Jones [Sun, 12 Jun 2016 11:33:06 +0000 (11:33 +0000)]
mbedtls backend: indicate reason for TLS session termination
[ci skip]
William Pitcock [Sun, 5 Jun 2016 04:53:21 +0000 (23:53 -0500)]
CREDITS: charybdis official channel will now be on irc.charybdis.io.
William Pitcock [Sun, 5 Jun 2016 04:47:47 +0000 (23:47 -0500)]
CREDITS: adjust to reflect present situation
Aaron Jones [Wed, 1 Jun 2016 21:03:46 +0000 (21:03 +0000)]
Fix regression introduced by commit
1863a0f8
Aaron Jones [Wed, 1 Jun 2016 20:55:32 +0000 (20:55 +0000)]
Preliminary code tidying complete.
These issues (commits
47a66e15 through
906fd91f inclusive) were
identified with the Clang compiler. Please raise concerns about
them on the issue tracker or in the support channel.
Aaron Jones [Wed, 1 Jun 2016 20:41:03 +0000 (20:41 +0000)]
tools/mkfingerprint: strlen(3) on a raw byte array is wrong -- use its length as indicated by the function that filled it
Aaron Jones [Wed, 1 Jun 2016 20:38:54 +0000 (20:38 +0000)]
tools/mkpasswd: functions that call exit(3) should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 20:37:51 +0000 (20:37 +0000)]
bandb/bandb: functions that call exit(3) should be marked noreturn, avoid sign overflow in integer function argument
Aaron Jones [Wed, 1 Jun 2016 20:34:51 +0000 (20:34 +0000)]
bandb/bantool: a function that calls exit(3) should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 20:32:12 +0000 (20:32 +0000)]
authd/res: make function used only within this unit static, remove unused macros
Aaron Jones [Wed, 1 Jun 2016 20:29:35 +0000 (20:29 +0000)]
authd/provider: remove shadowed double variable decl
Aaron Jones [Wed, 1 Jun 2016 20:27:19 +0000 (20:27 +0000)]
authd/authd: a function that calls exit(3) should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 20:23:13 +0000 (20:23 +0000)]
wsockd: various fixes
* Use correct sign for comparing data lengths
* Don't return a void statement in a void function
* Remove unused functions and macros
Aaron Jones [Wed, 1 Jun 2016 20:17:09 +0000 (20:17 +0000)]
ssld: remove unused macros, avoid sign overflow in integer function argument
Aaron Jones [Wed, 1 Jun 2016 20:15:07 +0000 (20:15 +0000)]
wsproc: compile out dead code
Investigation is required to determine if this function should
actually be used
Aaron Jones [Wed, 1 Jun 2016 20:14:09 +0000 (20:14 +0000)]
restart: functions that call exit(3) should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 20:11:46 +0000 (20:11 +0000)]
ircd_signal: a function that tailcalls a noreturn function should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 20:05:56 +0000 (20:05 +0000)]
ircd: functions that call exit(3) should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 20:03:52 +0000 (20:03 +0000)]
getopt: a function that calls exit(3) should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 20:02:57 +0000 (20:02 +0000)]
dns: make function used only within this unit static
Aaron Jones [Wed, 1 Jun 2016 20:01:51 +0000 (20:01 +0000)]
class: remove unused macros
Aaron Jones [Wed, 1 Jun 2016 20:00:48 +0000 (20:00 +0000)]
chmode: remove unreachable break statement
Aaron Jones [Wed, 1 Jun 2016 20:00:11 +0000 (20:00 +0000)]
chmode: silence harmless uninitialised variable warning
Aaron Jones [Wed, 1 Jun 2016 19:58:53 +0000 (19:58 +0000)]
channel: silence harmless uninitialised variable warning
Aaron Jones [Wed, 1 Jun 2016 19:56:47 +0000 (19:56 +0000)]
bandbi: a function that calls exit(3) should be marked noreturn
Aaron Jones [Wed, 1 Jun 2016 19:55:35 +0000 (19:55 +0000)]
authproc: don't shadow variable decls, avoid reserved name
Aaron Jones [Wed, 1 Jun 2016 19:50:09 +0000 (19:50 +0000)]
librb: silence some fairly harmless compiler warnings
These include warnings about "break" statements that will never be
executed (because they are after "return" statements), unused macros
(lost to code refactoring or never even used in the first place),
functions that call abort() or loop indefinitely but aren't marked with
the "noreturn" attribute, and use of variables possibly uninitialised
(a false positive).
Aaron Jones [Wed, 1 Jun 2016 18:04:23 +0000 (18:04 +0000)]
openssl: use snprintf(3) instead of rb_snprintf()
Aaron Jones [Wed, 1 Jun 2016 17:54:43 +0000 (17:54 +0000)]
openssl: More LibreSSL compatibility
LibreSSL does not have the new version macros & functions that OpenSSL
1.1.0 implements. This causes a compile-time failure against LibreSSL.
Further, the runtime function for returning the library version returns
the wrong number (the hardcoded constant number SSLEAY_VERSION_NUMBER
aka OPENSSL_VERSION_NUMBER, instead of LIBRESSL_VERSION_NUMBER).
Add more ifdef soup to remedy the situation.
Aaron Jones [Wed, 25 May 2016 21:46:34 +0000 (21:46 +0000)]
openssl: change how we load DH parameters
The code already assumes the presence of fopen(3) and errno, and, by
extension, fclose(3) and strerror(3), so just use those instead of the
BIO wrappers.
Additionally, don't fail to initialise if the DH file does exist but
parsing it fails, as per the pre-existing comment about them being
optional.
Aaron Jones [Sun, 15 May 2016 03:57:16 +0000 (03:57 +0000)]
strcpy: mass-migrate to strlcpy where appropriate
Aaron Jones [Sun, 15 May 2016 01:14:08 +0000 (01:14 +0000)]
appveyor: correct version
[ci skip]
Aaron Jones [Sun, 15 May 2016 00:57:16 +0000 (00:57 +0000)]
ircd_lexer: fix another crash with the same cause
Aaron Jones [Sun, 15 May 2016 00:00:23 +0000 (00:00 +0000)]
ircd_lexer: fix crash with very large config option strings
Aaron Jones [Sat, 14 May 2016 23:29:33 +0000 (23:29 +0000)]
minor spring cleaning: remove/relocate duplicate/unused includes & macros
[ci skip]
William Pitcock [Sat, 14 May 2016 22:28:49 +0000 (17:28 -0500)]
makerelease: fix DATECODE output
William Pitcock [Sat, 14 May 2016 22:24:56 +0000 (17:24 -0500)]
NEWS: document websocket availability
William Pitcock [Sat, 14 May 2016 22:24:20 +0000 (17:24 -0500)]
config: document websocket options
William Pitcock [Sat, 14 May 2016 22:23:51 +0000 (17:23 -0500)]
newconf: ensure wsock and defer_accept are default-to-disable for now, for consistency sake on rehashes
Aaron Jones [Sat, 14 May 2016 00:26:03 +0000 (00:26 +0000)]
starttls: Allow command usage with backends other than OpenSSL
Simon Arlott [Thu, 12 May 2016 18:44:45 +0000 (19:44 +0100)]
m_alias: correctly construct string to be sent
Simon Arlott [Thu, 12 May 2016 11:42:03 +0000 (12:42 +0100)]
bandb: sqlite3: use getpagesize() on FreeBSD
Simon Arlott [Thu, 12 May 2016 11:39:46 +0000 (12:39 +0100)]
wsockd: include stdinc.h so that sys/types.h is included on FreeBSD 4.8
Simon Arlott [Thu, 12 May 2016 11:35:06 +0000 (12:35 +0100)]
librb: define UINT32_MAX for FreeBSD 4.8
Simon Arlott [Thu, 12 May 2016 11:33:20 +0000 (12:33 +0100)]
librb: support rb_path_to_self on FreeBSD 4.8
Simon Arlott [Thu, 12 May 2016 09:06:31 +0000 (10:06 +0100)]
client: call authd_abort_client with the client that is exiting, not the originator
William Pitcock [Thu, 12 May 2016 04:46:10 +0000 (23:46 -0500)]
Merge pull request #191 from GLolol/patch-1
doc: add extensions/chm_nonotice to example confs
James Lu [Thu, 12 May 2016 04:39:42 +0000 (21:39 -0700)]
doc: add extensions/chm_nonotice to example confs
Aaron Jones [Thu, 5 May 2016 04:18:31 +0000 (04:18 +0000)]
[Documentation] Increase bitlength recommendation for DH parameters
Also clarify the behaviour of TLS backends and the consequences for
not providing any parameters at all.
[ci skip]
Aaron Jones [Thu, 5 May 2016 04:15:46 +0000 (04:15 +0000)]
[Documentation] Reflect that ssl_private_key is now optional
[ci skip]
Aaron Jones [Thu, 5 May 2016 04:10:57 +0000 (04:10 +0000)]
[sslproc] Use certificate file if key file is not present
Aaron Jones [Thu, 5 May 2016 03:54:38 +0000 (03:54 +0000)]
Travis CI: Build against sqlite3 library
Aaron Jones [Thu, 5 May 2016 03:31:32 +0000 (03:31 +0000)]
[mbedtls] Various fixes and improvements
* Move certificate, key, DH parameters and configuration to heap
(Documentation states that setting new configuration, e.g.
during a rehash, is unsupported while connections using that
configuration are active)
This is the same approach as the fix for #186
Refcount these structures so as to not introduce a memory leak
On rehash, it will use new structures only if there are no
errors in constructing them
* Make fingerprint generation work for TLS connections
See the comments in the newly created file for an explanation
* Fix memory leak when generating a fingerprint from a file
* Add better error-reporting (strings in addition to numbers)
where possible
* Coalesce several connection memory allocations into one function
* Reduce boilerplate where possible (Charybdis targets C99)
* Support private key being in certificate file, and having no
DH parameters file
* Correct erroneous closing comment
Aaron Jones [Thu, 5 May 2016 03:28:58 +0000 (03:28 +0000)]
[TLS Backends] Make version strings more useful and consistent
Aaron Jones [Thu, 5 May 2016 03:43:15 +0000 (03:43 +0000)]
[TLS Backends] Allow absense of private key file
Use the certificate file instead
Aaron Jones [Thu, 5 May 2016 03:25:59 +0000 (03:25 +0000)]
[sslproc] Allow absense of private key file
Backends can then assume that the private key is in the certificate file
Aaron Jones [Tue, 3 May 2016 17:47:29 +0000 (17:47 +0000)]
Fix possible crash when DH parameters are not provided
This has ssld calling strlen() on a NULL value
[ci ckip]
Simon Arlott [Mon, 2 May 2016 20:14:16 +0000 (21:14 +0100)]
random_ping: stop producing negative values that become 16 chars
Simon Arlott [Sun, 1 May 2016 10:50:26 +0000 (11:50 +0100)]
authd: fix reference far off the end of the array on shutdown
When authd has no more input it tries to reject all current clients with
an id of UINT32_MAX.
Simon Arlott [Sun, 1 May 2016 10:44:04 +0000 (11:44 +0100)]
authd: remove unused variable id from accept_client
Simon Arlott [Sun, 1 May 2016 10:38:32 +0000 (11:38 +0100)]
authd: allocate the correct size of auth_client_data
If there are holes in the auth_providers ID numbers, the array allocated
based on list length won't be large enough to handle all the IDs.
(auth->data could be converted to a dlink_list)
Simon Arlott [Sun, 1 May 2016 10:31:05 +0000 (11:31 +0100)]
authd: Only use refcount for reference counting
Use providers_active for provider activity tracking.
Simon Arlott [Sun, 1 May 2016 10:12:34 +0000 (11:12 +0100)]
authd: fix auth->cid type sizes
* long is too small on 32-bit systems, use unsigned long long if we want
to check for out of range values
* UINT32_MAX is a valid cid, and 0 isn't
* make auth->cid a uint32_t not uint16_t
Simon Arlott [Sun, 1 May 2016 09:59:22 +0000 (10:59 +0100)]
authd: fix memory leak in start_auth
Simon Arlott [Sun, 1 May 2016 09:53:34 +0000 (10:53 +0100)]
authd: don't call cancel_providers recursively
Also check that they haven't been cancelled while starting up.
Simon Arlott [Sun, 1 May 2016 09:49:12 +0000 (10:49 +0100)]
authd: use a list for auth_providers
We only need to iterate over this small fixed size list, so
dictionary iteration will be less efficient.
Elizabeth Myers [Sun, 1 May 2016 08:43:55 +0000 (03:43 -0500)]
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.
William Pitcock [Sun, 1 May 2016 00:58:14 +0000 (19:58 -0500)]
stage for charybdis 4-beta1.
William Pitcock [Sun, 1 May 2016 00:33:31 +0000 (19:33 -0500)]
librb: fix commio build on win32
William Pitcock [Sun, 1 May 2016 00:26:02 +0000 (19:26 -0500)]
authd: provider: make refcounting system less fragile
William Pitcock [Sun, 1 May 2016 00:20:12 +0000 (19:20 -0500)]
Revert "authd: change to lists instead of dictionaries for various things"
This reverts commit
49fd293f200e3ecdd5665e62c6fdc18f33a9cdd1 .
Aaron Jones [Sat, 30 Apr 2016 21:45:16 +0000 (21:45 +0000)]
[openssl] Forward-port some more cleanups from fixes to 3.5
Simon Arlott [Sat, 30 Apr 2016 16:06:21 +0000 (17:06 +0100)]
authd: don't decrement refcount twice when accepting the client
Simon Arlott [Sat, 30 Apr 2016 12:18:48 +0000 (13:18 +0100)]
m_stats: don't try to access bl_stats if it doesn't exist
Simon Arlott [Sat, 30 Apr 2016 12:18:06 +0000 (13:18 +0100)]
authd_check: don't try to update bl_stats if it doesn't exist
This can happen if all the blacklists are removed and then authd
sends a blacklisted response for a client.
Simon Arlott [Sat, 30 Apr 2016 12:11:06 +0000 (13:11 +0100)]
authproc: don't try to delete bl_stats if it hasn't been created
Simon Arlott [Sat, 30 Apr 2016 10:15:03 +0000 (11:15 +0100)]
librb: shutdown() listening sockets pending close() so that listeners can be reopened reliably
Elizabeth Myers [Sat, 30 Apr 2016 06:58:42 +0000 (01:58 -0500)]
opm: use rb_dlinkDelete instead of rb_dlinkFindDelete.
Elizabeth Myers [Sat, 30 Apr 2016 06:56:06 +0000 (01:56 -0500)]
authd: change to lists instead of dictionaries for various things
Iteration is the primary thing done on these, so using a dictionary
doesn't help a lot. Furthermore (and most importantly), they are not
safe to delete from.
William Pitcock [Sat, 30 Apr 2016 06:18:42 +0000 (01:18 -0500)]
librb: rb_path_to_self(): use sysctl(2) interface on freebsd/dragonfly
Elizabeth Myers [Sat, 30 Apr 2016 06:11:08 +0000 (01:11 -0500)]
authproc: don't delete during iteration, this is not safe.
William Pitcock [Sat, 30 Apr 2016 05:58:39 +0000 (00:58 -0500)]
librb: linebuf: don't reinvent rb_dlinkAddTailAlloc().
Elizabeth Myers [Sat, 30 Apr 2016 05:46:18 +0000 (00:46 -0500)]
authd: don't try to do anything on exit, it's too precarious
William Pitcock [Sat, 30 Apr 2016 00:52:19 +0000 (19:52 -0500)]
tools: fix stub rb_strcasecmp() build
William Pitcock [Fri, 29 Apr 2016 23:59:32 +0000 (18:59 -0500)]
ircd: Channel.bants is not a serial but a timestamp.
Previously, the IRCd would increment bants instead of resyncing the timestamp, causing the potential of
false negatives from the bancache system.
Simon Arlott [Thu, 28 Apr 2016 21:00:54 +0000 (22:00 +0100)]
librb: close FDs when they're freed (outside of select handler)
Aaron Jones [Fri, 29 Apr 2016 16:28:18 +0000 (16:28 +0000)]
Mention another RFC with regard to deprecating plaintext
Aaron Jones [Fri, 29 Apr 2016 16:26:52 +0000 (16:26 +0000)]
[openssl] More improvements to the backend
* Don't manually initialise libssl 1.1.0 -- it does this automatically
* SSL_library_init() should be called first otherwise
* Move SSL_CTX construction to rb_setup_ssl_server()
* Test for all required files (certificate & key) before doing anything
* Free the old CTX before constructing a new one (Fixes #186)
* Don't try to set options / ciphers etc on a NULL CTX
* Clean up ifdef indentation
* Fix DH parameters memory leak
Simon Arlott [Fri, 29 Apr 2016 06:42:12 +0000 (07:42 +0100)]
openssl: set ciphers on client connections too
Simon Arlott [Fri, 29 Apr 2016 06:35:43 +0000 (07:35 +0100)]
sslproc: don't send updated config to dead/shutdown sslds
They might be running older versions of the SSL library that
doesn't support the key type or ciphers being configured.