1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-04 02:03:13 +02:00

- Updated windows compile instructions again.

- Updated release notes
This commit is contained in:
Bram Matthys
2006-05-21 13:44:11 +00:00
parent 8004d10a65
commit 0625c384a2
3 changed files with 73 additions and 104 deletions
+63 -90
View File
@@ -1,112 +1,85 @@
NOTE: This is the fixed 3.2.4 release, this release contains the '?' wilcard fix
but the version number is still '3.2.4'!
Unreal3.2.4 Release Notes
Unreal3.2.5-xx Release Notes
==========================
If you are upgrading, please take a minute to read these release notes.
*NIX Users: PREFIX_AQ is now enabled by default. See under 'CHANGED' below.
==[ GENERAL INFORMATION ]==
- If you are upgrading on *NIX, make sure you run 'make clean' and './Config'
first before doing 'make'
- The official UnrealIRCd documentation is doc/unreal32docs.html
online version at: http://www.vulnscan.org/UnrealIrcd/unreal32docs.html
FAQ: http://www.vulnscan.org/UnrealIrcd/faq/
online version at: http://www.vulnscan.org/UnrealIRCd/unreal32docs.html
FAQ: http://www.vulnscan.org/UnrealIRCd/faq/
Read them before asking for help.
- Report bugs at http://bugs.unrealircd.org/
- When upgrading a network, we assume you are upgrading from the previous
version (3.2.3). If you have a network running with servers that are several
versions behind (eg: 3.2.1) then you might experience (desynch) problems.
Please also minimize the time you have multiple versions running, several days
is not a problem, but having mixed versions on a network for weeks or months
is not recommended.
version (3.2.4). Upgrading from 3.2.3 is ok as well.
However, if you have a network running with servers that are several versions behind
(eg: 3.2.1) then you might experience small (desynch) problems.
Please also minimize the time you have multiple versions running, a few days or
one week is generally not a problem, but having mixed versions on a network for several
weeks or months is not recommended.
==[ NEW ]==
- Spamfilter: Added 'warn' target which is basically the same as 'block' except it
does not block ;). It simply sends a numeric to the user saying the command has been
processed, but a copy has been sent to ircops (which receive a spamfilter notice).
Example usage: /spamfilter add p warn - Testing_mirc_decode_filter \$decode\(.*\)
- Spamfilter: an option to apply spamfilters to aliases as well. To do so, you have
to put 'spamfilter yes;' in every alias block you want to get filtered.
The /MS and /MEMOSERV aliases in aliases/*.conf have been updated to have
spamfiltering enabled by default.
- The "max bans per channel" setting can now be changed trough the config file by
setting set::maxbans. Note that you probably also want to enlarge set::maxbanlength
then as well (see docs!) or else you will hit that limit first. Note that the max ban
length setting has been slightly relaxed in 3.2.4, see the CHANGED section further down.
- Nick Character System: new languages/character sets are added: 'danish',
'belarussian-w1251' and 'ukrainian-w1251'.
- ExtBan ~c now accepts wildcards, such as: "+b ~c:#*xxx*" (don't forget the "#")
- Banned users can no longer change the topic
- Made it so you no longer can change your nick TO a banned one in a channel.
This option can be turned off by setting set::check-target-nick-bans to "no".
- Translations: Added a Bulgarian example.bg.conf, a Russian help.ru.conf and
unreal32docs.ru.html, and a Dutch unreal32docs.nl.html
- For services coders: Added doc/technical/serverprotocol.html
- CGI:IRC Host spoofing support. This means you can mark certain CGI:IRC gateways
as trusted, and then the IRCd will show the real IP/host everywhere for those
users, instead of the IP/host of the CGI:IRC gateway. See docs section 4.36.
- Time synchronization support. This is enabled by default and will synch the IRCd
clock when Unreal is started. This should get rid of most time differences, though
the clock can still be off 1-3 seconds. If for some reason no reply from the time
servers is received within 3 seconds, then the IRCd will continue to boot as usual.
Several set::timesynch::* settings have been added, including set::timesynch::enabled
which you can set to 'no' to disable time synching (eg: because you already run ntpd).
- NAMESX support. This (mostly) fixes a long-standing IRC protocol bug. If, for
example, a user was +vo and then deops (-o), other clients could not always
know the user was then still +v, now they can. Supported by XChat and newest mIRC.
- Chained SSL certificates support
==[ CHANGED ]==
- Changed the MAXBANLENGTH (now set::maxbanlength) from 1K to 2K. This means users can now
set more bans and actually reach the 60 MAXBANS (now set::maxbans) limit in practice.
- Added several indicators to the "detect binary incompatible modules"-system, such as
a module compiled with ziplinks support on a non-ziplinks ircd (*NIX only), nospoof
mismatches, etc. Hopefully this will help some people preventing odd crashes when
they forgot to recompile everything.
- More modulizing: another 200 lines of code / 20 functions have been moved to modules.
- Multiple allow channel::channel items are now permitted again
- Redid glob matching. Escaping is now ripped out for normal bans (as it should be), this
means no longer weird issues with +b *\* etc not banning nicks with \ in it.
ExtBan ~c/~r get special treatment and will use our match_esc [match with escaping]
routine, you can escape via \, so \* will match * (an asterisk), \? will match a
questionmark (?), and \\ will match a \ (backslash). This way you can ban channels
such as "#f*ck" via "+b ~c:#f\*ck". So, take note, if you want to ban for example a
channel with a backslash in it, such as "#bl\ah", then you do "+b ~c:#bl\\ah".
Again, for any bans other than ~c/~r this does not apply.
- Spamfilter: regexes and reasons are now more limited in size, this is to combat the
"I set a spamfilter, but cannot remove it" problem. In practice this means - depending
on the length of the spamfilter reason - that spamfilter will max ~300 characters.
Note that spamfilters in the config file can still be larger (since they cannot be
removed on the command line anyway, it doesn't matter that they are cut off on /stats F).
- CMDLINE_CONFIG behavior change: specifying a config file on the command line is now
permitted as long as the ircd isn't suid/sgid.
- set::channel-command-prefix now defaults to ".`!" instead of "`"
- When OPEROVERRIDE_VERIFY is enabled, we now allow opers to still join any channels listed
in set::auto-join or set::oper-auto-join, even if they are +s/+p.
- Made it so co-admins can /ADCHAT. They were already receiving them anyway...
- ./Config: the script now actually stops upon the error, making it more clear what is wrong.
- Global opers on quarantined servers will now be KILL'ed. So link::options::quarantine now
actually does what it should, even if it's not in the most elegant way.
- Empty (but existing) include files no longer cause an error.
- We now properly error if someone tries to /(G)ZLINE *@hostmask (should be *@ipmask) or
/(G)ZLINE usermask@something (should be *@something). Both forms are illegal because
(G)ZLINES are processed before dns and ident lookups. If you require a ban on a hostmask
or a usermask, simply use a KLINE or GLINE.
- For users using remote includes w/ssl (https, ftps): the CA certificates are now stored
in curl-ca-bundle.crt (shipped with Unreal) which contains most major CA's plus CACert.
- PREFIX_AQ (the ~ and & symbols for +q and +a) are now ENABLED BY DEFAULT on *NIX.
They have always been enabled on Windows, so it made sense to do the same for *NIX.
Pretty much all major clients support it now (mIRC, xchat, irssi, epic, PJIRC,
CGI:IRC, etc).
- If DNS info (*NIX: /etc/resolv.conf, Win: registry) is updated, a '/REHASH -dns'
now rereads this info, no restart needed anymore.
- me::numeric can now be changed without a restart, if no servers are linked.
- Improved windows crash info: we now create minidumps, this should aid debugging.
- '/quote dns i' (as an oper) now shows nameserver info again
- Local oper may now use /TRACE
- If channel is +m but -t, you now need at least voice (+v) to change the topic.
- When checking if someone is banned, we now always verify bans against the cloaked host,
even if the user has a vhost and the cloaked host is not visible / unused.
- Extra binary compatability checks: (gcc) compiler version
- Allow /*LINE'ing of literalident@* (eg: gline clones@*). Things like *clones@* are
still denied though, and this will not be changed. Use services AKILL instead.
- Command aliases: made empty parameters work if the alias allows it (eg, the alias
uses .* as a regex and not .+)
==[ MAJOR BUGS FIXED ]==
- Two issues with an incorrect badword { } block in the config file causing a crash.
- Incorrect TKL/*LINE causing a crash
- Complete resolver recode: now using c-ares + caching to fix some (rare?) crash bugs and
to make our code much more cleaner.
- Using GCC4 caused a crash on-link.
- Crash when a class block was removed and had any other blocks were referencing it.
- OpenBSD crash on /REHASH.
- Several AMD64 crash issues.
- Sometimes a serious flood of notices was generated if link::options::nodnscache was used.
- Spamfilter: action 'viruschan' combined with target 'user' caused crashes.
- chinese-* nick characters support caused memory corruption.
- Crash issue regarding SSL and junk snomask.
- Opteron problem: /*LINE with time parameter always said 'time out of range'
- Spamfilter was not always working properly
- MS Visual studio 2005 (8.x) was unable to compile Unreal and/or caused crashes
- Certain IPv6 listen blocks could crash the ircd on-boot/on-rehash
==[ MINOR BUGS FIXED ]==
- Now properly resolves hostnames again that use CNAME delegation (got broken in 3.2.3).
- Fedora Core w/IPv6 failed to compile.
- A few read-after-free bugs that could have caused crashes.
- ./Config was not loading the settings properly on Solaris 10
- Crash if high ascii in set::network-name
- Fixed advanced channel aliases not working properly
- Fixed \* and \? escaping not always working properly (for example in ~r/~c bans).
- "Looking up your hostname" message was missing if set::options::show-connect-notice
was enabled (other messages, like "looking up ident" were shown, however)
- Netsynch problem, which could cause the wrong modes to be applied to a channel in
some rare cases.
- Setting set::maxdccallow to 0 (or lower) still allowed one entry to be added
- Spamfilter oversized-checking is no longer done when removing a spamfilter
- Operator count bug (there might still be others...)
- Some chinese-* charsets could not be selected individually
- No longer requiring a C++ compiler (was caused by resolver in 3.2.4)
==[ REMOVED ]==
- Windows 9X/ME are no longer supported (it might work, but we won't support them).
- MS Visual Studio 6 support, but this did not work anymore anyway...
==[ KNOWN BUGS ]==
- Windows 2003: Crashes directly on-boot have been reported, while other W2003 servers
work perfectly fine (including the one we used for testing). No pattern in this has
been found yet, but the bug is somewhere in the resolver (c-ares).
- Windows: The /RESTART command will work, but the second time you do a /RESTART the
IRCd will "crash" with a dialogbox.
==[ ADDITIONAL INFO ]==
* See Changelog for more details
+2
View File
@@ -1199,3 +1199,5 @@
if you got a good one near you you can use that one instead.
The time protocol we use is (S)NTP v4.
- Fixed some compile warnings for Windows
- Updated windows compile instructions again.
- Updated release notes
+8 -14
View File
@@ -2,24 +2,20 @@
Disabling NOSPOOF at windows (w9x, nt, w2k, xp) is NOT recommended since this
WILL allow users to use "spoofed hosts" (like the IP of someone you trust).
If you got problems with NOSPOOF fix your client (bot?) instead (you should PONG
If you have problems with NOSPOOF, fix your client (bot?) instead (you should PONG
back to the initial PING at connect).
==[ GENERAL GUIDELINES ]==
First of all you need Microsoft Visual C++ (see below), compiling with
cygwin is not supported (nor is there any good reason to do so).
AT THE TIME OF WRITING THIS DOCUMENT, ONLY VISUAL STUDIO 7.0 AND 7.1 ARE
KNOWN TO WORK FLAWLESSLY, ANY OTHER VERSION (6 or 8.x) ARE KNOWN TO CAUSE
TROUBLE: RANGING FROM COMPILE PROBLEMS TO CRASHES ON LINK/JOIN/ETC...!
Compatible compilers:
cygwin NOT supported. Will not work. Should be no reason to use this anyway.
msvc 6.x Microsoft Visual Studio 6 does not work, this compiler is too old.
msvc 7.x Microsoft Visual Studio 7.x (.NET) will work just fine
msvc 8.x Microsoft Visual Studio 8.x (.NET 2005), including the free kit,
should work fine (since Unreal3.2.5).
VC++ 7.x (.NET) are known to work perfectly (7.0, 7.1).
VC++ 6 is known not to work
VC++ 8.x (.NET 2005) appears - at time of writing - also to be non-working
(causes crashes).
** start of section that is currently not useful since newer compiler
versions cause crashes **
If you don't have the paid version of Microsoft Visual Studio 7.x, then you can
use the FREE development kit and PSDK as explained below:
1. Download the MS Visual Studio Development kit at:
@@ -30,7 +26,6 @@ use the FREE development kit and PSDK as explained below:
.NET Command Prompt' below, but you - a person using the free version - will
actually have to start the Platform SDK Prompt instead (check out the
Start Menu).
** end of section **
== Simple compile (no SSL/ZIP/Remote includes) ==
1. Start the Visual Studio .NET Command Prompt
@@ -88,8 +83,7 @@ USE_SSL=1 OPENSSL_INC_DIR="c:\dev\openssl\include" OPENSSL_LIB_DIR="c:\dev\opens
LIBCURL_INC_DIR="c:\dev\curl\include" LIBCURL_LIB_DIR="c:\dev\curl\lib"
== SYMBOL FILES ==
If you get something like (usually with CVS versions, but sometimes with
releases also):
If you get something like this:
Creating library L_COMMANDS.lib and object L_COMMANDS.exp
M_OPER.obj : error LNK2019: unresolved external symbol _sendto_snomask_global re