From: pk910 Date: Wed, 28 Jan 2015 01:21:24 +0000 (+0100) Subject: push X-Git-Url: http://git.pk910.de/?p=NextIRCd.git;a=commitdiff_plain;h=878d4152c9e550c5c418832c305d99a305de330d push --- diff --git a/src/ircd_auth.c b/src/ircd_auth.c index 5634038..b0ff831 100644 --- a/src/ircd_auth.c +++ b/src/ircd_auth.c @@ -37,6 +37,7 @@ struct Auth *auth_new(struct Connection *conn) { socket_printf(conn, "NOTICE AUTH :*** NextIRCd v%d.%d (%s)", VERSION_NUMBER, patchlevel, revision); auth->conn = conn; + conn->data.auth = auth; time(&auth->startup_time); auth->prev = authlist_last; diff --git a/src/ircd_config.h b/src/ircd_config.h index 0b01871..1ff6531 100644 --- a/src/ircd_config.h +++ b/src/ircd_config.h @@ -44,5 +44,6 @@ struct ConfigPortObject { void init_config(char *configfile); void reload_config(); +void reload_config_callback(confreload_callback_t *callback); #endif diff --git a/src/ircd_parse.c b/src/ircd_parse.c index 3a23335..0a72a2a 100644 --- a/src/ircd_parse.c +++ b/src/ircd_parse.c @@ -90,9 +90,9 @@ static char *parse_irc_token(char **data) { //find next " " int i; char *token = *data; - for(i = 0; *data[i]; i++) { - if(*data[i] != ' ') { - *data[i] = '\0'; + for(i = 0; (*data)[i]; i++) { + if((*data)[i] == ' ') { + (*data)[i] = '\0'; *data += i+1; break; } @@ -101,10 +101,9 @@ static char *parse_irc_token(char **data) { } static char **parse_irc_params(char *data, int *argc, int maxargs) { - if(maxargs == 0) { - *argc = 0; + *argc = 0; + if(maxargs == 0) return NULL; - } char **argv = calloc(maxargs, sizeof(*argv)); while(*data) { //skip leading spaces @@ -115,7 +114,7 @@ static char **parse_irc_params(char *data, int *argc, int maxargs) { argv[*argc++] = data + 1; break; } - argv[*argc++] = data; + argv[(*argc)++] = data; if (*argc >= maxargs) break; while (*data != ' ' && *data) @@ -132,7 +131,7 @@ void parse_client_data(struct Client *client, char *data) { int found = 0; int i; for(i = 0; (parse_command_list[i].tokens.client || parse_command_list[i].tokens.server); i++) { - if(stricmp(parse_command_list[i].tokens.client, token)) { + if(stricmp(parse_command_list[i].tokens.client, token) == 0) { found = 1; break; } @@ -162,7 +161,7 @@ void parse_unauth_data(struct Auth *auth, char *data) { int found = 0; int i; for(i = 0; (parse_command_list[i].tokens.client || parse_command_list[i].tokens.server); i++) { - if(stricmp(parse_command_list[i].tokens.client, token)) { + if(stricmp(parse_command_list[i].tokens.client, token) == 0) { found = 1; break; } diff --git a/src/ircd_sock.c b/src/ircd_sock.c index 259c74b..920479d 100644 --- a/src/ircd_sock.c +++ b/src/ircd_sock.c @@ -134,6 +134,7 @@ static void sockets_accept_client(struct IOSocket *new_client, struct Connection new_client->parse_delimiter = 1; new_client->parse_empty = 0; strcpy((char*) new_client->delimiters, "\r\n"); + new_client->callback = sockets_iohandler_callback; connection->parent = listener; new_client->data = connection; diff --git a/src/tools.c b/src/tools.c index 3fa6706..c639a25 100644 --- a/src/tools.c +++ b/src/tools.c @@ -21,6 +21,9 @@ #ifdef WIN32 #include +#else +#include +#include #endif int stricmp (const char *s1, const char *s2) {