mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-25 17:06:38 +02:00
247 lines
15 KiB
Plaintext
247 lines
15 KiB
Plaintext
/*
|
|
* UnrealIRCd Changes File - (C) Carsten Munk 1999-2002 &
|
|
* The UnrealIRCd Team
|
|
*
|
|
* $Id$
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 1, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
*/
|
|
|
|
[Unreal 3.2.1]
|
|
- Replaced tre.dll/tre.lib, previous versions caused a crash (eg: if you included
|
|
spamfilter.conf).
|
|
- Fixed a problem when compiling with GUEST enabled. Reported by dvzion (#0001758)
|
|
- Fixed a documentation typo reported by Konc
|
|
- Fixed a little problem in ./unreal to move ircd.pid.bak to ircd.pid of starting failed.
|
|
Fixed by fez (#0001739)
|
|
- Made it so chg* command usage is not logged from U:lines. Reported by diskman1 (#0001718)
|
|
- Changed int_to_base64() warning so it has less false positives (#0001797).
|
|
- Fixed a bug where if set::ssl::options was empty, a crash could occur. Reported by
|
|
spider312 (#0001799)
|
|
- Include openssl/md5.h and openssl/ripemd.h if compiled w/SSL, this seems how it
|
|
should be done and also makes unreal w/SSL able to compile on OpenBSD (3.5).
|
|
- Added module support for Windows!
|
|
To module coders:
|
|
-Building your module on Windows is almost exactly the same as on *nix
|
|
nmake -f makefile.win32 custommodule MODULEFILE=thefile
|
|
|
|
-Also, as I'm sure most module developers will begin distributing .dll files for their
|
|
modules, it is important to note that just like the modules on *nix, the dlls will need
|
|
to be recompiled each time a new version of Unreal is released. This is simply due to
|
|
the potential for binary incompatibility which at this point can not be avoided.
|
|
|
|
-Most modules already do this, but it is now a requirement for Windows support. At the
|
|
very minimum, the Mod_Test function must have the DLLFUNC specifier in order to work
|
|
Unreal will automatically add DLLFUNC to the other functions, but it does not hurt if
|
|
you use it for all of them.
|
|
|
|
NOTE: It is expected that there will probably be a few bugs to work out with this, so
|
|
please consider testing it! And module coders, please report any problems you experience!
|
|
- Modulized cloaking:
|
|
- Currently there are 2 cloaking modules: 'cloak' and 'oldcloak'.
|
|
- You MUST load at least 1 of them (like: loadmodule "src/modules/cloak.so";).
|
|
- 'oldcloak' is just the <=3.2 cloaking algorithm.
|
|
- 'cloak' is the new, recommended, and much more secure cloaking algorithm that uses
|
|
md5 internally and requires 3 keys of 5-100 characters (10-20 is fine) consisting of
|
|
mixed lowcase (a-z), upcase (A-Z) and digits (0-9) [eg: "AopAS6WQH2Os6hfosh4SFJHs"].
|
|
- Note that 'oldcloak' is only ment for use during the upgrade process (it will give
|
|
a warning if you use it), you should switch to the much more secure 'cloak' module
|
|
as soon as all your servers are upgraded.
|
|
- Module coders can code 3rd party cloak modules that use other algorithms or cloak
|
|
in a different way (have a look at src/modules/cloak.c).
|
|
- spamfilter: Added Bloodhound.Exploit.6 sig
|
|
- Compile fixes for win32 modules with ssl/zip/curl
|
|
- Changed 'Services operator' in /whois (back) to 'Services administrator', this was
|
|
requested by many people and seems to be the best after all (#0001634).
|
|
- Local opers can now also join +O (operonly) channels (#0001694).
|
|
- Changed the way MSG/NOTICE <prefix>#chan works:
|
|
- It now goes to <prefix> and higher, so '/notice +#chan hi!' goes to +vhoaq
|
|
- You need at least voice in order to be able to msg/notice +#chan, %#chan or @#chan
|
|
- You need at least ops in order to be able to msg/notice &#chan or ~#chan
|
|
- Any multi-prefix targets will be converted automatically (eg: ~&@#chan to @#chan).
|
|
- internal: use of the CHANOPPFX macro is now deprecated.
|
|
All of this was done to make it a bit more 'safe' and userfriendly (#0001812).
|
|
- Fixed a remote include bug that would cause unnecessary blocking
|
|
- Fixed a /credits typo
|
|
- Imported TRE 0.6.7 for win32
|
|
- Imported TRE 0.6.7 for *nix and made use of tre_version to report the version of TRE
|
|
in use at startup
|
|
- Fixed a Win32 module bug
|
|
- Added set::spamfilter::virus-help-channel-deny. This allows you to block any
|
|
normal joins to the virus-help-channel. This way you could prevent users into
|
|
accidental (or tricked) joining of the virus-help-channel and becomming infected.
|
|
This feature is disabled by default. Requested by bleepy (#0001811).
|
|
- German doc updates (week 20).
|
|
- Added optional parameter to SVSJOIN to deal with channel keys. Reported by
|
|
DukePyrolator (#0001822).
|
|
- Added zlib+SSL version check on boot to make sure the runtime version is the same
|
|
as the 'compiled for' (header) version. If they mismatch, UnrealIRCd could crash,
|
|
so a big warning is posted if it happends.
|
|
- Improved the above: made it work on windows and also added a check for curl.
|
|
- spamfilter.conf: Added yet another sig for a site that causes Backdoor.Delf.lq
|
|
infection (reported by nexus), also changed LOI trojan and Bloodhound.Exploit.6
|
|
action to gline.
|
|
- Fixed a win32 module bug that broke strcasecmp/stricmp
|
|
- German doc updates (week 21)
|
|
- Fixed a permanent modules bug: custom allow/except/ban/deny types were lost
|
|
after /rehash. Reported by AngryWolf (#0001837).
|
|
- Fixed a problem with NICK collisions not using NICKv2 (#0001773) reported by thilo
|
|
- Added NICKIP (#0000605 & #0001376)
|
|
- Compile warning cleanups
|
|
- Added release notes (no, we won't release 3.2.1 anytime soon.. just updating ;p).
|
|
- Added various extra messages to make it a bit more easier for people who are
|
|
upgrading (win32 commands.dll, cloaking mod).
|
|
- Made win32 ssl<->non-ssl modules binary compatible.
|
|
- Added ssl/non-ssl check in Mod_Version on *NIX.
|
|
- Added set::options::flat-map: This makes all servers look like they are linked
|
|
directly to the server you are on (/map, /links), thus you cannot see which server
|
|
is linked to which ("hopcount"). This can make it a bit harder for kiddies to find
|
|
any 'weak spots' (which server to attack/[D]DoS). Obviously opers will always
|
|
see the real map.
|
|
- unreal32docs.html: added flat-map and set::restrict-usermodes "s"; security tips.
|
|
- Fixed a compile error regarding AF_MAX (#0001839) reported by Rocko
|
|
- Imported TRE 0.6.8 for *nix
|
|
- Added NICKIP to doc/technical/protoctl.txt
|
|
- Imported TRE 0.6.8 for windows
|
|
- Redid the win32 version to use a dynamically linked libc. This solves memory issues
|
|
arising from the fact that dlls do not share the same heap as the exe. As a side effect,
|
|
however, there is now a dependency on msvcr70d.dll. This DLL does not come with any
|
|
versions of Windows except 2003. It also comes with any .NET application and the .NET
|
|
framework. Unreal will automatically download th DLL if it is needed. Reported by Bugz
|
|
(#0001833)
|
|
- Fixed some other win32 crashes due to modulizing: WHOWAS, STATS [some], SVSMOTD.
|
|
All caused by missing "MODVAR"s. Reported by Troco (#0001841).
|
|
- Fixed SSL problem caused by a fix of 2 days ago. Reported by Fury (#0001842).
|
|
- And one more.
|
|
- Made socket errors correctly reported under Win32. Thanks to Microsoft for deciding
|
|
that having a way to get a socket error string was unnecessary.
|
|
- Fixed a NICKIP bug regarding passing along IPs (#0001846) reported by Troco
|
|
- And another one, should be fixed now.
|
|
- Added snomask +S to the documentation (#0001835) reported by medice.
|
|
- Made a bunch of TKL parameters case insensitive (#0001766) reported by medice.
|
|
- Made Unreal create the tmp/ dir at startup, rather than configure (#0001824) suggested by
|
|
LinDevel
|
|
- Added /dns c to clear the DNS cache (#0001852) suggested by samson.
|
|
- Seems I forgot to del_Command() SPAMFILTER and TEMPSHUN.
|
|
- Made the win32 socket error reporting also handle regular system errors (#0001851)
|
|
reported by Troco
|
|
- Added a doc/translations.txt which describes the (current) translation process
|
|
and requirements a bit.
|
|
- Fixed a synch bug, reported by Troco (#0001857).
|
|
- Split up the /who oper and user help messages
|
|
- Added /who +i (search by IP) and /who +I (show IP), oper only.
|
|
- Made it so /who +m doesn't default to /who if a user uses modes they aren't allowed to
|
|
use (#0001858) reported by Bugz
|
|
- Added a couple donators to /credits
|
|
- Module coders: if CmdoverrideAdd() is called for an override that is already in place, it
|
|
now sets MODERR_EXISTS as errorcode and returns NULL (previously it added duplicates).
|
|
In the past module coders had many issues with PERM mods... you had to use weird tricks,
|
|
but now you can (and should!) just override on INIT and on HOOKTYPE_REHASH_COMPLETE.
|
|
- Moved register_user declaration to h.h, updated call in m_pingpong.c (due new 'ip' field).
|
|
- Usermode +v ('receive dcc send rejection notices') is oper-only now for privacy reasons.
|
|
- Added dcc allow { }, which allows one to make exceptions over deny dcc { }.
|
|
- Added deny dcc::soft and allow dcc::soft item, if set to 'yes' it allows someone
|
|
to explicitly override it per-person via /DCCALLOW (see next).
|
|
- Added DCCALLOW system, taken directly from bahamut.
|
|
With this system you can block certain (or all) DCC SENDs and then allow the user to
|
|
'override' this limit for every user he/she trusts via '/DCCALLOW +User'.
|
|
This is an attempt to stop (or at least limit) the spreading of viruses/etc.
|
|
See '/DCCALLOW HELP' for more info.
|
|
- Added example dccallow.conf which filters everything except some known
|
|
'safe types' (jpg, jpeg, png, gif, etc). Note that the purpose of this file
|
|
is NOT to get a complete list, rather to limit it to a few 'known safe' entries.
|
|
- Added set::maxdccallow: max number of entries of the DCCALLOW list (default: 10).
|
|
- Various (non-critical) fixes for dccallow reported by Rocko (incorrect nick in deny msg,
|
|
added set::maxdccallow in docs, added bmp/vob/log/ to dccallow.conf).
|
|
- Made extbans desynchs a bit more friendly: if a bantype is unknown for the server
|
|
it will just accept it if it's from a remote server, and also ops/etc will be allowed
|
|
to REMOVE any unknown extbans (but not add new unknown ones).
|
|
- Added extended ban type ~n (nickchange ban), if a user matches this (s)he can not
|
|
change nicks (eg: +b ~n:*!*@*.aol.com) unless (s)he has voice or higher.
|
|
This can be useful as an overall measure for some +m chans (+b ~n:!*@*) or against
|
|
specific 'good' people that are just nickflooding due to a wrongly configured script.
|
|
- Added set::restrict-extendedbans by which you can disallow normal users to use
|
|
any extendedbans ("*") or disallow only certain ones (eg: "qc").
|
|
- Made the negative TS message a bit more annoying if time is off more than 10 seconds.
|
|
- Minor doc tweakers, reported by AngryWolf (#0001871).
|
|
- Win32: Readded /J compiler flag (was accidentally lost in December). This could cause
|
|
some weird issues. Reported by Troco (#0001877).
|
|
- Fixed compile problem with debugmode + ipv6
|
|
- Added CIDR support (#0001296) suggested by many people.
|
|
- Imported the latest CIDR functions from Hybrid 7.0.1 (and fixed numerous bugs)
|
|
- Implemented CIDR support for ban ip, ban user, allow, except ban/tkl/throttle, and TKL
|
|
- Note: This needs testing
|
|
- To be able to use /ADDLINE you now need the (new) 'can_addline' operflag (oper::flags),
|
|
reason for this is that it's such a powerful/dangerous command.
|
|
- Fixed find_qline crashes regarding except tkl 'type qline', reported by Gilou (#0001882).
|
|
- Fixed some CIDR bugs causing things not to match.
|
|
- Fixed a CIDR bug when compiled without IPv6 support
|
|
- Fixed an SVSNICK bug that could lead to duplicate users in very rare circumstances
|
|
(#0001874) reported by Jiuka.
|
|
- internal: Added GetIP() which we will now use instead of all the Inet_ia2p() stuff
|
|
because it's slightly faster (already replaced all of them in src/s_kline.c).
|
|
GetIP(acptr) will return the ip for local users and remote users that support NICKIP,
|
|
it returns NULL for remote users that are on non-NICKIP servers (or have non-NICKIP
|
|
servers along their path).
|
|
- internal: tkl_add_line now returns aTKline *
|
|
- Added some more hooks:
|
|
- HOOKTYPE_TKL_ADD [aClient *cptr, aClient *sptr, aTKline *tk]
|
|
- HOOKTYPE_TKL_DEL [aClient *cptr, aClient *sptr, aTKline *tk]
|
|
NOTE: 'NULL, NULL, tk' is used for *lines that are removed due to expiring
|
|
- HOOKTYPE_LOCAL_KILL [aClient *sptr, aClient *target, char *comment]
|
|
- Added support for the ELIST 005 token with MNUCT options
|
|
- Made Mod_Version required (this should be no problem since it's done automatically).
|
|
- Added HOOKTYPE_LOG [int type, char *timebuf, char *logbuf]
|
|
- Updated the release notes.
|
|
- Fixed a CIDR bug reported by poisoner (#0001892)
|
|
- Documented numerics in use by other IRCds
|
|
- Converted several notices to numerics (#0001599) suggested by olene
|
|
- Added a donator to /credits
|
|
- Fixed '/stats P' negative usercount bug (#0001691).
|
|
- Made IPv6 bans work the way they should again, reported by al5001 (#0001876).
|
|
- Added new logtype 'spamfilter' to log spamfilter matches
|
|
- Updated example.conf: added all new flags we added in the example block, removed
|
|
old confusing comment on SEGV logging, config.h: ripped out lPATH since that define
|
|
isn't anywhere used and is only confusing.
|
|
- Made the new numerics use nicknames (#0001896) suggested by Dukat.
|
|
- Fixed a problem where the tmp directory was created in the current directory rather than
|
|
the correct path (#0001898) reported by AngryWolf
|
|
- Updated HOOKTYPE_TKL_ADD/HOOKTYPE_TKL_DEL to cptr, sptr, tk, parc, parv, else it was
|
|
impossible to tell *who* removed a *line. Again, parc/parv are 0/NULL for expires.
|
|
- Fixed "quickly-rehashing + autoconnect linkblocks = crash"-bug. This involved fixing
|
|
multiple reference count bugs, one related to sptr->serv->conf, and another one related
|
|
to sptr->serv->class. Both caused problems when someone did a /rehash when a server
|
|
was in the process of connecting (so it might also happen when connfreq was hit and you
|
|
did a /rehash). Original bug was reported by sh0 (#0001872).
|
|
- spamfilter.conf: Added sig for a mIRC decode worm, submitted by nexus.
|
|
- Some release notes updates.
|
|
- Changed version to 3.2.1-pre1 and updated protocol # to 2304.
|
|
- Updated wircd.def
|
|
** internal 3.2.1-pre1 release **
|
|
- Various (>15) small fixes for unreal32docs.html, reported by AngryWolf (#0001906).
|
|
- Added spanish docs, translated by Trocotronic.
|
|
- Fixed serious crashbug due to quick-rehashing bugfix! Basically if you did a /REHASH and
|
|
the clientcount for a class reached 0 (due to quits) it would crash.
|
|
** internal 3.2.1-pre2 release **
|
|
- Added hungarian docs, translated by AngryWolf.
|
|
- Fixed a problem with the win32 installer as a result of MSVCR70D.DLL, reported by
|
|
aquanight
|
|
- Updated /Credits and added a donator.
|
|
- Made release notes a bit more scary + some minor english-only doc updates
|
|
- Changed version to 3.2.1
|
|
- Moved the 3.2 changes to Changes.old
|
|
** 3.2.1 release **
|