diff --git a/tuve.c b/tuve.c index c8a4a73..0fc15e7 100644 --- a/tuve.c +++ b/tuve.c @@ -46,6 +46,8 @@ char *cmd = 0x0; char *msg = 0x0; char *data = 0x0; + char *data2 = 0x0; + char *data_tok = 0x0; char *tok_last = 0x0; char output[1280]; char buffer[1024]; @@ -56,7 +58,19 @@ assert(userConnection); - cmd = userConnection->data; + + data = strtok_r(userConnection->data,"\n",&data_tok); + data2 = strtok_r(NULL,"\n",&data_tok); + + Head: + + if (data == 0x0) { + data = data2; + data2 = strtok_r(NULL,"\n",&data_tok); + } + + //cmd = userConnection->data; + cmd = data; if (cmd[userConnection->recLen - 1] == '\n') cmd[userConnection->recLen - 1] = '\0'; @@ -95,7 +109,8 @@ else { sSendData(userConnection,"IDENT:1:Invalid Ident."); } - return(0x0); + goto Tail; + //return(0x0); } else if (strcasecmp(cmd,"") == 0x0) { /* Command Checked Tested And Approved */ @@ -107,21 +122,25 @@ else if (strcasecmp(cmd,"PONG!") == 0x0) { /* Command Checked Test And Approved */ userConnection->userInfo.pfailed = 0x0; - return(0x0); + goto Tail; + //return(0x0); } else if (strcasecmp(cmd,"CLIENT") == 0x0) { /* Verify Version */ if (data == 0x0) sSendData(userConnection,"CLIENT:1:Invalid CLIENT"); - else if (atoi(data) < MIN_VER) - sSendData(userConnection,"CLIENT:1:You are running client version %i, our current version is %i. Please upgrade to get the latest features.",atoi(data),MIN_VER); + else if (atof(data) < MIN_VER) + sSendData(userConnection,"CLIENT:1:You are running client version %4.2f, our current version is %4.2f. Please upgrade to get the latest features.",atof(data),MIN_VER); else sSendData(userConnection,"CLIENT:0:SUCCESSFUL"); + + goto Tail; } else if (userConnection->userInfo.ident == 0x0) { /* Command Checked Tested And Approved */ sSendData(userConnection,"Please Auth"); - return(0x0); + goto Tail; + //return(0x0); } userConnection->userInfo.idle = time(NULL); @@ -145,7 +164,8 @@ msg = strtok_r(NULL,"\n",&tok_last); if (msg == 0x0) - return(0x0); + goto Tail; + //return(0x0); if (chan[0] != '#') { if ((strlen(msg) > 2) && (msg[0] == '.' && msg[1] == 't' && msg[2] == 'v')) @@ -329,6 +349,12 @@ writeLog(1,"Invalid CMD: [%s]\n",cmd); } + Tail: + if (data2 != 0x0) { + data = 0x0; + goto Head; + } + return(0x0); } diff --git a/tuved.h b/tuved.h index c915643..39ef16b 100644 --- a/tuved.h +++ b/tuved.h @@ -24,13 +24,13 @@ #define MAX_CHAN_LEN 32 #define MAX_USER_LEN 32 #define MAX_USER_AWAYMSG 128 -#define VERSION "v0.40" +#define VERSION "v1.20" #define MYSQL_HOST_NAME "ubuse.ubixos.com" #define MYSQL_USERNAME "tuve" #define MYSQL_PASSWORD "5558585" #define MYSQL_DB_NAME "tuve" #define VIDE_PAD_TIME 2 // Time Added To Video End To Ensure All Are In Sync -#define MIN_VER 2 // Current client version +#define MIN_VER 2.1 // Current client version /* User Defs */ #define USER_MODES 2 // Count Of User Modes