Commit graph

245 commits

Author SHA1 Message Date
Elizabeth Myers 045d9d31c2 Merge branch 'master' of github.com:charybdis-ircd/charybdis 2016-03-30 02:33:19 -05:00
Elizabeth Myers b3912eae9b authd/provider: it's va_start. 2016-03-30 02:32:34 -05:00
Elizabeth Myers 52d49164a8 authd/provider: include stdinc.h for stdarg.h 2016-03-30 02:22:43 -05:00
Elizabeth Myers 64afc35817 authd/provider: make reject_client take a format string and varargs 2016-03-30 01:29:21 -05:00
Elizabeth Myers 3257f9d6af blacklist: this didn't get committed somehow 2016-03-29 23:33:13 -05:00
Elizabeth Myers ccb5c37db9 blacklist: compile fixes 2016-03-29 23:29:58 -05:00
Elizabeth Myers 7246347058 blacklist: add notices that we're performing checks. 2016-03-29 23:22:13 -05:00
Elizabeth Myers 4094d2fad5 Remove trailing whitespace from files. 2016-03-29 13:23:27 -05:00
Elizabeth Myers dfd7d4b103 authd: use atexit() hook to attempt to destroy providers 2016-03-28 19:38:43 -05:00
Elizabeth Myers 34b96d7f76 authd: be more anal about errors 2016-03-28 19:22:40 -05:00
Matt Ullman d8f8474dfd authd: Cleanup 2016-03-28 20:14:31 -04:00
Elizabeth Myers 1096025891 authd/dns: remove magic number 2016-03-28 17:50:45 -05:00
Elizabeth Myers 1bebedd6fb authd: remove useless blacklist stats provider for now.
Right now we keep track of this in ircd as stats is not ready for
asynchronous replies.
2016-03-28 16:49:26 -05:00
Elizabeth Myers 1345a41dda authd: misc fixes 2016-03-28 16:46:52 -05:00
Elizabeth Myers c6ebd4fdad authd: fix fencepost error 2016-03-28 15:15:16 -05:00
Elizabeth Myers bd7c2037bf authd/providers/rdns: change option name to rdns_timeout 2016-03-28 01:55:54 -05:00
Elizabeth Myers a90465f767 authd/providers/blacklist: add stats reporting for blacklist info 2016-03-28 01:05:19 -05:00
Elizabeth Myers 8e00155164 authd/providers/ident: fix typo 2016-03-28 00:03:27 -05:00
Elizabeth Myers 54fb109d82 authd/providers/ident: add conf option for enabling ident 2016-03-27 23:57:06 -05:00
Elizabeth Myers 26d491b95f authd: pass in uint32_t rid's. 2016-03-27 17:32:05 -05:00
Elizabeth Myers ee7f92714a authd/provider: add stats handling hooking 2016-03-27 17:15:08 -05:00
Elizabeth Myers 02e141f7a3 authd: add stats reporting API 2016-03-27 17:04:14 -05:00
Elizabeth Myers eccc44ed7b authd/providers/blacklist: use uint8_t for iptype
This clearly illustrates what it is
2016-03-27 14:41:50 -05:00
Elizabeth Myers 6535177fef authd/provider: add data to rejection tag.
This is used for information such as what blacklist rejected the client.
2016-03-27 13:52:52 -05:00
Elizabeth Myers 60374ac975 authd: add abiltiy to cancel connection 2016-03-26 23:54:21 -05:00
Elizabeth Myers 0da2a404fa authd: try to destroy all providers on the way out. 2016-03-26 23:39:22 -05:00
Elizabeth Myers 420cfb677c authd/provider: add notices in comments to certain functions not to use auth after calling 2016-03-26 23:16:53 -05:00
Elizabeth Myers e43e61f7a7 authd/providers/blacklist: fix use after free
After calling provider_done, you must *always* assume your auth instance
is freed.
2016-03-26 23:15:28 -05:00
Elizabeth Myers f681e277eb authd/providers/ident: perform check for valid auth_client data 2016-03-26 20:33:35 -05:00
Elizabeth Myers 247b304f1f authd/provider: forgot this file... 2016-03-26 20:33:21 -05:00
Elizabeth Myers 05fdc0301d authd/provider: do not accept clients until all providers have had a chance to run 2016-03-26 20:32:35 -05:00
Elizabeth Myers f5586c3abb authd: misc provider fixes 2016-03-26 19:50:09 -05:00
Elizabeth Myers 4ac5b30e77 authd/providers/ident: remove debugging message 2016-03-26 19:31:45 -05:00
Elizabeth Myers 6950cc255a authd/providers/blacklist: remove dead store. 2016-03-26 19:19:52 -05:00
Elizabeth Myers 22946d30d5 authd/providers/ident: fix up trailing lf/cr at end of username
This bug existed in the original code too, but I have no idea how it
didn't manifest.
2016-03-26 19:18:54 -05:00
Elizabeth Myers d1b70e3524 providers/ident: fix some nasty crashes 2016-03-26 18:40:17 -05:00
Elizabeth Myers 0cff7adb13 authd/provider: some fixes 2016-03-26 18:01:58 -05:00
Elizabeth Myers f875cb8482 providers/ident: more aggressive NULL checks 2016-03-26 18:01:14 -05:00
Elizabeth Myers 47ab6f6e6e authd/providers/ident: properly initialise variable 2016-03-26 17:35:48 -05:00
Elizabeth Myers cdf1592915 Check these out from authd-framework-2. 2016-03-26 16:53:43 -05:00
Elizabeth Myers 9b24cbdecc Merge branch 'authd-framework-2' into authd-framework 2016-03-26 16:52:13 -05:00
Elizabeth Myers 6ced6a1f1a authd/providers/rdns: minor function renaming cleanup 2016-03-26 16:37:04 -05:00
Elizabeth Myers 67acafca57 authd/providers/ident: add configuration interface 2016-03-26 16:36:50 -05:00
Elizabeth Myers a0a218bac8 authd/providers/blacklist: add configuration interface for deletion 2016-03-26 16:36:14 -05:00
Elizabeth Myers 06f3496ab3 providers/ident: cleanup things 2016-03-26 15:39:55 -05:00
Elizabeth Myers 646e6567c7 providers/rdns: add configuration interface for rDNS timeout 2016-03-26 15:36:12 -05:00
Elizabeth Myers 3f2695ac86 providers/blacklist: add configuration interface 2016-03-26 15:27:57 -05:00
Elizabeth Myers a51487e0e7 authd/provider: add options handlers for providers
This allows providers to create handlers for changing their
configuration.
2016-03-25 23:04:00 -05:00
Elizabeth Myers db821ee9ba authd: split out notices stuff for backporting to master. 2016-03-25 21:29:44 -05:00
Elizabeth Myers a70a737c9b Merge branch 'master' into authd-framework-2 2016-03-25 21:16:04 -05:00
William Pitcock c63cd21e6a authd: check if handler is NULL, ensure that we do not overflow 2016-03-25 21:10:34 -05:00
Elizabeth Myers 75844b15af authd: fix undefined behaviour 2016-03-25 21:09:55 -05:00
Elizabeth Myers 3ad21f6107 authd/provider: remove obsolete comment [ci skip] 2016-03-25 21:08:46 -05:00
Elizabeth Myers ee658821e3 reject_client: send back ident and hostname with rejection.
At the moment (possibly not in the future) ircd will want to override
our decision whether or not to accept a client; we need to give them
enough information back to ensure they can do it properly.
2016-03-25 21:05:52 -05:00
Elizabeth Myers a21a82b1b6 Fix dangling line from merge 2016-03-25 21:05:39 -05:00
Elizabeth Myers f49198a67f Merge branch 'master' into authd-framework-2 2016-03-25 21:01:48 -05:00
Elizabeth Myers 122ae255d7 authd: change reload character to R from H.
This is more in line with the specification @kaniini laid out.
2016-03-25 21:00:13 -05:00
Elizabeth Myers 6c88869f22 providers/blacklist: change some checks to asserts.
These should not really happen in reality...
2016-03-25 20:55:10 -05:00
Elizabeth Myers a7d5aea119 provider: make blacklist queries come after ident/rdns. 2016-03-25 20:46:58 -05:00
Elizabeth Myers add80afdcb authd/provider: add blacklist provider.
This took way longer than it should have.
2016-03-25 20:07:36 -05:00
Elizabeth Myers 14505c8400 rdns: adjust timeout values 2016-03-25 19:47:54 -05:00
Elizabeth Myers 800ff2ca9d Merge branch 'master' into authd-framework-2 2016-03-25 11:49:38 -05:00
Elizabeth Myers b2ede1aa71 actually use warn_opers function 2016-03-24 19:36:41 -05:00
Elizabeth Myers 89d22b9af5 authd/provider: cleanups 2016-03-24 19:23:49 -05:00
Elizabeth Myers 410fcc233f authd/rdns: rename a function 2016-03-23 21:59:48 -05:00
Matt Ullman cf623e0802 authd: Fix windows build
Replace stray NO with false
2016-03-23 22:51:03 -04:00
Matt Ullman 2e45f5d808 Cleanup more BSD-isms 2016-03-23 22:37:52 -04:00
Matt Ullman c056dba233 Remove the rest of the SVN id tags 2016-03-23 20:13:12 -04:00
Matt Ullman 3889fc11af authd: Change str_isnumber() to bool 2016-03-23 20:07:21 -04:00
Elizabeth Myers 32f8c78b55 stupidity fixes 2016-03-23 19:06:33 -05:00
Elizabeth Myers 6cd3964de7 ident: use new *_addr fields 2016-03-23 18:58:56 -05:00
Elizabeth Myers 9c7498d559 authd/provider: add c_addr/l_addr fields
Some providers consume these directly, so it's better to have a "cached"
version that's already generated.
2016-03-23 18:58:37 -05:00
Elizabeth Myers 6e4bcf20ff providers/ident: fix inet_ntop/inet_pton mixup 2016-03-23 18:47:02 -05:00
Elizabeth Myers 1d591813c3 providers/rdns: remove useless struct member 2016-03-23 17:44:56 -05:00
Elizabeth Myers 8ed8e5cae8 res: expose rDNS building functions
This will be used by the blacklist code to avoid duplication of code.
2016-03-23 16:40:31 -05:00
Elizabeth Myers 2f355b7e3c Merge branch 'master' into authd-framework-2 2016-03-23 16:21:14 -05:00
Elizabeth Myers ab33d608de DICTIONARY_FOREACH -> RB_DICTIONARY_FOREACH [ci skip] 2016-03-23 14:29:27 -05:00
Elizabeth Myers cb5a8bf847 Remove common.h from here too. 2016-03-23 10:06:52 -05:00
Elizabeth Myers a52c7a8e69 authd/provider: really fix things for new changes. 2016-03-23 09:15:18 -05:00
Elizabeth Myers aba29d5a19 authd/provider: incorporate new changes 2016-03-23 09:03:37 -05:00
Elizabeth Myers 3e875f629f authd/provider: overhaul storage of various pieces of data
Clients are stored in a dictionary referenced by id (to allow for
UINT32_MAX auth clients, which is plenty).

Each provider now has a data slot (this limits the number of providers
to 32 for now, but that's plenty for now) which they can use to attach
data to auth_clients. This consolidates data, aids in debugging, and
makes it easier to just pass around auth_client structures.
2016-03-22 19:13:54 -05:00
Elizabeth Myers 238a9ed590 Merge branch 'master' into authd-framework-2 2016-03-22 17:43:43 -05:00
Matt Ullman e23126c83b Cleanup warnings 2016-03-21 22:28:41 -04:00
William Pitcock 9783438eb4 authd: res: fix build on windows ipv6 2016-03-20 04:22:17 -05:00
William Pitcock ddebec8cfd reslib: really fix it this time 2016-03-20 03:57:21 -05:00
William Pitcock f23719b7cd authd: reslib: fix compile on win32 2016-03-20 03:56:00 -05:00
William Pitcock 4063dc2f62 authd: reslib: hook in windows DNS logic 2016-03-20 03:51:31 -05:00
William Pitcock 2dea53a203 authd: some more win32 fixes 2016-03-20 01:37:00 -05:00
William Pitcock 66cd5f6695 authd/reslib: include rb_lib.h 2016-03-20 01:33:23 -05:00
William Pitcock c99ae1907f authd: use GET_SS_FAMILY() where appropriate 2016-03-20 01:30:24 -05:00
William Pitcock 8da0b2f2cb authd: use _WIN32 as the define for checking windows presence 2016-03-20 01:19:46 -05:00
William Pitcock 76ebf6c489 authd: initial pass at win32 porting 2016-03-20 01:16:41 -05:00
Elizabeth Myers 46d17a88b4 provider: compile fixes 2016-03-19 15:58:48 -05:00
Elizabeth Myers f7b37c1dc1 authd: add provider-specific data to auth_client via a dictionary. 2016-03-19 15:47:10 -05:00
Elizabeth Myers a16b484f27 Import this from authd-framework branch 2016-03-17 16:25:58 -05:00
Elizabeth Myers 2b0cc3d36a Redo of the authd-framework branch.
This is basically most of the code from the authd-framework branch, but
written to the new DNS code in master. Not quite done yet but getting
there.
2016-03-17 16:23:27 -05:00
Elizabeth Myers 1d9925cfb3 authd: fix a fallthrough. 2016-03-13 03:22:41 -05:00
Elizabeth Myers 540676fc18 cancel_query: fix stupid build error 2016-03-12 07:36:57 -06:00
Elizabeth Myers 45ac1e3ce6 authd: add the ability to cancel DNS requests 2016-03-12 07:10:27 -06:00
Elizabeth Myers 399c633313 authd: add improved API for internal usage
This is similar to what exists in ircd, but instead of request ID's, we
return struct dns_query pointers (that are freed by the DNS callback, so
you don't have to worry about their lifecycle management).
2016-03-12 07:08:27 -06:00
Elizabeth Myers 91f870b39b auth: enable soft reject of clients.
This doesn't cancel callbacks in progress. This is useful in cases where
you're not sure you want to reject a client yet.
2016-03-10 11:30:09 -06:00
Elizabeth Myers df32819e04 authd: tag rejection type. 2016-03-10 11:27:07 -06:00
Elizabeth Myers c2222d7e9a authd: actually init providers on startup.
(Yay, it doesn't crash!)
2016-03-10 10:04:35 -06:00
Elizabeth Myers 8b4544c9dc authd: load ident provider 2016-03-10 10:01:41 -06:00
Elizabeth Myers f1861e48e6 authd: identd fixes 2016-03-10 10:00:46 -06:00
Elizabeth Myers b74739c247 auth: use sockaddr_storage to store ports 2016-03-10 09:32:37 -06:00
Elizabeth Myers c70ae2e5cb authd: properly iterate through all outstanding rdns queries on timeout 2016-03-10 08:43:46 -06:00
Elizabeth Myers 9eb410b347 rdns: properly set provider 2016-03-10 08:28:22 -06:00
Elizabeth Myers cafe4dd8df authd: plug in new C type. 2016-03-10 08:09:16 -06:00
Elizabeth Myers 50f842125a authd: crap, C was taken already, rename reload to H. 2016-03-10 08:07:29 -06:00
Elizabeth Myers 8dc9aa85b6 authd: crap, C was taken already, rename reload to H. 2016-03-10 08:06:57 -06:00
Elizabeth Myers 187643195c authd: add rdns provider (compile-tested) 2016-03-10 08:04:17 -06:00
Elizabeth Myers 5bfc606fa4 authd/provider: use rb_sockaddr_storage for IP addresses. 2016-03-10 07:25:22 -06:00
Elizabeth Myers b3265d7afb dns: create sockcmp function. 2016-03-10 06:32:25 -06:00
Elizabeth Myers 1c99f551e3 dns: add format_address function 2016-03-10 05:57:33 -06:00
Elizabeth Myers f169fc8842 authd: add address families to provider processing.
ircd knows about them so let's not reinvent checking for address types
and stuff.
2016-03-10 05:40:21 -06:00
Elizabeth Myers 9b5b2dedc0 authd/provider: add these to provider.h 2016-03-10 03:15:03 -06:00
Elizabeth Myers 0f95a2749f rename auth.[ch] to provider.[ch]
This name is less confusing and more descriptive.
2016-03-10 03:07:52 -06:00
Elizabeth Myers 99e538670d authd: convert auth stuff to use a linked list.
This allows runtime loadable providers.
2016-03-10 03:02:16 -06:00
Elizabeth Myers 2c01da6b7e Once more with feeling, remove useless enum bit
Now with 50% less experimental changes
2016-03-10 02:42:40 -06:00
Elizabeth Myers be67cfca84 Revert "[ci skip] remove useless bit in auth.h"
This reverts commit 4cc131fc48.
2016-03-10 02:42:18 -06:00
Elizabeth Myers 4cc131fc48 [ci skip] remove useless bit in auth.h 2016-03-10 02:37:52 -06:00
Elizabeth Myers f42aa1a9e5 auth: minor changes 2016-03-10 01:59:37 -06:00
Elizabeth Myers 05e17ac208 authd: initial authentication framework implementation
Not plugged into anything yet, but compile-tested.
2016-03-10 01:50:36 -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 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 fe037171d6 Change all leftover libratbox stuff to librb. 2016-03-06 03:49:27 -06:00
Elizabeth Myers 1b7a47417b Remove more $Id tags. 2016-03-06 02:58:32 -06:00
William Pitcock c83f2f5e12 rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00
William Pitcock 9ea48ec30a remove presupplied autotools files 2016-03-05 17:47:48 -06:00
William Pitcock c678fbc08b ircd: remove broken USE_IODEBUG_HOOKS knob and related code 2016-02-20 12:02:49 -06:00
Simon Arlott 3f6cbacc41
authd: fix link failure in random_socket
The random_socket function isn't used, and the code can only be
compiled if the function is optimised away (because it's static
and unused) otherwise it will fail to link when "ipv4_addr" and
"ipv6_addr" are not found.

Fix this by modifying ipv4_addr and ipv6_addr so that they're not
external variables.
2016-02-10 21:29:41 +00:00
Valerii Iatsko 5203cba5ce Remove libratbox's snprintf.c, update related ircd code 2016-02-10 02:25:32 +01:00
William Pitcock 9e45a5ca19 buildsystem: further cleanup 2016-01-08 07:01:00 -06:00
William Pitcock f0718c93d5 configure: use correct path for libltdl 2016-01-08 06:50:01 -06:00
William Pitcock c7c009b563 authd: do not use \n with rb_helper_write(), unnecessary 2016-01-08 05:44:41 -06:00
William Pitcock fa43f55940 authd: fix some DNS module logic 2016-01-08 05:32:27 -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
Aaron Jones eec2776c6c Fix some autotools discrepancies, disable SQLite threading code 2016-01-07 16:58:28 +00:00
William Pitcock 8cf45447e2 authd: implement DNS module 2016-01-06 03:52:37 -06:00
William Pitcock f3e11b1d6f authd: clean up command handlers code a little 2016-01-06 03:11:20 -06:00
William Pitcock ed62c46ba1 authd: import stripped down charybdis resolver 2016-01-06 02:47:22 -06:00
William Pitcock 0d73e7db9c authd: add skeleton 2016-01-06 02:31:11 -06:00