solanum/modules
Aaron Jones 41390bfe5f
When a remote MODRESTART command is received, it will pass through the
ENCAP module. The ms_encap function is responsible for dispatching the
command handler and then the modules will eventually be reloaded.

However, if the ENCAP module is reloaded to a different address, the
stack now contains the address of a function that no longer exists.

Also, in this version of the IRCd, the module restarting functionality
was located in a function that is itself located in a module, so things
will also go badly if that module is reloaded to a different address,
too.

Return immediately from the command handler and have the event loop
call the function responsible for reloading the modules instead.

c.f. release/3.5 commit db05a3621058

Reported-by: mniip (Freenode)
2016-12-28 22:08:14 +00:00
..
core When a remote MODRESTART command is received, it will pass through the 2016-12-28 22:08:14 +00:00
cap_account_tag.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
cap_server_time.c IRCD_BUFSIZE is redundant with BUFSIZE, so kill it. 2016-03-23 09:22:55 -05:00
chm_nocolour.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_noctcp.c Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05: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 cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
m_away.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_cap.c Change struct Dictionary(*) to rb_dictionary(_\1). 2016-03-23 08:09:58 -05: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 Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05:00
m_chghost.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05: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 common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05: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 common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_grant.c m_grant.c - fixed remote grant support 2016-09-10 17:54:13 +02:00
m_help.c cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
m_info.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_invite.c invite: do not send duplicate invite messages (closes #194) 2016-06-16 20:21:18 -05:00
m_ison.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_kline.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_knock.c cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
m_links.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_list.c typedef-ify rb_radixtree for consistency. 2016-03-23 08:32:22 -05: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 Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_motd.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_names.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_oper.c Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05: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 strcpy: mass-migrate to strlcpy where appropriate 2016-05-15 03:58:44 +00: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 Get rid of flags2. 2016-04-07 07:40:55 -05:00
m_rehash.c m_rehash: Require admin privileges for REHASH SSLD. 2016-12-04 22:15:29 +00:00
m_restart.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_resv.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_sasl.c SASL: Relax rate limiting for failures a little 2016-10-02 14:13:02 +00:00
m_scan.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_services.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_set.c modules/m_set: booleanify. 2016-04-10 10:11:03 -05:00
m_signon.c strcpy: mass-migrate to strlcpy where appropriate 2016-05-15 03:58:44 +00:00
m_snote.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_starttls.c starttls: Allow command usage with backends other than OpenSSL 2016-05-14 00:26:03 +00:00
m_stats.c cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
m_svinfo.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_tb.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_testline.c Message handlers should return void. 2016-03-09 01:37:03 -06: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 Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_trace.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_unreject.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_user.c Replace s_auth/blacklist stuff with authd calls 2016-03-28 02:11:16 -05:00
m_userhost.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_users.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_version.c ircd: remove basically entirely pointless ServerInfo.hub (closes #167) 2016-03-19 23:05:07 -05:00
m_wallops.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_who.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_whois.c whois: check target is an oper before assuming they have a privset 2016-09-20 13:47:55 +00:00
m_whowas.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_xline.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
Makefile.am Fix cross compile for Windows 2016-12-04 20:21:07 +00:00
sno_routing.c AV2 description: forgot this one too 2016-03-07 04:13:01 -06:00