clock_get_realtime(¤t_time);
/*
* 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.
+ * b->max_size is zero (unlimited), see \ref para_printf(). However,
+ * clang is not smart enough to prove this and complains nevertheless.
* Casting the return value to void silences clang.
*/
(void)WRITE_STATUS_ITEM(&b, SI_STATUS, "%s\n", status);
struct lls_parse_result *lpr, struct sender_command_data *scd)
{
int i, ret;
- const char *subcmds[] = {SENDER_SUBCOMMANDS};
+ const char * const subcmds[] = {SENDER_SUBCOMMANDS};
const char *arg;
char *errctx;
unsigned num_inputs = lls_num_inputs(lpr);
return -E_COMMAND_SYNTAX;
scd->sender_num = i;
arg = lls_input(1, lpr);
- for (i = 0; subcmds[i]; i++)
+ for (i = 0; i < NUM_SENDER_CMDS; i++)
if (!strcmp(subcmds[i], arg))
break;
- if (!subcmds[i])
+ if (i == NUM_SENDER_CMDS)
return -E_COMMAND_SYNTAX;
scd->cmd_num = i;
if (!senders[scd->sender_num].client_cmds[scd->cmd_num])
ITEM(NUM_CHUNKS) \
ITEM(AMPLIFICATION) \
-/**
- * Write a list of audio-file related status items with empty values.
- *
- * This is used by vss when currently no audio file is open.
+/*
+ * Create a set of audio-file related status items with empty values. These are
+ * written to stat clients when no audio file is open.
*/
static unsigned empty_status_items(bool parser_friendly, char **result)
{
}
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;
* the function if the connection was not authenticated when the timeout
* expires.
*
- * \sa alarm(2), crypt.c, crypt.h
+ * \sa alarm(2), \ref crypt.c, \ref crypt.h.
*/
__noreturn void handle_connect(int fd, const char *peername)
{
unsigned char challenge_hash[HASH_SIZE];
char *command = NULL, *buf = para_malloc(HANDSHAKE_BUFSIZE) /* must be on the heap */;
size_t numbytes;
- struct command_context cc_struct = {.peer = peername}, *cc = &cc_struct;
+ struct command_context cc_struct = {.u = NULL}, *cc = &cc_struct;
struct iovec iov;
struct connection_features cf;
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;