Commit graph

167 commits

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