Commit graph

198 commits

Author SHA1 Message Date
Elizabeth Myers
9f9ab5c2d6 authd/provider: don't crash if there's no init or destroy function 2016-03-30 23:17:21 -05:00
Elizabeth Myers
15c49abbb3 authd/providers: add timeout callback system.
This means that each provider no longer has to keep its own event; it
can set a timeout and have a callbackinstead.
2016-03-30 17:21:49 -05:00
Elizabeth Myers
a5ab106298 authd/provider: fix misordering in macro 2016-03-30 03:38:30 -05:00
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