#include <netdb.h>
#include <lopsub.h>
+#include "server.lsg.h"
#include "para.h"
#include "error.h"
#include "crypt.h"
#include "sideband.h"
#include "command.h"
-#include "server.cmdline.h"
#include "string.h"
#include "afh.h"
#include "afs.h"
mmd->active_connections,
mmd->num_commands,
mmd->num_connects,
- conf.loglevel_arg,
+ ENUM_STRING_VAL(LOGLEVEL),
AUDIO_FORMAT_HANDLERS
);
mutex_unlock(mmd_mutex);
}
struct connection_features {
- bool aes_ctr128_requested;
+ int dummy; /* none at the moment */
};
static int parse_auth_request(char *buf, int len, struct user **u,
if (strcmp(features[i], "sideband") == 0)
continue;
if (strcmp(features[i], "aes_ctr128") == 0)
- cf->aes_ctr128_requested = true;
+ continue;
else {
ret = -E_BAD_FEATURE;
goto out;
static int run_command(struct command_context *cc, struct iovec *iov,
const char *peername)
{
- int ret, i;
- char *p, *end;
+ int ret, i, argc;
+ char *p, *end, **argv;
const struct lls_command *lcmd = NULL;
unsigned perms;
struct lls_parse_result *lpr;
end = iov->iov_base + iov->iov_len;
for (i = 0; p < end; i++)
p += strlen(p) + 1;
- cc->argc = i;
- cc->argv = para_malloc((cc->argc + 1) * sizeof(char *));
+ argc = i;
+ argv = para_malloc((argc + 1) * sizeof(char *));
for (i = 0, p = iov->iov_base; p < end; i++) {
- cc->argv[i] = para_strdup(p);
+ argv[i] = para_strdup(p);
p += strlen(p) + 1;
}
- cc->argv[cc->argc] = NULL;
+ argv[argc] = NULL;
PARA_NOTICE_LOG("calling com_%s() for %s@%s\n", lls_command_name(lcmd),
cc->u->name, peername);
- ret = lls(lls_parse(cc->argc, cc->argv, lcmd, &lpr, &errctx));
+ ret = lls(lls_parse(argc, argv, lcmd, &lpr, &errctx));
if (ret >= 0) {
const struct server_cmd_user_data *ud = lls_user_data(lcmd);
ret = ud->handler(cc, lpr);
lls_free_parse_result(lpr, lcmd);
} else
send_errctx(cc, errctx);
- free_argv(cc->argv);
+ free_argv(argv);
mutex_lock(mmd_mutex);
mmd->num_commands++;
if (ret >= 0 && (perms & AFS_WRITE))
alarm(0);
PARA_INFO_LOG("good auth for %s\n", cc->u->name);
/* init stream cipher keys with the second part of the random buffer */
- cc->scc.recv = sc_new(rand_buf + CHALLENGE_SIZE, SESSION_KEY_LEN,
- cf.aes_ctr128_requested);
+ cc->scc.recv = sc_new(rand_buf + CHALLENGE_SIZE, SESSION_KEY_LEN);
cc->scc.send = sc_new(rand_buf + CHALLENGE_SIZE + SESSION_KEY_LEN,
- SESSION_KEY_LEN, cf.aes_ctr128_requested);
+ SESSION_KEY_LEN);
ret = send_sb(&cc->scc, NULL, 0, SBD_PROCEED, false);
if (ret < 0)
goto net_err;