Commit graph

92 commits

Author SHA1 Message Date
nia
6ce241eb92 unrealircd: Update to 5.0.8
UnrealIRCd 5.0.8 Release Notes
===============================

The main purpose of this release is to enhance the
[reputation](https://www.unrealircd.org/docs/Reputation_score)
functionality. There have also been some other changes and minor
bug fixes. For more information, see below.

Enhancements:
* Support for [security groups](https://www.unrealircd.org/docs/Security-group_block),
  of which four groups always exist by default: known-users, unknown-users,
  tls-users and tls-and-known-users.
* New extended ban ```~G:securitygroupname```. Typical usage would be
  ```MODE #chan +b ~G:unknown-users``` which will ban all users from the
  channel that are not identified to services and have a reputation
  score below 25 (by default). The exact settings can be tweaked in the
  [security group block](https://www.unrealircd.org/docs/Security-group_block).
* The reputation command (IRCOp-only) has been extended to make it
  easier to look for potential troublemakers:
  * ```REPUTATION Nick``` shows reputation about the nick name
  * ```REPUTATION IP``` shows reputation about the IP address
  * ```REPUTATION #channel``` lists users in channel with their reputation score
  * ```REPUTATION <NN``` lists users with reputation scores below value NN
* Only send the first 1000 matches on ```STATS gline``` or a
  similar command. This to prevent the IRCOp from being flooded off.
  This value can be changed via
  [set::max-stats-matches](https://www.unrealircd.org/docs/Set_block#set::max-stats-matches)
* Warn when the SSL/TLS server certificate is expired or expires soon
  (within 7 days).
* New option allow::options::reject-on-auth-failure if you want to
  stop matching on a passworded allow block, see the
  [allow password documentation](https://www.unrealircd.org/docs/Allow_block#password)
  for more information. Note that most people won't use this.

Fixes:
* The ```WHO``` command searched on nick name even if it was told
  to search on a specific account name via WHOX options.
* Some typos in the Config script and a warning
* Counting clients twice in some circumstances

Changes:
* Support for $(DESTDIR) in 'make install' if packaging for a distro
* Mention the ban reason in Q-line server notices
* Add self-test to module manager and improve the error message in case
  the IRCd source directory does not exist.
* Print out a more helpful error if you run the unrealircd binary
  rather than the unrealircd script with an argument like 'mkpasswd' etc.
* On *NIX create a symlink 'source' to the UnrealIRCd source

Module coders / Developers:
* The [Doxygen module API docs](https://www.unrealircd.org/api/5/index.html)
  have been improved, in particular the
  [Hook API](https://www.unrealircd.org/api/5/group__HookAPI.html)
  is now 100% documented.
2021-01-25 11:17:36 +00:00
nia
97cdeac39c unrealircd: Update to 5.0.7
UnrealIRCd 5.0.7 Release Notes
===============================

UnrealIRCd 5.0.7 consists mainly of fixes for the 5.x stable series,
with some minor enhancements.

Enhancements:
* Add support for ```estonian-utf8```, ```latvian-utf8``` and
  ```lithuanian-utf8``` in
  [set::allowed-nickchars](https://www.unrealircd.org/docs/Nick_Character_Sets)
* Add [message tags](https://www.unrealircd.org/docs/Message_tags)
  to ```PONG``` to help fix timestamp issues in KiwiIRC.
* Dutch helpop file (conf/help/help.nl.conf)

Fixes:
* When having multiple text bans (```+b ~T:censor```), these caused an empty
  message.
* Text bans are now no longer bypassed by voiced users (```+v```).
* [Websockets](https://www.unrealircd.org/docs/WebSocket_support) that used
```labeled-response``` sometimes received multiple IRC messages in one
websocket packet.
* The reputation score of [WEBIRC users](https://www.unrealircd.org/docs/WebIRC_block)
  was previously the score of the WEBIRC IP rather than the end-user IP.
* ```STATS badword``` was not working.
* When setting a very high channel limit, it showed a weird MODE ```+l``` value.
* The ```LINKS``` command worked, even when disabled via
  ```hideserver::disable-links``` in the optional hideserver module.
* In some cases ```WHO``` did not show your own entry, such as when
  searching on account name, which was confusing.
* Memory leak when repeatedly using ```./unrealircd reloadtls``` or
  ```/REHASH -tls```.

Module coders / Developers:
* No changes, only some small additions to the
[Doxygen module API docs](https://www.unrealircd.org/api/5/index.html)

UnrealIRCd 5.0.6
-----------------

UnrealIRCd 5.0.6 is a small maintenance release for the stable 5.x series.
For existing 5.x users there is probably little reason to upgrade.

Enhancements:
* Spanish help conf was added (conf/help/help.es.conf)

Fixes:
* History playback on join was not obeying the limits from
  [set::history::channel::playback-on-join](https://www.unrealircd.org/docs/Set_block#set::history).
  Note that if you want to see more lines, there is the ```HISTORY```
  command. For more information on the different ways to retrieve history, see
  [Channel History](https://www.unrealircd.org/docs/Channel_history)
* [Spamfilter](https://www.unrealircd.org/docs/Spamfilter) with the
  ['tempshun' action](https://www.unrealircd.org/docs/Actions) was letting
  the message through.
* In very specific circumstances a ```REHASH -tls``` would cause outgoing
  linking to fail with the error "called a function you should not call".
* Crash if empty [set::cloak-method](https://www.unrealircd.org/docs/Set_block#set::cloak-method)
* Issues with labeled-response on websockets (partial fix)

Module coders / Developers:
* In ```RPL_ISUPPORT``` we now announce ```BOT=B``` to indicate the user mode and
  ```WHO``` status flag for bots.
* ```HOOKTYPE_ACCOUNT_LOGIN``` is called for remote users too now (also on server syncs)
* Send ```RPL_LOGGEDOUT``` when logging out of services account
* Fix double batch in message tags when using both labeled-response
  and the ```HISTORY``` command

UnrealIRCd 5.0.5.1
-------------------

5.0.5.1 reverts the previously introduced UTF8 Spamfilter support.
Unfortunately we had to do this, due to a bug in the PCRE2 regex library
that caused a freeze / infinite loop with certain regexes and text.

UnrealIRCd 5.0.5
-----------------

This 5.0.5 release mainly focuses on new features, while also fixing a few bugs.

Fixes:
* [except ban { }](https://www.unrealircd.org/docs/Except_ban_block)
  without 'type' was not exempting from gline.
* Channel mode ```+L #forward``` and ```+k key```: should forward
  on wrong key, but was also redirecting on correct key.
* Crash on 32-bit machines in tkldb (on start or rehash)
* Crash when saving channeldb when a parameter channel mode is combined
  with ```+P``` and that module was loaded after channeldb. This may
  happen if you use 3rd party modules that add parameter channel modes.

Enhancements:
* [antimixedutf8](https://www.unrealircd.org/docs/Set_block#set::antimixedutf8)
  has been improved to detect CJK and other scripts and this will now
  catch more mixed UTF8 spam. Note that, if you previously manually
  set the score very tight (much lower than the default of 10) then you
  may have to increase it a bit, or not, depending on your network.
* Support for IRCv3 [+typing clienttag](https://ircv3.net/specs/client-tags/typing.html),
  which adds "user is typing" support to channels and PM (if the client
  supports it).
* New flood countermeasure,
  [set::anti-flood::target-flood](https://www.unrealircd.org/docs/Set_block#set%3A%3Aanti-flood%3A%3Atarget-flood),
  which limits flooding to channels and users. This is only meant as a
  filter for high rate floods. You are still encouraged to use
  [channel mode +f](https://www.unrealircd.org/docs/Anti-flood_features#Channel_mode_f)
  in channels which give you more customized and fine-grained options
  to deal with low- and medium-rate floods.
* If a chanop /INVITEs someone, it will now override ban forwards
  such as ```+b ~f:#forward:*!*@*```.

Changes:
* We now do parallel builds by default (```make -j4```) within ./Config,
  unless the ```$MAKE``` or ```$MAKEFLAGS``` environment variable is set.
* [set::restrict-commands](https://www.unrealircd.org/docs/Set_block#set%3A%3Arestrict-commands):
  * The ```disable``` option is now removed as it is implied. In other words: if
    you want to disable a command, then simply don't use ```connect-delay```.
  * You can now have a block without ```connect-delay``` but still make
    users bypass the restriction with ```exempt-identified``` and/or
    ```exempt-reputation-score```. Previously this was not possible.
* We now give an error when an IRCOp tries to place an *LINE that already
  exists. (Previously we sometimes replaced the existing *LINE and other
  times we did not)
* Add Polish HELPOP (help.pl.conf)

Module coders / Developers:
* Breaking API change in ```HOOKTYPE_CAN_SEND_TO_USER``` and
  ```HOOKTYPE_CAN_SEND_TO_CHANNEL```: the final argument has changed
  from ```int notice``` to ```SendType sendtype```, which is an
  enum, since we now have 3 message options (PRIVMSG, NOTICE, TAGMSG).
2020-11-24 12:24:44 +00:00
adam
d62c903eea revbump after updating security/nettle 2020-05-22 10:55:42 +00:00
nia
42d11fafe1 unrealircd: Update to 5.0.4
UnrealIRCd 5.0.4 Release Notes
===============================

This new 5.0.4 version fixes quite a number of bugs. It contains only two small feature improvements.

Fixes:
* When placing a SHUN on an online user it was not always effective.
* Channeldb was not properly restoring all channel modes, such as +P.
* When upgrading UnrealIRCd it could sometimes crash the currently
  running IRC server (rare), or trigger a crash report on
  ```./unrealircd restart``` (quite common).
* UnrealIRCd was giving up too easily on ident lookups.
* Crash when unloading a module with moddata.
* Crash if an authenticated server sends wrong information (rare).
* Removing a TEMPSHUN did not work if the user was on another server.
* SAJOIN to 0 (part all channels) resulted in a desync when used on remote users.
* Forced nick change from services was not showing up if the user
  was not in any channels.

Enhancements:
* New option [set::hide-idle-time::policy](https://www.unrealircd.org/docs/Set_block#set%3A%3Ahide-idle-time)
  by which you can change usermode +I (hide idle time in WHOIS) from
  oper-only to settable by users. More options will follow in a future
  release.
* In WHOIS you can now see if a user is currently (temp)shunned.
  This only works for locally connected users for technical reasons,
  so use ```/WHOIS Nick Nick``` to see it for remote users.

Changes:
* The oper notices and logging with regards to server linking have changed
  a little. They are more consistent and log more now.
* When an IRCOp tries to oper up from an insecure connection we will now
  mention the https://www.unrealircd.org/docs/FAQ#oper-requires-tls page.
  This message is customizable through
  [set::plaintext-policy::oper-message](https://www.unrealircd.org/docs/Set_block#set::plaintext-policy).
* The French HELPOP text was updated.
2020-05-18 10:10:00 +00:00
adam
7d4b705c63 revbump after boost update 2020-05-06 14:04:05 +00:00
wiz
f669fda471 *: recursive bump for libffi 2020-03-08 16:47:24 +00:00
nia
99d5b5b9a9 unrealircd: Update to 5.0.3.1
UnrealIRCd 5.0.3.1
-------------------
This fixes a crash issue after REHASH in 5.0.3.

UnrealIRCd 5.0.3
-----------------
Fixes:
* Fix serious flood issue in labeled-response implementation.
* An IRCOp SQUIT'ing a far remote server may cause a broken link topology
* In channels that are +D (delayed join), PARTs were not shown correctly to
  channel operators.

Enhancements:
* A new HISTORY command for history playback (```HISTORY #channel number-of-lines```)
  which allows you to fetch more lines than the on-join history playback.
  Of course, taking into account the set limits in the +H channel mode.
  This command is one of the [two interfaces](https://www.unrealircd.org/docs/Channel_history#Ways_to_retrieve_history)
  to [Channel history](https://www.unrealircd.org/docs/Channel_history).
* Two new [message tags](https://www.unrealircd.org/docs/Message_tags),
  ```unrealircd.org/userip``` and ```unrealircd.org/userhost```
  which communicate the user@ip and real user@host to IRCOps.

Changes:
* Drop the draft/ prefix now that the IRCv3
  [labeled-response](https://ircv3.net/specs/extensions/labeled-response.html)
  specification is out of draft.
* The operclass permission ```immune:target-limit``` is now called
  ```immune:max-concurrent-conversations```, since it bypasses
  [set::anti-flood::max-concurrent-conversations](https://www.unrealircd.org/docs/Set_block#set::anti-flood::max-concurrent-conversations).
  For 99% of the users this change is not important, but it may be
  if you use highly customized [operclass blocks](https://www.unrealircd.org/docs/Operclass_block)

Are you upgrading from UnrealIRCd 4.x to UnrealIRCd 5? If so,
then check out the *UnrealIRCd 5* release notes [further down](#unrealircd-5). At the
very least, check out [Upgrading from 4.x](https://www.unrealircd.org/docs/Upgrading_from_4.x).
2020-02-20 16:12:28 +00:00
nia
c38efdc022 unrealircd: Update to 5.0.2
Upgrade notes (seem like there are very few breaking changes):

     https://www.unrealircd.org/docs/Upgrading_from_4.x

What's new in UnrealIRCd 5:

     * Channel history. You can now see the last couple of lines that have
       been said on channels when you JOIN. For this you need to set channel
       mode +H, eg: eg: /MODE #chan +H 15:1440

     * More IRCv3 features. Additional details are communicated to clients
       which may help with displaying information. Implemented specs are:
       account-tag, message-ids, time, echo-message, labeled-response and
       BATCH.

     * Ban exceptions (/ELINE). You can now exempt users dynamically on IRC
       from *LINES, spamfilter, throttling, blacklist checking, connection
       floods, bypassing antirandom, etc. Just type /ELINE on IRC to see
       details.

     * *LINES and Spamfilters are remembered: All of these are saved to a
       file every few minutes and saved across reboots. This uses the new
       tkldb module (loaded by default). No need for services for that
       anymore.

     * Persistent channels are remembered: For channels which have mode +P
       set we now save all channel settings across reboots (topic, regular
       modes and +beI lists). This via the channeldb module (loaded by
       default).

     * Anti connect-flood measures. In the last few 4.2.x versions we
       introduced Connthrottle and reputation. In 5.x these modules are now
       loaded by default for increased security.

     * Easily restrict commands to fight drones. You can now disable any
       command or impose restrictions, such as: command can only be executed
       after being connected for XX seconds, or if you are identified to
       services, etc. See the example for how to restrict LIST, INVITE and
       messaging.

     * Module manager for managing 3rd party modules easily. Install and
       update modules with a single command.

     * Condition configuration. You can have condition configuration where
       you e.g. @define $IP "203.0.113.1" and can use $IP everywhere in the
       configuration file. Similarly, support for @if-blocks. This is
       especially useful for advanced users who like to use the same
       configuration file on multiple machines, usually with the help of
       remote includes.

     * Improved Channel Mode +L now kicks in for any rejected join, so not
       just for +l but also for +b, +i, +O, +z, +R and +k. If, for example,
       the channel is +L #insecure and also +z then, when an insecure user
       ties to join they will be redirected to #insecure.

     * Ban forwards. New extended ban ~f to forward users to the specified
       channel if the ban matches. Example: MODE #chan +b
       ~f:#badisp:*!*@*.isp.org

     * Improved WebSocket support. We already supported websockets, but now
       we support websocket type 'text', which is compatible with web IRC
       clients such as Kiwi IRC.

     * Code cleanups. The biggest effort of all went into cleaning up old
       code and making the code much more readable. This also means that
       UnrealIRCd 5 will not be able to link with really older servers or
       services, like UnrealIRCd 3.2.x.

     * Windows version is 64-bits. This should allow for increased address
       space and security. This also means UnrealIRCd 5 will not run on
       32-bits Windows (should be rare nowadays, anyway)
2020-01-28 13:03:36 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
ryoon
eedd1e806f *: Recursive revbump from devel/boost-libs 2020-01-12 20:19:52 +00:00
nia
d8a6f19170 unrealircd: Build fix: don't accidentally detect epoll on SunOS 2020-01-10 15:46:36 +00:00
ryoon
edacf2bbcb Recursive revbump from boost-1.71.0 2019-08-22 12:22:48 +00:00
nia
0bd1fa11ac unrealircd: Fix path to config file. 2019-08-07 18:11:05 +00:00
nia
3e2f31cee4 unrealircd: Avoid building the internal copy of Argon2.
The pkgsrc version was being used, but not being detected properly
by configure. I'm guessing the configure script is assuming Debian
version numbers or something.
2019-08-07 13:52:44 +00:00
nia
43793cd438 unrealircd: Install some examples to a more sensible location.
While here, we probably don't need to regenerate the configure script
any more. So don't do that.

Bump PKGREVISION.
2019-08-07 13:30:37 +00:00
nia
149ee1cfe3 unrealircd: Update to 4.2.4.1
This release fixes a crash issue if UnrealIRCd is configured to use utf8 or
chinese character sets in set::allowed-nickchars. We don't expect many users
to run their IRCd with this enabled, as the utf8 support was tagged as
experimental and the chinese/gbk implementation is incomplete.

This release also contains a number of other fixes and enhancements.
In particular the reputation and connthrottle modules are now working
better and there were some major Windows fixes.
2019-08-07 13:14:16 +00:00
wiz
c30c5fbc0b *: recursive bump for nettle 3.5.1 2019-07-20 22:45:58 +00:00
ryoon
57d0806c39 Recursive revbump from boost-1.70.0 2019-07-01 04:07:44 +00:00
wiz
b3869cf4b2 unrealircd: set DIST_SUBDIR for new distfile 2019-04-02 13:20:21 +00:00
nia
89744133ed unrealircd: bump PKGREVISION for distinfo change 2019-04-02 12:42:44 +00:00
nia
fc9bd5fe5b chat/unrealircd: update distinfo.
The tarball was silently updated without a release. After diffing this
against the git tag, the updated tarball seems to change some if statements
from if (x = y) to if (x == y)...

766055d5c0

The bug fixed by this change is apparently not exploitable.
2019-04-02 11:29:46 +00:00
nia
f49ef2c13d unrealircd: Update to 4.2.2.
Changes between version 4.2.1 and 4.2.2:

Improvements:

    Quicker connection handshake for clients which use CAP and/or SASL.
    With "TOPIC #chan" and "MODE #chan +b" (and +e/+I) you can see who set the topic and bans/exempts/invex. The default is to only show the nick of the person who set the item. This can be changed (not the default) by setting:

    set { topic-setter nick-user-host; };
    set { ban-setter nick-user-host; };

    The 'set by' and 'set at' information for +beI lists are now synchronized when servers link. You still see the MODE originating from the server, however when the banlist is queried you will now be able to see the original nick and time of the bansetter rather than serv.er.name. If you want the OLD behavior you can use: set { ban-setter-sync no; };
    The default maximum topic length has been increased from 307 to 360.
    You can now set more custom limits. The default settings are shown below:

    set {
            topic-length 360; /* maximum: 360 */
            away-length 307; /* maximum: 360 */
            quit-length 307; /* maximum: 395 */
            kick-length 307; /* maximum: 360 */
        };

    The message sent to users upon *LINE can now be adjusted completely via set::reject-message::kline and set::reject-message::gline.
    New set::anti-flood::max-concurrent-conversations which configures the maximum number of conversations a user can have with other users at the same time.
    Until now this was hardcoded at limiting /MSG and /INVITE to 20 different users in a 15 second period. The new default is 10 users, which serves as a protection measure against spambots.
    New set::max-targets-per-command which configures the maximum number of targets accepted for a command, such as 4 to allow e.g. /MSG nick1,nick2,nick3,nick4 hi.
    Also changed the following defaults (previously hardcoded):
        PRIVMSG from 20 to 4 targets, to counter /amsg spam
        NOTICE from 20 to 1 target, to counter /anotice spam
        KICK from 1 to 4 targets, to make it easier for channel operators to quickly kick a large amount of spambots
    Added INVITE and KNOCK flood protection (command rate limiting):
        set::anti-flood::invite-flood now defaults to 4 per 60 seconds (previously the effective limit was 1 invite per 6 seconds).
        set::anti-flood::knock-flood now defaults to 4 per 120 seconds.
    New set::outdated-tls-policy which describes what to do with clients that use outdated SSL/TLS protocols (eg: TLSv1.0) and ciphers.
    The default settings are to warn in all cases: users connecting, opers /OPER'ing up and servers linking in. The user will see a message telling them to upgrade their IRC client.
    This should help with migrating such users, since in the future, say one or two years from now, we would want to change the default to only allow TSLv1.2+ with ciphers that provide Forward Secrecy. Instead of rejecting clients without any error message, this provides a way to warn them and give them some time to upgrade their outdated IRC client.

Major issues fixed:

    Crash issue in the 'websocket' module.

Minor issues fixed:

    The advertised "link-security" was incorrectly downgraded from level 2 to 1 if spkifp was used as an authentication method.
    In case of a crash, the ./unrealircd backtrace script was not working correctly in non-English environments, leading to less accurate bug reports.
    Various crashes if a server receives incorrect commands from a trusted linked server.
    A number of memory leaks on REHASH (about 1K).
    SASL was not working post-registration, eg: when services link back in. This is now fixed in UnrealIRCd, but may require a services update as well.

Changed:

    The noctcp user mode (+T) will now only block CTCP's and not CTCP REPLIES. Also, IRCOps can bypass user mode +T restrictions.
    The server will warn if your ulines { } are matching UnrealIRCd servers.
    The m_whox module now contains various features that m_who already had.
    Also, m_whox will try to convert classic UnrealIRCd WHO requests such as "WHO +i 127.0.0.1" to whox style "WHO 127.0.0.1 i".
    Unfortunately auto-converting WHO requests is not always possible. When in doubt the WHOX syntax is assumed. Users are thus (still) encouraged to use the whox style when m_whox is loaded.

For module coders:

    New hook HOOKTYPE_WELCOME (aClient *acptr, int after_numeric): allows you to send a message at very specific places during the initial welcome.
    New Isupport functions: IsupportSet, IsupportSetFmt and IsupportDelByName.
    The M_ANNOUNCE flag in the command add functions should no longer be used as CMDS= is removed. Please update your module.
    New "SJSBY" in PROTOCTL, which is used in SJOIN to sync extra data. See the last part of the SJOIN documentation.
    For a command with 2 arguments, eg "PRIVMSG #a :txt", parv[1] is "#a", parv[2] is "txt" and parv[3] is NULL. Any arguments beyond that, such as parv[4] should not be accessed. To help module coders with detecting such bugs we now poison unused parv[] elements that should never be accessed. Note that without this poison your code will also crash, now it just crashes more consistently.

IRC protocol:
This section is intended for client coders and people interested in IRC protocol technicalities

    Many changes in the tokens used in numeric 005 (RPL_ISUPPORT):
        Removed CMDS= because this was an unnecessary abstraction and it was not picked up by any other IRCd.
        The tokens KNOCK MAP USERIP have been added (moved from CMDS=..)
        STARTTLS is no longer advertised in 005 since doing so would be too late. Also, STARTTLS is not the preferred method of using SSL/TLS.
        Added TARGMAX= to communicate set::max-targets-per-command limits.
        Removed the MAXTARGETS= token because TARGMAX= replaces it.
        Added DEAF=d to signal what user mode is used for "deaf"
        Added QUITLEN to communicate the set::quit-length setting (after all, why communicate length for KICK but not for QUIT?)
        The 005 tokens are now sorted alphabetically
    When hitting the TARGMAX limit (set::max-targets-per-command), for example with "/MSG k001,k002,k003,k004,k005 hi", you will see:
    :server 407 me k005 :Too many targets. The maximum is 4 for PRIVMSG.
    When hitting the set::anti-flood::max-concurrent-conversations limit (so not per command, but per time frame), you will see:
    :server 439 me k011 :Message target change too fast. Please wait 7 seconds
    When hitting the set::anti-flood::invite-flood limit you will get:
    :server 263 me INVITE :Flooding detected. Please wait a while and try again.
    When hitting the set::anti-flood::knock-flood limit you will get:
    :server 480 me :Cannot knock on #channel (You are KNOCK flooding)
    Not a protocol change. But when a server returns from a netsplit and syncs modes such as: :server MODE #chan +b this!is@an.old.ban
    Then later on you can query the banlist (MODE #chan b) and you may see the actual original setter and timestamp of the ban. So if a user wishes to see the banlist then IRC clients are encouraged to actively query the banlist before displaying it. Fortunately most clients do this.
    If the set::topic-setter or set::ban-setter are set to nick-user-host then the "added by" field in numerics that show these entries will contain nick!user@host instead of nick, eg:
    :server 367 me #channel this!is@some.ban bansetter!user@some.host 1549461765
2019-03-02 15:44:33 +00:00
nia
ba1af21c24 chat/unrealircd: Update to 4.2.1.1
Many changes, coming from an unsupported version, but at least
fixes CVE-2016-7144.
2019-02-09 15:23:15 +00:00
adam
5b12b7b592 revbump for boost 1.69.0 2018-12-13 19:51:31 +00:00
adam
9d06c0a472 revbump after boost-libs update 2018-08-16 18:54:26 +00:00
jperkin
5393242c73 *: Move SUBST_STAGE from post-patch to pre-configure
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
2018-07-04 13:40:07 +00:00
adam
35aa3efc12 revbump for boost-libs update 2018-04-29 21:31:17 +00:00
adam
983847f667 Revbump after boost update 2018-01-01 21:18:06 +00:00
wiz
1fc957a0ce Follow some redirects. 2017-09-06 09:02:59 +00:00
adam
62d3f1ac1b Revbump for boost update 2017-08-24 20:02:56 +00:00
ryoon
76884737ca Recursive revbump from boost update 2017-04-30 01:21:19 +00:00
adam
76632718ac Revbump after boost update 2017-01-01 16:05:55 +00:00
adam
3b88bd43a5 Revbump post boost update 2016-10-07 18:25:29 +00:00
jperkin
36e6903fd8 Remove the stability entity, it has no meaning outside of an official context. 2016-06-08 10:16:50 +00:00
jperkin
31ffe7cbb6 Change the service_bundle name to "export" to reduce diffs between the
original manifest.xml file and the output from "svccfg export".
2016-06-08 09:46:01 +00:00
jperkin
17661ff9a5 Bump PKGREVISION for security/openssl ABI bump. 2016-03-05 11:27:40 +00:00
jperkin
cb28107473 Update chat/unrealircd to 3.2.10.5.
pkgsrc changes:

 - Remove obsolete and broken MESSAGE files.
 - Find zlib correctly when enabled.
 - Add SMF manifest.
 - Update patch files and add comments where necessary.

Upstream changes:

 - This release fixes a SASL Denial of Service issue

Patch provided by Marco Wessel in joyent/pkgsrc#306.
2015-11-26 16:36:00 +00:00
dholland
1e4f290bfd patch comments 2015-11-07 22:52:54 +00:00
dholland
d89e57d6a3 pkglint 2015-11-07 22:52:04 +00:00
dholland
d01ca59cdd Avoid unnecessary use of legacy sys/timeb.h, which doesn't exist on OpenBSD. 2015-11-07 22:46:25 +00:00
agc
b35b0abbb4 Add SHA512 digests for distfiles for chat category
Problems found with existing distfiles:
	distfiles/icb-5.0.9.tar.gz
	distfiles/icb.2.1.4.tar.Z
	distfiles/zenicb-19981202.tar.gz
No changes made to these /distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 01:20:17 +00:00
jperkin
8091aee373 Now that _STRIPFLAG_INSTALL is disabled by default on Darwin, remove manual
settings of INSTALL_UNSTRIPPED=yes for Darwin in individual packages.
2015-09-07 12:02:05 +00:00
bsiegert
86b2a284f0 Update to 3.2.10.4, build with USE_LOCALE on Mac OS to unbreak the build.
Patch from Jonathan Buschmann in PR pkg/49540, slightly adapted.
2015-01-17 15:24:22 +00:00
obache
ffffdaf973 remove duplicated inet6 option. 2014-11-02 05:36:25 +00:00
obache
98911cbf06 Fixes unusual MESSAGE_SRC usage. 2014-11-02 05:35:39 +00:00
jperkin
45bc40abb4 Remove example rc.d scripts from PLISTs.
These are now handled dynamically if INIT_SYSTEM is set to "rc.d", or
ignored otherwise.
2014-03-11 14:04:57 +00:00
tron
73d05e2276 Recursive PKGREVISION bump for OpenSSL API version bump. 2014-02-12 23:17:32 +00:00
rodent
f05526528b Update to latest release, 3.2.10.1. LICENSE=gnu-gpl-v2; USE_TOOLS+=gunzip;
WRKSRC is now handled automatically. Let options.mk include bsd.prefs.mk
instead of pulling it in again in Makefile. CONFIGURE_ARGS for hub and leaf
no longer exist. Removed from PKG_OPTIONS. Specifying hostname in
CONFIGURE_ARGS is also no longer available. Removed. ${IRCD_SHARE}/networks
files are no longer provided. Removing from post-install and PLIST. From
Changes:

- Fix compilation issue when disabling stacked extbans. https://bugs.gentoo.org/389949
- Fix compilation issues with bundled tre and ./curlinstall-ed curl caused by over-generic regexes. Reported by warg.
- Include CMDS=STARTTLS in ISUPPORT/numeric 005 to let clients discover STARTTLS support through VERSION, before or after registration (#4064).
- Added patch from nenotopia to use more modern LUSERS numerics (#3967).
- Fix small error in oper block documentation, reported by Stealth (#2318).
- Config parser failed to check for invalid set::ssl options, reported and patch by fbi (#4035).
- Tweak: send actual channel name and not user supplied channel in KICK, reported and patch by Stealth (#3298).
- Services coders: Added support for ESVID. Instead of a number you can
  now store a string (of max NICKLEN size) as service stamp.
- Show account name in /WHOIS, for ESVID-capable services packages, patch from nenotopia (#3966).
- Added extended ban ~a:<account name> which matches users who are logged
  in to services with that account name. This works only on services that
  support ESVID. Patch from nenotopia (#3966).
- Updated extended ban documentation in help.conf and unreal32docs:
  new bantype ~a, and some text about extended bans & invex (+I).
- compile fix for just-checked-in patches.
- extban ~a = also allowed for invex
- Throw up an error if a password in the configuration file is too long
  (max 48 characters), reported by JasonTik, based on patch from
  WolfSage (#3223).
- Enforce matching of unrealircd version and PACKAGE_VERSION macros (#4014).
- Make default service stamp 0 (zero) again, instead of '*' which was
  introduced by ESVID changes a few days ago. This makes anope happy,
  and also means nothing will change in a non-ESVID scenario.
- Fix misuse of stdarg.h macros when calling vsyslog() (#4065 by Jimini).
- Ditch vsyslog() as it's only a waste of CPU, inspired by #4065.
- Add CAP support. Currently implemented are: multi-prefix (NAMESX), and
  userhost-in-names (UHNAMES). Patch from nenotopia (#4018, #4066)
- Fix issue with CAP & NOSPOOF. Patch from nenolod (#4077).
- Advertise 'tls' (STARTTLS) capability in CAP. Patch from nenolod (#4081).
- New user mode +I (IRCOp only) which hides idle times to other users,
  suggested and patch supplied by Nath & binki (#3953).
- Added remove_oper_modes(), which works just like remove_oper_snomasks(),
- Get rid of networks/ directory, and all references to it. Suggested by
  katsklaw and others (#4056).
- Added doc/example.es.conf, translated by Severus_Snape.
- Make the accept code check if the fd is within bounds instead of relying
  on OpenFiles to be correct.
- Moved nospoof to config file, suggested by and patch from nenolod (#4078).
- Even when 'M' was listed in set::oper-only-stats you could still do a
  '/STATS m'. Unlike other stats characters, case insensitivity was not
  checked for this one. Reported by and patch from Apocalypse (#4086).
- Added patch from Adam for poll() support (#1245).
update my own fd check code for poll support
- Some more changes and fixes regarding poll patch:
- make c-ares use 100% poll. and make sure we never deal with negative fds.
- UnrealIRCd now supports poll() instead of select().
- Speed optimization: First, moved a large part of vsendto_prefix_one into
  vmakebuf_local_withprefix. Then use this new function - which creates the
  buffer-to-be-sent - at the top of functions like sendto_channel_butserv
  and sendto_common_channels and send the prepared buffer in the loop that
  comes after it. This means we only prepare the buffer once and then send
  it many times, rather than both building and sending it XYZ times.
  Benchmarking connect-join-quit of 10k clients:
  100 users per channel: no noticeable speed improvement
  1000 users per channel: 18% faster
  10000 users in one channel: 50% faster
  As you can see, unfortunately, for a typical irc network there isn't much
  speed improvement. However, if you have a couple of 500+ user channels or
  get attacked by clones then you may see some improvement in speed and/or lower
  CPU usage.
- Call m_cap_Init() when m_cap is loaded through commands.so. Reported by nenolod.
- Fix for speed optimization a few lines up, was accidentally using ident
  username (which might have been 'unknown') instead of effective username.
- Added support for SASL, patch from nenolod (#4079).
- Fix crash in AUTHENTICATE (SASL commit from an hour or so ago).
- Tweak SASL code to conform to current coding style.
- Split up PROTOCTL line, since with the addition of ESVID we exceeded
  MAXPARA when using ZIP links.
- Poll I/O engine: get_client_by_pollfd() may return -1 when there's a race
  condition. Don't abort, instead just skip those clients.
- Fix win32 installer: apparently it sometimes complained about not having
- the Visual C++ 2008 redistributable package installed when this was not true.
- Fix Windows build.
- Win32 compile fix (nenolod)
- Print out a warning when we can't write to a log file. When booting this
  goes to the boot screen. When we are already booted it's sent to all
  IRCOps with a limit of max. 1 message per 5 minutes.
- Refuse to boot when we can't write to any log file.
- Remove old no-stealth configuration directive from documentation,
  reported by katsklaw, patch from warg (#4036).
- Added 'away-notify' client capability, which informs the client of any AWAY state changes of users on the same channel. Patch from nenolod (#4097).
- Add support for account-notify client capability (#4098). This capability
  can be used to request passive notifications for accountname changes.
- If set::options::dont-resolve is enabled, then use only the IP information
  from a WEBIRC message, reported by Ismat (#4103).
- Moved sendto_connectnotice, and thus the call to HOOKTYPE_LOCAL_CONNECT,
  so it gets called after the broadcast of NICK to other servers.
- Fix bug caused by new I/O engine (both with and without USE_POLL):
  queued data on the receive queue (eg: due to fake lag) was not processed
  unless we got new data from the client.
- Add support for server-enforced mode locks (MLOCK).
  This allows the IRCd to enforce MLOCKs that are set by services, which
  eliminates clashes between users setting modes and services enforcing
  it's mlock on channels. (#3055)
- complete the previous patch (MLOCK).. mostly just bringing it up to date & code-style
- Fixed another SASL crash bug. Always use HookAddEx, not HookAdd!
  Crash occured after the first quit of a user after a REHASH.
- SASL now needs to be enabled explicitly by setting a set::sasl-server.
- Changed numeric 307 (RPL_WHOISREGNICK) to 'is identified for this nick',
- Win32 installer (SSL): Uncheck 'create certificate' checkbox when
  server.cert.pem exists, and check it if the file doesn't exist.
- Win32 installer: Latest InnoSetup no longer supports Windows 95/98,
  so update Minversion to make the .iss compile.
- Module coders: added HOOKTYPE_AWAY (sptr, away-reason).
- Add optional oper::require-modes setting to the oper block. (#4008 by katsklaw)
- Clarify that hiddenhost-prefix must be the same on linked servers for
  bans to function properly (#4090, patch from warg, reported in #4043
  by maxb).
- Add /SILENCE to HTML documentation (reported by Severus_Snape in
  #4072, patch from warg).
- Show "Ping timeout: XYZ seconds" instead of just "Ping timeout".
- a bigger scratch buffer makes me sleep at night ;)
- Install server.*.pem files, patch from katsklaw (#3988).
- The ./Config script will now ask whether to generate an SSL
  certificate when it does not exist (defaults to Yes), instead of
  always generating one.
- Added missing Mod_Header to m_sasl.c
- Remove old reference to networks/ directory from Windows installer
- Disable sending of UHNAMES when HTM (High Traffic Mode) is ON,
- Disable sending of UHNAMES when HTM (High Traffic Mode) is ON,
- Add 'class' option to allow/deny channel so you can allow/deny
  users based on their class. Patch from fspijkerman (#4125).
- Use poll() in the remote includes functions when USE_POLL is
  defined (#4091).
- Fix bug where recursive includes would hang the IRCd, patch from
  binki with some minor modifications, reported by warg (#3919).
- Upgraded to c-ares 1.9.1. Updated configure & other files.
- various win32 fixes:
- Disable USE_POLL on Windows, since it doesn't work with XP and has
  no advantage anyway. Reported by nenolod (#4129).
- Various updates to makefile.win32 and .iss file, found during
  building new versions of zlib, openssl, and curl.
- Added set::options::disable-cap, which can be used to disable the
  new CAP support (#4104).
- Added auth method 'sslclientcertfp' which provides an alternative
  method to authenticate users with SSL client certificates based
  on SHA256 fingerprints. This can be used instead of the already
  existing 'sslclientcert' so you don't have to use an external file.
  One way to get the SHA256 fingerprint would be:
  openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint
  Suggested and patch supplied by Jobe (#4019).
- Added documentation on the new sslclientcertfp
- Moved documentation on authentication types to one place and refer
  to it from each section (oper::password, vhost::password,
  link::password-receive, etc).
- Windows: fix MOTD file always showing a date of 1/1/1970, reported
  by maxarturo (#4102).
- Removed unreal32docs.es.html (outdated since 2006-12-22),
  unreal32docs.gr.html (outdated since 2006-12-02), and
  unreal32docs.nl.html (outdated since 2009-01-18, possibly 2007-07-12).
- Remove wircd.def, needs to be re-generated almost each build anyway..
- Use our own (v)snprintf if not available.
- Use a more robust method of learning the server origin for a SASL agent.
- Use a more robust method of learning the server origin for a SASL
  agent. Fixes crash reported by Adam.
- Import unreal32docs Spanish translation by Karim Benzema.
- In the Mercurial repository the Changes file no longer exists (except
  for a dummy file). You now need to run ./createchangelog to generate it.
  Of course in official releases the Changes file will be present and
  contain all details.
- From now on, the Changes file is based on the history of the Mercurial
  repository. This means we no longer have to write text manually to the
  Changes file. This simple change helps a lot in future development
  because patches will no longer break when they are being ported from
  one branch to another.
- Update ./createchangelog to make it only show changes on default branch.
- If you are running the IRCd as root and use IRC_USER/IRC_GROUP then we now
change ownership of the log file to that user/group so it can still write
after the setuid(). Reported by asmadeus (#4152).
- Fix duplicate user@host in away-notify and account-notify, reported by grawity (#4153).
- '/rehash -global' did often not rehash all servers. Reported by Cronus (#4143)
- allow channel: Permit multiple channel items in one block again, was broken by patch from #4125.
- Update the documentation about set::dns::nameserver to reflect reality (that the setting is only used if c-ares can?t read /etc/resolv.conf).
- Don't remove oper-modes such as +S from non-local clients.
- Pull in poll(2) stuff before any other ircd include files. (#4155)
- Windows: Fix strange linking bug. Outgoing connects from a Windows
  IRCd caused a garbled SERVER protocol message, causing 'cannot find
  server' errors and killing of users. Reported by Sunkat (#4183).
- Custom modules: move EXLIBS= so shared libraries are always linked.
2013-07-14 15:42:34 +00:00
jperkin
b091c2f172 Bump PKGREVISION of all packages which create users, to pick up change of
sysutils/user_* packages.
2013-07-12 10:44:52 +00:00
jperkin
becd113253 PKGREVISION bumps for the security/openssl 1.0.1d update. 2013-02-06 23:20:50 +00:00