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
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