]> jfr.im git - irc/unrealircd/unrealircd.git/log
irc/unrealircd/unrealircd.git
6 years agoUpdate relnotes
Bram Matthys [Mon, 20 Nov 2017 17:57:40 +0000 (18:57 +0100)] 
Update relnotes

6 years agoMove 4.0.16 release notes to doc/RELEASE-NOTES.old
Bram Matthys [Mon, 20 Nov 2017 17:55:38 +0000 (18:55 +0100)] 
Move 4.0.16 release notes to doc/RELEASE-NOTES.old

6 years agoextbans/timedban automatic -e/-I fix (duh)
Bram Matthys [Mon, 20 Nov 2017 17:50:02 +0000 (18:50 +0100)] 
extbans/timedban automatic -e/-I fix (duh)
Should add a testcase for it, but the test would take 1 minute. Hmmm.

6 years agoextbans/timedban (~t): fix unset not working for +e/+I and reduce load
Bram Matthys [Mon, 20 Nov 2017 15:48:48 +0000 (16:48 +0100)] 
extbans/timedban (~t): fix unset not working for +e/+I and reduce load
by spreading the unset event over multiple events (process roughly a
quarter each time). Not important for small networks but for big ones..

6 years agoRe-indent src/modules/m_mode.c (yuck...)
Bram Matthys [Mon, 20 Nov 2017 12:48:18 +0000 (13:48 +0100)] 
Re-indent src/modules/m_mode.c (yuck...)

6 years agoAdd release notes entry for timed bans support in +f.
Bram Matthys [Mon, 20 Nov 2017 08:48:25 +0000 (09:48 +0100)] 
Add release notes entry for timed bans support in +f.

6 years agoTimedban support in +f [5t#b2]:10 (set 2 minute ban on text flood).
Bram Matthys [Mon, 20 Nov 2017 08:44:25 +0000 (09:44 +0100)] 
Timedban support in +f [5t#b2]:10 (set 2 minute ban on text flood).
Naturally this is only available if the extbans/timedban module is
loaded and you should do so on all your servers on the same network
if you want to avoid confusion/desynchs.

6 years agoModule API: New function is_module_loaded("name"): return 1 / 0
Bram Matthys [Mon, 20 Nov 2017 08:43:43 +0000 (09:43 +0100)] 
Module API: New function is_module_loaded("name"): return 1 / 0

6 years agoTimed bans: ~t:duration:mask
Bram Matthys [Mon, 20 Nov 2017 08:16:03 +0000 (09:16 +0100)] 
Timed bans: ~t:duration:mask
These are bans that are automatically removed by the server.
The duration is in minutes and the mask can be any ban mask.
=> Note that you need to load the extbans/timedban module!
Some examples:
* A 5 minute ban on a host:
  +b ~t:5:*!*@host
* A 5 minute quiet ban on a host (unable to speak):
  +b ~t:5:~q:*!*@host
* An invite exception for 1440m/24hrs
  +I ~t:1440:*!*@host
* A temporary exempt ban for a services account
  +e ~t:1440:~a:Account
* Allows someone to speak through +m for the next 24hrs:
  +e ~t:1440:~m:moderated:*!*@host
* And any other crazy ideas you can come up with...

6 years agoBug: set::restrict-extendedbans did not have effect in stacked bans.
Bram Matthys [Sun, 19 Nov 2017 19:43:15 +0000 (20:43 +0100)] 
Bug: set::restrict-extendedbans did not have effect in stacked bans.
For example if you had:
set { restrict-extendedbans "a"; };
Then this would be rejected:
MODE #chan +b ~a:Account
However, you could still set:
MODE #chan +b ~q:~a:Account
Now this is properly rejected as well.

6 years agoLoad extbans/msgbypass from modules.optional.conf
Bram Matthys [Sun, 19 Nov 2017 16:19:35 +0000 (17:19 +0100)] 
Load extbans/msgbypass from modules.optional.conf

6 years agoMake types future-proof. Fix ~m case for +M.
Bram Matthys [Sun, 19 Nov 2017 16:12:28 +0000 (17:12 +0100)] 
Make types future-proof. Fix ~m case for +M.
BypassMessageRestrictionType -> BypassChannelMessageRestrictionType
BYPASS_MSG_* -> BYPASS_CHANMSG_*

6 years agoNew ban exception ~m:type:mask - allows bypassing of message restrictions.
Bram Matthys [Sun, 19 Nov 2017 15:40:39 +0000 (16:40 +0100)] 
New ban exception ~m:type:mask - allows bypassing of message restrictions.
Valid types are: 'external' (bypass +n), moderated (bypass +m/+M),
'filter' (bypass +G), 'color' (bypass +S/+c) and 'notice' (bypass +T).
Some examples:
* Let LAN users bypass +m: +e ~m:moderated:*!*@192.168.*
* Make GitHub commit bot bypass +n: +e ~m:external:*!*@ipmask
* Allow a services account to use color: +e ~m:color:~a:ColorBot

6 years agoSend errors regarding invalid bans (if available).
Bram Matthys [Sat, 18 Nov 2017 18:15:44 +0000 (19:15 +0100)] 
Send errors regarding invalid bans (if available).
Fix case where conv_param() returns NULL (ban rejected)
causing is_ok() function not to be called so the user
never sees the error. We now try to call the is_ok after
conv_param returns NULL.
So not really an API change, more like a fix.

6 years agoWay to customize the reject connection messages.
Bram Matthys [Fri, 17 Nov 2017 10:13:11 +0000 (11:13 +0100)] 
Way to customize the reject connection messages.

6 years agoMove AllowClient/check_client/check_init to m_nick module
Bram Matthys [Fri, 17 Nov 2017 09:45:54 +0000 (10:45 +0100)] 
Move AllowClient/check_client/check_init to m_nick module
(apparently one of the previous commits was partial)

6 years agoCode cleanups in AllowClient and register_user
Bram Matthys [Fri, 17 Nov 2017 09:37:45 +0000 (10:37 +0100)] 
Code cleanups in AllowClient and register_user

6 years agoMove AllowClient/check_client/check_init to m_nick module
Bram Matthys [Fri, 17 Nov 2017 09:06:44 +0000 (10:06 +0100)] 
Move AllowClient/check_client/check_init to m_nick module

6 years agoantirandom sample conf: remove confusing phrase that doesn't apply
Bram Matthys [Wed, 15 Nov 2017 10:49:46 +0000 (11:49 +0100)] 
antirandom sample conf: remove confusing phrase that doesn't apply

6 years agoMove HOOKTYPE_SECURE_CONNECT hook and mode setting up a bit.
Bram Matthys [Mon, 13 Nov 2017 16:02:05 +0000 (17:02 +0100)] 
Move HOOKTYPE_SECURE_CONNECT hook and mode setting up a bit.

6 years agoRephrase. Still too long, though.
Bram Matthys [Mon, 13 Nov 2017 16:00:36 +0000 (17:00 +0100)] 
Rephrase. Still too long, though.

6 years agoUnrealIRCd will no longer give +z to users on WEBIRC gateways, unless
Bram Matthys [Mon, 13 Nov 2017 15:47:22 +0000 (16:47 +0100)] 
UnrealIRCd will no longer give +z to users on WEBIRC gateways, unless
the WEBIRC gateway gives us some assurance that the
client<->webirc gateway connection is also secure (eg: https).

This is the regular WEBIRC format:
WEBIRC password gateway hostname ip

This indicates a secure client connection (NEW):
WEBIRC password gateway hostname ip :secure

Naturally, WEBIRC gateways MUST NOT send the "secure" option if
the client is using http or some other insecure protocol.

https://github.com/ircv3/ircv3-ideas/issues/12

6 years agoMove the place where we set umode +z (secure). Needed for next.
Bram Matthys [Mon, 13 Nov 2017 14:54:18 +0000 (15:54 +0100)] 
Move the place where we set umode +z (secure). Needed for next.

6 years agoUpdate version to 4.0.17-devel to reflect development status.
Bram Matthys [Mon, 13 Nov 2017 07:25:00 +0000 (08:25 +0100)] 
Update version to 4.0.17-devel to reflect development status.

6 years agoAdd reference to https://www.unrealircd.org/docs/IRCOp_guide
Bram Matthys [Mon, 13 Nov 2017 07:17:28 +0000 (08:17 +0100)] 
Add reference to https://www.unrealircd.org/docs/IRCOp_guide

6 years agoAppVeyor: needs both unrar and unzip
Bram Matthys [Sun, 12 Nov 2017 07:08:41 +0000 (08:08 +0100)] 
AppVeyor: needs both unrar and unzip

6 years agoUnrealIRCd 4.0.16
Bram Matthys [Sun, 12 Nov 2017 06:59:11 +0000 (07:59 +0100)] 
UnrealIRCd 4.0.16

6 years agoZip file now. Does this work?
Bram Matthys [Sat, 11 Nov 2017 10:06:48 +0000 (11:06 +0100)] 
Zip file now. Does this work?

6 years agoWindows: update dependencies (libs).
Bram Matthys [Sat, 11 Nov 2017 10:04:51 +0000 (11:04 +0100)] 
Windows: update dependencies (libs).

6 years agoUpdate c-ares to 1.13.0 (20-jun-2017)
Bram Matthys [Sat, 11 Nov 2017 08:57:35 +0000 (09:57 +0100)] 
Update c-ares to 1.13.0 (20-jun-2017)

6 years agoUpdate release notes
Bram Matthys [Fri, 10 Nov 2017 18:48:32 +0000 (19:48 +0100)] 
Update release notes

6 years agoUpdate conf/ssl/curl-ca-bundle.crt (Wed Sep 20 03:12:05 2017 GMT)
Bram Matthys [Fri, 10 Nov 2017 18:12:39 +0000 (19:12 +0100)] 
Update conf/ssl/curl-ca-bundle.crt (Wed Sep 20 03:12:05 2017 GMT)

6 years agoUpdate to PCRE2 10.30 (14-August-2017)
Bram Matthys [Fri, 10 Nov 2017 18:05:36 +0000 (19:05 +0100)] 
Update to PCRE2 10.30 (14-August-2017)

6 years agoDelete UnrealIRCd 3.2.x changelogs (they are in git anyway)
Bram Matthys [Fri, 10 Nov 2017 17:58:21 +0000 (18:58 +0100)] 
Delete UnrealIRCd 3.2.x changelogs (they are in git anyway)

6 years agoUnrealIRCd 4.0.16-rc1
Bram Matthys [Sun, 29 Oct 2017 11:16:43 +0000 (12:16 +0100)] 
UnrealIRCd 4.0.16-rc1

6 years agoFix numerous crash bugs in server to server code.
Bram Matthys [Sun, 29 Oct 2017 10:20:52 +0000 (11:20 +0100)] 
Fix numerous crash bugs in server to server code.
In 3.2.x we didn't fix these bugs since servers are trusted and
should send correct commands. In 4.0.x we changed this so we would
fix them when we come across such issues at normal priority (not
consider them security issues). I now took it a step further and
actively checked/looked for these issues and a bunch of them were
found. Almost all are NULL pointer dereferences, with some exceptions.
* S2S: MODE: check conv_param return value (NULL ptr crash)
* S2S: MODE: floodprot: More checks (NULL ptr crash)
* S2S: MODE: OOB write of NULL (write NULL past last element in an array)
* S2S: NICK: old compat fixes (NULL ptr crash)
* S2S: PROTOCTL: Check for double SID=
* S2S: SERVER: require at least 3 parameters (NULL ptr crash)
* S2S: SJOIN: require at least 3 parameters (NULL ptr crash)
* S2S: SJOIN: Fix OOB read (read 1 byte past buffer)
* S2S: TKL: validate set_at and expire_at (NULL ptr crash)
* S2S: TKL: require at least 9 parameters for spamf, not 8 (NULL ptr crash)
* S2S: TKL: ignore invalid spamfilter matching type (remove abort() call)
* S2S: TOPIC: querying for topic is not permitted (NULL ptr crash)
* S2S: UID: require 12 parameters (NULL ptr crash)
* S2S: WATCH: this is not a server command (NULL ptr crash)
* Fix OOB read (1 byte beyond string) for timevals. This was reachable
  from config code, TKL (S2S) and /*LINE (Oper). In practice no crash.
* MODE: make code less confusing (effectively no change)
* TRACE: remove strange output in case of 0 lines of output
* Fix unimportant memory leak on boot (#4713, reported by dg)
* Fix small memory leak upon 'DNS i' (oper only command)
* Always work on a copy in clean_ban_mask(). This fixes a bug that could
  result in a strlcpy(buf, buf, sizeof(buf)). So, overlapping strings,
  which is undefined behavior.

6 years agoTravis-CI: Use CPPFLAGS instead of CFLAGS
Bram Matthys [Mon, 23 Oct 2017 14:52:28 +0000 (16:52 +0200)] 
Travis-CI: Use CPPFLAGS instead of CFLAGS

6 years agoTravis-CI: Use -DFAKELAG_CONFIGURABLE for tests. From 300 to 30s.
Bram Matthys [Mon, 23 Oct 2017 14:37:22 +0000 (16:37 +0200)] 
Travis-CI: Use -DFAKELAG_CONFIGURABLE for tests. From 300 to 30s.

6 years agoComment it out like this so we can use -D
Bram Matthys [Mon, 23 Oct 2017 14:37:00 +0000 (16:37 +0200)] 
Comment it out like this so we can use -D

6 years agoTravis-CI: Blah.
Bram Matthys [Mon, 23 Oct 2017 12:14:58 +0000 (14:14 +0200)] 
Travis-CI: Blah.

6 years agoReinstall git during run-tests (may have been removed earlier in 'local-curl' test)
Bram Matthys [Mon, 23 Oct 2017 11:42:16 +0000 (13:42 +0200)] 
Reinstall git during run-tests (may have been removed earlier in 'local-curl' test)

6 years agoUse MAKE="make -j3" to make ./Config run faster as well.
Bram Matthys [Mon, 23 Oct 2017 10:38:57 +0000 (12:38 +0200)] 
Use MAKE="make -j3" to make ./Config run faster as well.

6 years agoTravis-CI: Generate TLS certificate during test build (needed for testing further on)
Bram Matthys [Mon, 23 Oct 2017 10:34:41 +0000 (12:34 +0200)] 
Travis-CI: Generate TLS certificate during test build (needed for testing further on)

6 years agoAdd some clear marker between compile tests and other tests
Bram Matthys [Mon, 23 Oct 2017 10:05:33 +0000 (12:05 +0200)] 
Add some clear marker between compile tests and other tests

6 years agoTravis-CI: run-tests: install 'rake'
Bram Matthys [Mon, 23 Oct 2017 10:02:52 +0000 (12:02 +0200)] 
Travis-CI: run-tests: install 'rake'

6 years agoRun make with -j3. Add +x to extras/build-tests/nix/run-tests (:D)
Bram Matthys [Mon, 23 Oct 2017 09:53:50 +0000 (11:53 +0200)] 
Run make with -j3. Add +x to extras/build-tests/nix/run-tests (:D)

6 years agoUse 'set -e' and try to run test framework
Bram Matthys [Mon, 23 Oct 2017 09:49:06 +0000 (11:49 +0200)] 
Use 'set -e' and try to run test framework

6 years agoTravis-CI: path changes
Bram Matthys [Mon, 23 Oct 2017 09:16:05 +0000 (11:16 +0200)] 
Travis-CI: path changes

6 years agoTravis-CI: cleanup / new dir structure
Bram Matthys [Mon, 23 Oct 2017 09:13:05 +0000 (11:13 +0200)] 
Travis-CI: cleanup / new dir structure

6 years agoAPI change for HOOKTYPE_PRE_INVITE and fix #5023:
Bram Matthys [Mon, 23 Oct 2017 08:07:33 +0000 (10:07 +0200)] 
API change for HOOKTYPE_PRE_INVITE and fix #5023:
* API change for HOOKTYPE_PRE_INVITE:
  (aClient *sptr, aClient *target, aChannel *chptr, int *override)
  Modules must now send the error message instead of only returning
  HOOK_DENY. Also check for operoverride and set *override=1.

This so modules can send their own error messages instead of the
default message being sent ("channel is +V" - which is not true).

Reported by Gottem (#5023).

6 years agoAdd build status badge for Windows (AppVeyor)
Bram Matthys [Mon, 23 Oct 2017 07:00:14 +0000 (09:00 +0200)] 
Add build status badge for Windows (AppVeyor)

6 years agoUpdate libressl paths for VS2017
Bram Matthys [Sun, 22 Oct 2017 16:11:24 +0000 (18:11 +0200)] 
Update libressl paths for VS2017
(or actually current unreal w/o rollback for vs2012)

6 years agoI've stopped trying to understand this.
Bram Matthys [Sun, 22 Oct 2017 15:11:45 +0000 (17:11 +0200)] 
I've stopped trying to understand this.
Apparently there's a difference between sed 3.x and sed 4.x

6 years ago1) From double escaping to single escaping, such joy.
Bram Matthys [Sun, 22 Oct 2017 14:41:23 +0000 (16:41 +0200)] 
1) From double escaping to single escaping, such joy.
2) Use 'iscc' rather than 'compil32' since the latter pops up a
   dialog box which blocks the entire build process.
3) Apparently the VS2017 image has a broken VS2012 since it bails
   on winsock.h. So try to use different images for both builds.

6 years agoBe consistent when setting WINVER. This fixes a compile issue
Bram Matthys [Sun, 22 Oct 2017 14:23:52 +0000 (16:23 +0200)] 
Be consistent when setting WINVER. This fixes a compile issue
with Visual Studio 2017.

6 years agoSilence rar extraction stuff - way too noisy
Bram Matthys [Sun, 22 Oct 2017 14:18:50 +0000 (16:18 +0200)] 
Silence rar extraction stuff - way too noisy

6 years agoTell AppVeyor to use VS2017 image, apparently not the default.
Bram Matthys [Sun, 22 Oct 2017 14:17:40 +0000 (16:17 +0200)] 
Tell AppVeyor to use VS2017 image, apparently not the default.

6 years agoDuh 3
Bram Matthys [Sun, 22 Oct 2017 14:11:24 +0000 (16:11 +0200)] 
Duh 3

6 years agoDuh 2
Bram Matthys [Sun, 22 Oct 2017 14:07:32 +0000 (16:07 +0200)] 
Duh 2

6 years agoDuh.
Bram Matthys [Sun, 22 Oct 2017 14:06:54 +0000 (16:06 +0200)] 
Duh.

6 years agoAppVeyor: restructuring, add vs2017 target, ..
Bram Matthys [Sun, 22 Oct 2017 14:02:48 +0000 (16:02 +0200)] 
AppVeyor: restructuring, add vs2017 target, ..

6 years agoLet's try an environment (build config)
Bram Matthys [Sun, 22 Oct 2017 12:47:38 +0000 (14:47 +0200)] 
Let's try an environment (build config)

6 years agoSomething tells me error checking won't work in batch files without this..
Bram Matthys [Sun, 22 Oct 2017 12:41:54 +0000 (14:41 +0200)] 
Something tells me error checking won't work in batch files without this..

6 years agoAh no.
Bram Matthys [Sun, 22 Oct 2017 12:38:19 +0000 (14:38 +0200)] 
Ah no.

6 years agoNevermind, use external batch file.
Bram Matthys [Sun, 22 Oct 2017 12:34:41 +0000 (14:34 +0200)] 
Nevermind, use external batch file.

6 years agoTry 5001
Bram Matthys [Sun, 22 Oct 2017 12:31:54 +0000 (14:31 +0200)] 
Try 5001

6 years agoHm CRLF shit?
Bram Matthys [Sun, 22 Oct 2017 12:28:23 +0000 (14:28 +0200)] 
Hm CRLF shit?

6 years agoInitial appveyor file for automated Windows build.
Bram Matthys [Sun, 22 Oct 2017 12:25:54 +0000 (14:25 +0200)] 
Initial appveyor file for automated Windows build.

6 years agoFix bug caused by 5124e60b7cd12da3d0d261b671c0a55b2bbc5f05 a few days ago:
Bram Matthys [Wed, 18 Oct 2017 15:39:54 +0000 (17:39 +0200)] 
Fix bug caused by 5124e60b7cd12da3d0d261b671c0a55b2bbc5f05 a few days ago:
channel MODE without parameters being sent when force-rejoin is in use.

6 years agoAdd extra 6 second fake lag penalty on /INVITE.
Bram Matthys [Wed, 18 Oct 2017 13:56:06 +0000 (15:56 +0200)] 
Add extra 6 second fake lag penalty on /INVITE.

6 years agoSet cptr->name after EAUTH. Fixes bug #4915 reported by Eman:
Bram Matthys [Wed, 18 Oct 2017 13:43:13 +0000 (15:43 +0200)] 
Set cptr->name after EAUTH. Fixes bug #4915 reported by Eman:
missing server name in link rejection message (clock mismatch).

6 years agoisupport does not update maxbans. Reported by dyfrgi (#4882).
Bram Matthys [Wed, 18 Oct 2017 13:22:33 +0000 (15:22 +0200)] 
isupport does not update maxbans. Reported by dyfrgi (#4882).

6 years agoThe default oper snomask now includes 'S' (spamfilter notices).
Bram Matthys [Wed, 18 Oct 2017 13:11:12 +0000 (15:11 +0200)] 
The default oper snomask now includes 'S' (spamfilter notices).

6 years agoIf you have any blacklist { } block then UnrealIRCd will set an
Bram Matthys [Wed, 18 Oct 2017 13:03:12 +0000 (15:03 +0200)] 
If you have any blacklist { } block then UnrealIRCd will set an
set::handshake-delay of 2 seconds by default. This will allow (most)
DNSBL checking to be finished before the user comes online, while
still allowing a smooth user experience.
If your DNS(BL) is slow then you could raise this setting slightly.

6 years agoAdd set::handshake-delay https://www.unrealircd.org/docs/Set_block#set::handshake...
Bram Matthys [Wed, 18 Oct 2017 12:57:35 +0000 (14:57 +0200)] 
Add set::handshake-delay https://www.unrealircd.org/docs/Set_block#set::handshake-delay

6 years agoThis check is already present in parse_client_queued()
Bram Matthys [Wed, 18 Oct 2017 12:31:35 +0000 (14:31 +0200)] 
This check is already present in parse_client_queued()

6 years agoRename 'draft/sts' to 'sts'.
Bram Matthys [Tue, 17 Oct 2017 16:12:13 +0000 (18:12 +0200)] 
Rename 'draft/sts' to 'sts'.

6 years agoclarify
Bram Matthys [Thu, 12 Oct 2017 18:18:24 +0000 (20:18 +0200)] 
clarify

6 years agoUpdate release notes to reflect latest changes.
Bram Matthys [Thu, 12 Oct 2017 18:16:42 +0000 (20:16 +0200)] 
Update release notes to reflect latest changes.

6 years agoShow (previously hidden) umode -r to user on nickchange.
Bram Matthys [Wed, 11 Oct 2017 16:25:58 +0000 (18:25 +0200)] 
Show (previously hidden) umode -r to user on nickchange.
Reported by Mewsito (#4949).

6 years agoFix Windows compile problem
Bram Matthys [Wed, 11 Oct 2017 15:33:39 +0000 (17:33 +0200)] 
Fix Windows compile problem

6 years agoCAP chghost: also send CHGHOST message to "self" (impacted user)
Bram Matthys [Wed, 11 Oct 2017 08:29:00 +0000 (10:29 +0200)] 
CAP chghost: also send CHGHOST message to "self" (impacted user)
https://github.com/ircv3/ircv3-specifications/issues/324

6 years agoUse spkifp instead of sslclientcertfp in example conf.
Bram Matthys [Mon, 9 Oct 2017 13:10:37 +0000 (15:10 +0200)] 
Use spkifp instead of sslclientcertfp in example conf.
Add example link block for services (but reject if user does not
change the default password)

6 years agoAdd './unrealircd spkifp' which will output the SPKI fingerprint
Bram Matthys [Mon, 9 Oct 2017 12:59:19 +0000 (14:59 +0200)] 
Add './unrealircd spkifp' which will output the SPKI fingerprint
along with the exact password section to use in the link block
on the other side of the link.
Also used in tutorial now at
https://www.unrealircd.org/docs/Tutorial:_Linking_servers

6 years agoTell admins to verify the SSL/TLS certificates of their server links.
Bram Matthys [Mon, 9 Oct 2017 12:17:35 +0000 (14:17 +0200)] 
Tell admins to verify the SSL/TLS certificates of their server links.
https://www.unrealircd.org/docs/Link_verification
This is only outputted if both sides are 4.0.16+ so we can use spkifp
and use the same instruction on both sides of the link.
(If we would do it for previous versions then we would only give
 half of the instructions to the users, which makes no sense)

6 years agoAdd support for 'spki' authtype. Example:
Bram Matthys [Mon, 9 Oct 2017 10:28:08 +0000 (12:28 +0200)] 
Add support for 'spki' authtype. Example:
password "AHMYBevUxXKU/S3pdBSjXP4zi4VOetYQQVJXoNYiBR0=" { spkifp; };
This value will stay the same even for new SSL/TLS certificates,
as long as the key stays the same. This can be useful in case of
Let's Encrypt (if you use a tool that keeps the same key, that is,
certbot does not at the moment). Suggested by grawity (#5014).

Also make auth type 'sslclientcert' available as 'cert' and
make 'sslclientcertfp' available as 'certfp'.

6 years agoDumdeedum
Bram Matthys [Sun, 8 Oct 2017 16:21:43 +0000 (18:21 +0200)] 
Dumdeedum

6 years agoWhen booting the IRCd and the log is full (log::maxfilesize), the IRCd
Bram Matthys [Sun, 8 Oct 2017 16:19:16 +0000 (18:19 +0200)] 
When booting the IRCd and the log is full (log::maxfilesize), the IRCd
would not write the appropriate 'Max file size reached' message to the
old log file. Reported by NoMiaus (#4919).

6 years agoA common complaint is that spamfilters are hard to remove. Well, no more!
Bram Matthys [Sun, 8 Oct 2017 15:09:28 +0000 (17:09 +0200)] 
A common complaint is that spamfilters are hard to remove. Well, no more!
There is now '/spamfilter del' which will output all spamfilter along with
the appropriate command to delete each spamfilter (by unique ID).
This way it should be easy for anyone to delete an existing spamfilter.

We also refer to this new feature from '/spamfilter', '/stats spamfilter',
etc.

6 years agoAdd option: set { ban-include-username yes; }; which will make bans
Bram Matthys [Sun, 8 Oct 2017 13:44:42 +0000 (15:44 +0200)] 
Add option: set { ban-include-username yes; }; which will make bans
places by spamfilters (and some other systems) to be placed not on *@ip
but rather on user@ip. Note that this won't work for ZLINE/GZLINE since
no ident/username lookups are done in such cases.
Bit of a niche feature but okay..

6 years agoAdd set { cloak-method ip; }; which will make cloaking only be done
Bram Matthys [Sun, 8 Oct 2017 13:14:57 +0000 (15:14 +0200)] 
Add set { cloak-method ip; }; which will make cloaking only be done
on the IP and thus result in an XX.YY.ZZ.IP cloaked host.
This so you can have "IP cloaking" without disabling DNS lookups.
GLINES on hosts still work and IRCOps (and yourself) can still see
the host in /WHOIS.
Requested in 4957 by Gottem and The_Myth.

6 years agoIn /STATS S display throttling as anti-flood::connect-flood, as that
Bram Matthys [Sun, 8 Oct 2017 07:12:46 +0000 (09:12 +0200)] 
In /STATS S display throttling as anti-flood::connect-flood, as that
is the new name (since about 2 years).

6 years agoTweaks
Bram Matthys [Sat, 7 Oct 2017 19:42:41 +0000 (21:42 +0200)] 
Tweaks

6 years agoSome initial work on release notes for 4.0.16.
Bram Matthys [Sat, 7 Oct 2017 19:36:22 +0000 (21:36 +0200)] 
Some initial work on release notes for 4.0.16.

6 years agoAutomatically discover SASL server if saslmechlist is sent by services
Bram Matthys [Sat, 7 Oct 2017 19:05:49 +0000 (21:05 +0200)] 
Automatically discover SASL server if saslmechlist is sent by services
and set::sasl-server is not set by the administrator. Looks like this:
*** Services server 'services.test.net' provides SASL authentication, good! I'm setting set::sasl-server to 'services.test.net' internally.
Hopefully this will increase SASL availability significantly.
That is, once anope and atheme start sending the saslmechlist to us,
of course ;) (see commit d6e26d59e5d403702152b34c94634fb873bba015)

6 years agoMove CAP NEW "sasl" sending to after EOS (End Of Synch)
Bram Matthys [Sat, 7 Oct 2017 17:40:39 +0000 (19:40 +0200)] 
Move CAP NEW "sasl" sending to after EOS (End Of Synch)
This so saslmechs are properly sent in case of services (re)connect,
otherwise the CAP NEW is sent too early when the saslmechs are
not known yet.
NOTE: This makes sending "EOS" mandatory for any SASL servers.
You should be doing this since 14 years ago (it was added
in 3.2beta18 in August 2003) so hopefully that is the case.
Anope is good anyway :)

6 years agoAllow services to set the saslmechlist so it can be used by sasl v3.2.
Bram Matthys [Sat, 7 Oct 2017 17:20:06 +0000 (19:20 +0200)] 
Allow services to set the saslmechlist so it can be used by sasl v3.2.
Note to services coders: send something like this:
MD client your.services.server saslmechlist :EXTERNAL,PLAIN

6 years agoOnly send CAP parameters (token=aaaaaa) to clients with CAP proto 302 or higher,
Bram Matthys [Sat, 7 Oct 2017 17:18:21 +0000 (19:18 +0200)] 
Only send CAP parameters (token=aaaaaa) to clients with CAP proto 302 or higher,
as per CAP specification. (So use "CAP LS 302" to see them)

6 years agoAdd support for "CAP extended-join".
Bram Matthys [Sat, 7 Oct 2017 16:33:25 +0000 (18:33 +0200)] 
Add support for "CAP extended-join".

6 years agoFix crash due to previous enhancements.
Bram Matthys [Sat, 7 Oct 2017 15:25:37 +0000 (17:25 +0200)] 
Fix crash due to previous enhancements.