Commit graph

164 commits

Author SHA1 Message Date
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