From c7c834e9944c94de3d07f21ce2d2d3f18a03b3b2 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Wed, 8 Jan 2020 20:27:17 +0100 Subject: Implements remote "-t" and "-q" commands. --- src/server/handle_client.c | 44 +++++++++----------------------------------- 1 file changed, 9 insertions(+), 35 deletions(-) (limited to 'src/server/handle_client.c') diff --git a/src/server/handle_client.c b/src/server/handle_client.c index bc18e95..5212440 100644 --- a/src/server/handle_client.c +++ b/src/server/handle_client.c @@ -15,17 +15,11 @@ #include #include +#include + /******************************************************************************/ /**** LOCAL FUNCTIONS *********************************************************/ /******************************************************************************/ -static void handle_input -( - const ssize_t input_size __attribute__((unused)), - const char input [const static 1] __attribute__((unused)), - struct relabsd_server server [const static 1] __attribute__((unused)) -) -{ -} /******************************************************************************/ /**** EXPORTED FUNCTIONS ******************************************************/ @@ -37,10 +31,6 @@ int relabsd_server_handle_client ) { FILE * socket_as_file; - /* FIXME: reallocating at every new connection is kind of wasteful. */ - char * input; - ssize_t input_size; - size_t input_buffer_size; errno = 0; socket_as_file = fdopen(socket, "r"); @@ -58,29 +48,13 @@ int relabsd_server_handle_client return -1; } - errno = 0; - - input_size = getline(&input, &input_buffer_size, socket_as_file); - - if (input_size < 1) - { - RELABSD_ERROR - ( - "Unable to read line from client socket: %s.", - strerror(errno) - ); - - (void) free((void *) input); - - /* This also closes 'socket' */ - (void) fclose(socket_as_file); - - return -1; - } - - handle_input(input_size, input, server); - - (void) free((void *) input); + pthread_mutex_lock(&(server->mutex)); + (void) relabsd_parameters_handle_remote_client + ( + socket_as_file, + &(server->parameters) + ); + pthread_mutex_unlock(&(server->mutex)); /* This also closes 'socket' */ (void) fclose(socket_as_file); -- cgit v1.2.3-70-g09d2