X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=command.c;h=4aa262ce36f2f07c026e8453bfc2364f4684884f;hp=69bbbb74dd2831791e0f24378d7a4c4451bb6524;hb=65b6448b8eb6f7442ba64affff58c388306a9159;hpb=8a61aff04fa2e8860f7fd3969d58d77c0292155a diff --git a/command.c b/command.c index 69bbbb74..4aa262ce 100644 --- a/command.c +++ b/command.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1997-2011 Andre Noll + * Copyright (C) 1997-2012 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -11,7 +11,6 @@ #include #include #include -#include #include "para.h" #include "error.h" @@ -24,6 +23,7 @@ #include "server.h" #include "list.h" #include "send.h" +#include "sched.h" #include "vss.h" #include "net.h" #include "daemon.h" @@ -32,7 +32,6 @@ #include "user_list.h" #include "server_command_list.h" #include "afs_command_list.h" -#include "sched.h" #include "signal.h" #include "version.h" @@ -108,7 +107,8 @@ static char *get_status(struct misc_meta_data *nmmd, int parser_friendly) { char mtime[30] = ""; char *status, *flags; /* vss status info */ - char *ut = uptime_str(); + /* nobody updates our version of "now" */ + char *ut = get_server_uptime_str(NULL); long offset = (nmmd->offset + 500) / 1000; struct timeval current_time; struct tm mtime_tm; @@ -126,7 +126,7 @@ static char *get_status(struct misc_meta_data *nmmd, int parser_friendly) * The calls to WRITE_STATUS_ITEM() below never fail because * b->max_size is zero (unlimited), see para_printf(). However, clang * is not smart enough to prove this and complains nevertheless. - * Casting the return value to void silences solves this. + * Casting the return value to void silences clang. */ (void)WRITE_STATUS_ITEM(&b, SI_FILE_SIZE, "%zu\n", nmmd->size / 1024); (void)WRITE_STATUS_ITEM(&b, SI_MTIME, "%s\n", mtime); @@ -258,7 +258,7 @@ int com_si(struct stream_cipher_context *scc, int argc, __a_unused char * const sender_info = para_strcat(sender_info, info); free(info); } - ut = uptime_str(); + ut = get_server_uptime_str(now); ret = sc_send_va_buffer(scc, "version: " GIT_VERSION "\n" "up: %s\nplayed: %u\n" "server_pid: %d\n" @@ -750,7 +750,7 @@ __noreturn void handle_connect(int fd, const char *peername) if (ret < 0) goto net_err; /* send Welcome message */ - ret = send_va_buffer(fd, "This is para_server, version " + ret = write_va_buffer(fd, "This is para_server, version " PACKAGE_VERSION ".\n" ); if (ret < 0) goto net_err; @@ -762,13 +762,11 @@ __noreturn void handle_connect(int fd, const char *peername) ret = -E_AUTH_REQUEST; goto net_err; } - numbytes = ret; ret = -E_AUTH_REQUEST; if (strncmp(buf, AUTH_REQUEST_MSG, strlen(AUTH_REQUEST_MSG))) goto net_err; p = buf + strlen(AUTH_REQUEST_MSG); PARA_DEBUG_LOG("received auth request for user %s\n", p); - ret = -E_BAD_USER; u = lookup_user(p); if (u) { get_random_bytes_or_die(rand_buf, sizeof(rand_buf)); @@ -788,7 +786,7 @@ __noreturn void handle_connect(int fd, const char *peername) } PARA_DEBUG_LOG("sending %u byte challenge + rc4 keys (%zu bytes)\n", CHALLENGE_SIZE, numbytes); - ret = send_bin_buffer(fd, buf, numbytes); + ret = write_all(fd, buf, numbytes); if (ret < 0) goto net_err; /* recv challenge response */