Commit graph

350 commits

Author SHA1 Message Date
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
Elizabeth Myers
81204be809 Add ircd serials to AV2. 2016-03-07 18:10:22 -06:00
Elizabeth Myers
749d697c98 Fix generation of serno.h
Due to reversed conditionals, it wasn't being generated properly.

This also actually fixes its generation in librb by just copying the
Charybdis version. Unbundlers will want to take note of this.
2016-03-07 17:15:39 -06:00
Elizabeth Myers
638d286293 Change some RATBOX_FOO defines to CHARYBDIS_FOO. 2016-03-07 05:01:31 -06:00
Elizabeth Myers
978b723252 modules: show module provenance in modlist 2016-03-06 23:21:08 -06:00
Elizabeth Myers
216d70e91d modules: tag origin at load time. 2016-03-06 18:57:05 -06:00
Elizabeth Myers
c63aeb44e9 modules: add origin field to V2 2016-03-06 17:52:49 -06:00
Elizabeth Myers
2ab24be6f9 modules: show descriptions in list 2016-03-06 17:26:30 -06:00
Elizabeth Myers
0eb7d9c02c modules: add description field 2016-03-06 17:14:31 -06:00
Elizabeth Myers
0e5bf029a6 modules: wow, that was a dumb error.
Add a stupid break statement.
2016-03-06 17:08:44 -06:00
Elizabeth Myers
8e9c6a7590 modules: add new MAPI V2
MAPI V1 is still supported for legacy modules, but it is highly
recommended to update to MAPI V2. It includes support for capability
tables, module descriptions, and implicit versions.
2016-03-06 16:53:03 -06:00
Elizabeth Myers
a4bf26dd34 Move irc_* data structures to librb.
This makes the base ircd less cluttered up with data structures that can
go elsewhere.
2016-03-06 14:17:19 -06:00
Elizabeth Myers
fe037171d6 Change all leftover libratbox stuff to librb. 2016-03-06 03:49:27 -06:00
Elizabeth Myers
cbeab4bc34 Remove $Id tags from everything.
These are obsolete and none have changed since 10 years gao...
2016-03-06 02:47:27 -06:00
William Pitcock
a3a2f405fc ircd: -lrb, not -lratbox 2016-03-06 02:34:47 -06:00
William Pitcock
c83f2f5e12 rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00
Elizabeth Myers
1d91de8100 Remove old .indent.pro files
These have been unused since dinosaurs roamed the earth and are mostly
smelly old Hybrid relics.
2016-03-05 21:21:36 -06:00
William Pitcock
9ea48ec30a remove presupplied autotools files 2016-03-05 17:47:48 -06:00
Elizabeth Myers
7416e480b0 parse: export cmd_dict for use elsewhere. 2016-03-05 01:05:26 -06:00
Elizabeth Myers
e8f1c19e7b parse: get rid of report_messages
It is a function with a single usage, that is used only for one specific
stats command on one line.
2016-03-05 00:55:33 -06:00
Simon Arlott
e9ffc3c153
ssld: provide version in stats S output 2016-03-03 22:14:50 +00:00
William Pitcock
428f9bc117 client: handle UID rollover. ircd-ratbox r28917 2016-03-02 15:56:49 -06:00
William Pitcock
65f2c0a263 ircd: simplify connid table handling 2016-03-02 15:31:50 -06:00
William Pitcock
1b6568f6d0 sslproc: compile fix 2016-03-01 20:24:12 -06:00
William Pitcock
a0130f9daf sslproc: properly use zconnid's for ziplinks 2016-03-01 20:02:55 -06:00
William Pitcock
36f0ec74c1 client: always purge a client from the connid table, as connid is not related to FD 2016-03-01 19:52:34 -06:00
Simon Arlott
035d9143bd ircd: add missing sslproc function ssld_foreach_info()
Iterate through the ssl daemons and report their status.
2016-03-01 21:30:51 +00:00
William Pitcock
2e4bf32f36 capability: set ownerdata to NULL when orphaning 2016-02-28 19:15:04 -06:00
William Pitcock
193d4db30c sasl: transfer ownership of 'sasl' capability to m_sasl module 2016-02-28 00:29:26 -06:00
William Pitcock
573896f639 send: allow passing NULL origin to build_msgbuf_from() (for future use) 2016-02-27 02:56:44 -06:00
William Pitcock
be2ce24c42 send: implement echo-message 2016-02-27 02:48:37 -06:00
William Pitcock
0416a2cc86 starttls: take ownership of 'tls' capability 2016-02-27 01:45:40 -06:00