]> jfr.im git - irc/unrealircd/unrealircd.git/log
irc/unrealircd/unrealircd.git
6 years agoEnable tests for OS X builds origin/tmcarthur-osx
Travis McArthur [Sun, 29 Apr 2018 03:35:44 +0000 (20:35 -0700)] 
Enable tests for OS X builds

6 years agoInstall correct gems on OS X environments
Travis McArthur [Sun, 29 Apr 2018 03:01:02 +0000 (20:01 -0700)] 
Install correct gems on OS X environments

6 years agoUpdate run-tests
Travis McArthur [Sun, 29 Apr 2018 02:23:02 +0000 (19:23 -0700)] 
Update run-tests

6 years agoSet default ECDH(E) curves to be X25519:secp521r1:secp384r1:prime256v1 with
Bram Matthys [Fri, 27 Apr 2018 18:08:47 +0000 (20:08 +0200)] 
Set default ECDH(E) curves to be X25519:secp521r1:secp384r1:prime256v1 with
the following remarks:
* We only set these curves if SSL_CTX_set1_curves_list() is available
  (OpenSSL 1.0.2 or later, LibreSSL 2.5.1 or later)
* The X25519 curve is only added if it is available (OpenSSL 1.1.0+)

6 years agoMove detection of SSL_CTX_set1_curves_list to autoconf (CHECK_SSL_CTX_SET1_CURVES_LIST)
Bram Matthys [Fri, 27 Apr 2018 17:27:19 +0000 (19:27 +0200)] 
Move detection of SSL_CTX_set1_curves_list to autoconf (CHECK_SSL_CTX_SET1_CURVES_LIST)

6 years agoImprove comments in source code to better explain what's going on.
Bram Matthys [Fri, 27 Apr 2018 16:10:17 +0000 (18:10 +0200)] 
Improve comments in source code to better explain what's going on.
..and so nobody makes the same mistake.

6 years agoAdd set::ssl::ecdh-curve so you can force one or more ECDH(E) curves.
Bram Matthys [Fri, 27 Apr 2018 15:59:53 +0000 (17:59 +0200)] 
Add set::ssl::ecdh-curve so you can force one or more ECDH(E) curves.
This requires OpenSSL 1.0.2 or newer (released on 22 Jan 2015).
Also fix a bug with OpenSSL 1.1.0+ where - due to removal of an API
function - we accidentally forced curve P-256 rather than automatic
selection. That sucks because the automatic selection (since 1.0.2+)
allows supporting multiple curves and selecting the highest one.

6 years agoTravis-CI: OS X: try to make system-curl work
Bram Matthys [Thu, 26 Apr 2018 13:17:09 +0000 (15:17 +0200)] 
Travis-CI: OS X: try to make system-curl work

6 years agoTravis-CI: system-cares + system-curl test wasn't run properly
Bram Matthys [Thu, 26 Apr 2018 10:47:12 +0000 (12:47 +0200)] 
Travis-CI: system-cares + system-curl test wasn't run properly
because only the first argument was passed to the select-config script.
Also add 'set -x' in select-config for easier debugging.

6 years agoTravis-CI: Of course, OS X doesn't have 'ldd' *sigh*
Bram Matthys [Thu, 26 Apr 2018 08:58:16 +0000 (10:58 +0200)] 
Travis-CI: Of course, OS X doesn't have 'ldd' *sigh*

6 years agoTravis-CI: show 'ldd' output in build logs
Bram Matthys [Thu, 26 Apr 2018 08:36:23 +0000 (10:36 +0200)] 
Travis-CI: show 'ldd' output in build logs

6 years agoTravis-CI OS X improvements:
Bram Matthys [Thu, 26 Apr 2018 07:52:30 +0000 (09:52 +0200)] 
Travis-CI OS X improvements:
* Enable system curl, system c-ares and local curl tests
* Disable IRC test framework for now

6 years agoTravis-CI: OS X build test attempt 101
Bram Matthys [Thu, 26 Apr 2018 07:17:11 +0000 (09:17 +0200)] 
Travis-CI: OS X build test attempt 101

6 years agoTravis-CI: more adjustments for OSX
Bram Matthys [Wed, 25 Apr 2018 19:55:08 +0000 (21:55 +0200)] 
Travis-CI: more adjustments for OSX

6 years agoOSX: try find right packages to run test framework
Bram Matthys [Wed, 25 Apr 2018 19:40:57 +0000 (21:40 +0200)] 
OSX: try find right packages to run test framework

6 years agotemporarily disable -Werror to see OS X warnings
Bram Matthys [Wed, 25 Apr 2018 19:21:13 +0000 (21:21 +0200)] 
temporarily disable -Werror to see OS X warnings

6 years agoApparently you need to use -Wl,-rpath,xx and not -Wl,-rpath=xx. Fix OSX compile problem?
Bram Matthys [Wed, 25 Apr 2018 19:09:01 +0000 (21:09 +0200)] 
Apparently you need to use -Wl,-rpath,xx and not -Wl,-rpath=xx. Fix OSX compile problem?

6 years agoTravis-CI: Show config.log on failure to trace osx build issue
Bram Matthys [Wed, 25 Apr 2018 18:57:31 +0000 (20:57 +0200)] 
Travis-CI: Show config.log on failure to trace osx build issue

6 years agoFix bug 2 due to code cleanup yesterday...
Bram Matthys [Mon, 23 Apr 2018 06:50:34 +0000 (08:50 +0200)] 
Fix bug 2 due to code cleanup yesterday...

6 years agoOpenSSL detection: also check /usr/local/opt/openssl
Bram Matthys [Sun, 22 Apr 2018 18:01:50 +0000 (20:01 +0200)] 
OpenSSL detection: also check /usr/local/opt/openssl

6 years agoOS X build-test: +brew install openssl
Bram Matthys [Sun, 22 Apr 2018 17:49:43 +0000 (19:49 +0200)] 
OS X build-test: +brew install openssl

6 years agoFix crash number 1 due to latest changes (TOPIC).
Bram Matthys [Sun, 22 Apr 2018 17:38:29 +0000 (19:38 +0200)] 
Fix crash number 1 due to latest changes (TOPIC).

6 years agoLet's build (and fail) OS X via Travis-CI.
Bram Matthys [Sun, 22 Apr 2018 16:58:41 +0000 (18:58 +0200)] 
Let's build (and fail) OS X via Travis-CI.

6 years ago-Wno-format-zero-length
Bram Matthys [Sun, 22 Apr 2018 16:58:30 +0000 (18:58 +0200)] 
-Wno-format-zero-length

6 years agoEnable -Werror (via --enable-werror) in build tests
Bram Matthys [Sun, 22 Apr 2018 16:36:49 +0000 (18:36 +0200)] 
Enable -Werror (via --enable-werror) in build tests

6 years agoAdd --with-werror to enable -Werror
Bram Matthys [Sun, 22 Apr 2018 16:35:50 +0000 (18:35 +0200)] 
Add --with-werror to enable -Werror

6 years agoRemoved useless/unused * (pointer dereference) in increment
Bram Matthys [Sun, 22 Apr 2018 16:06:10 +0000 (18:06 +0200)] 
Removed useless/unused * (pointer dereference) in increment

6 years ago-Wno-invalid-source-encoding:
Bram Matthys [Sun, 22 Apr 2018 15:44:11 +0000 (17:44 +0200)] 
-Wno-invalid-source-encoding:
+dnl This is purely for charsys.c... I like it so we can easily read
+dnl this for non-utf8. We can remove it once we ditch non-utf8 some day
+dnl of course, or decide to ignore me and encode them.

6 years agoOnly use -Wl,-export-dynamic while linking unrealircd or modules.
Bram Matthys [Sun, 22 Apr 2018 15:36:04 +0000 (17:36 +0200)] 
Only use -Wl,-export-dynamic while linking unrealircd or modules.

6 years agoHandle return value for truncate() - only for debugging anyway..
Bram Matthys [Sun, 22 Apr 2018 15:35:36 +0000 (17:35 +0200)] 
Handle return value for truncate() - only for debugging anyway..

6 years agoGet rid of a number of clang warnings.
Bram Matthys [Sun, 22 Apr 2018 15:06:31 +0000 (17:06 +0200)] 
Get rid of a number of clang warnings.

6 years agoMake check for -fno-strict-aliasing / -Wno-pointer-sign work with clang.
Bram Matthys [Sun, 22 Apr 2018 14:50:51 +0000 (16:50 +0200)] 
Make check for -fno-strict-aliasing / -Wno-pointer-sign work with clang.

6 years agowarn_unused was a good idea once, but doing more harm than good at this point.
Bram Matthys [Sun, 22 Apr 2018 14:11:27 +0000 (16:11 +0200)] 
warn_unused was a good idea once, but doing more harm than good at this point.
Too many useless warnings and no easy way to ignore the result.

6 years agoSimilar to previous commit, change: alter HOOKTYPE_MODE_DEOP function:
Bram Matthys [Sun, 22 Apr 2018 14:09:10 +0000 (16:09 +0200)] 
Similar to previous commit, change: alter HOOKTYPE_MODE_DEOP function:
-int hooktype_mode_deop(aClient *sptr, aClient *victim, aChannel *chptr, u_int what, char modechar, long my_access, char **badmode);
+int hooktype_mode_deop(aClient *sptr, aClient *victim, aChannel *chptr, u_int what, int modechar, long my_access, char **badmode);
.. this to get rid of a compiler warning and potential problem.

6 years agoUpdate HOOKTYPE_CHANNEL_SYNCED to get rid of compiler warning.
Bram Matthys [Sun, 22 Apr 2018 14:02:13 +0000 (16:02 +0200)] 
Update HOOKTYPE_CHANNEL_SYNCED to get rid of compiler warning.
Can't safely use shorts with variable argument functions I think,
or maybe only with reduced type checking which is not what we want.
-void hooktype_channel_synced(aChannel *chptr, unsigned short merge, unsigned short removetheirs, unsigned short nomode);
+void hooktype_channel_synced(aChannel *chptr, int merge, int removetheirs, int nomode);

6 years agoAdd strldup() and safestrldup(), reducing ridiculous amount of code in
Bram Matthys [Sun, 22 Apr 2018 13:40:21 +0000 (15:40 +0200)] 
Add strldup() and safestrldup(), reducing ridiculous amount of code in
m_pass and m_topic.c when duplicating strings with a length limit.
+/* strldup(str,max) copies a string and ensures the new buffer
+ * is at most 'max' size, including nul byte. The syntax is pretty
+ * much identical to strlcpy() except that the buffer is newly
+ * allocated.
+ * If you wonder why not use strndup() instead?
+ * I feel that mixing code with strlcpy() and strndup() would be
+ * rather confusing since strlcpy() assumes buffer size including
+ * the nul byte and strndup() assumes without the nul byte and
+ * will write one character extra. Hence this strldup(). -- Syzop
+ */

6 years agoMass-replace MyMalloc with MyMallocEx, even if it's unnecessary.
Bram Matthys [Sun, 22 Apr 2018 12:55:07 +0000 (14:55 +0200)] 
Mass-replace MyMalloc with MyMallocEx, even if it's unnecessary.
Replace century-old custom functions with C standard funcs,
such as AllocCpy -> strdup.

6 years agoRemove unused events.h
Bram Matthys [Sun, 22 Apr 2018 12:36:21 +0000 (14:36 +0200)] 
Remove unused events.h

6 years agoRemove sjoin.h (was included but contents were unused)
Bram Matthys [Sun, 22 Apr 2018 12:32:28 +0000 (14:32 +0200)] 
Remove sjoin.h (was included but contents were unused)

6 years agoMore code cleanups to get rid of useless casts and other useless
Bram Matthys [Sun, 22 Apr 2018 12:28:22 +0000 (14:28 +0200)] 
More code cleanups to get rid of useless casts and other useless
structures such as:
-       lp->value.cp = (char *)MyMalloc(strlen(mask) + 1);
-       (void)strcpy(lp->value.cp, mask);
+       lp->value.cp = strdup(mask);

6 years agoPartially rewrite send_channel_modes() (+helper functions).
Bram Matthys [Sun, 22 Apr 2018 11:51:37 +0000 (13:51 +0200)] 
Partially rewrite send_channel_modes() (+helper functions).
Although this is only used by servers lacking SJOIN/SJOIN3 so
is of limited use. Still.. got rid of the most ridiculous casts.

6 years agoGet rid of about a million (now) useless casts and some re-indenting.
Bram Matthys [Sun, 22 Apr 2018 08:29:36 +0000 (10:29 +0200)] 
Get rid of about a million (now) useless casts and some re-indenting.

6 years agoGet rid of compiler warning
Bram Matthys [Sun, 22 Apr 2018 07:50:13 +0000 (09:50 +0200)] 
Get rid of compiler warning

6 years agoSurely this can use the generic #include "unrealircd.h" instead?
Bram Matthys [Sun, 22 Apr 2018 07:48:12 +0000 (09:48 +0200)] 
Surely this can use the generic #include "unrealircd.h" instead?
Avoids sendto_realops() warning.

6 years agoMake m_ircops use RPL_TEXT rather than conflicting numeric.
Bram Matthys [Sun, 22 Apr 2018 07:42:14 +0000 (09:42 +0200)] 
Make m_ircops use RPL_TEXT rather than conflicting numeric.
The output of /IRCOPS isn't meant to be client parsable anyway (which
can be seen by the use of bold text and such), so using a generic
numeric rather than wasting two others seems sensible.
Reported by The_Myth in #5066.

6 years agoFix small memory leak if not passing the weak cipher config test (DES/3DES..)
Bram Matthys [Sun, 22 Apr 2018 07:37:06 +0000 (09:37 +0200)] 
Fix small memory leak if not passing the weak cipher config test (DES/3DES..)
Reported by Sky-Dancer (#5078).

6 years agoThis code can be a lot simpler, duh. Reported by Sky-Dancer (#5078).
Bram Matthys [Sun, 22 Apr 2018 07:35:05 +0000 (09:35 +0200)] 
This code can be a lot simpler, duh. Reported by Sky-Dancer (#5078).

6 years agoFix bug in blacklist module with multiple replies for the same IP.
Bram Matthys [Sun, 22 Apr 2018 07:04:14 +0000 (09:04 +0200)] 
Fix bug in blacklist module with multiple replies for the same IP.
We only parsed the first A record reply, so if the blacklist returned
multiple results /and/ you would not have all those types in your
blacklist { } block then you could miss a hit (false negative).

6 years agoAdd support for checking IPv6 addresses in blacklists.
Bram Matthys [Sun, 22 Apr 2018 06:30:02 +0000 (08:30 +0200)] 
Add support for checking IPv6 addresses in blacklists.
Suggested by k4be (#5040).

6 years agoAnd again a Windows compile fix (hm how did this happen.. :D)
Bram Matthys [Sat, 21 Apr 2018 18:35:54 +0000 (20:35 +0200)] 
And again a Windows compile fix (hm how did this happen.. :D)

6 years agoFix windows compile problem due to previous changes.
Bram Matthys [Sat, 21 Apr 2018 18:31:41 +0000 (20:31 +0200)] 
Fix windows compile problem due to previous changes.

6 years agoProperly report failure of fork(). Reported by mbw (#5087).
Bram Matthys [Sat, 21 Apr 2018 18:27:53 +0000 (20:27 +0200)] 
Properly report failure of fork(). Reported by mbw (#5087).

6 years agoCleanup of init_sys(): remove old stuff for ancient OS's.
Bram Matthys [Sat, 21 Apr 2018 18:12:23 +0000 (20:12 +0200)] 
Cleanup of init_sys(): remove old stuff for ancient OS's.
On *NIX now always redirect stdin, stdout and stderr to /dev/null for
safety and to prevent any ssh hanging as reported by mbw (#5087).
This code needs some testing on non-Linux though it should be all
POSIX, unless I missed something... :)

6 years agoChange numeric 008 format which reports snomask.
Bram Matthys [Sun, 25 Mar 2018 11:45:59 +0000 (13:45 +0200)] 
Change numeric 008 format which reports snomask.
This is for easier parsing of the "MODE yournick" response.
From:
:maintest.test.net 008 testuser :Server notice mask (+kcfjvGqSso)
To:
:maintest.test.net 008 testuser +kcfjvGqSso :Server notice mask
Reported by emerson in #5079.

6 years agoUpd relnotes
Bram Matthys [Sun, 25 Mar 2018 11:42:32 +0000 (13:42 +0200)] 
Upd relnotes

6 years agoFix segfault on set { hide-ban-reason; }; reported by Skizzerz (#5052)
Bram Matthys [Sun, 25 Mar 2018 11:41:57 +0000 (13:41 +0200)] 
Fix segfault on set { hide-ban-reason; }; reported by Skizzerz (#5052)

6 years agoIt's +e ~m:censor and not ~m:filter. Reported by acidvegas (#5054).
Bram Matthys [Sun, 25 Mar 2018 11:31:06 +0000 (13:31 +0200)] 
It's +e ~m:censor and not ~m:filter. Reported by acidvegas (#5054).

6 years agoFix './unrealircd reloadtls' not reloading certificates/keys if
Bram Matthys [Sun, 25 Mar 2018 11:22:19 +0000 (13:22 +0200)] 
Fix './unrealircd reloadtls' not reloading certificates/keys if
listen::ssl-options, sni::ssl-options or link::outgoing::ssl-options
are used. In short: it only reloaded the ones from set::ssl until
now. Bug reported by Mr_Smoke (#5072)

6 years agoAdd some initial release notes for 4.0.18 (not much..).
Bram Matthys [Wed, 7 Mar 2018 09:40:03 +0000 (10:40 +0100)] 
Add some initial release notes for 4.0.18 (not much..).

6 years ago'set::cloak-method ip' not working properly with DNS resolving.
Bram Matthys [Wed, 7 Mar 2018 09:22:24 +0000 (10:22 +0100)] 
'set::cloak-method ip' not working properly with DNS resolving.
Reported by The_Myth (#5064).

6 years agoDisable timesynch by default.
Bram Matthys [Wed, 7 Mar 2018 08:40:13 +0000 (09:40 +0100)] 
Disable timesynch by default.
Built-in time synchronization was added in 2006 when many computers did not
do time synchronization by default. Nowadays nearly all operating systems,
including many Linux distro's, Windows and OS X have time synchronization
enabled out-of-the box.
You can still re-enable the built-in timesynch feature via:
set { timesynch { enable yes; }; };
..but you should really use NTP instead.

6 years agoMake NTP packet (used by timesynch) more in-line with existing implementations.
Bram Matthys [Wed, 7 Mar 2018 08:39:20 +0000 (09:39 +0100)] 
Make NTP packet (used by timesynch) more in-line with existing implementations.

6 years agoUpdate list of time servers
Bram Matthys [Wed, 7 Mar 2018 08:38:19 +0000 (09:38 +0100)] 
Update list of time servers

6 years agoSet git version to 4.0.18-devel
Bram Matthys [Fri, 29 Dec 2017 08:29:03 +0000 (09:29 +0100)] 
Set git version to 4.0.18-devel

6 years agodead_link() was not sending the error message to the user.
Bram Matthys [Fri, 29 Dec 2017 08:15:11 +0000 (09:15 +0100)] 
dead_link() was not sending the error message to the user.
This affected the following errors:
* Max SendQ exceeded
* Excess Flood
* Flood from unknown connection
* SSL Handshake flood detected
* Rejected link without SSL/TLS
* Various errors from the websocket module
* Other errors generated by 3rd party modules

6 years agoRelnotes reflect 4.0.16.1->4.0.17.
Bram Matthys [Fri, 22 Dec 2017 09:54:21 +0000 (10:54 +0100)] 
Relnotes reflect 4.0.16.1->4.0.17.

6 years agoArchive 4.0.16.1 release notes.
Bram Matthys [Fri, 22 Dec 2017 09:16:28 +0000 (10:16 +0100)] 
Archive 4.0.16.1 release notes.

6 years agoRunning ./autogen.sh helps when updating versions :D
Bram Matthys [Fri, 22 Dec 2017 09:13:41 +0000 (10:13 +0100)] 
Running ./autogen.sh helps when updating versions :D

6 years agoUnrealIRCd 4.0.17
Bram Matthys [Fri, 22 Dec 2017 08:52:24 +0000 (09:52 +0100)] 
UnrealIRCd 4.0.17

6 years agoFix crash with OperOverride
Bram Matthys [Fri, 22 Dec 2017 08:48:42 +0000 (09:48 +0100)] 
Fix crash with OperOverride

6 years agoUse ::mask style in example (even though the previous method still works)
Bram Matthys [Sun, 17 Dec 2017 09:07:54 +0000 (10:07 +0100)] 
Use ::mask style in example (even though the previous method still works)

6 years agoCIDR support in set::antirandom::except-hosts
Bram Matthys [Sun, 17 Dec 2017 09:06:39 +0000 (10:06 +0100)] 
CIDR support in set::antirandom::except-hosts
Or, to be more precise: converted code to use match_user() framework.

6 years agoBe a bit more liberal, used for antirandom backward-compatible.
Bram Matthys [Sun, 17 Dec 2017 09:06:09 +0000 (10:06 +0100)] 
Be a bit more liberal, used for antirandom backward-compatible.

6 years agoRemove a junk notice regarding SJOIN
Bram Matthys [Sun, 17 Dec 2017 08:26:19 +0000 (09:26 +0100)] 
Remove a junk notice regarding SJOIN

6 years agoFix linking problem if only using link::outgoing (and not link::incoming)
Bram Matthys [Wed, 13 Dec 2017 08:02:32 +0000 (09:02 +0100)] 
Fix linking problem if only using link::outgoing (and not link::incoming)
which is perfectly legal but caused a confusing error message about
a 'server name mismatch'.

6 years agoSet prio for HOOKTYPE_CHANNEL_DESTROY to -1mln so other hooks are
Bram Matthys [Wed, 6 Dec 2017 16:53:26 +0000 (17:53 +0100)] 
Set prio for HOOKTYPE_CHANNEL_DESTROY to -1mln so other hooks are
called later.

6 years agoUnrealIRCd 4.0.17-rc1
Bram Matthys [Fri, 1 Dec 2017 09:06:43 +0000 (10:06 +0100)] 
UnrealIRCd 4.0.17-rc1

6 years agoBump proto version to 4017.
Bram Matthys [Fri, 1 Dec 2017 09:03:45 +0000 (10:03 +0100)] 
Bump proto version to 4017.

6 years agoApparently individual PROTOCTL tokens were limited at 128 chars.
Bram Matthys [Fri, 1 Dec 2017 09:00:15 +0000 (10:00 +0100)] 
Apparently individual PROTOCTL tokens were limited at 128 chars.
This posed a limitation with utf8 PROTOCTL NICKCHARS=... and
potentially PROTOCTL SERVERS=... if having more than 32 servers.
The limitation has now been removed (buffer length = 512)

6 years agoReject link if we have any utf8 charset enabled and other side doesn't.
Bram Matthys [Fri, 1 Dec 2017 08:56:08 +0000 (09:56 +0100)] 
Reject link if we have any utf8 charset enabled and other side doesn't.

6 years ago'/SPAMFILTER del <id>' was not working across servers.
Bram Matthys [Thu, 30 Nov 2017 20:59:30 +0000 (21:59 +0100)] 
'/SPAMFILTER del <id>' was not working across servers.
This was actually a read-after-free bug (IRCOp-only)

6 years agovs2012.bat/vs2017.bat: Apparently %* should work on Windows..
Bram Matthys [Mon, 27 Nov 2017 18:42:44 +0000 (19:42 +0100)] 
vs2012.bat/vs2017.bat: Apparently %* should work on Windows..

6 years agoFix hang when linking servers. Reported by k4be and acidvegas.
Bram Matthys [Mon, 27 Nov 2017 18:36:30 +0000 (19:36 +0100)] 
Fix hang when linking servers. Reported by k4be and acidvegas.

6 years agoAdd ability to use vs2012/vs2017 command with CUSTOMMODULE:
Bram Matthys [Mon, 27 Nov 2017 16:57:57 +0000 (17:57 +0100)] 
Add ability to use vs2012/vs2017 command with CUSTOMMODULE:
Visual Studio 2012:
call extras/build-tests/windows/compilecmd/vs2012.bat CUSTOMMODULE MODULEFILE=xyz
Visual Studio 2017:
call extras/build-tests/windows/compilecmd/vs2017.bat CUSTOMMODULE MODULEFILE=xyz

6 years agoDoes this work? ;)
Bram Matthys [Mon, 27 Nov 2017 16:19:20 +0000 (17:19 +0100)] 
Does this work? ;)

6 years agoMove charsys definitions from .h to charsys.c & add some fwd decl
Bram Matthys [Mon, 27 Nov 2017 11:32:14 +0000 (12:32 +0100)] 
Move charsys definitions from .h to charsys.c & add some fwd decl

6 years agoYeah, we need more room.
Bram Matthys [Mon, 27 Nov 2017 11:22:42 +0000 (12:22 +0100)] 
Yeah, we need more room.

6 years agoBe more explicit about visually looking characters in Cyrillic script
Bram Matthys [Mon, 27 Nov 2017 11:08:48 +0000 (12:08 +0100)] 
Be more explicit about visually looking characters in Cyrillic script

6 years agoAdd note regarding CASEMAPPING and "visually identical character" checks.
Bram Matthys [Mon, 27 Nov 2017 11:03:53 +0000 (12:03 +0100)] 
Add note regarding CASEMAPPING and "visually identical character" checks.
Also call the UTF8 charsys support experimental. Not so much because
of issues in UnrealIRCd that are unique to utf8 but because of the many
"but's" such as lack of services support. And people suddenly waking up
and realizing there never was improved CASEMAPPING and "visually identical
character checks" in original charsys either.

6 years agoUpdate makefile.win32 for charsys move.
Bram Matthys [Mon, 27 Nov 2017 10:50:36 +0000 (11:50 +0100)] 
Update makefile.win32 for charsys move.

6 years agoPermit 0xa0, if it appears inside UTF8 (via set::allowed-nickchars).
Bram Matthys [Mon, 27 Nov 2017 10:41:07 +0000 (11:41 +0100)] 
Permit 0xa0, if it appears inside UTF8 (via set::allowed-nickchars).
This is the "non breaking space" outside UTF8 and thus was previously
blacklisted. Keeping it blacklisted even if it appears in UTF8 is not
really an option as it means some UTF8 characters can never be used,
like the letter "nun" in Hebrew, and likely others.

6 years agoModularize charsys (set::allowed-nickchars). It's still a mandatory
Bram Matthys [Mon, 27 Nov 2017 10:24:25 +0000 (11:24 +0100)] 
Modularize charsys (set::allowed-nickchars). It's still a mandatory
module but at least the code can be updated on the fly (or replaced
with some other secondary alternative module in the future).
src/charsys.c -> src/modules/charsys.c
This also means everyone needs to load the modules/charsys module.

6 years agoMake Windows version compile again?
Bram Matthys [Mon, 27 Nov 2017 09:38:47 +0000 (10:38 +0100)] 
Make Windows version compile again?

6 years agoset::allowed-nickchars: added "hebrew-utf8". Supplied by Lion-O.
Bram Matthys [Mon, 27 Nov 2017 09:30:32 +0000 (10:30 +0100)] 
set::allowed-nickchars: added "hebrew-utf8". Supplied by Lion-O.

6 years agoAdded UTF8 support in set::allowed-nickchars
Bram Matthys [Sat, 25 Nov 2017 20:12:41 +0000 (21:12 +0100)] 
Added UTF8 support in set::allowed-nickchars
See https://www.unrealircd.org/docs/Nick_Character_Sets
Example: set { allowed-nickchars { latin-utf8; }; };
Important remarks:
* All your servers must be on UnrealIRCd 4.0.17 (or later)
* Most(?) services do not support this, so users using UTF8 nicknames
  won't be able to register at NickServ.
* In set::allowed-nickchars you must either choose an utf8 language
  or a non-utf8 character set. You cannot combine the two.
* You also cannot combine multiple scripts/alphabets, such as:
  latin, greek, cyrillic and hebrew. You must choose one.
* If you are already using set::allowed-nickchars on your network
  (eg: 'latin1') then be careful when migrating (to eg: 'latin-utf8'):
  * Your clients may still assume non-UTF8
  * If users registered nicks with accents or other special characters
    at NickServ then they may not be able to access their account
    after the migration to UTF8.

[!] Work in progress [!]

6 years agoImprove "non-SSL client on SSL port" detection.
Bram Matthys [Sat, 25 Nov 2017 15:01:56 +0000 (16:01 +0100)] 
Improve "non-SSL client on SSL port" detection.

6 years agoShow additional information in SSL errors. Such as:
Bram Matthys [Sat, 25 Nov 2017 14:48:28 +0000 (15:48 +0100)] 
Show additional information in SSL errors. Such as:
"SSL_accept(): Internal OpenSSL error or protocol error: tls_process_client_hello: unsupported protocol"
rather than just
"SSL_accept(): Internal OpenSSL error or protocol error"
Perhaps it can be shortened in a later version if this is acceptable.

This can help with tracing server linking errors, and/or
if using the junk snomask (MODE nick +s +j).

6 years agoAdd AppArmor profile in extras/security/apparmor/unrealircd
Bram Matthys [Sat, 25 Nov 2017 08:54:47 +0000 (09:54 +0100)] 
Add AppArmor profile in extras/security/apparmor/unrealircd
See: https://www.unrealircd.org/docs/Using_AppArmor_with_UnrealIRCd

6 years agoUpdate changelog
Bram Matthys [Thu, 23 Nov 2017 06:56:11 +0000 (07:56 +0100)] 
Update changelog

6 years agoFix crash if using anope with old unreal32 mod w/SSL on non-localhost.
Bram Matthys [Tue, 21 Nov 2017 10:40:07 +0000 (11:40 +0100)] 
Fix crash if using anope with old unreal32 mod w/SSL on non-localhost.
Sounds rare and you should really use a more recent version of anope
with the unreal4 protocol module. But, of course, we shouldn't crash.