Migrate compile-time settings to runtime configuration via ircd.conf
authorRemco Rijnders <remmy@serenity-irc.net>
Sat, 7 Mar 2026 17:17:36 +0000 (12:17 -0500)
committerRemco Rijnders <remmy@serenity-irc.net>
Sat, 7 Mar 2026 17:17:36 +0000 (12:17 -0500)
commitc2b4712051134e82d76a1c50d6ed5a27082b6188
tree6299ec43c89e2ee8c68b0a366bb01c8108b287f6
parente6b6b8d0f3995cd247db39c42882ae5382865fe9
Migrate compile-time settings to runtime configuration via ircd.conf

Move network identity, service names, masking hostnames, tuning limits,
and feature toggles from #defines in config.h to runtime globals in
settings.h/settings.c, parsed from network{}, limits{}, and general{}
blocks in ircd.conf. A single binary can now serve different networks
without recompilation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17 files changed:
doc/example.conf
include/config.h
include/settings.h [new file with mode: 0644]
include/struct.h
include/sys.h
src/Makefile
src/channel.c
src/class.c
src/dbuf.c
src/masking.c
src/s_bsd.c
src/s_conf.c
src/s_debug.c
src/s_err.c
src/s_serv.c
src/s_user.c
src/settings.c [new file with mode: 0644]