/*
- * Copyright (C) 1997-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2011 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
#include <dirent.h>
#include <openssl/rc4.h>
#include <osl.h>
+#include <stdbool.h>
#include "para.h"
#include "error.h"
#include "afh.h"
#include "afs.h"
#include "server.h"
-#include "vss.h"
#include "list.h"
#include "send.h"
+#include "vss.h"
#include "rc4.h"
#include "net.h"
#include "daemon.h"
int com_sender(struct rc4_context *rc4c, int argc, char * const * argv)
{
int i, ret;
+ char *msg = NULL;
struct sender_command_data scd;
if (argc < 2) {
- char *msg = NULL;
for (i = 0; senders[i].name; i++) {
char *tmp = make_message("%s%s\n",
msg? msg : "", senders[i].name);
}
ret = check_sender_args(argc, argv, &scd);
if (ret < 0) {
- char *msg;
if (scd.sender_num < 0)
return ret;
msg = senders[scd.sender_num].help();
free(msg);
return ret;
}
+
+ switch (scd.cmd_num) {
+ case SENDER_ADD:
+ case SENDER_DELETE:
+ assert(senders[scd.sender_num].resolve_target);
+ ret = senders[scd.sender_num].resolve_target(argv[3], &scd);
+ if (ret < 0)
+ return ret;
+ }
+
for (i = 0; i < 10; i++) {
mutex_lock(mmd_mutex);
if (mmd->sender_cmd_data.cmd_num >= 0) {
free(info);
}
ut = uptime_str();
- ret = rc4_send_va_buffer(rc4c, "up: %s\nplayed: %u\n"
+ ret = rc4_send_va_buffer(rc4c, "version: " GIT_VERSION "\n"
+ "up: %s\nplayed: %u\n"
"server_pid: %d\n"
"afs_pid: %d\n"
"connections (active/accepted/total): %u/%u/%u\n"
mmd->num_commands,
mmd->num_connects,
conf.loglevel_arg,
- supported_audio_formats(),
+ SERVER_AUDIO_FORMATS,
sender_info
);
mutex_unlock(mmd_mutex);
}
/* argument given for help */
cmd = get_cmd_ptr(argv[1], &handler);
- if (!cmd) {
- free(handler);
+ if (!cmd)
return -E_BAD_CMD;
- }
perms = cmd_perms_itohuman(cmd->perms);
ret = rc4_send_va_buffer(rc4c,
"%s - %s\n\n"
/* we need a blocking fd here as recv() might return EAGAIN otherwise. */
ret = mark_fd_blocking(fd);
if (ret < 0)
- goto err_out;
+ goto net_err;
/* send Welcome message */
ret = send_va_buffer(fd, "This is para_server, version "
PACKAGE_VERSION ".\n" );
if (ret < 0)
- goto err_out;
+ goto net_err;
/* recv auth request line */
ret = recv_buffer(fd, buf, sizeof(buf));
if (ret < 0)
- goto err_out;
+ goto net_err;
if (ret < 10) {
ret = -E_AUTH_REQUEST;
- goto err_out;
+ goto net_err;
}
numbytes = ret;
ret = -E_AUTH_REQUEST;
if (strncmp(buf, AUTH_REQUEST_MSG, strlen(AUTH_REQUEST_MSG)))
- goto err_out;
+ goto net_err;
p = buf + strlen(AUTH_REQUEST_MSG);
PARA_DEBUG_LOG("received auth request for user %s\n", p);
ret = -E_BAD_USER;
ret = para_encrypt_buffer(u->rsa, rand_buf, sizeof(rand_buf),
(unsigned char *)buf);
if (ret < 0)
- goto err_out;
+ goto net_err;
numbytes = ret;
} else {
/*