UCLS: output networker files to syslog
[citadel.git] / citadel / file_ops.c
index b52915e70ae0da62f4ca41e07d4b1a7f9dac9a29..098554cd90d57b741768dca26bde49862349c935 100644 (file)
@@ -203,6 +203,12 @@ void cmd_open(char *cmdbuf)
                        ERROR + FILE_NOT_FOUND);
                return;
        }
+       if (strstr(filename, "../") != NULL)
+       {
+               cprintf("%d syntax error.\n",
+                       ERROR + ILLEGAL_VALUE);
+               return;
+       }
 
        if (CC->download_fp != NULL) {
                cprintf("%d You already have a download file open.\n",
@@ -284,6 +290,13 @@ void cmd_oimg(char *cmdbuf)
                                filename[a] = '_';
                        }
                }
+               if (strstr(filename, "../") != NULL)
+               {
+                       cprintf("%d syntax error.\n",
+                               ERROR + ILLEGAL_VALUE);
+                       return;
+               }
+
                snprintf(pathname, sizeof pathname,
                                 "%s/%s",
                                 ctdl_image_dir,
@@ -532,6 +545,8 @@ void cmd_ucls(char *cmd)
                        );
 
                        if (link(CC->upl_path, final_filename) == 0) {
+                               syslog(LOG_INFO, "UCLS: updoaded %s\n",
+                                      final_filename);
                                unlink(CC->upl_path);
                        }
                        else {
@@ -539,6 +554,7 @@ void cmd_ucls(char *cmd)
                                        CC->upl_path, final_filename, strerror(errno)
                                );
                        }
+                       
 
                        /* FIXME ... here we need to trigger a network run */
                }