Simon Arlott
d4214e9445
ircd: server connection configuration
...
Fix the server connection configuration so that it can simultaneously
handle a hostname/IPv4/IPv6 for connecting and a hostname/IPv4/IPv6
for binding. Maintains backwards compatibility for matching a hostname
with a mask.
Multiple host/vhost entries can be specified and the last value for
each address family is stored. Hostnames that resolve automatically
overwrite the IP address.
Server connections can now be made to either IPv4 or IPv6 at random
as well as preferring a specific address family.
2016-04-24 17:06:24 +01:00
Simon Arlott
4fbb736202
ssld: add a callback when the connection is opened
...
This allows us to wait until we have the fingerprint information before
continuing with a server connect process.
2016-04-24 11:48:35 +01:00
Simon Arlott
3085734104
m_stats: display certificate fingerprint in STATS C
2016-04-24 01:06:51 +01:00
Elizabeth Myers
7445ece1d1
Revert "Implement the netsplit batch type."
...
This needs more work, see
https://github.com/ircv3/ircv3-specifications/issues/253
This reverts commit 2373891299
.
2016-04-16 11:05:00 -05:00
Elizabeth Myers
2373891299
Implement the netsplit batch type.
...
This also lays the groundwork for the netjoin batch type, but that isn't
implemented yet. I don't like how some of this is implemented but it'll
have to do for now...
Compile tested, needs more testing.
2016-04-15 16:50:43 -05:00
Elizabeth Myers
4f2b9a4fd1
Don't use key member of dictionary iter objects after deletion
2016-04-12 09:43:50 -05:00
Elizabeth Myers
5e9a3f8674
Change the way authd configures opm
...
It's a bit of a hack, but better than before. Rather than rehashing
(which could get us into an endless loop), we now segregate the
configuration phase (creating entries ircd-side in case we restart authd
later) and sending phases (when configure_authd() is called). Since we
have to call configure_authd() no matter what (to send timeouts etc.)
and we have to send this data to configure authd anyway, and sending
duplicate data is bad, this is the only way I can think of for now.
2016-04-12 09:36:09 -05:00
Mantas Mikulėnas
9d07a42d7a
m_sasl: rate-limit SASL REAUTH usage
2016-04-11 21:45:10 +03:00
Mantas Mikulėnas
37289346cd
m_sasl: temporarily reject clients after many failed attempts
2016-04-11 20:02:09 +03:00
Elizabeth Myers
ce58d2dc61
Remove extraneous whitespace [ci skip]
2016-04-10 09:23:14 -05:00
Elizabeth Myers
154dc91ef0
Wrap up authd preclient stuff in its own struct
2016-04-10 09:20:51 -05:00
Elizabeth Myers
4eafa9e62f
ipv4_from_ipv6: move to librb
2016-04-08 03:49:23 -05:00
Elizabeth Myers
5a22e9259b
Fix overzealotry in flags fixing.
...
These flags are for oper confs, not for client flags.
2016-04-07 07:48:50 -05:00
Elizabeth Myers
66f7fe673b
Get rid of flags2.
...
It seems to come from an era where long long didn't exist and 64-bit
machines weren't common. 32-bit machines are still common but I can't
imagine this will have much performance impact there.
This "fixes" #179 in title only, but see comments within.
2016-04-07 07:40:55 -05:00
Elizabeth Myers
9057170ce8
Cleanup defaults.h config file.
...
Clean up spaces/tabs mixing mess (bleh), add some defaults for authd
stuff, and get rid of CHARYBDIS_SOMAXCONN (just define SOMAXCONN if it's
available...).
2016-04-07 04:47:48 -05:00
Elizabeth Myers
78946542bb
modules: move module loading/unloading commands to dedicated module.
...
There's no reason to really have these in the main ircd anymore, static
modules are dead and aren't coming back.
To ensure people don't do something hopelessly retarded, this is a core
module.
2016-04-07 04:00:25 -05:00
Elizabeth Myers
999c42bad8
Remove useless alias_entry hits member
2016-04-06 11:47:13 -05:00
Elizabeth Myers
a559032938
Partially update a comment
2016-04-06 07:28:30 -05:00
Elizabeth Myers
d4fdeec0d8
s_conf: s_bsd's been gone for a long time... lol
2016-04-06 06:48:59 -05:00
Elizabeth Myers
2575a78b0e
Add hook for when rehash is called.
...
This will be used by the future alias module.
2016-04-06 05:43:54 -05:00
Elizabeth Myers
aa483e55bd
bool-ify modules stuff
2016-04-03 01:51:45 -05:00
Elizabeth Myers
3d2fc110e3
authproc: add more API's for opm management
2016-04-02 19:45:27 -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
6d0fafec99
authd: minor cleanups
2016-04-02 04:51:11 -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
b1a577f224
ircd/authd: cleanups
2016-04-02 01:05:21 -05:00
Elizabeth Myers
34f16c467d
authd: fix API boo boo
2016-04-01 02:56:03 -05:00
Elizabeth Myers
4f6119cd40
authd: add API for setting OPM listeners
2016-04-01 02:43:01 -05: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
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
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
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
William Pitcock
4d8cfacd95
ircd: start staging for relocatable paths
2016-03-24 18:45:28 -05:00
Matt Ullman
a383180a0a
chmode: Move add_id() to a boolean
2016-03-24 14:37:52 -04:00
Matt Ullman
3b9507d0e9
channel: Move flood_attack_channel() to a boolean
2016-03-24 02:25:26 -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
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
82236a2a65
IRCD_BUFSIZE is redundant with BUFSIZE, so kill it.
2016-03-23 09:22:55 -05:00
Elizabeth Myers
affc871dcb
common: don't even attempt to define NULL.
...
stddef.h includes it, ISO C mandates NULL be in it, and if any platforms
don't have it, *tough shit*.
2016-03-23 09:13:31 -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
Matt Ullman
66769bc1f8
More cleanup
2016-03-23 00:11:26 -04:00
William Pitcock
4e376fff55
include: hostmask: use GET_SS_FAMILY()
2016-03-20 01:55:31 -05:00
William Pitcock
85368a13d3
ircd: rewrite SOCKET_ERROR as I_SOCKET_ERROR
2016-03-20 01:44:00 -05:00
William Pitcock
4f73990245
stdinc: more cleanups
2016-03-20 01:19:07 -05:00
William Pitcock
76ebf6c489
authd: initial pass at win32 porting
2016-03-20 01:16:41 -05:00
Elizabeth Myers
9b8e9eb321
config.h delenda est
2016-03-19 19:14:26 -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
Elizabeth Myers
1d89c9e945
Remove unnecessary autotools cruft and other detritus
2016-03-18 15:13:11 -05:00
Elizabeth Myers
cca418c9b7
Add --enable-ignore-bogus-ts flag.
...
This hoists the option out of config.h.
2016-03-18 15:02:59 -05:00
Elizabeth Myers
0e99e13a71
configure: add ENABLE_OPER_CHGHOST flag
2016-03-18 14:57:08 -05:00
Elizabeth Myers
f79f3e6a95
config.h: update a tad
2016-03-18 14:43:50 -05:00
Elizabeth Myers
068c6c4a2b
dns: use a dictionary for query storage
2016-03-13 03:23:41 -05: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
8fbc1152bb
Remove dead variable "cold_start" that no longer exists [ci skip]
2016-03-09 02:01:42 -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
Elizabeth Myers
eeabf33a7c
Move module description headers to the top
...
This is cleaner.
Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
2016-03-09 01:29:41 -06:00
William Pitcock
ea111ea544
ircd: further cleanup of YES/NO
2016-03-08 13:52:48 -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
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
Max Teufel
54d8925ed4
extensions: add umode_noctcp extension
2016-03-07 18:48:14 +01:00
Elizabeth Myers
638d286293
Change some RATBOX_FOO defines to CHARYBDIS_FOO.
2016-03-07 05:01:31 -06:00
William Pitcock
b7e4fcb7a7
modules: AV2: use unsigned int for capability IDs instead of signed int
2016-03-07 00:13:54 -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
7b075a7610
modules: whoops, forgot one tiny thing
2016-03-06 17:04:02 -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
5f5b18684d
config.h.dist: forgot one...
2016-03-06 03:00:42 -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
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
38ffccf8c3
cap: allow modules to return client-specific responses for capability inquiries
2016-03-05 18:56: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