Bram Matthys
ad23afc81f
Improve (error) messages shown on console while booting. Fatal boot errors are now shown on the console, no need to check ircd.log.
2015-08-10 21:50:23 +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
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
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
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
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
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
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
Bram Matthys
f1a95ffd0b
Remove IPList - unused
2015-07-13 14:35:36 +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
c2f4e0fb2a
Support multiple oper::swhois items.
2015-07-10 10:15:36 +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
15977e011d
remove umode 'g' (failops), we have snomasks and oper umode for this.
2015-07-09 14:09:02 +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
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
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
Travis McArthur
81cba1b12d
Remove remaining OPCan*
...
Updates to default operclasses as well
2015-06-26 11:08:00 -07:00
Bram Matthys
0f2af3f506
current 3.4.x git is really bleeding edge now, come back in a day or so:
...
* remove netadmin, services-admin, admin, co-admin.
* remove all oper flags (there are some placeholders for the next... <24hrs..)
* ADMINCHAT and NACHAT are gone, since admin & netadmin no longer exist
* SVSO used oper flags, but this no longer exists, SVSO removed. maybe later we can add some sort of replacement.. maybe..
* re-style the m_oper code a bit
2015-06-25 22:26:53 +02:00
Travis McArthur
527a00dafa
More ACL work, rip out *admin support (mostly...)
...
Not totally tested - I validated it built, I validated ACL validation worked, I validated that most of the ripped out functionality seemed to be absent, eg: we still set the modes (backwards compat w/ services?) but we don't actually check them anywhere, or add them to your whois.
2015-06-24 19:17:40 -04:00
Bram Matthys
dd3c4ac4f4
Insert an extra parameter in UmodeAdd and SnomaskAdd to indicate "unset this on de-oper". Safer and better than in XYZ places in the code.
2015-06-21 20:37:53 +02:00
Bram Matthys
c0f18b3e8e
Replace user mode +v ("victim", receive infected DCC notices) with snomask +D (modules/snomasks/dccreject).
2015-06-21 19:48:13 +02:00
Bram Matthys
7f5f26d0d8
Move user mode +R to usermodes/regonlymsg
2015-06-21 11:14:24 +02:00
Bram Matthys
8cb381cc8e
Move user mode +S to usermodes/servicebot.
...
TODO: hide channels in /WHOIS and some more testing. Tomorrow.. ;)
2015-06-20 21:09:17 +02:00
Bram Matthys
489230cebf
Move user mode +q to usermodes/nokick
2015-06-20 20:05:33 +02:00
Bram Matthys
10dd6267de
Move user mode +W to usermodes/showwhois
2015-06-20 18:56:08 +02:00
Bram Matthys
69fa434a0c
Removed helpop user mode (not the command) since nowadays it does nothing but add a title to whois. You can use swhois for that, like via vhost::swhois.
2015-06-20 18:42:53 +02:00
Bram Matthys
501daede0c
move cgiirc block to webirc module and rename the block to webirc { }
2015-06-12 20:16:26 +02:00
Bram Matthys
678268f2a3
Allow multiple masks in link::incoming::mask
...
Make linking code use unreal_mask functions as well. Some fixes.
2015-06-03 10:39:33 +02:00
Bram Matthys
e49563fc7c
Ugly oper::from::userhost is now oper::mask, vhost::from::userhost is now vhost::mask.
...
Coders: added generic mask functions: unreal_mask_match(), unreal_add_masks() and unreal_delete_masks().
These deal with one or multiple masks and do all the work for you ;)
2015-06-03 09:57:24 +02:00
Travis McArthur
6cb5cbfc06
Remove unnecessary cptr in ACLs
2015-06-01 22:44:49 -04:00
Bram Matthys
ecd06aa530
Now actually use PCRE2.
2015-06-01 09:51:33 +02:00
Travis McArthur
574297054c
Modify verification function calls
2015-06-01 00:38:50 -04:00
Travis McArthur
01f997f917
Allow opers to have oper-class
2015-05-31 23:41:57 -04:00
Travis McArthur
adf8a61625
Add support for adding/removing validators
2015-05-31 23:19:08 -04:00
Travis McArthur
7ca84567fe
Add oper ACL evaluation system
...
Still requires module and core hooks to be added, config test to be added, and to require these for perm validation - this enables core parser and querying of system though
2015-05-31 17:20:28 -04:00
Travis McArthur
d4bb75cd39
Add oper class parser and structs
2015-05-31 17:20:28 -04:00
Bram Matthys
58bd3cf60b
Preparations for #4356 (experimental / on-going):
...
* add general matching framework (aMatch type, unreal_match_xxx functions)
* change spamfilter { } block syntax
* add support for simple wildcard matching (non-regex, just '?' and '*')
This is the initial commit so the new lib is not in yet, 'regex' is not
functional (but 'posix' and 'simple' are working), linking has not been
fully tested and no warnings are printed yet. IOTW: work in progress!
2015-05-30 21:11:11 +02:00