When deleting a room, delete its netconfig configdb entry instead of the netconfig...
authorArt Cancro <ajc@citadel.org>
Sat, 2 Jan 2016 03:00:46 +0000 (22:00 -0500)
committerArt Cancro <ajc@citadel.org>
Sat, 2 Jan 2016 03:00:46 +0000 (22:00 -0500)
citadel/config.h
citadel/room_ops.c

index 999fe7e76ba6182b3bed6fc25900e55c35336615..8419a8c79c70f9b990a8b5ab1de62c6091f0c87e 100644 (file)
@@ -117,3 +117,4 @@ void CtdlDelConfig(char *key);
 char *CtdlGetSysConfig(char *sysconfname);
 void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
 void validate_config(void);
+void netcfg_keyname(char *, long);
index abd5e14b1475020ab63db518e397a49fe5954099..f616d7e742214c4149a2709e0db0f8160884886b 100644 (file)
@@ -1132,6 +1132,7 @@ void CtdlDeleteRoom(struct ctdlroom *qrbuf)
 {
        struct floor flbuf;
        char filename[PATH_MAX];
+       char configdbkeyname[25];
 
        syslog(LOG_NOTICE, "Deleting room <%s>", qrbuf->QRname);
 
@@ -1143,9 +1144,9 @@ void CtdlDeleteRoom(struct ctdlroom *qrbuf)
        assoc_file_name(filename, sizeof filename, qrbuf, ctdl_image_dir);
        unlink(filename);
 
-       /* Delete the room's network config file */
-       assoc_file_name(filename, sizeof filename, qrbuf, ctdl_netcfg_dir);
-       unlink(filename);
+       /* Delete the room's network configdb entry */
+       netcfg_keyname(configdbkeyname, qrbuf->QRnumber);
+       CtdlDelConfig(configdbkeyname);
 
        /* Delete the messages in the room
         * (Careful: this opens an S_ROOMS critical section!)
@@ -1167,7 +1168,6 @@ void CtdlDeleteRoom(struct ctdlroom *qrbuf)
 }
 
 
-
 /*
  * Check access control for deleting a room
  */