Bram Matthys
c19165c8a6
Remove remaining INET6 defines and questions, as it's now always the default.
2015-07-29 10:42:40 +02:00
Bram Matthys
ae23d99e07
Get rid of #if INET6 stuff, as all supported OS's support IPv6 at compile time. Use set::options::disable-ipv6 to disable IPv6 at runtime. Cleanup unused IPv6 structs/vars/functions/..
2015-07-29 10:31:12 +02:00
Bram Matthys
3b217f083a
Make IPv6 work on Windows
2015-07-29 09:50:36 +02:00
Bram Matthys
c8a5bfd2b4
like I said..
2015-07-28 22:26:24 +02:00
Bram Matthys
a29baf96f6
upgrade some ipv4-only stuff. Also set::link::bind-ip was broken in multiple ways.
2015-07-28 22:24:17 +02:00
Bram Matthys
fa87577918
and some more.
2015-07-28 22:14:58 +02:00
Bram Matthys
ea7a080154
remove more unused functions
2015-07-28 21:44:32 +02:00
Bram Matthys
47ec1da3f5
Remove unused functions
2015-07-28 21:42:40 +02:00
Bram Matthys
b072a80638
get rid of local->ip stuff in throttle
2015-07-28 17:47:40 +02:00
Bram Matthys
46ee510da6
ipv4/ipv6 split. interim commit (does not compile)
2015-07-28 17:42:24 +02:00
Bram Matthys
3577583eaf
ipv4/ipv6 split - phase 1 (unstable!!)
2015-07-28 16:20:00 +02:00
Bram Matthys
d15701bced
Make ident code more ipv4/ipv6 neutral. This will break things until we do the socket split.
2015-07-28 14:44:42 +02:00
Bram Matthys
80147b2914
Make throttling code work on aClient * structs. Other code may change later (makes it easier).
2015-07-28 14:05:41 +02:00
Bram Matthys
a444964730
Convert TLD code to use match_user(): MOTD OPERMOTD BOTMOTD RULES etc..
2015-07-28 13:50:47 +02:00
Bram Matthys
709c7e890e
Use match_user() for is banned checking. This also makes CIDR work in bans/exempt/invex.
...
Remove ban_realhost, ban_virthost, ban_cloakhost and ban_ip stuff. Should be just as fast if you use match_user() now.
2015-07-28 13:39:56 +02:00
Bram Matthys
58b864edd5
Re-do CIDR and at the same time all the user matching stuff. Introducing match_user(mask, acptr, options): this should be used everywhere rather than the many DIY routines everywhere that create a nick!user@host and then run a match() on it.
...
The match_user() function is not been fully tested yet, at this point I'm happy we can compile again.
2015-07-28 13:26:03 +02:00
Bram Matthys
5bfa5c701e
Never understood why it's called get_sockhost() if it actually sets it. Renamed to set_sockhost()
2015-07-27 18:30:25 +02:00
Bram Matthys
85dceb0bae
mark some stuff with __attribute__((warn_unused_result))
2015-07-25 20:29:04 +02:00
Bram Matthys
2cb395216a
First version of crash reporter. TODO: Windows, SSL (HTTPS), prettify code, ..
2015-07-24 21:21:35 +02:00
Bram Matthys
7072902844
Update version to 3.4-beta2.
2015-07-23 14:52:16 +02:00
Bram Matthys
6be099d2b1
Actually wait for the ident response rather than just hope it to arrive in time (which it often won't).
2015-07-23 12:58:33 +02:00
Bram Matthys
c478d7d9ef
Move some stuff to introduce_user() so we can use it.
2015-07-20 16:42:36 +02:00
Bram Matthys
6f6b713fce
sendto_server() w/multiple (combined) caps or nocaps was broken. It matched on ANY cap instead of ALL caps.
2015-07-20 16:42:01 +02:00
Bram Matthys
1452a2821b
sendto_server() w/multiple (combined) caps or nocaps was broken. It matched on ANY cap instead of ALL caps.
2015-07-20 16:39:47 +02:00
Bram Matthys
390a4c2494
Remove "PROTOCTL HCN" as we now include the IP in HCN-alike connecting messages.
2015-07-19 18:20:40 +02:00
Bram Matthys
6379956521
strip 2 useless args from sendto_connect & sendto_fconnect (maybe useful in the past, not anymore)
2015-07-19 13:14:37 +02:00
Bram Matthys
209a5a3762
Start with moving ip_str stuff
2015-07-19 13:09:51 +02:00
Bram Matthys
13fffa4e1a
split all the local client stuff to acptr->local. makes it a lot easier to catch bugs.
...
If the IRCd crashes then it's likely not by this change but rather an existing issue that was previously gone unnoticed.
2015-07-19 12:48:18 +02:00
Bram Matthys
19ad342a73
Start with client/localclient split
2015-07-19 11:50:32 +02:00
Bram Matthys
421b224d8e
Fix SSL client certificate fingerprint authentication not working for server linking. Broken since May 23 already.
2015-07-18 22:05:22 +02:00
Bram Matthys
c06dc9a142
Get rid of #ifdef CLEAN_COMPILE, along with some other shit
2015-07-16 17:22:51 +02:00
Bram Matthys
dcb4e382a3
Apparently on newer OpenSSL versions (unreleased) you can't access the read buffer. So use this method instead. Ohh.. we are so helpful to our users..
2015-07-15 15:48:00 +02:00
Bram Matthys
50d1b194df
Linking: for outgoing connects, only support SSL/TLS by default (either 'directly' on an ssl port or via STARTTLS 'upgrading'). Set link::outgoing::options::insecure to disable.
2015-07-15 12:42:47 +02:00
Bram Matthys
1ba5f95ecb
For ougoing server links, attempt to upgrade the connection via STARTTLS if not using SSL/TLS already.
2015-07-15 12:09:11 +02:00
Travis McArthur
8ef62b9f34
Merge pull request #30 from SaberUK/unreal34+notice-auth
...
Use "NOTICE *" before registration instead of "NOTICE AUTH".
2015-07-14 12:32:51 -07:00
Bram Matthys
ef341b1f6d
Link to servers faster after boot. Check links for re-linking more often. Allow connfreq of 5 seconds. Set default to 15. Get rid of HANGONGOODLINK/HANGONRETRYDELAY stuff.
2015-07-14 15:23:28 +02:00
Peter Powell
53bb3c0fb3
Use "NOTICE *" before registration instead of "NOTICE AUTH".
...
AUTH is a valid nickname so sending notices to it is probably not
a good idea. Use * as the target instead as done with numerics
when the nick is not available.
This mimics the behaviour in Charybdis, IRCD-Hybrid, InspIRCd 2.2,
Plexus 4, etc.
2015-07-14 13:20:32 +01:00
Bram Matthys
0028f6ad64
Change version to 3.4-beta1.
2015-07-13 20:17:18 +02:00
Bram Matthys
f1a95ffd0b
Remove IPList - unused
2015-07-13 14:35:36 +02:00
Bram Matthys
afb4c7bebe
Rip out remainder of HOOKTYPE_GUEST. Whoops.. were not sending "nick in use" errors (bug caused a few hours ago)
2015-07-12 20:02:00 +02:00
Bram Matthys
020bf7db2f
this is probably a better idea.
2015-07-12 20:00:57 +02:00
Bram Matthys
68ba94c136
Make './unreal backtrace' work again. Hmmm.
2015-07-12 18:07:10 +02:00
Bram Matthys
372ce82335
Make client capabilities a modular sub-system, as it should have been since the beginning.
2015-07-12 17:10:48 +02:00
Bram Matthys
d753714abe
use enum for module object types
2015-07-12 16:08:28 +02:00
Bram Matthys
bbb121383b
Add who-may-execute-this in many CommandAdd()'s. Trying to remove all "unspecified" (0) ones... hopefully I made no mistake in this ;)
...
Update remote-permission check in ValidatePermissionsForPath to check at least IsOper.. may save us from some serious mistakes ;)
2015-07-12 15:32:11 +02:00
Bram Matthys
6c0ebb5bd3
Protection against linking race conditions is back again (IOTW: allow very rapid re-linking), but only if your network is fully 3.4.x (actually: current git unreal34 or later)
...
Re-implemented PROTOCTL SERVERS= which nenolod ripped out (#4355 ).
Add 2nd argument to PROTOCTL EAUTH=servername,unrealprotocol
Change UnrealProtocol from 2350 to 2351
2015-07-10 21:57:13 +02:00
Bram Matthys
71d3e8dbfa
New function AddListItemPrio, since we now use priorities in two places already (swhois, hooks).
2015-07-10 11:10:10 +02:00
Bram Matthys
a9fc2243aa
support multiple vhost::swhois items for consistency
2015-07-10 10:44:40 +02:00
Bram Matthys
405ede44c2
ircfree -> safefree. ircstrdrup -> safestrdrup
2015-07-10 10:22:02 +02:00
Bram Matthys
c2f4e0fb2a
Support multiple oper::swhois items.
2015-07-10 10:15:36 +02:00