]> code.citadel.org Git - citadel.git/blobdiff - citadel/room_ops.c
* oops, an oversight ... CtdlRoomAccess() needs to convey UA_DELETEALLOWED for intern...
[citadel.git] / citadel / room_ops.c
index c97beb1c24a125edaa5a606e94a650ccabdde55d..07ad2f5e061ab7e051f1f5388b82b933a06a3925 100644 (file)
@@ -57,7 +57,7 @@ void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
 
        /* for internal programs, always do everything */
        if (((CC->internal_pgm)) && (roombuf->QRflags & QR_INUSE)) {
-               retval = (UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED);
+               retval = (UA_KNOWN | UA_GOTOALLOWED | UA_POSTALLOWED | UA_DELETEALLOWED);
                vbuf.v_view = 0;
                goto SKIP_EVERYTHING;
        }
@@ -977,6 +977,9 @@ void convert_room_name_macros(char *towhere, size_t maxlen) {
        else if (!strcasecmp(towhere, "_TRASH_")) {
                safestrncpy(towhere, USERTRASHROOM, maxlen);
        }
+       else if (!strcasecmp(towhere, "_DRAFTS_")) {
+               safestrncpy(towhere, USERDRAFTROOM, maxlen);
+       }
        else if (!strcasecmp(towhere, "_BITBUCKET_")) {
                safestrncpy(towhere, config.c_twitroom, maxlen);
        }
@@ -1169,8 +1172,11 @@ void cmd_rdir(char *cmdbuf)
                        stat(buf, &statbuf);    /* stat the file */
                        if (!(statbuf.st_mode & S_IFREG))
                        {
-                               snprintf(buf2, sizeof buf2, "Command RDIR found something that is not a useable file. It should be cleaned up.\n RDIR found this non regular file:\n%s\n", buf);
-                               aide_message(buf2, "RDIR found bad file");
+                               snprintf(buf2, sizeof buf2,
+                                       "\"%s\" appears in the file directory for room \"%s\" but is not a regular file.  Directories, named pipes, sockets, etc. are not usable in Citadel room directories.\n",
+                                       buf, CC->room.QRname
+                               );
+                               aide_message(buf2, "Unusable data found in room directory");
                                continue;       /* not a useable file type so don't show it */
                        }
                        safestrncpy(comment, "", sizeof comment);