angiosperm/modules
Ed Kellett 23549f4aab
m_sasl: Remove implicit abort on registration
This doesn't make sense in a world where post-registration SASL is
allowed, and should fix one case of an annoying login desync that's seen
in the real world.

Specifically, when a client sends its final AUTHENTICATE and Atheme
receives it, it sends an SVSLOGIN for that client. If the client sends
us its CAP END *before* we see the SVSLOGIN, the implicit abort will try
to abort the SASL session that's already succeeded.

Atheme interprets this as an instruction to forget about the successful
SASL session; you'll connect unidentified. But it's already sent
SVSLOGIN, which will log the client in ircd-side, causing ircd and
services views to differ until the user authenticates again manually.

I think allowing a SASL session to be aborted when it has already
succeeded is an Atheme bug, and it can still be triggered without this
change. But our behaviour here seems silly anyway.
2021-10-17 00:01:14 +01:00
..
core ERR_USERONCHANNEL when following a forward is missing a param 2021-08-15 05:15:27 +01:00
Makefile.am Remove Windows support 2021-07-30 14:17:47 -04:00
cap_account_tag.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
cap_server_time.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
chm_nocolour.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
chm_noctcp.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
m_accept.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_admin.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_alias.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
m_away.c Replace most checks for +o with oper:general 2020-08-04 22:58:30 +01:00
m_cap.c Mailmap and copyright update for Ariadne 2021-06-01 12:40:02 -04:00
m_capab.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_certfp.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_challenge.c m_challenge: various fixes 2020-11-19 16:48:44 -05:00
m_chghost.c Mailmap and copyright update for Ariadne 2021-06-01 12:40:02 -04:00
m_close.c m_close: remove dangling return [ci skip] 2016-03-09 01:45:01 -06:00
m_connect.c ircd: do not shadow internal openssl symbol "ssl_ok" (yeah, i know) 2016-03-19 00:57:32 -05:00
m_dline.c m_dline: make the private reason private 2021-07-13 23:38:59 +01:00
m_encap.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_etrace.c Send RPL_ENDOFTRACE on local /etrace 2021-09-23 20:49:30 +01:00
m_grant.c Track and inform modules of privset changes 2021-03-01 15:45:03 +00:00
m_help.c cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
m_info.c Create configurations for user-facing messages within registration (#238) 2021-07-29 21:44:23 -04:00
m_invite.c m_invite: send message tags (#173) 2021-06-05 15:57:03 +01:00
m_ison.c m_ison: Do not report unregistered connections 2020-06-26 20:36:43 +00:00
m_kline.c Keep propagated bans in a dictionary, not a list 2021-06-08 21:57:43 +01:00
m_knock.c Replace most checks for +o with oper:general 2020-08-04 22:58:30 +01:00
m_links.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_list.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
m_lusers.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_map.c More cleanup 2016-03-23 00:11:26 -04:00
m_monitor.c m_monitor: refactor to use multiline 2020-11-12 19:18:01 -05:00
m_motd.c m_motd: don't ratelimit with no server argument 2019-09-15 20:05:51 +01:00
m_names.c names: refactor to use multiline 2020-11-12 19:18:01 -05:00
m_oper.c Allow privset-less OPER bursting 2021-06-05 19:42:18 +01:00
m_operspy.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_pass.c m_pass: store unverified SID in preClient for use in m_server 2018-08-15 22:48:20 +01:00
m_ping.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_pong.c random_ping: stop producing negative values that become 16 chars 2016-05-02 21:14:16 +01:00
m_post.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_privs.c Make privilegeset_privs more const 2021-03-01 15:45:03 +00:00
m_rehash.c Remove shared blocks 2020-11-01 04:20:44 +00:00
m_restart.c Remove shared blocks 2020-11-01 04:20:44 +00:00
m_resv.c Keep propagated bans in a dictionary, not a list 2021-06-08 21:57:43 +01:00
m_sasl.c m_sasl: Remove implicit abort on registration 2021-10-17 00:01:14 +01:00
m_scan.c Mailmap and copyright update for Ariadne 2021-06-01 12:40:02 -04:00
m_services.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
m_set.c make more snotes L_NETWIDE 2020-11-08 14:30:41 -05:00
m_signon.c Manage IsDynSpoof when effecting a (post-reg) SIGNON 2021-06-08 23:17:18 +01:00
m_snote.c Mailmap and copyright update for Ariadne 2021-06-01 12:40:02 -04:00
m_starttls.c Mailmap and copyright update for Ariadne 2021-06-01 12:40:02 -04:00
m_stats.c Remove Windows support 2021-07-30 14:17:47 -04:00
m_svinfo.c make more snotes L_NETWIDE 2020-11-08 14:30:41 -05:00
m_tb.c ircd: send tags on every message 2017-08-06 16:21:29 +01:00
m_testline.c m_testline: Complain on formerly-silent failures 2020-10-23 10:28:55 +01:00
m_testmask.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_tginfo.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_time.c cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
m_topic.c Replace most checks for +o with oper:general 2020-08-04 22:58:30 +01:00
m_trace.c Replace most checks for +o with oper:general 2020-08-04 22:58:30 +01:00
m_unreject.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_user.c m_nick/m_sasl/m_user: restore check for mixing of client and server protocol 2018-08-15 22:48:21 +01:00
m_userhost.c m_userhost: hide user's own IP if iline spoofed 2021-06-13 18:26:49 +01:00
m_users.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_version.c make VERSION not include sid (#118) 2021-04-10 15:19:27 +01:00
m_wallops.c wallops: require new oper:wallops right (#110) 2021-01-28 14:09:31 +00:00
m_who.c Replace most checks for +o with oper:general 2020-08-04 22:58:30 +01:00
m_whois.c m_whois: show services even if they lack opernames 2021-06-05 20:21:45 +01:00
m_whowas.c Replace most checks for +o with oper:general 2020-08-04 22:58:30 +01:00
m_xline.c Keep propagated bans in a dictionary, not a list 2021-06-08 21:57:43 +01:00
sno_routing.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
um_callerid.c um_callerid: Only people can have common channels 2021-06-24 18:30:59 +01:00
um_regonlymsg.c um_regonlymsg: copy auto-accept logic from +g 2021-07-10 21:27:13 +01:00