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
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
47ec1da3f5
Remove unused functions
2015-07-28 21:42: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
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
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
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
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
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
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
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
f1a95ffd0b
Remove IPList - unused
2015-07-13 14:35:36 +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
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
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
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
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
1a1ef4d0d3
Fix MODVAR stuff on Windows. Fixes a crash.
2015-06-28 10:41:49 +02:00
Travis McArthur
10bfb21321
Remove most of OPCan functionality - more later
2015-06-25 21:46:55 -07:00
Bram Matthys
80362e0d9c
Fix compile warnings (and possibly a crash in dcc deny code introduced a week or so ago)
2015-06-25 22:38:22 +02: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
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
8866793bdb
Move user mode +p to usermodes/privacy
2015-06-21 10:40:25 +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
4ae1eb23f0
Move user mode +B to usermodes/bot module.
...
Also add HOOKTYPE_WHO_STATUS.
2015-06-20 18:30:57 +02:00
Travis McArthur
221bc2a92b
Refactor auth ACL to remove superfluous param
2015-06-14 17:59:37 -04: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
dbda0eb419
Ask Windows users if they want to automatically upgrade the configuration file(s) [GUI mode]
2015-06-08 10:09:51 +02:00
Bram Matthys
e1b7c34c96
Fix various warnings, including one reported by Adam: possible crash in aliases (introduced 1-2wks ago)
2015-06-07 22:07:00 +02:00