]> jfr.im git - irc/charybdis-ircd/charybdis.git/log
irc/charybdis-ircd/charybdis.git
8 years agoauthd: more conditional IPv6 support removal origin/issue181
Aaron Jones [Sat, 7 May 2016 10:21:16 +0000 (10:21 +0000)] 
authd: more conditional IPv6 support removal

8 years agoRemove RB_IPV6 macro and conditional IPv6 support
Aaron Jones [Sat, 7 May 2016 10:04:28 +0000 (10:04 +0000)] 
Remove RB_IPV6 macro and conditional IPv6 support

IPv6 support is now assumed to be available at compile-time and run-time

This will fix issue number 181 if merged

[ci skip] for now -- feedback welcome

8 years ago[Documentation] Increase bitlength recommendation for DH parameters
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]

8 years ago[Documentation] Reflect that ssl_private_key is now optional
Aaron Jones [Thu, 5 May 2016 04:15:46 +0000 (04:15 +0000)] 
[Documentation] Reflect that ssl_private_key is now optional

[ci skip]

8 years ago[sslproc] Use certificate file if key file is not present
Aaron Jones [Thu, 5 May 2016 04:10:57 +0000 (04:10 +0000)] 
[sslproc] Use certificate file if key file is not present

8 years agoTravis CI: Build against sqlite3 library
Aaron Jones [Thu, 5 May 2016 03:54:38 +0000 (03:54 +0000)] 
Travis CI: Build against sqlite3 library

8 years ago[mbedtls] Various fixes and improvements
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

8 years ago[TLS Backends] Make version strings more useful and consistent
Aaron Jones [Thu, 5 May 2016 03:28:58 +0000 (03:28 +0000)] 
[TLS Backends] Make version strings more useful and consistent

8 years ago[TLS Backends] Allow absense of private key file
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

8 years ago[sslproc] Allow absense of private key file
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

8 years agoFix possible crash when DH parameters are not provided
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]

8 years agorandom_ping: stop producing negative values that become 16 chars
Simon Arlott [Mon, 2 May 2016 20:14:16 +0000 (21:14 +0100)] 
random_ping: stop producing negative values that become 16 chars

8 years agoauthd: fix reference far off the end of the array on shutdown
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.

8 years agoauthd: remove unused variable id from accept_client
Simon Arlott [Sun, 1 May 2016 10:44:04 +0000 (11:44 +0100)] 
authd: remove unused variable id from accept_client

8 years agoauthd: allocate the correct size of auth_client_data
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)

8 years agoauthd: Only use refcount for reference counting
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.

8 years agoauthd: fix auth->cid type sizes
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

8 years agoauthd: fix memory leak in start_auth
Simon Arlott [Sun, 1 May 2016 09:59:22 +0000 (10:59 +0100)] 
authd: fix memory leak in start_auth

8 years agoauthd: don't call cancel_providers recursively
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.

8 years agoauthd: use a list for auth_providers
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.

8 years agom_alias: restore old behaviour of joining all parameters.
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.

8 years agostage for charybdis 4-beta1.
William Pitcock [Sun, 1 May 2016 00:58:14 +0000 (19:58 -0500)] 
stage for charybdis 4-beta1.

8 years agolibrb: fix commio build on win32
William Pitcock [Sun, 1 May 2016 00:33:31 +0000 (19:33 -0500)] 
librb: fix commio build on win32

8 years agoauthd: provider: make refcounting system less fragile
William Pitcock [Sun, 1 May 2016 00:26:02 +0000 (19:26 -0500)] 
authd: provider: make refcounting system less fragile

8 years agoRevert "authd: change to lists instead of dictionaries for various things"
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.

8 years ago[openssl] Forward-port some more cleanups from fixes to 3.5
Aaron Jones [Sat, 30 Apr 2016 21:45:16 +0000 (21:45 +0000)] 
[openssl] Forward-port some more cleanups from fixes to 3.5

8 years agoauthd: don't decrement refcount twice when accepting the client
Simon Arlott [Sat, 30 Apr 2016 16:06:21 +0000 (17:06 +0100)] 
authd: don't decrement refcount twice when accepting the client

8 years agom_stats: don't try to access bl_stats if it doesn't exist
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

8 years agoauthd_check: don't try to update 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.

8 years agoauthproc: don't try to delete bl_stats if it hasn't been created
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

8 years agolibrb: shutdown() listening sockets pending close() so that listeners can be reopened...
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

8 years agoopm: use rb_dlinkDelete instead of rb_dlinkFindDelete.
Elizabeth Myers [Sat, 30 Apr 2016 06:58:42 +0000 (01:58 -0500)] 
opm: use rb_dlinkDelete instead of rb_dlinkFindDelete.

8 years agoauthd: change to lists instead of dictionaries for various things
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.

8 years agolibrb: rb_path_to_self(): use sysctl(2) interface on freebsd/dragonfly
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

8 years agoauthproc: don't delete during iteration, this is not safe.
Elizabeth Myers [Sat, 30 Apr 2016 06:11:08 +0000 (01:11 -0500)] 
authproc: don't delete during iteration, this is not safe.

8 years agolibrb: linebuf: don't reinvent rb_dlinkAddTailAlloc().
William Pitcock [Sat, 30 Apr 2016 05:58:39 +0000 (00:58 -0500)] 
librb: linebuf: don't reinvent rb_dlinkAddTailAlloc().

8 years agoauthd: don't try to do anything on exit, it's too precarious
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

8 years agotools: fix stub rb_strcasecmp() build
William Pitcock [Sat, 30 Apr 2016 00:52:19 +0000 (19:52 -0500)] 
tools: fix stub rb_strcasecmp() build

8 years agoircd: Channel.bants is not a serial but a timestamp.
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.

8 years agolibrb: close FDs when they're freed (outside of select handler)
Simon Arlott [Thu, 28 Apr 2016 21:00:54 +0000 (22:00 +0100)] 
librb: close FDs when they're freed (outside of select handler)

8 years agoMention another RFC with regard to deprecating plaintext
Aaron Jones [Fri, 29 Apr 2016 16:28:18 +0000 (16:28 +0000)] 
Mention another RFC with regard to deprecating plaintext

8 years ago[openssl] More improvements to the backend
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

8 years agoopenssl: set ciphers on client connections too
Simon Arlott [Fri, 29 Apr 2016 06:42:12 +0000 (07:42 +0100)] 
openssl: set ciphers on client connections too

8 years agosslproc: don't send updated config to dead/shutdown sslds
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.

8 years agosslproc: reset ssld_wait/spin_count when explicitly requested to restart ssld
Simon Arlott [Thu, 28 Apr 2016 21:22:37 +0000 (22:22 +0100)] 
sslproc: reset ssld_wait/spin_count when explicitly requested to restart ssld

8 years ago[mbedtls] correct printf argument count
Aaron Jones [Wed, 27 Apr 2016 22:11:19 +0000 (22:11 +0000)] 
[mbedtls] correct printf argument count

[ci skip]

8 years agoPartially revert previous commit
Aaron Jones [Wed, 27 Apr 2016 21:49:55 +0000 (21:49 +0000)] 
Partially revert previous commit

The OpenSSL backend is the only one that assigns a non-constant
value to the length variable. Use the correct type for its
pointer and cast instead.

[ci skip]

8 years ago[TLS backends] Miscellaneous fixes
Aaron Jones [Wed, 27 Apr 2016 21:43:54 +0000 (21:43 +0000)] 
[TLS backends] Miscellaneous fixes

* Certificate fingerprint length functions return an "int", so use an
  int when calculating the length
* Clean up the OpenSSL certificate fingerprint if() and indentation mess

8 years agoopenssl: don't allow certificates outside the validity period
Simon Arlott [Wed, 27 Apr 2016 21:03:49 +0000 (22:03 +0100)] 
openssl: don't allow certificates outside the validity period

8 years agoepoll: don't try to read from closed FDs
Simon Arlott [Wed, 27 Apr 2016 20:16:29 +0000 (21:16 +0100)] 
epoll: don't try to read from closed FDs

8 years ago[openssl] support ECDHE on more than one curve when possible
Aaron Jones [Wed, 27 Apr 2016 16:17:33 +0000 (16:17 +0000)] 
[openssl] support ECDHE on more than one curve when possible

8 years agomkfingerprint: use certfp method names from certfp.h
Simon Arlott [Tue, 26 Apr 2016 19:58:16 +0000 (20:58 +0100)] 
mkfingerprint: use certfp method names from certfp.h

8 years agoadd mkfingerprint program
Simon Arlott [Tue, 26 Apr 2016 19:21:23 +0000 (20:21 +0100)] 
add mkfingerprint program

8 years agocertfp: Move method name/prefix strings to a separate header file
Simon Arlott [Tue, 26 Apr 2016 19:19:59 +0000 (20:19 +0100)] 
certfp: Move method name/prefix strings to a separate header file

8 years agolibrb: gnutls: check return value of fread()
Simon Arlott [Tue, 26 Apr 2016 19:28:12 +0000 (20:28 +0100)] 
librb: gnutls: check return value of fread()

8 years agoircd.conf.example: use certfp_method = spki_sha256
Simon Arlott [Mon, 25 Apr 2016 22:52:18 +0000 (23:52 +0100)] 
ircd.conf.example: use certfp_method = spki_sha256

SHA1 is insecure. SHA2-512 is a bit long. Hashes of the full certificate
are really impractical and people need to stop using them.

8 years agogetopt: don't modify argv as it breaks restart()
Simon Arlott [Mon, 25 Apr 2016 22:21:38 +0000 (23:21 +0100)] 
getopt: don't modify argv as it breaks restart()

8 years agomodules: use exit(EXIT_FAILURE) on failure
Simon Arlott [Mon, 25 Apr 2016 21:27:57 +0000 (22:27 +0100)] 
modules: use exit(EXIT_FAILURE) on failure

This will allow service process monitoring to recognise the difference
between a shutdown and an error of a -foreground ircd, because only
/DIE (or SIGINT) will exit with return code 0.

8 years agoauthd: wait until the ssl connection is "open" before reading
Simon Arlott [Mon, 25 Apr 2016 20:35:58 +0000 (21:35 +0100)] 
authd: wait until the ssl connection is "open" before reading

It's useful to allow authd to run in parallel with ssl negotiation,
but if the ssld connection has plaintext data ready for reading
there's a race condition between authd calling read_packet() and
ssl_process_certfp() storing the certificate fingerprint. This
scenario would be bad for a server connecting because fingerprint
verification will fail.

Allow either operation to complete first, but wait until
ssl_process_open_fd() calls the ssl open callback before calling
read_packet().

8 years agosslproc: simplify ssl open callback
Simon Arlott [Mon, 25 Apr 2016 20:12:44 +0000 (21:12 +0100)] 
sslproc: simplify ssl open callback

Don't use the librb callback type as we're always passing client_p.

Provide a return value so that the connect handler can exit_client()
and the accept handler can opt to use the default dead handler.

8 years agoopenssl: accept more certificate verify errors as valid
Simon Arlott [Mon, 25 Apr 2016 19:38:33 +0000 (20:38 +0100)] 
openssl: accept more certificate verify errors as valid

8 years agoconf: require certificate fingerprint for SSL connections
Simon Arlott [Mon, 25 Apr 2016 19:19:48 +0000 (20:19 +0100)] 
conf: require certificate fingerprint for SSL connections

8 years agosslproc: prefix SPKI certfp types to distinguish them from CERT
Simon Arlott [Mon, 25 Apr 2016 19:12:27 +0000 (20:12 +0100)] 
sslproc: prefix SPKI certfp types to distinguish them from CERT

8 years agosslproc: send the certftp method on rehash
Simon Arlott [Mon, 25 Apr 2016 18:22:10 +0000 (19:22 +0100)] 
sslproc: send the certftp method on rehash

8 years agosslproc: use global ServerInfo configuration
Simon Arlott [Mon, 25 Apr 2016 18:20:45 +0000 (19:20 +0100)] 
sslproc: use global ServerInfo configuration

There's no need to pass information around that sslproc already has access
to, so use ServerInfo directly. Remove the extra NULL checks as these are
already performed before setting ircd_ssl_ok = true.

8 years agosslproc: include ssl_cipher_list in length check before sending configuration to...
Simon Arlott [Mon, 25 Apr 2016 18:12:47 +0000 (19:12 +0100)] 
sslproc: include ssl_cipher_list in length check before sending configuration to ssld

8 years agossld: remove init_prng command
Simon Arlott [Mon, 25 Apr 2016 18:02:03 +0000 (19:02 +0100)] 
ssld: remove init_prng command

This is no longer configurable so it's redundant.

8 years agoircd: don't send ERR_NOTREGISTERED to servers
Simon Arlott [Sun, 24 Apr 2016 16:41:44 +0000 (17:41 +0100)] 
ircd: don't send ERR_NOTREGISTERED to servers

Sending messages after SERVER but before zlib is established breaks
outgoing connections. If the other server is misbehaving then ignore
its messages.

8 years agolibrb: remove socklen parameter from rb_connect_tcp
Simon Arlott [Sun, 24 Apr 2016 16:11:20 +0000 (17:11 +0100)] 
librb: remove socklen parameter from rb_connect_tcp

8 years agoircd: server connection configuration
Simon Arlott [Sun, 24 Apr 2016 16:05:05 +0000 (17:05 +0100)] 
ircd: server connection configuration

Fix the server connection configuration so that it can simultaneously
handle a hostname/IPv4/IPv6 for connecting and a hostname/IPv4/IPv6
for binding. Maintains backwards compatibility for matching a hostname
with a mask.

Multiple host/vhost entries can be specified and the last value for
each address family is stored. Hostnames that resolve automatically
overwrite the IP address.

Server connections can now be made to either IPv4 or IPv6 at random
as well as preferring a specific address family.

8 years agoircd: Don't try to connect to servers that we know have an invalid fingerprint
Simon Arlott [Sun, 24 Apr 2016 10:49:21 +0000 (11:49 +0100)] 
ircd: Don't try to connect to servers that we know have an invalid fingerprint

This just causes an unnecessary link/squit on the other server.

8 years agossld: add a callback when the connection is opened
Simon Arlott [Sun, 24 Apr 2016 10:48:35 +0000 (11:48 +0100)] 
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.

8 years agossld: send cipher/certfp before proxying any plaintext traffic
Simon Arlott [Sun, 24 Apr 2016 09:39:16 +0000 (10:39 +0100)] 
ssld: send cipher/certfp before proxying any plaintext traffic

8 years agom_stats: display certificate fingerprint in STATS C
Simon Arlott [Sat, 23 Apr 2016 23:29:11 +0000 (00:29 +0100)] 
m_stats: display certificate fingerprint in STATS C

8 years agom_alias: store a copy of alias->name as it will be freed on a rehash
Simon Arlott [Sat, 23 Apr 2016 23:09:12 +0000 (00:09 +0100)] 
m_alias: store a copy of alias->name as it will be freed on a rehash

8 years agoircd: parse: add asserts for improper use of mod_add_cmd/mod_del_cmd
Simon Arlott [Sat, 23 Apr 2016 22:56:41 +0000 (23:56 +0100)] 
ircd: parse: add asserts for improper use of mod_add_cmd/mod_del_cmd

8 years agomodules: add missing break
Simon Arlott [Sat, 23 Apr 2016 22:35:27 +0000 (23:35 +0100)] 
modules: add missing break

8 years agoircd: do nothing in client_release_connids if !MyConnect
Simon Arlott [Sat, 23 Apr 2016 22:25:25 +0000 (23:25 +0100)] 
ircd: do nothing in client_release_connids if !MyConnect

8 years agoircd: fix assert in client_release_connids
Simon Arlott [Sat, 23 Apr 2016 22:21:47 +0000 (23:21 +0100)] 
ircd: fix assert in client_release_connids

The connection may have already been closed and MyConnect cleared.

It's only a bug if the connection somehow has connids but is not
our connection.

8 years agossld: Add new certfp_methods spki_sha256 and spki_sha512
Simon Arlott [Sat, 23 Apr 2016 21:51:05 +0000 (22:51 +0100)] 
ssld: Add new certfp_methods spki_sha256 and spki_sha512

These operate on the SubjectPublicKeyInfo of the certificate, which does
change unless the private key is changed. This allows the fingerprint to
stay constant even if the certificate is reissued.

(The same fingerprint is also used by DANE)

8 years agossld: cipher commands don't have any fds
Simon Arlott [Sat, 23 Apr 2016 21:46:25 +0000 (22:46 +0100)] 
ssld: cipher commands don't have any fds

8 years agolibrb: mbedtls: fix rb_get_ssl_certfp()
Simon Arlott [Sat, 23 Apr 2016 21:45:13 +0000 (22:45 +0100)] 
librb: mbedtls: fix rb_get_ssl_certfp()

Add missing break statements.
Return the hash length on success.

8 years agolibrb: fix mbedtls library order
Simon Arlott [Sat, 23 Apr 2016 21:13:03 +0000 (22:13 +0100)] 
librb: fix mbedtls library order

libmbedtls depends on libmbedx509 and libmbedcrypto
libmbedx509 depends on libmbedcrypto

They have to be specified in the correct order for the GNU linker to work.

8 years agoircd: sslproc: certfp commands have a 9 byte header, not 5 bytes
Simon Arlott [Sat, 23 Apr 2016 19:52:20 +0000 (20:52 +0100)] 
ircd: sslproc: certfp commands have a 9 byte header, not 5 bytes

SHA512 hashes were being ignored because the message was too large

8 years agossld: certfp change commands don't have any fds
Simon Arlott [Sat, 23 Apr 2016 19:46:26 +0000 (20:46 +0100)] 
ssld: certfp change commands don't have any fds

8 years agoclient: fix up client_release_connids() too, pointed out by lp0
William Pitcock [Sat, 23 Apr 2016 19:26:01 +0000 (14:26 -0500)] 
client: fix up client_release_connids() too, pointed out by lp0

8 years agoclient: connid_get() should check MyConnect(), not MyClient().
William Pitcock [Sat, 23 Apr 2016 19:17:09 +0000 (14:17 -0500)] 
client: connid_get() should check MyConnect(), not MyClient().

8 years agomr_server: Report certificate fingerprint mismatches
Simon Arlott [Sat, 23 Apr 2016 16:32:24 +0000 (17:32 +0100)] 
mr_server: Report certificate fingerprint mismatches

Log the received certificate fingerprint when it causes a server to be
rejected.

8 years agomr_server: Handle unknown error codes
Simon Arlott [Sat, 23 Apr 2016 16:30:59 +0000 (17:30 +0100)] 
mr_server: Handle unknown error codes

As mr_server is a module, it could potentially receive an unknown
error code from check_server().

8 years agodoc: fix whitespace in example configs [ci skip]
Mantas Mikulėnas [Sat, 23 Apr 2016 14:57:07 +0000 (17:57 +0300)] 
doc: fix whitespace in example configs [ci skip]

8 years agoauthproc: set GOT_ID flag when an ident response is received
Simon Arlott [Sat, 23 Apr 2016 14:41:27 +0000 (15:41 +0100)] 
authproc: set GOT_ID flag when an ident response is received

8 years agoauthd: Avoid negative array indices
staticfox [Sat, 23 Apr 2016 03:06:42 +0000 (23:06 -0400)] 
authd: Avoid negative array indices

8 years agoRevert "Implement the netsplit batch type."
Elizabeth Myers [Sat, 16 Apr 2016 16:05:00 +0000 (11:05 -0500)] 
Revert "Implement the netsplit batch type."

This needs more work, see
https://github.com/ircv3/ircv3-specifications/issues/253

This reverts commit 23738912993a8debf007542c51aeff79588e35ca.

8 years agoImplement the netsplit batch type.
Elizabeth Myers [Fri, 15 Apr 2016 21:50:43 +0000 (16:50 -0500)] 
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.

8 years agoDon't use key member of dictionary iter objects after deletion
Elizabeth Myers [Tue, 12 Apr 2016 14:43:50 +0000 (09:43 -0500)] 
Don't use key member of dictionary iter objects after deletion

8 years agoauthproc: fix a typo
Elizabeth Myers [Tue, 12 Apr 2016 14:37:56 +0000 (09:37 -0500)] 
authproc: fix a typo

8 years agoChange the way authd configures opm
Elizabeth Myers [Tue, 12 Apr 2016 14:33:51 +0000 (09:33 -0500)] 
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.

8 years agoMerge pull request #183 from grawity/sasl-fail-throttle-v3
Mantas Mikulėnas [Mon, 11 Apr 2016 19:28:33 +0000 (22:28 +0300)] 
Merge pull request #183 from grawity/sasl-fail-throttle-v3

limit failed SASL authentication attempts

8 years agom_sasl: rate-limit SASL REAUTH usage
Mantas Mikulėnas [Mon, 11 Apr 2016 18:38:43 +0000 (21:38 +0300)] 
m_sasl: rate-limit SASL REAUTH usage

8 years agom_sasl: fix coding style
Mantas Mikulėnas [Mon, 11 Apr 2016 17:12:31 +0000 (20:12 +0300)] 
m_sasl: fix coding style