diff options
author | Matt Strapp <strap012@umn.edu> | 2020-12-06 17:57:41 -0600 |
---|---|---|
committer | Matt Strapp <strap012@umn.edu> | 2020-12-06 17:57:41 -0600 |
commit | 9903a5eaec8e7814a960b1aea4f0246785d3f8c2 (patch) | |
tree | 7ea35f84e87d8b9736909cdfe1cefdf1f8a69eeb /P4 | |
parent | NOT CLEAR. I AM A MORON. (diff) | |
download | csci4061-9903a5eaec8e7814a960b1aea4f0246785d3f8c2.tar csci4061-9903a5eaec8e7814a960b1aea4f0246785d3f8c2.tar.gz csci4061-9903a5eaec8e7814a960b1aea4f0246785d3f8c2.tar.bz2 csci4061-9903a5eaec8e7814a960b1aea4f0246785d3f8c2.tar.lz csci4061-9903a5eaec8e7814a960b1aea4f0246785d3f8c2.tar.xz csci4061-9903a5eaec8e7814a960b1aea4f0246785d3f8c2.tar.zst csci4061-9903a5eaec8e7814a960b1aea4f0246785d3f8c2.zip |
I AM A MORON
Diffstat (limited to 'P4')
-rw-r--r-- | P4/util.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -100,19 +100,23 @@ int get_request(int fd, char *filename) { read(fd, buffer, 2048); printf("%s\n", buffer); - if(sscanf(buffer, "%s %s %s", get, filename, http) < 2) { // Read HTTP Get request and parse + if(sscanf(buffer, "%s %s %s", get, filename, http) < 2) { // Read HTTP Get request and parse + close(fd); return -1; } else if (strcmp(get, "GET")) { + close(fd); printf("Not a GET\n"); return -2; } else if (strlen(filename) > 1023) { + close(fd); printf("Not sure but bad\n"); return -3; } for (int i=0; i<strlen(filename); i++) { if ((strstr(filename, "//")) != 0 || (strstr(filename, "..")) != 0) { + close(fd); printf("Invalid directory!\n"); return -4; } @@ -163,7 +167,7 @@ int return_result(int fd, char *content_type, char *buf, int numbytes) { return -4; } if (write(fd, buf, numbytes) == -1) { - perror("Write error"); + perror("Bad write"); close(fd); return -5; } |