Elizabeth Myers
f956cb0f1f
Use rb_* versions of nonportable string functions
2016-04-05 05:39:59 -05:00
Elizabeth Myers
731d128990
authd: rework module ID system
...
Provider ID's are now assigned dynamically at load-time. To accomodate
this, there is now a lookup system for finding providers by name (all
providers have names as well).
2016-04-05 04:31:22 -05:00
Elizabeth Myers
3256156aca
Announce changed capabilities on module load
...
Closes #165
2016-04-04 02:30:35 -05:00
staticfox
5eb3d7a7c0
modules: Revert mapi_register() to use ints
...
modinit() returns either 0 (success) or -1 (failure) so we
can't check for true/false.
2016-04-03 20:14:36 -04:00
Elizabeth Myers
c0483ac17b
boolify calls to rehash
2016-04-03 01:53:34 -05:00
Elizabeth Myers
aa483e55bd
bool-ify modules stuff
2016-04-03 01:51:45 -05:00
Elizabeth Myers
6603175304
Clean up module loading a bit.
2016-04-03 01:21:19 -05:00
Elizabeth Myers
ffa79a9516
Use rb_dlink_list_length... == 0, not !rb_dlink_list_length
2016-04-02 22:45:52 -05:00
Elizabeth Myers
34bc7caeae
Send enabling message to opm at the end of opm block.
2016-04-02 22:33:19 -05:00
Elizabeth Myers
5c5296c8f8
newconf: delete all proxies on rehash
2016-04-02 22:30:54 -05:00
Elizabeth Myers
e2a8228f85
authproc: minor fixes
2016-04-02 20:31:32 -05:00
Elizabeth Myers
8d48aa190b
dns: don't use zero ID's
2016-04-02 20:19:37 -05:00
Elizabeth Myers
1d657e0b08
authproc: rehash on authd restart
...
This is a hack for now so it gets the config again.
2016-04-02 20:10:56 -05:00
Elizabeth Myers
3d2fc110e3
authproc: add more API's for opm management
2016-04-02 19:45:27 -05:00
Elizabeth Myers
c1f4db3fb7
Tweak some configuration semantics of opm
2016-04-02 19:45:09 -05:00
Elizabeth Myers
d9364d2913
authproc: pad leading 0 for localhost IP's
...
This avoids misparsing by rb's helper stuff..
2016-04-02 19:29:16 -05:00
Elizabeth Myers
eb0814b3cb
opm: add support for HTTPS CONNECT proxies.
...
TBD: do we need an SSL listener for these?
2016-04-02 18:38:21 -05:00
Elizabeth Myers
64fae2607a
Rename authd.[ch] on ircd side to authproc.[ch] to prevent shadowing.
2016-04-02 16:44:04 -05:00
Elizabeth Myers
b0326abdc9
authd: warn on a bad command
2016-04-02 05:05:28 -05:00
Elizabeth Myers
6d0fafec99
authd: minor cleanups
2016-04-02 04:51:11 -05:00
Elizabeth Myers
ae0a058544
authd: clean up command handling with a table
2016-04-02 04:49:01 -05:00
Elizabeth Myers
61d1befa2a
authd: fix race on the ircd side.
...
The client may have already gone away, so if we can't find the local
cid, don't try to restart authd.
2016-04-02 03:51:54 -05:00
Elizabeth Myers
6d5edc6f53
authd: when aborting, don't just do read_packet.
2016-04-02 03:46:31 -05:00
Elizabeth Myers
9bba0f6143
opm: add adjustable timeout values
2016-04-02 03:33:27 -05:00
William Pitcock
34b88b6571
ircd: conf: properly calculate the number of wsockd to start
2016-04-02 03:20:16 -05:00
Elizabeth Myers
fabe8b94c5
Add HTTP CONNECT proxy scanning
2016-04-02 03:11:30 -05:00
William Pitcock
bccb7dedef
ircd: wsproc: cleanups
2016-04-02 03:10:01 -05:00
William Pitcock
c53ca1e029
ircd: integrate ircd side of wsockd support
2016-04-02 02:56:22 -05:00
Elizabeth Myers
fbe8d087e7
Add exempt logic for open proxies
2016-04-02 02:42:11 -05:00
Elizabeth Myers
51fa2ab8a3
opm: allow scanners to be configurable
2016-04-02 02:29:48 -05:00
Elizabeth Myers
adfe7b8396
authd: small cleanup
2016-04-02 01:20:49 -05:00
Elizabeth Myers
6a7bb6f1df
authd: more minor cleanups
2016-04-02 01:16:47 -05:00
Elizabeth Myers
b1a577f224
ircd/authd: cleanups
2016-04-02 01:05:21 -05:00
Elizabeth Myers
8275e2700d
Add opm stuff to default configs
2016-04-01 04:11:04 -05:00
Elizabeth Myers
34f16c467d
authd: fix API boo boo
2016-04-01 02:56:03 -05:00
Elizabeth Myers
6da256dc93
authd: remove some whitespace
2016-04-01 02:44:50 -05:00
Elizabeth Myers
4f6119cd40
authd: add API for setting OPM listeners
2016-04-01 02:43:01 -05:00
Elizabeth Myers
7372553dd6
authd: fix compile error
2016-04-01 02:42:50 -05:00
Elizabeth Myers
e158281056
authd: properly abort clients who timeout or when the helper restarts
2016-04-01 02:27:48 -05:00
Elizabeth Myers
d86692fa44
Add new sockaddr_storage port retrieval/setting macros
...
These macros are safe for use on IPv6 and clean up a lot of code.
2016-03-31 03:00:29 -05:00
Elizabeth Myers
bf3ecca24b
ircd/listener: un-obsoleteify comments
2016-03-30 03:36:04 -05:00
Elizabeth Myers
4094d2fad5
Remove trailing whitespace from files.
2016-03-29 13:23:27 -05:00
Matt Ullman
2b535500f9
automake: Ensure ircd_parser.h is created
...
Fixes random travis explosions
2016-03-28 21:39:10 -04:00
Elizabeth Myers
7ad083b065
logger: add idebug
...
This only does something if debugging is enabled.
2016-03-28 19:06:31 -05:00
Elizabeth Myers
bae7e637de
ircd/authd: remove rb_free no longer needed.
2016-03-28 18:19:06 -05:00
Elizabeth Myers
0bb5d3f031
authd: this isn't a list dammit!
2016-03-28 18:13:57 -05:00
Elizabeth Myers
540ae37b96
authd: don't use wild pointer
2016-03-28 18:09:22 -05:00
Elizabeth Myers
a6a30cc7b8
ircd/newconf: better IPv4 example
2016-03-28 17:55:54 -05:00
Elizabeth Myers
771dcfad37
newconf: add illustrative examples to comments
2016-03-28 17:54:01 -05:00
Elizabeth Myers
835d456c64
newconf: fix check for IPv6 address length
2016-03-28 17:47:13 -05:00
Elizabeth Myers
3fe0efd55a
newconf: change an error to a warning
2016-03-28 17:45:35 -05:00
Elizabeth Myers
50808796e0
authd: It Works, Bitches™
2016-03-28 16:47:51 -05:00
Elizabeth Myers
a9b809c796
ircd_lexer: use correct variable here.
...
ircd_paths[IRCD_PATH_ETC] is what's wanted, not IRCD_PATH_ETC.
2016-03-28 14:58:26 -05:00
Elizabeth Myers
7b4d1de38d
Merge branch 'master' into authd-framework
2016-03-28 14:44:47 -05:00
Elizabeth Myers
ad04380360
ircd/authd: respect auth_disabled config option
2016-03-28 02:42:20 -05:00
Elizabeth Myers
59d42a9fcb
ircd/authd: use proper timeout values for clients
2016-03-28 02:32:05 -05:00
Elizabeth Myers
ef0b13b960
ircd/authd: timeout dead authd clients
2016-03-28 02:30:54 -05:00
Elizabeth Myers
cc4d393152
ircd/authd: implement client noticing
2016-03-28 02:19:34 -05:00
Elizabeth Myers
d3f6b80867
Replace s_auth/blacklist stuff with authd calls
...
This also does a lot of surgery on the conf system to reconfigure authd.
/!\ WARNING! ACHTUNG! ADVERTENCIA! ATTENTION! AVVERTIMENTO! /!\
This code has not been run-time tested yet (though it compiles)!
2016-03-28 02:11:16 -05:00
Matt Ullman
33d43d4fa4
ircd: Move signaled variables to volatile sig_atomic_t
2016-03-27 20:05:38 -04:00
Matt Ullman
aa7eff28f2
hash.c: Save some more bytes
2016-03-27 06:29:10 -04:00
Elizabeth Myers
3f7039934f
s_auth: remove trailing whitespace at end of usernames.
2016-03-26 19:21:16 -05:00
Elizabeth Myers
938f93f4bc
ircd/authd: some comments
2016-03-26 16:44:41 -05:00
Matt Ullman
de8b3b7174
sslproc: Remove unused variable
2016-03-26 16:41:36 -04:00
Elizabeth Myers
0a659bf0ab
Port notice stuff over from authd-framework-2 and use it.
...
This allows things like oper warnings from authd using the W message type
also.
2016-03-25 21:58:32 -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
William Pitcock
de7cf7e009
ircd: client: substantially rework the connid registry system
...
now connid's are allocated on demand and clients may have as many connid's as necessary.
this allows us to build chains of helpers while ensuring the ircd properly tracks and GCs the resources.
2016-03-25 19:50:29 -05:00
Matt Ullman
afba2488ec
extb_combi: More int to bool conversion
...
Cleanup whitespace in ircd_lexer.l
2016-03-25 19:47:58 -04:00
William Pitcock
0aaa37f721
ircd: only relocate_paths on windows, no point on posix
2016-03-25 18:13:39 -05:00
William Pitcock
d6c17e5de2
ircd: implement path relocation
2016-03-25 01:57:25 -05:00
William Pitcock
2f545aad87
ircd: use ircd_paths for logFileName and pidFileName
2016-03-25 00:00:06 -05:00
William Pitcock
0d180487b4
ircd: unbreak build
2016-03-24 18:50:13 -05:00
William Pitcock
4d8cfacd95
ircd: start staging for relocatable paths
2016-03-24 18:45:28 -05:00
Matt Ullman
e0a9b5d3bf
chmode: Move check_forward() to a boolean
2016-03-24 14:42:54 -04:00
Matt Ullman
a383180a0a
chmode: Move add_id() to a boolean
2016-03-24 14:37:52 -04:00
Matt Ullman
9aa639eddd
chmode: Move allow_mode_change() to a boolean
2016-03-24 14:26:02 -04:00
Matt Ullman
2a4b3ea648
version.c.SH: Fix generation not incrementing
2016-03-24 04:00:23 -04:00
Matt Ullman
3b9507d0e9
channel: Move flood_attack_channel() to a boolean
2016-03-24 02:25:26 -04:00
Matt Ullman
216f58a27c
channel: Change check_channel_name() note to false
...
[ci skip]
2016-03-24 02:14:03 -04:00
Matt Ullman
3a46803fef
channel: Move check_channel_name() to a boolean
2016-03-24 01:54:39 -04:00
Matt Ullman
2e45f5d808
Cleanup more BSD-isms
2016-03-23 22:37:52 -04:00
Matt Ullman
4b11f39115
Move away from BSD data types
2016-03-23 19:11:42 -04:00
Elizabeth Myers
28c94d6598
Remove common.h from lexer and parser
2016-03-23 10:09:53 -05:00
Elizabeth Myers
79435744c7
common.h: raison d'être is gone, so out it goes.
...
Fold whatever was left into ircd_defs.h
2016-03-23 09:33:56 -05:00
Elizabeth Myers
7ac3261f97
Ensure the parser/lexer don't use IRCD_BUFSIZE.
2016-03-23 09:26:07 -05:00
Elizabeth Myers
82236a2a65
IRCD_BUFSIZE is redundant with BUFSIZE, so kill it.
2016-03-23 09:22:55 -05:00
Elizabeth Myers
ab31d2b07e
Send YES/NO to Davy Jones's Locker.
2016-03-23 08:52:32 -05:00
Elizabeth Myers
bd43a44469
Remove more YES/NO usage.
2016-03-23 08:43:28 -05:00
Elizabeth Myers
2fc6772ee1
typedef-ify rb_radixtree for consistency.
2016-03-23 08:32:22 -05:00
Elizabeth Myers
4177311e6e
Change struct Dictionary(*) to rb_dictionary(_\1).
...
This cleans things up a slightly and puts the dictionary stuff in its
own namespace.
2016-03-23 08:09:58 -05:00
Elizabeth Myers
2ac4ba969b
ircd: shut GCC the fuck up.
...
No, it can't probably fail... that isn't what that's there for.
2016-03-23 08:07:23 -05:00
Elizabeth Myers
56f84dedf7
DICTIONARY_FOREACH → RB_DICTIONARY_FOREACH
...
This is in librb and therefore should be prefixed.
2016-03-23 07:45:44 -05:00
Matt Ullman
66769bc1f8
More cleanup
2016-03-23 00:11:26 -04:00
Matt Ullman
e23126c83b
Cleanup warnings
2016-03-21 22:28:41 -04:00
William Pitcock
4d383612d4
ircd: log runtime path (mainly as proof of concept for rb_path_to_self())
2016-03-21 21:14:11 -05:00
Matt Ullman
ad9cbf9e0d
s_user: Don't send CHGHOST clients op/voice syncs
2016-03-20 18:59:07 -04:00
William Pitcock
5a5f173daa
parse: check IsServer() before firing off a remove_unknowns() call
2016-03-20 06:40:54 -05:00
William Pitcock
4f5056dd83
ircd: fix build on freebsd
2016-03-20 06:22:39 -05:00
William Pitcock
dd92c99b83
modules: fix thinko
2016-03-20 06:01:12 -05:00
William Pitcock
c9108ea073
ircd: modules: findmodule_byname(): also check LT_MODULE_EXT here
2016-03-20 06:00:20 -05:00
William Pitcock
6cb643f4f9
ircd: modules: use LT_MODULE_EXT more consistently
2016-03-20 05:54:48 -05:00
William Pitcock
44f442e3fb
ircd: parse: now this type cast for POINTER MATH is just fucking stupid
2016-03-20 04:21:25 -05:00
William Pitcock
09f528c24c
ircd: win32 does not need the FD 0,1,2 stuff
2016-03-20 03:10:05 -05:00
William Pitcock
c1bfea7332
ircd: handle some EXIT_FAILURE cases differently on win32
2016-03-20 03:06:14 -05:00
William Pitcock
48c6d0f56c
ircd: squelch write(2) warning differently
2016-03-20 03:02:56 -05:00
William Pitcock
02831b6f65
modules: warning cleanups
2016-03-20 02:42:42 -05:00
William Pitcock
b5c0180c4b
ircd: build: tell libtool what to DLL_EXPORT
2016-03-20 02:08:14 -05:00
William Pitcock
1ba9eba550
ircd: _WIN32 checks on geteuid() too
2016-03-20 02:04:26 -05:00
William Pitcock
538d208948
ircd: ircd main: use librb functions for daemon management
2016-03-20 02:03:32 -05:00
William Pitcock
a7fb269357
ircd: listener: more ss_family grr
2016-03-20 02:01:00 -05:00
William Pitcock
53e50d0e2f
ircd: ircd_signal: win32 stubs
2016-03-20 02:00:22 -05:00
William Pitcock
7671316784
ircd: lexer: likewise
2016-03-20 01:59:09 -05:00
William Pitcock
e16f4b78b1
ircd: ircd_parser: we do not need to include netinet/in.h
2016-03-20 01:58:28 -05:00
William Pitcock
0b9aca384a
ircd: client: fix format string for free_user() debug notice
2016-03-20 01:57:19 -05:00
William Pitcock
e867208deb
ircd: use GET_SS_FAMILY() in a bunch of places
2016-03-20 01:54:24 -05:00
William Pitcock
1d90b085d3
ircd: blacklist: use GET_SS_FAMILY()
2016-03-20 01:48:14 -05:00
William Pitcock
85368a13d3
ircd: rewrite SOCKET_ERROR as I_SOCKET_ERROR
2016-03-20 01:44:00 -05:00
William Pitcock
1859e9d7d7
ircd: remove basically entirely pointless ServerInfo.hub ( closes #167 )
2016-03-19 23:05:07 -05:00
William Pitcock
72b51232a9
ensure we do not distribute flex/bison files
2016-03-19 19:23:08 -05:00
Elizabeth Myers
9b8e9eb321
config.h delenda est
2016-03-19 19:14:26 -05:00
William Pitcock
43f06d8d8c
ircd/sslproc: same for zlib_ok
2016-03-19 00:58:57 -05:00
William Pitcock
bfc44622c8
ircd: do not shadow internal openssl symbol "ssl_ok" (yeah, i know)
2016-03-19 00:57:32 -05:00
William Pitcock
7cc67225cb
sslproc: return after calling free_ssl_daemon() when in sandbox ipc service routine
2016-03-19 00:04:38 -05:00
William Pitcock
61eb4ba64a
ircd: link libircd with -no-external
2016-03-18 23:14:38 -05:00
Elizabeth Myers
c084fcafec
ircd: fix a really retarded GCC warning by being anal retentively "standards compliant"
2016-03-18 15:53:43 -05:00
Elizabeth Myers
1db8a31395
modules: fix stupid GCC false positive warning.
...
This invocation of strlen is on a constant string and should be folded
by any sane compiler (GCC included), but it warns anyway because GCC is
stupid.
2016-03-18 15:32:33 -05:00
William Pitcock
1ca8cd5276
parse: ensure that aliases have a sufficient number of parameters before trying to process them
2016-03-17 23:13:22 -05:00
Elizabeth Myers
617144af7a
dns: remove unneeded defines
2016-03-14 22:15:28 -05:00
Elizabeth Myers
9ca15a2679
Merge branch 'master' of github.com:charybdis-ircd/charybdis
2016-03-14 22:14:28 -05:00
Simon Arlott
532f83a70a
ircd: Don't refer to the IP address as a "netmask" in error messages
2016-03-14 22:38:04 +00:00
Elizabeth Myers
068c6c4a2b
dns: use a dictionary for query storage
2016-03-13 03:23:41 -05:00
Elizabeth Myers
9abdcf1c64
modules: can .la suffix.
...
.la archives are prohibited by most Linux distributions because they
clutter up the linker. They may get caught up as victims in scripts that
purge .la files. Besides, .la files don't matter for simple loadable
modules on most systems.
So, what we do now instead is just use the platform suffix detected by
libtool.
2016-03-12 20:10:46 -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
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
503727d1ee
More bool conversions
2016-03-09 02:19:31 -06:00
Elizabeth Myers
1b916de505
More bool conversions [ci skip]
2016-03-09 02:10:21 -06:00
Elizabeth Myers
f66f0baa67
More bool conversions
2016-03-09 02:00:40 -06:00
Elizabeth Myers
550e851c5e
Merge branch 'master' of github.com:charybdis-ircd/charybdis into elizafox-cleanups
2016-03-09 01:41:10 -06:00
Elizabeth Myers
3c7d6fcce7
Message handlers should return void.
...
Also fix up some return values and stuff to use bool (or void if
nothing). I just did it whilst I was here.
According to jilles, the return value used to signify whether or not the
client had exited. This was error-prone and was fixed a long, long time
ago, but the return value was left int for historical reasons.
Since the return type is not used (and has no clear use case anyway),
it's safe to just get rid of it.
2016-03-09 01:37:03 -06:00
William Pitcock
ea111ea544
ircd: further cleanup of YES/NO
2016-03-08 13:52:48 -06:00
William Pitcock
881acf00c6
ircd: fix up some iwarn() calls which referred to L_MAIN
2016-03-08 13:47:41 -06:00
William Pitcock
3089f59c10
modules: using labs() for date math is unsafe
2016-03-08 13:46:19 -06:00
William Pitcock
d2e0b78f6c
s_conf: remove YES/NO references
2016-03-08 13:45:29 -06:00
Elizabeth Myers
6287d57fa9
s_user: clean up return types and can YES/NO.
2016-03-08 05:06:29 -06:00
Elizabeth Myers
07554369bd
Detect stdbool.h and add conformant shims if it isn't available
...
Charybdis requires C99 already, so it's high time we start using
stdbool. I've converted a few pieces of code already.
A lot of the old code that uses YES/NO should probably be updated too
because that's fucking hideous.
2016-03-08 04:54:04 -06:00
Elizabeth Myers
55799c6b4d
dns: prune worthless function.
2016-03-08 03:25:21 -06:00
Elizabeth Myers
8a26cd1973
dns: clean up awful hacks.
...
We now have a resolver cache which we init on startup.
2016-03-08 03:22:25 -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
cdf5ed6cc8
blacklist: clean up some of my old code
2016-03-07 19:54:25 -06:00
Elizabeth Myers
7e6b5384b3
Convert 2.8 style ToUpper/ToLower names to irctoupper/irctolower
2016-03-07 19:04:24 -06:00