query = silc_calloc(1, sizeof(*query));
if (!query) {
silc_server_command_free(cmd);
- SILC_FSM_FINISH;
+ return SILC_FSM_FINISH;
}
query->querycmd = SILC_COMMAND_WHOIS;
silc_argument_get_arg_type(args, 3, NULL)))) {
/** Send query to router */
silc_fsm_next(fsm, silc_server_st_query_send_router);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/** Parse WHOIS query */
silc_fsm_next(fsm, silc_server_st_query_parse);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
query = silc_calloc(1, sizeof(*query));
if (!query) {
silc_server_command_free(cmd);
- SILC_FSM_FINISH;
+ return SILC_FSM_FINISH;
}
query->querycmd = SILC_COMMAND_WHOWAS;
cmd->packet->stream != SILC_PRIMARY_ROUTE(server)) {
/** Send query to router */
silc_fsm_next(fsm, silc_server_st_query_send_router);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/** Parse WHOWAS query */
silc_fsm_next(fsm, silc_server_st_query_parse);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
query = silc_calloc(1, sizeof(*query));
if (!query) {
silc_server_command_free(cmd);
- SILC_FSM_FINISH;
+ return SILC_FSM_FINISH;
}
query->querycmd = SILC_COMMAND_IDENTIFY;
!silc_argument_get_arg_type(args, 5, NULL)) {
/** Send query to router */
silc_fsm_next(fsm, silc_server_st_query_send_router);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/** Parse IDENTIFY query */
silc_fsm_next(fsm, silc_server_st_query_parse);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_RESOURCE_LIMIT, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
silc_command_set_ident(query->cmd->payload, old_ident);
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_RESOURCE_LIMIT, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/** Wait router reply */
query->resolved = TRUE;
silc_fsm_next(fsm, silc_server_st_query_router_reply)
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Wait for router reply and process the reply when it arrives. */
silc_server_command_pending_free(thread, pending);
silc_server_query_send_error(server, query, SILC_STATUS_ERR_TIMEDOUT, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Check if the query failed */
/** Query error received */
silc_server_command_pending_free(thread, pending);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
silc_server_command_pending_free(thread, pending);
/** Parse query command */
silc_fsm_next(fsm, silc_server_st_query_parse);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/***************************** Query processing *****************************/
/** Not enough arguments */
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Get the nickname@server string and parse it */
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_BAD_NICKNAME, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Check nickname */
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_BAD_NICKNAME, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* XXX why free nickname */
silc_free(query->nickname);
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_RESOURCE_LIMIT, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
for (i = 0; i < argc - 3; i++) {
query->ids = NULL;
query->ids_count = 0;
silc_fsm_next(fsm, silc_server_st_query_send_router);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
query->ids[query->ids_count] = id;
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_NOT_ENOUGH_PARAMS, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Get the nickname@server string and parse it */
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_BAD_NICKNAME, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Check nickname */
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_BAD_NICKNAME, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* XXX why free nickname */
silc_free(query->nickname);
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_BAD_NICKNAME, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* XXX why free nickname */
silc_free(query->nickname);
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_BAD_SERVER, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
query->server_name = tmp;
}
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_BAD_CHANNEL, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
query->channel_name = tmp;
}
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_NOT_ENOUGH_PARAMS, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
} else {
query->ids = NULL;
query->ids_count = 0;
silc_fsm_next(fsm, silc_server_st_query_send_router);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
} else {
/* For now all other ID's except Client ID's are explicitly
query->ids = NULL;
query->ids_count = 0;
silc_fsm_next(fsm, silc_server_st_query_send_router);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
}
/** Find entries for query */
silc_fsm_next(fsm, silc_server_st_query_find);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Find the entries according to the query */
if (query->attrs) {
/** Check user attributes */
silc_fsm_next(fsm, silc_server_st_query_check_attrs);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/** Process found entries */
silc_fsm_next(fsm, silc_server_st_query_process);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Check user attributes to narrow down clients in WHOIS query */
/** Proecss found entries */
silc_fsm_next(fsm, silc_server_st_query_process);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Process found entries */
!silc_list_count(query->servers)) {
/** Nothing found, send errors */
silc_fsm_next(fsm, silc_server_st_query_reply);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
#if 0
if (silc_list_count(query->resolve)) {
/** Resolve entries */
silc_fsm_next(fsm, silc_server_st_query_resolve);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/** Send reply to query */
silc_fsm_next(fsm, silc_server_st_query_reply);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Resolve incomplete client entries. Other types of entries need not
silc_server_query_send_error(server, query,
SILC_STATUS_ERR_RESOURCE_LIMIT, 0);
silc_fsm_next(fsm, silc_server_st_query_error);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
silc_packet_send(res->stream, SILC_PACKET_COMMAND, 0,
/** Wait all resolvings */
silc_fsm_next(fsm, silc_server_st_query_resolved);
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}
/* Wait for resolving command reply */
/* Signal main thread that reply was received */
SILC_FSM_EVENT_SIGNAL(&query->wait_resolve);
- SILC_FSM_FINISH;
+ return SILC_FSM_FINISH;
}
/* Wait here that all resolvings has been received */
/* Wait here until all resolvings has arrived */
SILC_FSM_EVENT_WAIT(&query->wait_resolve);
if (silc_list_count(query->resolvings) > 0)
- SILC_FSM_CONTINUE;
+ return SILC_FSM_CONTINUE;
}