--- a/src/server/daemon/config.h Fri Dec 05 17:37:48 2025 +0100 +++ b/src/server/daemon/config.h Sun Dec 07 16:31:21 2025 +0100 @@ -48,6 +48,7 @@ #include "../webdav/webdav.h" #include <cx/linked_list.h> +#include <cx/array_list.h> #include <cx/hash_map.h> #include <cx/mempool.h> #include <cx/string.h> @@ -63,10 +64,17 @@ ServerConfiguration *cfg; } CfgManager; +typedef struct ScfgDestr { + cx_destructor_func destr; + void *data; +} ScfgDestr; + struct ServerConfiguration { pool_handle_t *pool; CxAllocator *a; + CxList *destr; // list of ScfgDestr + ServerConfiguration *next; CxMap *host_vs; // map of all vservers. key is the host name @@ -135,6 +143,8 @@ pblock* config_obj2pblock(pool_handle_t *pool, ConfigNode *obj); +void server_config_destroy(ServerConfiguration *cfg); + #ifdef __cplusplus } #endif