request.c (943B)
1 #include <stddef.h> 2 #include <limits.h> 3 4 #include "common.h" 5 #include "http.h" 6 #include "url.h" 7 #include "request.h" 8 9 int 10 get_filename(const char *query, char *filename, size_t len) 11 { 12 int ret; 13 14 ret = query_param(query, "file", filename, len); 15 16 if (ret == 1) { 17 reply("400 Bad Request", "Missing filename"); 18 return -1; 19 } 20 21 if (ret == -1 || !valid_filename(filename)) { 22 reply("400 Bad Request", "Invalid filename"); 23 return -1; 24 } 25 26 return 0; 27 } 28 29 int 30 get_new_filename(const char *body, 31 char *filename, 32 size_t len) 33 { 34 int ret; 35 36 ret = query_param(body, 37 "new_filename", 38 filename, 39 len); 40 41 if (ret == 1) { 42 reply("400 Bad Request", 43 "Missing new filename"); 44 return -1; 45 } 46 47 if (ret == -1 || !valid_filename(filename)) { 48 reply("400 Bad Request", 49 "Invalid filename"); 50 return -1; 51 } 52 53 return 0; 54 }