| Commit message (Expand) | Author | Age | Files | Lines |
| * | GitHub Docs Workflow: Bump runner version amdj/docs-workflow-upgrade | Aaron Jones | 2025-02-14 | 1 | -5/+7 |
| * | Update join and challenge.•••Reported by joerg on Libera.
Only took 20 years for someone to notice.
| alyx | 2025-02-12 | 2 | -3/+3 |
| * | Add max_autoconn to documentation•••7c7065b0 introduced class::max_autoconn configuration parameter.
However, this parameter was never added to config.rst and the
example config. This commits adds them there as well.
| Marco Meier | 2025-02-11 | 2 | -3/+11 |
| * | Don't set the oper flags on client (#443)•••Remove unused OPER_FLAGS logic in favor new priv system. It had rotted over time and was overlapping with PINGSENT | Eric Mertens | 2025-01-29 | 2 | -5/+0 |
| * | modules: remove unused spy code. | RealKindOne | 2024-07-24 | 5 | -146/+1 |
| * | m_stats: correct format specifiers and types•••These format specifiers were all wrong. Use the right ones. Musl time_t
is always 64 bits, so promote all rb_current_time usage to 64 bits.
Fixes #437 | Doug Freed | 2024-07-24 | 1 | -26/+26 |
| * | Accept expired certificates | Eric Mertens | 2024-06-28 | 1 | -0/+1 |
| * | s_user: reject invalid usernames before anything else•••This way invalid characters in usernames only appear in this snote, and
all other rejection snotes will always have clean usernames.
| Doug Freed | 2024-06-15 | 1 | -26/+26 |
| * | s_user: sanitize username early•••This ensures we don't allow [ in usernames anywhere. This also adds the
tilde early, which simplifies a lot of things, and fixes an issue with
username K-Lines on IsNoTilde users.
| Doug Freed | 2024-06-15 | 2 | -89/+51 |
| * | m_whois: restore original multi-prefix behavior•••The original behavior has existed since before git history, and has no
known impact on clients that exist today.
This reverts commit 746ced2 | Doug Freed | 2024-06-12 | 1 | -1/+1 |
| * | Remove WebSocket support | Aaron Jones | 2024-06-12 | 24 | -1882/+11 |
| * | Revert "Fix WHOIS reply not respecting a lack of the multi-prefix capability"•••A server handling a remote WHOIS cannot safely use IsCapable() to determine
if the client has multi-prefix enabled or not.
This is because client capabilities are not shared between servers; and the
IsCapable() macro dereferences source_p->localClient which will be NULL if
source_p is not on this server.
Instead rework the commit to always pretend that multi-prefix is not
enabled, to still respect the fact that multiple prefixes should not be
returned in case a client does not have multi-prefix enabled.
This reverts commit 4633665ad62bdfe26529
| Aaron Jones | 2024-06-11 | 1 | -1/+1 |
| * | Fix WHOIS reply not respecting a lack of the multi-prefix capability•••Prior to this commit, RPL_WHOISCHANNELS always contained all channel membership prefixes, even when the client had not enabled the multi-prefix capability. This behaviour predates available commit history. Other ircds only return the highest prefix, as prescribed by the RFCs.
| JustAnotherArchivist | 2024-06-11 | 1 | -1/+1 |
| * | Fix small typo•••authdd -> authd | Firepup650 | 2024-04-13 | 1 | -1/+1 |
| * | m_starttls: advertise tls cap only if SSL is possible | Doug Freed | 2024-03-12 | 1 | -0/+7 |
| * | doc/reference.conf: document the auth::umodes configuration option•••Fixes: 4d8088c386c23049fcfe ("Allow auth{} to apply extra umodes")
| Aaron Jones | 2024-01-16 | 1 | -0/+5 |
| * | MODRESTART/MODRELOAD: Defer reloading more quickly•••Commit 41390bfe5fa3895b8dee fixed a bug whereby the processing
of a MODRESTART command could result in a crash. The approach
taken in this fix was to defer the reloading of all modules
so that the call stack does not contain functions located in
modules that are being reloaded. It did this by scheduling a
one-shot timer event for 1 second in the future, in the absense
of any better deferral mechanism at the time. Timers are
processed by the event loop, which is core to IRCd and cannot
be reloaded.
Commit 59ea3c6753e80d051b20 introduced a mechanism to defer the
execution of a function until all events have been processed by
the event loop, in order to fix a REHASH bug that could result
in a crash due to closing and reopening listener sockets with a
pending socket connection event to process after the REHASH was
completed.
Rework commit 41390bfe5fa3895b8dee to use the new deferral
mechanism introduced by commit 59ea3c6753e80d051b20 and do the
same for module reloads.
| Aaron Jones | 2023-11-20 | 1 | -2/+2 |
| * | doc/reference.conf: document connect::flags sctp | Aaron Jones | 2023-11-20 | 1 | -0/+1 |
| * | extensions/invite_notify: make the NOTICE optional, configurable•••This adds a configuration option that determines whether the NOTICE is
sent to clients that do not support the IRCv3 invite-notify capability.
Requested by LiberaChat MGM.
| Aaron Jones | 2023-11-08 | 7 | -4/+23 |
| * | ircd/listener: return a fatal TLS alert for early rejected TLS clients•••This is in furtherance of commit 3fdf26aa19628d5e12a3 which added
functionality to reply with a TLS record layer alert for D-Lined TLS
clients. It turns out that there are other plaintext error messages
in this same function that should receive the same treatment.
Also move another error string to a variable and use a compile-time
optimised-out strlen for it too, to use the same approach as an
existing error string.
Finally, use a different alert (internal_error) for the case where
IRCd is simply unable to accept more connections.
| Aaron Jones | 2023-11-07 | 3 | -20/+47 |
| * | client: refactor del_all_accepts to allow skipping own accept list•••This allows reusing this function for other uses that just need to
remove this client from others' accept lists on nick change and not have
duplicates of this code everywhere
| Doug Freed | 2023-11-06 | 5 | -23/+19 |
| * | modules/m_oper.c: give a better error message for failure to find o:line•••The snotice sent to other opers can be misleading. For example, it will say
host mismatch even if the host is correct but the username is wrong, or if
the oper name given does not exist in the configuration.
| Aaron Jones | 2023-11-06 | 1 | -2/+2 |
| * | modules/m_challenge.c: give a better error message for failure to find o:line•••The snotice sent to other opers can be misleading. For example, it will say
host mismatch even if the host is correct but the username is wrong, or if
the oper name given does not exist in the configuration.
| Aaron Jones | 2023-11-06 | 1 | -2/+2 |
| * | modules/m_challenge.c: log correct mechanism•••I suspect this is a copy/paste omission when duplicating the code from
modules/m_oper.c when it was created.
| Aaron Jones | 2023-11-06 | 1 | -5/+5 |
| * | Replace free with rb_free | Eric Mertens | 2023-11-06 | 1 | -1/+1 |
| * | Delay rehashing until we're not processing events•••Fixes crash introduced by 0ab6dbbc651ddd1c26cb7baa6e6cf86890a4abd2. It's
probably a regression since it defeats a system designed to stop this
from happening, but I didn't dig through the history.
rehash() closes listeners. If we happen to get a single epoll() result
that wants to first rehash and then accept a connection, the epoll info
will point to a freed rb_fde_t. Other selectors should have similar
problems, but we didn't investigate that.
rb_fde_ts are normally batched up and freed outside the event
processing, but as of the above commit close_listeners() screws that up
by closing pending FDs immediately in order to create new listeners.
I think it might be a bit better to revert this behaviour and simply not
close listeners if we are going to open new ones over them, but have
opted for the smallest reasonable change I can think of.
Helped-by: Eric Mertens <emertens@gmail.com>
| Ed Kellett | 2023-11-06 | 4 | -9/+53 |
| * | Replace RPL_WHOISTEXT(337) with RPL_WHOISSPECIAL(320) (#419)•••Reasons:
* 337 conflicts with other IRCds use as RPL_ENDOFINVITELIST
* 320 is commonly used for extra human-readable information | Eric Mertens | 2023-10-03 | 3 | -7/+7 |
| * | document +M cmode (#417) | Svetlana T | 2023-08-29 | 2 | -0/+74 |
| * | Terminate last line in setfilter help | Mike Quin | 2023-08-07 | 1 | -1/+1 |
| * | Fix typo | Mike Quin | 2023-08-07 | 1 | -1/+1 |
| * | Correct order of chunking and encoding steps. | Mike Quin | 2023-08-07 | 1 | -6/+7 |
| * | Describe database loading. | Mike Quin | 2023-08-07 | 1 | -0/+12 |
| * | Add documentation for extensions/filter | Mike Quin | 2023-08-07 | 2 | -0/+73 |
| * | extensions/extb_extgecos: Fix breakage•••This commit returns $x's old behavior as long as the mask does not
contain a #, otherwise it uses the new behavior that supports
CIDR notation.
This fixes `$x:*badword*` not matching realnames containing "badword".
| TheDaemoness | 2023-07-04 | 1 | -6/+10 |
| * | Clarify messages when auspex users have hidden their own idle times•••Co-authored-by: Doug Freed <dwfreed@mtu.edu> | Stephen Bennett | 2023-07-01 | 1 | -13/+11 |
| * | prioritise telling opers that a auspexed target is +I | jesopo | 2023-07-01 | 1 | -7/+12 |
| * | show opers a reasonable message when auspex allows them to see idle time | jesopo | 2023-07-01 | 1 | -5/+15 |
| * | Add ACCOUNTEXTBAN ISUPPORT token•••To support the draft IRCv3 spec: https://github.com/ircv3/ircv3-specifications/pull/464
| Valentin Lorentz | 2023-07-01 | 1 | -0/+3 |
| * | modules: quietly succeed at loading a module if already loaded•••This allows explicitly loading a module in the config so it's available
for later config items that might need it, and skips the double load
when main loads all modules, which would cause errors
| Doug Freed | 2023-07-01 | 1 | -0/+4 |
| * | modules: clear module list and mod paths in init•••If main is called more than once (like in tests), everything is
reinitialized except the loaded module list and module paths, so clear
them too so that modules are loaded again and the path list is correct.
| Doug Freed | 2023-07-01 | 1 | -0/+3 |
| * | support RSFNC indicating type of FNC (e.g. FORCE vs REGAIN) (#406) | Jess Porter | 2023-07-01 | 2 | -0/+15 |
| * | extensions/extb_extgecos: support CIDR masks in $x extbans (#414)•••This allows a channel operator to set a channel ban such as
"$x:*!*@192.0.2.0/24#*web.libera.chat*" and have it function
as intended.
Closes solanum-ircd/solanum#26 | Aaron Jones | 2023-07-01 | 1 | -5/+28 |
| * | Add extban type for unidentified connections (#411)•••* Add extension extb_guest
This module provides an extban type that acts as a normal ban but
only matches unidentified users.
* Document extban g in help/opers/extban
* extensions/extb_guest: support CIDR masks in $g extbans
This allows a channel operator to set a channel ban such as
"$g:*!*@192.0.2.0/24#*web.libera.chat*" and have it function
as intended.
---------
Co-authored-by: Aaron Jones <me@aaronmdjones.net> | TheDaemoness | 2023-07-01 | 4 | -0/+76 |
| * | Warn opers about unresponsive servers | David Schultz | 2023-06-13 | 7 | -0/+53 |
| * | Sort reps in CREDITS case insensitive alphabetically | Tom Wesley | 2023-06-05 | 1 | -2/+2 |
| * | Replace libera reps with amdj and spb | Tom Wesley | 2023-06-03 | 1 | -2/+2 |
| * | reference.conf: document `hide_opers` | David Schultz | 2023-05-18 | 1 | -0/+3 |
| * | m_shedding: user shedding module based on oftc-hybrid | David Schultz | 2023-05-18 | 4 | -0/+187 |
| * | doc/connecting-servers: update example atheme protocol module•••Atheme has had a protocol module designed specifically for Solanum for some time now that includes proper support for new IRCd features. | David Schultz | 2023-05-15 | 1 | -1/+1 |
| * | Add "automake" and "libtool" to the list of packages required for building | jonesman | 2023-02-21 | 1 | -1/+1 |