From fbff979cd8f6224852be9c970bde06407112d7e0 Mon Sep 17 00:00:00 2001
From: Rob Swindell <rob@synchro.net>
Date: Sun, 8 Nov 2020 18:03:32 -0800
Subject: [PATCH] Add missing/newer configuration to main cnf definition.

- min_pwlen
- textsec_mod
- automsg_mod
- xtrnsec_mod
- nodelist_mod
- whosonline_mod
- privatemsg_mod
- logonlist_mod

Since cnflib.js doesn't save/restore padding areas (yet), this explains
why using scripts that use cnflib to update/modify configuration files
could result in some settings being reverted to default or blank values
unexpectedly.

Next-up: fix cnflib so it saves and restores padding areas in .cnf files.
---
 exec/load/cnfdefs.js | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/exec/load/cnfdefs.js b/exec/load/cnfdefs.js
index 9ee249e23f..a56abf6e4b 100644
--- a/exec/load/cnfdefs.js
+++ b/exec/load/cnfdefs.js
@@ -264,7 +264,8 @@ struct.main={
 	new_install:				{bytes:UCHAR,		type:"int"},
 	newuser_msgscan_init:		{bytes:UINT16_T,	type:"int"},	// new_msgcan_init
 	guest_msgscan_init:			{bytes:UINT16_T,	type:"int"},
-	__PADDING1__:10,
+	min_pwlen:					{bytes:UCHAR,		type:"int"},
+	__PADDING1__:9,
 	expired_level:				{bytes:UCHAR,		type:"int"},
 	expired_flags1:				{bytes:UINT32_T,	type:"int"},
 	expired_flags2:				{bytes:UINT32_T,	type:"int"},
@@ -286,7 +287,15 @@ struct.main={
 	scanposts_mod:		{bytes:LEN_CMD+1,			type:"str"},
 	scansubs_mod:		{bytes:LEN_CMD+1,			type:"str"},
 	listmsgs_mod:		{bytes:LEN_CMD+1,			type:"str"},
-	__PADDING2__:569,
+	textsec_mod:		{bytes:LEN_MODNAME+1,		type:"str"},
+	automsg_mod:		{bytes:LEN_MODNAME+1,		type:"str"},
+	xtrnsec_mod:		{bytes:LEN_MODNAME+1,		type:"str"},
+	__PADDING2__:34,
+	nodelist_mod:		{bytes:LEN_CMD+1,			type:"str"},
+	whosonline_mod:		{bytes:LEN_CMD+1,			type:"str"},
+	privatemsg_mod:		{bytes:LEN_CMD+1,			type:"str"},
+	logonlist_mod:		{bytes:LEN_CMD+1,			type:"str"},
+	__PADDING3__:252,
 	user_backup_level:	{bytes:UINT16_T,			type:"int"},
 	mail_backup_level:	{bytes:UINT16_T,			type:"int"},
 	validation_set:		{bytes:struct.validation_set_t, type:"lst", length: 10},
-- 
GitLab