solanum-vs-hackint-and-char.../modules
Ed Kellett 06c5309534 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.
2022-10-06 17:06:28 -04:00
..
core Add oper:free_target (#374) 2022-09-26 19:50:11 +01: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 Apply cmode C to replies (#328) 2022-04-14 13:14:12 -07:00
m_accept.c
m_admin.c
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
m_certfp.c
m_challenge.c OpenSSL 3.0 compatibility 2022-08-25 00:36:47 +00:00
m_chghost.c Mailmap and copyright update for Ariadne 2021-06-01 12:40:02 -04:00
m_close.c
m_connect.c
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 global masktrace doesn't need to be an operspy action 2022-07-01 00:07:02 +01:00
m_grant.c Track and inform modules of privset changes 2021-03-01 15:45:03 +00:00
m_help.c
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_kline.c refuse opers setting an invalidly long k-line reason 2022-06-30 23:59:17 +01:00
m_knock.c
m_links.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_list.c m_list: fail on invalid parameters 2021-10-20 11:35:53 +01:00
m_lusers.c
m_map.c Normalize snprintf size to use sizeof where possible 2022-06-24 01:42:08 -04:00
m_monitor.c m_monitor: refactor to use multiline 2020-11-12 19:18:01 -05:00
m_motd.c
m_names.c m_names: use ITER_COMM_CHANNELS 2021-10-17 17:36:53 +01:00
m_oper.c Allow privset-less OPER bursting 2021-06-05 19:42:18 +01:00
m_operspy.c
m_pass.c
m_ping.c
m_pong.c send "End of burst" snote to L_NETWIDE (#356) 2022-08-19 03:17:05 +01:00
m_post.c
m_privs.c Make privilegeset_privs more const 2021-03-01 15:45:03 +00:00
m_rehash.c
m_restart.c
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 2022-10-06 17:06:28 -04:00
m_scan.c Normalize snprintf size to use sizeof where possible 2022-06-24 01:42:08 -04:00
m_services.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
m_set.c
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 Add umode +I to allow users to hide their idle time (#220) 2022-08-30 16:49:43 -04:00
m_svinfo.c
m_tb.c
m_testline.c Add description parameter to auth blocks (#327) 2022-04-14 14:39:45 -07:00
m_testmask.c
m_tginfo.c
m_time.c
m_topic.c Cast time_t to long long when printing 2022-07-01 03:43:36 -04:00
m_trace.c Add umode +I to allow users to hide their idle time (#220) 2022-08-30 16:49:43 -04:00
m_unreject.c
m_user.c
m_userhost.c m_userhost: hide user's own IP if iline spoofed 2021-06-13 18:26:49 +01:00
m_users.c
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 Add umode +I to allow users to hide their idle time (#220) 2022-08-30 16:49:43 -04:00
m_whois.c Add umode +I to allow users to hide their idle time (#220) 2022-08-30 16:49:43 -04:00
m_whowas.c
m_xline.c Keep propagated bans in a dictionary, not a list 2021-06-08 21:57:43 +01:00
Makefile.am Remove Windows support 2021-07-30 14:17:47 -04:00
sno_routing.c hook_fn casts were hiding UB (#265) 2021-08-19 20:09:40 -07:00
um_callerid.c Make opers talking through +g controllable by user mode +M (#275) 2022-04-12 17:54:58 -04:00
um_regonlymsg.c um_regonlymsg: prevent unregistered users from NOTICEing +R users too 2022-08-24 17:16:39 -04:00