| Commit message (Expand) | Author | Age | Files | Lines |
| * | s->id probably won't be set by this point jess/filter-nick | jesopo | 2024-02-02 | 1 | -2/+2 |
| * | comment here too why not | jesopo | 2024-02-02 | 1 | -0/+1 |
| * | also run filters against pre-reg NICK | jesopo | 2024-02-02 | 3 | -15/+75 |
| * | run spamfilters against NICK | jesopo | 2024-02-01 | 2 | -0/+31 |
| * | 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 |
| * | chmode: convert bants to a proper serial•••This way it increments for every change. It need not be a timestamp, as
its actual value is not important.
This fixes an issue where a ban could be set, hit, and cleared all in
the same second, and the affected client would still be cached as banned
because the bants hadn't actually changed.
| Doug Freed | 2023-01-23 | 1 | -2/+2 |
| * | um_callerid: increase hook priority to restore +Rg behavior•••Before splitting things out into hooks, umode +Rg would only notify the
recipient if the sender satisfied +R. This restores that behavior by
making the +g hook happen after +R. | Doug Freed | 2023-01-18 | 1 | -2/+2 |
| * | ircd/authproc.c: avoid crash on lack of any configured DNSBLs•••Fixes fbc97166a6e455f5cccf
Closes #396
| Aaron Jones | 2023-01-11 | 1 | -6/+9 |
| * | help/opers/: add HELP entry for DEHELPER | Aaron Jones | 2023-01-11 | 1 | -0/+11 |
| * | authd: fix crash/restart breaking DNSBL lookups (#394)•••authd child processes are only told about configured DNSBLs when the
configuration is being parsed.
This is bad, because when authd crashes or is killed, IRCd will restart
it, but will not tell it about any configured DNSBLs until IRCd is next
rehashed.
We already have a dictionary that stores configured DNSBLs (for hit
statistics for `STATS n'), so store the additional needed fields in
that structure, and loop over that dictionary's entries when authd is
restarted, sending the fields just as if the configuration were being
reloaded.
Reported-By: @Unit193 | Aaron Jones | 2023-01-11 | 4 | -20/+38 |
| * | strip_colour: Strip '\x11' (monospace) and '\x1e' (strikethrough)•••Also clarify the comment: this function strips more than just colours.
| Tobias Geerinckx-Rice | 2023-01-03 | 1 | -1/+3 |
| * | send RPL_LOGGEDIN to target_p upon ENCAP SU (#308) | Jess Porter | 2022-12-23 | 1 | -0/+10 |
| * | Remove the unused COMPRESSED flag and stats handler•••- Null "compress" handler left as-is in newconf.c
| JailBird | 2022-12-22 | 2 | -4/+0 |
| * | Don't crash on receiving GRANT from a server | Stephen Bennett | 2022-11-22 | 1 | -0/+6 |
| * | ssld: Remove unused zlib_ok variable | JailBird | 2022-11-09 | 1 | -4/+2 |
| * | SET SPANNUM: Fix incorrect > 0 check to be >= 0 | JailBird | 2022-11-09 | 1 | -1/+1 |