ichanged printing policy - fiche - A pastebin adjusted for gopher use Err vernunftzentrum.de 70 hgit clone git://vernunftzentrum.de/fiche.git URL:git://vernunftzentrum.de/fiche.git vernunftzentrum.de 70 1Log /ckeen/repos/fiche/log.gph vernunftzentrum.de 70 1Files /ckeen/repos/fiche/files.gph vernunftzentrum.de 70 1Refs /ckeen/repos/fiche/refs.gph vernunftzentrum.de 70 1LICENSE /ckeen/repos/fiche/file/LICENSE.gph vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1commit 249413374d23479c3d485a565736639878c127da /ckeen/repos/fiche/commit/249413374d23479c3d485a565736639878c127da.gph vernunftzentrum.de 70 1parent 33f00487d0baba30eac8db396af42919e2715601 /ckeen/repos/fiche/commit/33f00487d0baba30eac8db396af42919e2715601.gph vernunftzentrum.de 70 hAuthor: solusipse URL:mailto:solus1ps3@gmail.com vernunftzentrum.de 70 iDate: Thu, 26 Sep 2013 13:06:52 +0200 Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 ichanged printing policy Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 iDiffstat: Err vernunftzentrum.de 70 i fiche.c | 48 ++++++++++++++----------------- Err vernunftzentrum.de 70 i fiche.h | 29 +++++++++++++++-------------- Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i2 files changed, 36 insertions(+), 41 deletions(-) Err vernunftzentrum.de 70 i--- Err vernunftzentrum.de 70 1diff --git a/fiche.c b/fiche.c /ckeen/repos/fiche/file/fiche.c.gph vernunftzentrum.de 70 i@@ -63,8 +63,7 @@ void *thread_connection(void *args) Err vernunftzentrum.de 70 i if (WHITELIST != NULL) Err vernunftzentrum.de 70 i if (check_whitelist(data.ip_address) == NULL) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i- printf("Rejected connection from unknown user.\n"); Err vernunftzentrum.de 70 i- display_line(); Err vernunftzentrum.de 70 i+ display_info(data, NULL, "Rejected connection from unknown user."); Err vernunftzentrum.de 70 i save_log(NULL, data.ip_address, data.hostname); Err vernunftzentrum.de 70 i write(connection_socket, "You are not whitelisted!\n", 26); Err vernunftzentrum.de 70 i close(connection_socket); Err vernunftzentrum.de 70 i@@ -74,8 +73,7 @@ void *thread_connection(void *args) Err vernunftzentrum.de 70 i if (BANLIST != NULL) Err vernunftzentrum.de 70 i if (check_banlist(data.ip_address) != NULL) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i- printf("Rejected connection from banned user.\n"); Err vernunftzentrum.de 70 i- display_line(); Err vernunftzentrum.de 70 i+ display_info(data, NULL, "Rejected connection from banned user."); Err vernunftzentrum.de 70 i save_log(NULL, data.ip_address, data.hostname); Err vernunftzentrum.de 70 i write(connection_socket, "You are banned!\n", 17); Err vernunftzentrum.de 70 i close(connection_socket); Err vernunftzentrum.de 70 i@@ -83,19 +81,12 @@ void *thread_connection(void *args) Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i if (check_protocol(buffer) == 1) Err vernunftzentrum.de 70 i- { Err vernunftzentrum.de 70 i- printf("Rejected due to wrong protocol.\n"); Err vernunftzentrum.de 70 i- display_line(); Err vernunftzentrum.de 70 i- save_log(NULL, data.ip_address, data.hostname); Err vernunftzentrum.de 70 i- write(connection_socket, "Use netcat!", 11); Err vernunftzentrum.de 70 i- close(connection_socket); Err vernunftzentrum.de 70 i- pthread_exit(NULL); Err vernunftzentrum.de 70 i- } Err vernunftzentrum.de 70 i+ status = -1; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i if (status != -1) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i char slug[SLUG_SIZE+8]; Err vernunftzentrum.de 70 i- generate_url(buffer, slug, SLUG_SIZE+8); Err vernunftzentrum.de 70 i+ generate_url(buffer, slug, SLUG_SIZE+8, data); Err vernunftzentrum.de 70 i save_log(slug, data.ip_address, data.hostname); Err vernunftzentrum.de 70 i char response[strlen(slug) + strlen(DOMAIN) + 2]; Err vernunftzentrum.de 70 i snprintf(response, sizeof response, "%s%s\n", DOMAIN, slug); Err vernunftzentrum.de 70 i@@ -103,10 +94,9 @@ void *thread_connection(void *args) Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i else Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i- printf("Invalid connection.\n"); Err vernunftzentrum.de 70 i- display_line(); Err vernunftzentrum.de 70 i+ display_info(data, NULL, "Invalid connection."); Err vernunftzentrum.de 70 i save_log(NULL, data.ip_address, data.hostname); Err vernunftzentrum.de 70 i- write(connection_socket, "Use netcat.\n", 13); Err vernunftzentrum.de 70 i+ write(connection_socket, "Use netcat.\n", 12); Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i close(connection_socket); Err vernunftzentrum.de 70 i@@ -181,11 +171,6 @@ struct client_data get_client_address(struct sockaddr_in client_address) Err vernunftzentrum.de 70 i else Err vernunftzentrum.de 70 i data.ip_address = hostaddrp; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- display_date(); Err vernunftzentrum.de 70 i- printf("Client: %s (%s)\n", data.ip_address, data.hostname); Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i return data; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -207,6 +192,16 @@ void save_log(char *slug, char *hostaddrp, char *h_name) Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+void display_info(struct client_data data, char *slug, char *message) Err vernunftzentrum.de 70 i+{ Err vernunftzentrum.de 70 i+ if (slug == NULL) Err vernunftzentrum.de 70 i+ printf("%s\n", message); Err vernunftzentrum.de 70 i+ else printf("Saved to: %s\n", slug); Err vernunftzentrum.de 70 i+ display_date(); Err vernunftzentrum.de 70 i+ printf("Client: %s (%s)\n", data.ip_address, data.hostname); Err vernunftzentrum.de 70 i+ display_line(); Err vernunftzentrum.de 70 i+} Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i char *check_banlist(char *ip_address) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i load_list(BANFILE, 0); Err vernunftzentrum.de 70 i@@ -265,7 +260,7 @@ void bind_to_port(int listen_socket, struct sockaddr_in server_address) Err vernunftzentrum.de 70 i error("ERROR while starting listening"); Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-void generate_url(char *buffer, char *slug, size_t slug_length) Err vernunftzentrum.de 70 i+void generate_url(char *buffer, char *slug, size_t slug_length, struct client_data data) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i int i; Err vernunftzentrum.de 70 i memset(slug, '\0', slug_length); Err vernunftzentrum.de 70 i@@ -282,7 +277,7 @@ void generate_url(char *buffer, char *slug, size_t slug_length) Err vernunftzentrum.de 70 i slug[strlen(slug)] = symbols[symbol_id]; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- save_to_file(slug, buffer); Err vernunftzentrum.de 70 i+ save_to_file(slug, buffer, data); Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i int create_directory(char *slug) Err vernunftzentrum.de 70 i@@ -302,7 +297,7 @@ int create_directory(char *slug) Err vernunftzentrum.de 70 i return result; Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-void save_to_file(char *slug, char *buffer) Err vernunftzentrum.de 70 i+void save_to_file(char *slug, char *buffer, struct client_data data) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i char *directory = malloc(strlen(BASEDIR) + strlen(slug) + strlen("/index.txt") + 1); Err vernunftzentrum.de 70 i strcpy(directory, BASEDIR); Err vernunftzentrum.de 70 i@@ -315,9 +310,8 @@ void save_to_file(char *slug, char *buffer) Err vernunftzentrum.de 70 i fclose(fp); Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i change_owner(directory); Err vernunftzentrum.de 70 i+ display_info(data, directory, ""); Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i- printf("Saved to: %s\n", directory); Err vernunftzentrum.de 70 i- display_line(); Err vernunftzentrum.de 70 i free(directory); Err vernunftzentrum.de 70 i } Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i@@ -339,7 +333,7 @@ void set_uid_gid(char *username) Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i int check_protocol(char *buffer) Err vernunftzentrum.de 70 i { Err vernunftzentrum.de 70 i- if (strlen(buffer) < 1) Err vernunftzentrum.de 70 i+ if (strlen(buffer) < 3) Err vernunftzentrum.de 70 i return 1; Err vernunftzentrum.de 70 i if ((strncmp(buffer, "GET", 3) == 0)||(strncmp(buffer, "POST", 4) == 0)) Err vernunftzentrum.de 70 i if (strstr(buffer, "HTTP/1.")) Err vernunftzentrum.de 70 1diff --git a/fiche.h b/fiche.h /ckeen/repos/fiche/file/fiche.h.gph vernunftzentrum.de 70 i@@ -58,6 +58,18 @@ char DOMAIN[128] = "http://localhost/"; Err vernunftzentrum.de 70 i int time_seed; Err vernunftzentrum.de 70 i const char *symbols = "abcdefghijklmnopqrstuvwxyz0123456789"; Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i+struct thread_arguments Err vernunftzentrum.de 70 i+{ Err vernunftzentrum.de 70 i+ int connection_socket; Err vernunftzentrum.de 70 i+ struct sockaddr_in client_address; Err vernunftzentrum.de 70 i+}; Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i+struct client_data Err vernunftzentrum.de 70 i+{ Err vernunftzentrum.de 70 i+ char *ip_address; Err vernunftzentrum.de 70 i+ char *hostname; Err vernunftzentrum.de 70 i+}; Err vernunftzentrum.de 70 i+ Err vernunftzentrum.de 70 i int create_socket(); Err vernunftzentrum.de 70 i int create_directory(char *slug); Err vernunftzentrum.de 70 i int check_protocol(char *buffer); Err vernunftzentrum.de 70 i@@ -67,8 +79,9 @@ void display_line(){printf("====================================\n");} Err vernunftzentrum.de 70 i void error(char *error_code){perror(error_code); exit(1);} Err vernunftzentrum.de 70 i void display_date(); Err vernunftzentrum.de 70 i void perform_connection(int listen_socket); Err vernunftzentrum.de 70 i-void generate_url(char *buffer, char *slug, size_t slug_length); Err vernunftzentrum.de 70 i-void save_to_file(char *buffer, char *slug); Err vernunftzentrum.de 70 i+void generate_url(char *buffer, char *slug, size_t slug_length, struct client_data data); Err vernunftzentrum.de 70 i+void save_to_file(char *buffer, char *slug, struct client_data data); Err vernunftzentrum.de 70 i+void display_info(struct client_data data, char *slug, char *message); Err vernunftzentrum.de 70 i void startup_message(); Err vernunftzentrum.de 70 i void set_basedir(); Err vernunftzentrum.de 70 i void load_list(char *file_path, int type); Err vernunftzentrum.de 70 i@@ -85,16 +98,4 @@ char *get_date(); Err vernunftzentrum.de 70 i struct sockaddr_in set_address(struct sockaddr_in serveraddr); Err vernunftzentrum.de 70 i struct client_data get_client_address(struct sockaddr_in client_address); Err vernunftzentrum.de 70 i Err vernunftzentrum.de 70 i-struct thread_arguments Err vernunftzentrum.de 70 i-{ Err vernunftzentrum.de 70 i- int connection_socket; Err vernunftzentrum.de 70 i- struct sockaddr_in client_address; Err vernunftzentrum.de 70 i-}; Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i-struct client_data Err vernunftzentrum.de 70 i-{ Err vernunftzentrum.de 70 i- char *ip_address; Err vernunftzentrum.de 70 i- char *hostname; Err vernunftzentrum.de 70 i-}; Err vernunftzentrum.de 70 i- Err vernunftzentrum.de 70 i #endif Err vernunftzentrum.de 70 .