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

1905 Commits

Author SHA1 Message Date
Bram Matthys 10ec67d163 Fix +I ~inherit:#chan (invite exceptions) 2024-09-09 16:28:22 +02:00
Bram Matthys 1a2d93778e Add small note on +e/+I not working yet for ~inherit. TODO item.
[skip ci]
2024-09-09 16:07:21 +02:00
Bram Matthys 554281d6eb Update curl-ca-bundle.crt to Tue Jul 2 03:12:04 2024 GMT
https://curl.se/docs/caextract.html
[skip ci]
2024-09-09 11:52:31 +02:00
Bram Matthys a9874bc51f Update shipped c-ares to 1.33.1 (Aug 23, 2024) 2024-09-09 11:46:39 +02:00
Bram Matthys 7d62fe9548 Update HELPOP EXTBANS on ~inherit.
[skip ci]
2024-09-08 17:49:01 +02:00
Bram Matthys 8fa8476831 Typoooos in the release notes
[skip ci]
2024-09-08 17:39:42 +02:00
Bram Matthys 70a98d3af2 Update release notes a bit
[skip ci]
2024-09-08 17:36:48 +02:00
Bram Matthys decaeec484 HELPOP EXTBANS sorting and some whitespace changes
[skip ci]
2024-09-08 16:41:33 +02:00
Valerie Liu 4c46be691b Update help.conf: Add ~asn to extbans help output (#293) 2024-09-08 14:38:36 +00:00
Bram Matthys ee1d6818b4 Add +b/+e/+I ~inherit:#channel to inherit channel bans from another channel
Several notes:
* This only checks on-JOIN (not on nick change, message, etc)
  for performance reasons
* If the #channel in ~inherit:#channel also contains ~inherit
  entries then those are not processed (no recursion and no looping)
* Only a limited number of ~inherit entries is permitted.
  This will be moved to set:: items in a future commit so you
  can set different amounts for +b/+e/+I ~inherit.
* This is work in progress, UnrealIRCd or the entire world could explode
* Documentation will follow later

Developers:
* Sadly, clean_ban_mask() needed to be changed to have two more
  parameters, 'ban_type' and 'channel' were added at different positions.
  This because the module needs the ban type (EXBTYPE_BAN, EXBTYPE_EXCEPT,
  EXBTYPE_INVEX) and channel because it rejects based on number of
  existing ~inherit entries in the channel... and while is_ok() is called
  for local clients and has all this information, for services clients
  is_ok() is not called so the only way to reject the +beI is through
  xxx_conv_param() which comes from clean_ban_mask().
2024-09-07 21:02:15 +02:00
Bram Matthys bfb41612c8 Sync release notes with upcoming 6.1.7.2 dot release.
6.1.7.2 does not exist in git and will be:
* Version bumped from 6.1.7.1 to 6.1.7.2
* 5092fa985d (cbl-timeout-fix)
* 624d1d189c (remove curlinstall)

[skip ci]
2024-08-24 08:16:04 +02:00
Bram Matthys 191e6ac162 Bump version to 6.1.8-git 2024-07-20 11:53:47 +02:00
Bram Matthys 0030e7849c Mention anope 2.1.x (dev) and different protocol module name.
Reported by DeviL.
[skip ci]
2024-07-20 08:44:43 +02:00
Bram Matthys a686254540 ** UnrealIRCd 6.1.7.1 ** 2024-07-18 10:25:06 +02:00
Bram Matthys 7fb7c7968a Relnotes: it is require authentication { } and not ban authentication { }
Reported by PeGaSuS
[skip ci]
2024-07-16 18:34:58 +02:00
Bram Matthys 4ab1a4d128 ** UnrealIRCd 6.1.7 ** 2024-07-16 12:36:53 +02:00
Bram Matthys 33e9b65ce4 ** UnrealIRCd 6.1.7-rc1 ** 2024-07-13 09:46:03 +02:00
Bram Matthys 3ccfc9ecf2 Rewrite release notes a bit
[skip ci]
2024-07-12 16:57:26 +02:00
Bram Matthys 1b4f987ab7 Move displaying of ASN in WHOIS to separate RPL_WHOISASN (569)
This is the numeric that the inspircd third party module uses
https://github.com/inspircd/inspircd-contrib/blob/master/4/m_asn.cpp
and it does not seem taken at
https://defs.ircdocs.horse/defs/numerics.html or
https://www.alien.net.au/irc/irc2numerics.html

This also means AS displaying is now separately configured via
set::whois-details::asn. By default only IRCOps can see it.
2024-07-12 12:17:39 +02:00
Bram Matthys da6cf4f6fa Add crule function match_asn(64496) 2024-07-12 11:37:18 +02:00
Bram Matthys 156e38f538 Update release notes a bit
[skip ci]
2024-07-12 11:30:21 +02:00
Bram Matthys 34b183c75a Update example in release notes to require authentication { mask { asn...
instead of ban user { }. Has a bit more use.
Also mention that +b/+e is possible but of little use in the
normal / default configuration. It can be if you don't do cloaking
though and change set::whois-details::geo.. eg everyone full;
[skip ci]
2024-07-12 11:21:58 +02:00
Bram Matthys 65c8a6e667 Some minor tweaks here and there
[skip ci]
2024-07-12 11:16:01 +02:00
Bram Matthys 0844f7243f Add ASN as extended server ban, mask item, secgroup. Eg: GLINE ~asn:64496 0 Bye!
This also automatically adds it as a security group and mask item:

ban user {
        mask { asn 64496; }
        reason "Testing ASN ban";
}

And yeah, it is a normal extban too (in +b and +I). Users usually
don't know the AS Number of other users, though, unless you change
the default configuration (at the cost of privacy).

Updated release notes a bit... more will follow.
2024-07-12 11:12:54 +02:00
Bram Matthys f33a0d2c1b Add initial ASN support:
* Including default download via unrealircd.org
* Shown in WHOIS - currently in RLP_WHOISCOUNTRY, not sure
  if that is correct.
* Shown in connect notices [asn: XYZ] [asname: BLAH BLAH]
* Shown in json user expansion (JSON logging and JSON-RPC)
* Only via geoip_classic at the moment
* Structs and serializing in geoip_base done
* Extbans not added yet
2024-07-12 10:31:52 +02:00
Bram Matthys a9f4656971 Update release notes a bit
[skip ci]
2024-07-11 18:55:55 +02:00
Bram Matthys 7157e1a578 Mention donation URL in boot screen. This used to be at 'make install'
but was removed several years ago. I think this is a better place.

This also removes doc/Donation which was out of date and probably
not many people knew about it at all.

[skip ci]
2024-07-06 16:14:20 +02:00
Bram Matthys 9cc2918d5f Make set::spamfilter::except a Mask item
* [set::spamfilter::except](https://www.unrealircd.org/docs/Set_block#set::spamfilter::except)
  is now a [Mask item](https://www.unrealircd.org/docs/Mask_item) instead of
  only a list of exempted targets. A warning is created to existing users
  along with a suggestion of how to use the new syntax. Technically, this is
  not really new functionality as all this was already possible via
  the [Except ban block](https://www.unrealircd.org/docs/Except_ban_block)
  with type spamfilter, but it is more visible/logical to have this also.
2024-07-06 10:09:35 +02:00
Bram Matthys a804b24150 Add set::hide-killed-by which shortens the quit to "Killed (Reason)".
* New option [set::hide-killed-by](https://www.unrealircd.org/docs/Set_block#set::hide-killed-by):
  We normally show the nickname of the oper who did the /KILL in the quit message.
  When set to `yes` the quit message becomes shortened to "Killed (Reason)".
  This can prevent oper harassment.

Suggested by PeGaSuS in https://bugs.unrealircd.org/view.php?id=6425
2024-07-06 08:12:11 +02:00
Bram Matthys 667eae41dd Add warning when rpc-user::rpc-class is missing. Add default 'full' and 'read-only'.
The reason for the warning is that in some future UnrealIRCd version I want the
rpc-user::rpc-class to become a required item.

This commit also adds rpc-class.default.conf which is by default
included from rpc.modules.default.conf.

This also completes the TODO list from b9de933378
(the rpc.add_timer was never a loophole and i kept rpc.info as-is)
2024-07-05 11:45:49 +02:00
Bram Matthys b9de933378 Similar to oper and operclass, this adds an rpc-class block.
This so you can restrict the JSON Methods that can be called, eg:

rpc-class limited {
    privileges {
        server { list; get; }
        channel { list; get; }
        user { list; get; }
    }
}

rpc-user xyz {
    match { ip 127.0.0.1; }
    password "test";
    rpc-class limited;
}

NOTE: This is work in progress
1) Things are NOT yet fully contained, as i need to lock down
   rpc.add_timer still :)
2) Some more work, eg rpc.info would be nice to show some
   information about the restriction (??)
3) Need to fix a memory leak
4) Possibly more
2024-07-05 10:21:45 +02:00
Bram Matthys 7415101bc3 Update shipped libsodium to 1.0.20. 2024-07-01 15:37:49 +02:00
Bram Matthys d307fef2d5 Update shipped PCRE2 to 10.44 2024-07-01 15:36:07 +02:00
Bram Matthys 25bed9ac1f Update the shipped c-ares to 1.31.0 and silence deprecation warnings for c-ares API.
Ignore these for entire src/dns.c.
Quoting https://github.com/c-ares/c-ares/pull/732#issuecomment-2028454381:
"Those deprecated functions will remain available until there is an ABI
 break, which honestly will likely never happen. It's more to encourage
 integrators to move to the more modern functions."
Also, keep in mind that several of these 'deprecations' happened in early 2024
while the new function was introduced in March 2020, like for ares_getaddrinfo().
That isn't all that long ago, only 4 years. So we would need compatibility code
for both the old and new function for a while.
So: we can look into that in some major new UnrealIRCd version, nothing urgent,
and perhaps by then it is long enough that we don't need the fallback to older
functions.
2024-07-01 15:05:01 +02:00
Bram Matthys bc7c69dd20 Make ban user::mask and require authentication::mask a Mask item. Finally.
As requested in
https://bugs.unrealircd.org/view.php?id=6159 by PeGaSuS
https://bugs.unrealircd.org/view.php?id=6319 by BlackBishop
https://bugs.unrealircd.org/view.php?id=6397 by Valware

The mask item https://www.unrealircd.org/docs/Mask_item
means you can use all the power of mask items and security groups and
multiple matching criteria.

This requires a bit more testing as username/hostname are NULL now
so some code paths may have to be adjusted. The function call to add
server bans has changed too. And, really need to check that soft bans
are not broken... because they might be ;D
2024-06-30 19:06:37 +02:00
Bram Matthys 57f93a1ffa Write some initial release notes
[skip ci]
2024-06-14 11:21:27 +02:00
Bram Matthys 9e1fa65a46 Make locop only able to REHASH local server and not remote ones.
As reported in https://bugs.unrealircd.org/view.php?id=6414
2024-06-14 11:15:23 +02:00
Bram Matthys 5e46692bb2 Bump version to 6.1.7-git 2024-06-14 10:00:37 +02:00
henk84 214423564e comment optional, fictional example blocks (#282)
Co-authored-by: Hendrik Jäger <gitcommit@henk.geekmail.org>
2024-06-14 07:27:56 +00:00
henk84 575bbeefd8 remove nonexistant email address in badwords conf (#283)
Co-authored-by: Hendrik Jäger <gitcommit@henk.geekmail.org>
2024-06-14 07:25:32 +00:00
henk84 d98dc2fcc3 Fix comment in example.conf (#281)
fix plural
Co-authored-by: Hendrik Jäger <gitcommit@henk.geekmail.org>
2024-06-14 07:25:04 +00:00
henk84 4ad2a601ac fix comment in modules.optional.conf (#280)
fix repeated preposition
Co-authored-by: Hendrik Jäger <gitcommit@henk.geekmail.org>
2024-06-14 07:24:31 +00:00
Bram Matthys dd2242b6a8 ** UnrealIRCd 6.1.6 **
The release will be published tomorrow (2024-06-14).
2024-06-13 19:14:28 +02:00
Bram Matthys 89b735f6f2 Update curl-ca-bundle to Mon Mar 11 15:25:27 2024 GMT
https://curl.se/docs/caextract.html
[skip ci]
2024-06-13 18:54:08 +02:00
Bram Matthys f2c92ee4b0 ** UnrealIRCd 6.1.6-rc1 ** 2024-06-07 18:22:48 +02:00
henk84 fdc1cd1902 fix word repetition in operclass.conf (#279) 2024-06-02 14:14:19 +02:00
Bram Matthys a11cfde6cd Fix crash if you first REHASH and have a parse error (failed rehash 1) and
then REHASH again but a remote include fails to load (failed rehash 2).

This was reported by multiple (anonymous) people via the crash reporter.
2024-05-20 10:28:33 +02:00
Bram Matthys 899955b47d Crule: forgot match_realname('*xyz*'). Now we should be at 100% :) 2024-05-20 09:11:25 +02:00
Bram Matthys 0e9280e731 Crule: add match_account(), match_country(), match_certfp(). 2024-05-20 09:06:11 +02:00
Valerie Liu 14dd3a9038 Crule: add is_identified(), is_websocket() and is_webirc() (#277)
* Update crule.c: add is_identified(), is_websocket() and is_webirc()
* Update RELEASE-NOTES.md
2024-05-20 05:50:07 +00:00