aboutsummaryrefslogtreecommitdiffstats
path: root/extensions
Commit message (Expand)AuthorAgeFilesLines
* Add dedicated hook data type for can_create_channel•••hook_data_can_create_channel includes the name of the channel being created, which is necessary for any non-trivial restriction of channel creation as well as sending correct error messages. The new hook data matches the layout of the previous hook data, taking advantage of a disused pointer field in hook_data_client_approval as used by callers of the hook (m_join). Gravatar daemoness2025-05-112-2/+2
* 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. Gravatar Aaron Jones2023-11-081-3/+8
* 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". Gravatar TheDaemoness2023-07-041-6/+10
* Add ACCOUNTEXTBAN ISUPPORT token•••To support the draft IRCv3 spec: https://github.com/ircv3/ircv3-specifications/pull/464 Gravatar Valentin Lorentz2023-07-011-0/+3
* 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#26Gravatar Aaron Jones2023-07-011-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>Gravatar TheDaemoness2023-07-013-0/+75
* m_shedding: user shedding module based on oftc-hybridGravatar David Schultz2023-05-182-0/+177
* extensions/umode_hide_idle_time: mask times for hidden sources (#373)•••If the user performing a WHOIS has hidden their idle time (is umode +I), also prevent them from seeing other user's idle times, even if said users are not themselves umode +I. Suggested-by: @Unit193Gravatar Aaron Jones2022-10-211-1/+1
* chm_regmsg: fix typo in descriptionGravatar David Schultz2022-10-021-1/+1
* Make +R play nicely with +zGravatar Stephen Bennett2022-10-011-14/+49
* remove old reference to the unsupported directory•••the unsupported directory was removed by charybdis a while ago Gravatar vulpine2022-09-261-1/+1
* Add umode +I to allow users to hide their idle time (#220)Gravatar David Schultz2022-08-302-0/+81
* chm_regmsg: don't duplicate nick in 415•••sendto_one_numeric already includes the nick, so there's no need to duplicate it. OFTC does not.Gravatar Doug Freed2022-07-111-1/+1
* Cast time_t to long long when printingGravatar Matthew Martin2022-07-011-1/+1
* ERROR instead of NOTICE for failed WEBIRCGravatar Jess Porter2022-07-011-5/+5
* Normalize snprintf size to use sizeof where possibleGravatar Matthew Martin2022-06-241-1/+1
* don't subject remote users to chm_nonoticeGravatar Jess Porter2022-01-161-2/+5
* helpops: show opernames to opersGravatar Ed Kellett2021-10-171-4/+10
* explicitly show IP in SNO_BANNED snotesGravatar jess2021-10-091-2/+2
* extb_canjoin: Ignore exemptionsGravatar Ed Kellett2021-09-221-1/+1
* chm_regmsg: actually check channel mode (#271)Gravatar Eric Mertens2021-08-231-0/+4
* switch sasl_usercloak.c to use SNO_BANNEDGravatar jesopo2021-08-201-3/+3
* hook_fn casts were hiding UB (#265)Gravatar Eric Mertens2021-08-1934-105/+132
* Make new_local_user hooks handle dead clientsGravatar Ed Kellett2021-08-193-1/+10
* Remove Windows supportGravatar jailbird7772021-07-301-3/+0
* kick,remove: don't confuse source and target membershipGravatar Ed Kellett2021-07-131-8/+8
* add override /inviteGravatar jesopo2021-07-061-0/+19
* Add `solanum.chat/oper` capablity (#217)Gravatar David Schultz2021-06-262-0/+148
* Show account name in cliconn snotes when SASL is used (#135)•••Show account name in cliconn snotes when SASL is usedGravatar David Schultz2021-06-121-2/+3
* Port m_invex_regonly from ircd-seven (#178)•••Port m_invex_regonly from ircd-seven This module allows +I to be used to bypass +r (registered only) as well as +i (invite only). Co-authored-by: Doug Freed <dwfreed@mtu.edu> Co-authored-by: Ed Kellett <e@kellett.im>Gravatar Mike Quin2021-06-122-0/+47
* Mailmap and copyright update for AriadneGravatar Ariadne Conill2021-06-011-1/+1
* Remove $x's magical powersGravatar Ed Kellett2021-04-261-12/+1
* Remove redundant param to update_session_deadlineGravatar Ed Kellett2021-04-261-17/+15
* Manage override sessions properlyGravatar Ed Kellett2021-04-261-5/+10
* "KDX-Line active for" is now L_NETWIDE, so remove sno_globalklineGravatar jesopo2021-04-102-65/+0
* Add +R channel mode module requiring services account to chat (#102)•••* Add +R channel mode module requiring services account to chat * Use void* in hook argument * move chm_regmsg from modules to extensions * generate error message when module fails to loadGravatar Eric Mertens2021-01-242-0/+93
* extensions: remove m_roleplayGravatar Doug Freed2020-11-222-223/+0
* m_findforwards: refactor to use multiline•••Fixes #57 Gravatar Doug Freed2020-11-121-16/+7
* make more snotes L_NETWIDEGravatar jess2020-11-083-7/+7
* Stop using chm_nosuch as a sentinel value (#53)•••Remove chmode compat modules This removes the need for chm_nosuch as well. Unknown mode detection happens in mode parsing now.Gravatar Eric Mertens2020-11-084-138/+0
* Clean up duplication in ChannelModeFunc prototypes (#52)Gravatar Eric Mertens2020-11-073-6/+3
* Rework channel mode handling•••Incoming MODE processing is split into a parsing step and an execution step, instead of a mode's effector function being involved in its own parsing. Modes can no longer use custom logic to control their parsing, and instead supply a combination of CHM_* flags to the parser. As a result, we know before we try to effect any mode changes what all of them will be. The reauthorize hack for override is no longer necessary. A side effect of its introduction was that `MODE #foo b x!y@z` no longer worked; in removing it we restore that behaviour. We gain the ability to reject various invalid inputs that: - mutate or query unknown modes - supply excess mode arguments - query modes that can't be queried In each case, whether we *should* reject it is an open question; for now I'm rejecting the first one. Gravatar Ed Kellett2020-11-083-43/+19
* m_webirc: Blow away ident if we've got it•••Previously, anyone on the WEBIRC gateway would get its ident if it advertised one, which seems wrong to me. This allows ident to be used with WEBIRC while still letting users send their own ~username in band. Gravatar Ed Kellett2020-11-021-2/+11
* Remove shared blocksGravatar Ed Kellett2020-11-011-4/+2
* Rename UMODE_SSLCLIENT, IsSSLClientGravatar Ed Kellett2020-10-313-3/+3
* Replace IsInsecure with IsSecureGravatar Ed Kellett2020-10-311-3/+3
* Delete extensions/spy_*,sno_whoisGravatar Ed Kellett2020-10-289-441/+0
* helpops: change umode char to hGravatar Ed Kellett2020-10-271-4/+5
* cap_realhost: neaten oper IP tag checkGravatar Ed Kellett2020-10-241-4/+2
* cap_realhost: Don't send realhost to non-opers•••If they can see it it's already in the message source Gravatar Ed Kellett2020-10-241-6/+1