0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-29 08:54:02 +01:00
construct/include
Keith Buck dceac3e4fb conf parsing: Fix memory leaks and clean up code a bit.
Charybdis currently leaks about 45-50k per configuration parse,
including every rehash. This change plugs these leaks by properly
iterating through all conf_parm_t structures to seek all strings that
should be freed and also by freeing the conf_parm_t structures
themselves.

These leaks have been present since the original rewrite of the
configuration parsing system in ircd-ratbox r11953.

Additionally, this change also cleans up and documents the parsing code
a bit.
2014-02-28 17:35:51 +00:00
..
inline strip_colour: Prefer IsDigit to isdigit. 2012-03-15 00:58:56 +01:00
.indent.pro [svn] - the new plan: 2007-01-24 22:40:21 -08:00
bandbi.h Add bandb IRCd APIs. 2010-01-07 17:10:16 -06:00
blacklist.h Add support for multiple forms of blacklist queries using matches. 2013-04-20 20:49:11 -05:00
cache.h cache: use rb_strdup() instead of a static buffer for cache lines. 2013-01-15 16:24:33 -06:00
capability.h server: Make sure CAP_CAP and CAP_TS6 are non-zero. 2012-12-18 17:03:59 +01:00
channel.h Remove MODE_NOCTCP from core, in favor of chm_noctcp. 2012-03-31 22:48:36 -05:00
chmode.h chmode: Remove chm_regonly, a vestige from ratbox which doesn't apply to native charybdis networks. 2010-12-06 22:46:37 -06:00
class.h Split cidr_bitlen into cidr_ipv4_bitlen and cidr_ipv6_bitlen. 2008-11-30 13:31:59 +01:00
client.h whowas: Use the normal rules for IP visibility. 2013-09-14 12:26:32 +02:00
common.h Remove ^M on line endings. 2008-04-13 17:54:23 +02:00
config.h Add explicit support for being installed into a system triggered with --enable-fhs-paths. 2012-03-01 02:41:09 +00:00
config.h.dist Remove all the DEFINE's and the random places they were used for the .conf-based ban stuff. 2010-12-04 17:26:14 -05:00
defaults.h Remove duplicate default-value code. 2013-10-29 09:32:28 +00:00
hash.h Remove ^M on line endings. 2008-04-13 17:54:23 +02:00
hook.h Implement kill-cancelling hook. 2013-04-20 01:07:55 -05:00
hostmask.h PASS selector:password for auth{}, based on spb's patch for ircd-seven 2008-06-26 10:18:58 +04:00
ipv4_from_ipv6.h Add code to get IPv4 addresses from 6to4 and Teredo IPv6 addresses. 2012-01-08 15:51:44 +01:00
irc_dictionary.h Fix various compiler warnings. 2008-04-20 15:20:10 +02:00
ircd.h Removed SystemTime declaration 2008-06-28 14:38:27 +04:00
ircd_defs.h Remove s_assert definition from ircd_defs.h and add it to its own header. 2013-09-10 06:10:14 +00:00
ircd_getopt.h [svn] - the new plan: 2007-01-24 22:40:21 -08:00
ircd_linker.h [svn] - the new plan: 2007-01-24 22:40:21 -08:00
ircd_signal.h [svn] - the new plan: 2007-01-24 22:40:21 -08:00
listener.h Add listen::defer_accept option for controlling usage of TCP_DEFER_ACCEPT option. 2012-03-17 10:00:39 -05:00
logger.h Store the creation time of klines and dlines as a time_t instead of as text. 2010-02-28 00:46:56 +01:00
m_info.h Remove all the DEFINE's and the random places they were used for the .conf-based ban stuff. 2010-12-04 17:26:14 -05:00
match.h irc_string.h -> match.h, irc_string.h; includes changed 2008-04-20 09:47:38 +04:00
messages.h Fix various printf arg types. 2014-02-23 23:01:59 +01:00
modules.h Simplify module path list, removing strcpy use. 2014-02-23 23:47:27 +01:00
monitor.h Remove ^M on line endings. 2008-04-13 17:54:23 +02:00
msg.h Update comments for parv[0] removal. 2009-01-18 18:22:43 +01:00
newconf.h conf parsing: Fix memory leaks and clean up code a bit. 2014-02-28 17:35:51 +00:00
numeric.h Mostly enable support for checking format strings with -Wformat. 2013-02-21 05:46:04 -06:00
operhash.h Make struct operhash_entry private. 2010-03-01 01:24:00 +01:00
packet.h Minor cleanup to command throttling code: 2011-10-04 00:46:00 +02:00
parse.h libcharybdis includes gone. 2008-04-02 02:39:19 +04:00
patchlevel.h configure: Add --with-custom-branding and --with-custom-version options. 2011-05-08 08:55:32 -05:00
privilege.h Don't suggest putting values in an enum that are not in the enum. 2009-01-28 01:02:34 +01:00
ratelimit.h Add ratelimit for high-bandwidth commands. 2012-02-18 03:54:44 +00:00
reject.h Allow /rehash throttles to clear throttling. 2009-03-07 01:49:09 +01:00
res.h irc_string.h -> match.h, irc_string.h; includes changed 2008-04-20 09:47:38 +04:00
reslib.h res.c: Try other servers if errors or corrupt replies are encountered. 2012-10-09 05:58:02 +00:00
restart.h [svn] - the new plan: 2007-01-24 22:40:21 -08:00
s_assert.h Remove s_assert definition from ircd_defs.h and add it to its own header. 2013-09-10 06:10:14 +00:00
s_auth.h Clean up s_auth a little. No functional changes. 2008-06-21 00:58:08 +02:00
s_conf.h Add option to immediately apply nick RESVs by FNC'ing. 2012-03-25 01:34:45 +00:00
s_newconf.h Add support for linking using SSL certificate fingerprints as the link credential rather than the traditional server-password pair. 2010-12-13 23:14:00 -06:00
s_serv.h Migrate capability negotiation code to new dynamic capability management API. 2012-02-04 01:47:46 -06:00
s_stats.h Add ratelimit for high-bandwidth commands. 2012-02-18 03:54:44 +00:00
s_user.h Make the format argument of change_nick_user_host() const. 2008-04-08 18:54:58 +02:00
scache.h Show opers a list of recently (<24hrs) split servers in /map. 2007-11-23 23:38:54 +01:00
send.h Apply extended-join client cap to QJM joins 2011-11-12 14:41:01 +00:00
setup.h.in autotools: fix typo relating to ban db 2014-01-31 11:03:54 -05:00
snomask.h [svn] - the new plan: 2007-01-24 22:40:21 -08:00
sslproc.h add missing file 2008-04-06 11:31:46 -05:00
stdinc.h Revert all presence-related changes 2009-12-08 19:22:55 +00:00
substitution.h libcharybdis includes gone. 2008-04-02 02:39:19 +04:00
supported.h Make change_isupport() return the old value!!! 2008-08-29 15:36:41 -05:00
tgchange.h Remove s_assert definition from ircd_defs.h and add it to its own header. 2013-09-10 06:10:14 +00:00
whowas.h whowas: Use the normal rules for IP visibility. 2013-09-14 12:26:32 +02:00