aboutsummaryrefslogtreecommitdiffstats
path: root/doc/technical
Commit message (Expand)AuthorAgeFilesLines
* Add m_quarantine•••This extension module provides a new usermode (+q) and two commands that allow opers to set/unset that mode. The mode can be set either via ircd.conf (general::default_umodes or auth::umodes) or via the QUARANTINE command. When using the command, a reason is required which will be broadcast to all other opers via the snote. The quarantine will be automatically removed if the target opers up or logs into a services account, and opers and logged in users cannot be quarantined. The UNQUARNTINE command may additionally be used to remove the quarantine status from a user. Users cannot otherwise set or remove this usermode from themselves. The QUARANTINE and UNQUARANTINE commands require a new priv oper:quarantine. To support this, a new account_change hook was added to m_services and m_signon. This hook is fired whenever a user's services account changes (via logging in or logging out) from the SVSLOGIN, SIGNON, LOGIN, or SU services commands. It is **not** fired for SVSLOGIN on unknown (pre-registration) users. Documentation was updated for the new usermode, hook, and commands. Usermode help was alphabetized for consistency, a missing entry for helpops was added, and cloaking was moved to +x (since all modern cloaking modules use that mode instead) since I was touching the file anyway. Gravatar Ryan Schmidt2026-04-291-46/+70
* Add doing_version_confopts hook•••This hook allows modification of the confopts portion of a VERSION response (i.e. the set of flags representing how the ircd was configured). Extension modules can use this hook to display additional confopts without needing to edit m_version or add things to core in order to share state with m_version. Gravatar Ryan Schmidt2026-01-221-45/+78
* Pass msgbuf to PART's privmsg_channel hook and propagate PART tags•••The privmsg_channel hook gained a new msgbuf member which was uninitialized in m_part. Properly pass the msgbuf to that parameter and propagate any tags set by the hook to downstream servers. This requires introducing sendto_server_tags(), and I refactored sendto_server() to call the same helper internal method as sendto_server_tags(). I took the opportunity to update the method to use msgbuf instead of linebuf directly (meaning sendto_server() now calls outbound_msgbuf). Fixes #484 Gravatar Ryan Schmidt2026-01-221-1/+0
* Overhaul hooks documentation•••The new hooks documentation is now a comprehensive accounting of every hook that exists in the solanum repo. The document includes changes to hooks present in the (as of now unmerged) PRs #466, #478, and #482. Gravatar Ryan Schmidt2026-01-212-137/+1214
* modules/m_stats: fix hooks not being called (#458)•••Some modules rely on stats hooks being called (e.g. extensions/helpops). These calls were removed accidentally by commit 4e89f6603d63b2f8dfde. Additionally, the last vestiges of the spy-only doing_stats_p hook were left around. No module has ever used this hook. Remove it.Gravatar Aaron Jones2025-08-181-3/+0
* EBMASK capab, to burst BMASK metadata (#354)Gravatar Jess Porter2022-08-201-0/+15
* Mailmap and copyright update for AriadneGravatar Ariadne Conill2021-06-011-1/+1
* Document s2s ECHOGravatar Ed Kellett2020-11-061-0/+7
* Document invite hooksGravatar Ed Kellett2020-04-301-0/+17
* Propagate OPER•••Move opername and privset storage to struct User, so it can exist for remote opers. On /oper and when bursting opers, send: :foo OPER opername privset which sets foo's opername and privset. The contents of the privset on remote servers come from the remote server's config, so the potential for confusion exists if these do not match. If an oper's privset does not exist on a server that sees it, it will complain, but create a placeholder privset. If the privset is created by a rehash, this will be reflected properly. /privs is udpated to take an optional argument, the server to query, and is now local by default: /privs [[nick_or_server] nick] Gravatar Ed Kellett2019-09-131-1/+7
* m_sasl: indicate client connection type for SASLGravatar Simon Arlott2017-08-091-0/+10
* doc: Cleanup trailing whitespaceGravatar Matt Ullman2016-03-292-3/+3
* modules: remove explicit CPRIVMSG/CNOTICE, this has been obsolete for a long ...Gravatar William Pitcock2016-03-101-2/+0
* Ginormous docs cleanup.•••Purge a lot of really old and obsolete documents, and merge some together where possible. Lots of efnet docs and the old ircd-ratbox manpage (lol) was purged. Reorganise everything nice and neatly as possible. Things describing features can be found in features/, and some more technical documents were moved to techinical/. Old credits file was consolidated into credits-past.txt, and a reference was added to it in the credits. Gravatar Elizabeth Myers2016-03-0513-1059/+200
* server: Require EX and IE capabilities (+e and +I cmodes).•••The code to send each channel mode only to servers supporting it was broken a while ago and was not very useful anyway. Therefore, require all connecting servers to support all standard channel modes. Gravatar Jilles Tjoelker2014-05-291-4/+4
* doc/ts6-protocol: Document ETB message (EOPMOD capab).Gravatar Jilles Tjoelker2014-02-221-0/+37
* doc/ts6-protocol: Correct the mode letter for terminationGravatar Mantas Mikulėnas2014-01-121-1/+1
* Enable remote WHOWAS queries.•••On ircd-seven, this will allow remote opers to see certain hidden IPs. Gravatar Jilles Tjoelker2013-09-131-0/+9
* Mention channel name parameter to SJOIN in ts6-protocol.txtGravatar Alex Iadicicco2013-05-151-1/+1
* Fix null value for EUID account name in TS6 protocol document.Gravatar Jilles Tjoelker2012-04-301-1/+1
* Specify more about IP addresses in TS6 protocol document.Gravatar Jilles Tjoelker2012-03-131-0/+13
* Fix RSFNC parameter order in TS6 protocol document.Gravatar Jilles Tjoelker2012-03-071-1/+1
* Add documentation for proposed JUPE TS6 command.Gravatar William Pitcock2010-10-281-0/+15
* Update MLOCK protocol documentation to match changes in codeGravatar Stephen Bennett2010-05-021-9/+5
* Improve technical documentation of BAN protocol.Gravatar Jilles Tjoelker2010-04-291-1/+3
* Add syntax description of MLOCK message to ts6-protocol.txt.Gravatar William Pitcock2010-03-071-0/+22
* Document BAN message.Gravatar Jilles Tjoelker2010-03-071-4/+41
* ts6-protocol.txt: mention meaning of capabs EX, IE, SERVICES, KNOCK.Gravatar Jilles Tjoelker2009-12-261-3/+4
* Add description for TB and TOPIC messages.Gravatar Jilles Tjoelker2009-03-291-1/+16
* Apply +z to messages blocked by +b and +q as well.•••This adds a new server capab EOPMOD which will be used for an extended topic command also. Gravatar Jilles Tjoelker2009-03-291-0/+3
* Mention that @#chan/+#chan requires CHW capab.Gravatar Jilles Tjoelker2009-03-291-0/+1
* Add GUNGLINE to protocol documentation (efnet only, not in charybdis).Gravatar Jilles Tjoelker2009-03-251-0/+16
* Document efnet-style GLINE protocol.Gravatar Jilles Tjoelker2009-03-011-0/+19
* Clarify some PRIVMSG/NOTICE restrictions.Gravatar Jilles Tjoelker2009-02-081-0/+8
* Numerics are also server-server messages.Gravatar Jilles Tjoelker2009-02-081-0/+23
* Clarify propagation of JOIN and SJOIN.Gravatar Jilles Tjoelker2009-02-061-0/+5
* Add more information about propagation.Gravatar Jilles Tjoelker2009-02-051-11/+24
* Add description for LOCOPS message.Gravatar Jilles Tjoelker2009-02-051-1/+16
* Clarify connection setup.Gravatar Jilles Tjoelker2009-01-301-4/+25
* First draft of a more complete TS6 server protocol description.Gravatar Jilles Tjoelker2009-01-251-0/+890
* Removed TS5 description as it is no longer supportedGravatar Valery Yatsko2008-07-301-151/+0
* Keep gline information in server version and capab listings•••for historical reference. Gravatar Jilles Tjoelker2008-04-111-0/+1
* Removing glinesGravatar Valery Yatsko2008-04-111-1/+0
* again, fbfile.c hasn't existed in a long time.Gravatar William Pitcock2007-12-211-37/+0
* fbfile.c hasn't existed in a long time.Gravatar William Pitcock2007-12-211-34/+0
* Remove rfc1459, because IETF documentation does not contain any permission no...Gravatar William Pitcock2007-12-211-3643/+0
* [svn] Port over ratbox 2.2 r23507, r23624, r23626 (jilles/anfl):•••Change TS6 JOIN processing - don't send out simple modes in TS6 JOIN and TS5 SJOIN when a local user joins an existing channel - don't send out simple modes in TS6 JOIN and TS5 SJOIN when propagating a TS6 JOIN - don't interpret simple modes in an incoming TS6 JOIN This is to avoid desyncs when certain mode changes (e.g. -im) cross with joins. A downside is that simple modes will be more desynched when a JOIN creates a channel or lowers TS, but that's less important. Update the TS6 specification to include this, and clarify that TMODE can come from a server and that MODE must be translated into TMODE from other servers too. Gravatar jilles2007-02-191-40/+70
* [svn] - the new plan:••• + branches/release-2.1 -> 2.2 base + 3.0 -> branches/cxxconversion + backport some immediate 3.0 functionality for 2.2 + other stuff Gravatar nenolod2007-01-2415-0/+5357