push
authorpk910 <philipp@zoelle1.de>
Wed, 28 Jan 2015 01:21:24 +0000 (02:21 +0100)
committerpk910 <philipp@zoelle1.de>
Wed, 28 Jan 2015 01:21:24 +0000 (02:21 +0100)
src/ircd_auth.c
src/ircd_config.h
src/ircd_parse.c
src/ircd_sock.c
src/tools.c

index 5634038747e984b09e4b04ca31fffc9e6e89b495..b0ff83145f675d02600281c13626e0399897926b 100644 (file)
@@ -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;
index 0b01871fe12c9022507283291664cfae83e646df..1ff6531ec881ea7f7e8965400da67560a5e0391c 100644 (file)
@@ -44,5 +44,6 @@ struct ConfigPortObject {
 
 void init_config(char *configfile);
 void reload_config();
+void reload_config_callback(confreload_callback_t *callback);
 
 #endif
index 3a23335d05e4b1fa11403ecaf4c1008e6d759b32..0a72a2af9c681cbc6f0227f3baa9c965ec4090bc 100644 (file)
@@ -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;
                }
index 259c74b84a851806a8e740d9d1d2aabeb2d834e1..920479d8d73b7783cc7b0abdce2c8d8db00349a5 100644 (file)
@@ -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;
index 3fa6706148932740bd28b52a2cfca3707bd83040..c639a25803b18b1a77f60b2eb46063c7aac83f24 100644 (file)
@@ -21,6 +21,9 @@
 
 #ifdef WIN32
 #include <windows.h>
+#else
+#include <sys/stat.h>
+#include <fcntl.h>
 #endif
 
 int stricmp (const char *s1, const char *s2) {