From 34cdecdb57d5ce4b22c6bc0c4d6884a47f9b3744 Mon Sep 17 00:00:00 2001 From: Pentium44 Date: Wed, 26 May 2021 12:17:31 -0700 Subject: [PATCH] Fixed random filename generator --- src/inc/network.h | 2 +- src/lexer.c | 45 +-------------------------------------------- src/network.c | 6 +++--- src/util.c | 2 ++ 4 files changed, 7 insertions(+), 48 deletions(-) diff --git a/src/inc/network.h b/src/inc/network.h index 94a3ebc..86976e3 100644 --- a/src/inc/network.h +++ b/src/inc/network.h @@ -10,7 +10,7 @@ // END OF nethttp char *snet_process_connection(int sockfd); -void snet_listen(int port, char *srch, char *resp); +void snet_listen(int port); void snet_toss(char *address, int port, char *string); void snet_process(int sockfd); void snet_http_process(int fd, int forkval); diff --git a/src/lexer.c b/src/lexer.c index 8b299d6..229bf7a 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -907,7 +907,6 @@ char *process_line (char *line) /* Networking, listen */ else if (strncmp("netlisten",tok_srch,9) == 0) { - char srch[MAX_NETSRCH_BUF]; char port[7]; // Should never be more than 6 characters tok_srch = strtok_next ("\""); if (tok_srch == NULL) @@ -935,54 +934,12 @@ char *process_line (char *line) /* strtok to the content that will be written to file */ tok_srch = strtok_next ("\""); if (tok_srch == NULL) - { - x_warn("ss:warn:netlisten syntax error, missing quote?"); - return NULL; - } - - tok_srch = strtok_next ("\""); - if (tok_srch == NULL) - { - x_warn("ss:warn:netlisten syntax error, missing quote?"); - return NULL; - } - - if (strcmp(tok_srch, "\n") == 0 || strcmp(tok_srch, " \n") == 0) - { - x_warn("ss:warn:netlisten syntax error, missing search string?"); - return NULL; - } - - strcpy(srch, parse_vars(tok_srch)); - - /* strtok to the socket response */ - tok_srch = strtok_next ("\""); - if (tok_srch == NULL) - { - x_warn("ss:warn:netlisten syntax error, missing quote?"); - return NULL; - } - - tok_srch = strtok_next ("\""); - if (tok_srch == NULL) - { - x_warn("ss:warn:netlisten syntax error, missing quote?"); - return NULL; - } - - if (strcmp(tok_srch, "\n") == 0 || strcmp(tok_srch, " \n") == 0) - { - x_warn("ss:warn:netlisten syntax error, missing return string?"); - return NULL; - } - - if (strtok_next ("\"") == NULL) { x_warn("ss:warn:netlisten syntax error, missing end quote?"); return NULL; } - snet_listen(atoi(port), srch, parse_vars(tok_srch)); + snet_listen(atoi(port)); return NULL; } diff --git a/src/network.c b/src/network.c index 5f666f8..f13216e 100644 --- a/src/network.c +++ b/src/network.c @@ -74,7 +74,7 @@ char *snet_process_connection(int sockfd) FILE *socket_save = NULL; gen_random_string(randTokenName, 16); - socket_save = fopen(randTokenName, "w"); + socket_save = fopen(randTokenName, "wb"); if(strlen(buff) > 0) { @@ -83,15 +83,15 @@ char *snet_process_connection(int sockfd) fflush(stdout); } + fclose(socket_save); free(randTokenName); // Free malloc, i'm done - fclose(socket_save); } return "ok"; } /* Main netlisten function */ -void snet_listen(int port, char *srch, char *resp) +void snet_listen(int port) { int sockfd, connfd, length, pid; struct sockaddr_in servaddr; diff --git a/src/util.c b/src/util.c index 1ac2ef1..04e8baf 100644 --- a/src/util.c +++ b/src/util.c @@ -114,6 +114,8 @@ char *ss_time() void gen_random_string(char *s, const int len) { static const char alphanum[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; + time_t tvar; + srand((unsigned) time(&tvar)); for (int ii = 0; ii < len; ++ii) { s[ii] = alphanum[rand() % (sizeof(alphanum) - 1)];