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
Travis McArthur
2450909c26
Change name of OperEval...
2015-07-09 12:31:45 -07:00
Bram Matthys
f3199ec5e5
1) unset the swhois you got via a vhost upon MODE -t. 2) allow MODE yourself -t
...
which will unset your vhost & give you a cloaked host (#2613 , suggested by Stealth)
2015-07-09 18:43:21 +02:00
Bram Matthys
2f8cb55e47
Add extended SWHOIS support. Allows multiple swhoises and tracking of who/what set the swhois.
...
Added swhois_add / swhois_delete functions which also take care of broadcasting
New remove_oper_privileges() function, will move the rest to use this (svsnoop svsmode etc)
Not finished yet...
2015-07-09 16:26:52 +02:00
Bram Matthys
d59b7b4129
add sendto_umode_global() to h.h
2015-07-09 14:52:12 +02:00
Bram Matthys
15977e011d
remove umode 'g' (failops), we have snomasks and oper umode for this.
2015-07-09 14:09:02 +02:00
Bram Matthys
60356bd97c
typo (l -> L)
2015-07-08 18:06:30 +02:00
Bram Matthys
7b02afb3e5
Make MOD_LOAD and MOD_UNLOAD have a useful argument: pass modinfo, just like in MOD_TEST and MOD_INIT.
...
Change MOD_TEST/MOD_LOAD/etc macro's (this breaks all modules). Now just use this:
MOD_INIT(modulename)
{
// you can access modinfo here.. or other stuff...
}
(Similar to the CMD_FUNC() macro)
Rather than:
DLLFUNC int MOD_INIT(name)(ModuleInfo *modinfo)
{
//...
}
2015-07-08 17:57:02 +02:00
Bram Matthys
b37bab0521
Add priority argument to HookAdd... and rename all the ...Ex stuff to just ...
2015-07-08 17:10:37 +02:00
Travis McArthur
752a34011d
Remove IsAnOper
2015-07-06 18:09:37 -07:00
Bram Matthys
b52b7afabe
Remove local irc operator (locop)
2015-07-06 20:14:02 +02:00
Bram Matthys
f58402365c
Moved jointhrottle from channel mode +j to set::anti-flood::join-flood
...
with a default of 3:90 (3 joins per 90 seconds). There's rarely any need
to configure this on a per-channel basis and this way it's enabled by
default for everyone (unless you decide not to load load the module)
2015-07-05 13:31:56 +02:00
Bram Matthys
b04776dc3b
Broadcast PROTOCTL CHANMODES= on change (eg: module loaded or unloaded)
2015-07-04 20:50:57 +02:00
Bram Matthys
45abd09ba7
Remove some hard-coded channel modes in CHANMODES=.. (duplicate M, S, etc... since alpha series)
2015-07-04 19:32:08 +02:00
Bram Matthys
422b339be1
In 2003 I added PROTOCTL CHANMODES= so other servers (and services) could
...
easily deal with "parameter eating" of unknown channel modes.
Now, 12 years later, finally added the code to do this.
This prevents some (serious) desynching if you have a parameter-eating
channel mode on one server and not on the other.
Obviously, you should always try to have the same featureset on all
servers, but sometimes this is not possible, like when upgrading..
2015-07-04 19:25:27 +02:00
Bram Matthys
a90b7354b3
Add blacklist module for DNSBL checking.
2015-07-04 15:02:22 +02:00
Bram Matthys
5cdf8c7e8c
Merge branch 'unreal34' of github.com:unrealircd/unrealircd into unreal34
2015-06-28 10:42:10 +02:00
Bram Matthys
1a1ef4d0d3
Fix MODVAR stuff on Windows. Fixes a crash.
2015-06-28 10:41:49 +02:00
Travis McArthur
58b61ab336
Remove old oper macros not used now
2015-06-27 14:14:01 -07:00
Travis McArthur
a1e7fefe94
Remove IsPrivileged
2015-06-27 14:13:26 -07:00
Bram Matthys
f0d6f3f550
bump version to 3.4-alpha4
2015-06-27 12:59:00 +02:00
Bram Matthys
6facc2173e
1) If there is no client data, still run main loop a bit more often than once per 1-2secs.
...
2) Call DNS routines more often, not just once per second.
2) Slightly lower the DNS timeout, max 2500 + 5000 = 7500ms now. Previously was 3000 + 6000 = 9000ms.
2015-06-27 09:50:52 +02:00
Travis McArthur
81cba1b12d
Remove remaining OPCan*
...
Updates to default operclasses as well
2015-06-26 11:08:00 -07:00
Bram Matthys
8df116f2f1
more win32 fixes
2015-06-26 16:56:59 +02:00
Bram Matthys
84a61c6d8e
set PIDFILE on win32
2015-06-26 16:53:53 +02:00
Bram Matthys
e5ec2a6487
Rename macro DATADIR -> PERMDATADIR. Windows SDK's.. just freaking amazing....
2015-06-26 16:50:36 +02:00
Bram Matthys
bf56672249
remove set::hosts. use oper::vhost instead.
2015-06-26 09:22:33 +02:00
Travis McArthur
10bfb21321
Remove most of OPCan functionality - more later
2015-06-25 21:46:55 -07:00