X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/3f243b0be519a8112e77adb77930bcb5f8a8a898..6f727d4c9eb5c886f14598577f40da583577444e:/gameserv/tcpclient.cpp diff --git a/gameserv/tcpclient.cpp b/gameserv/tcpclient.cpp index 5aa65b3..7fb0376 100644 --- a/gameserv/tcpclient.cpp +++ b/gameserv/tcpclient.cpp @@ -37,7 +37,7 @@ using std::cerr; using std::endl; char *PACKAGE = "GameServ"; -char *VERSION = "1.2.0 +devel"; +char *VERSION = "1.2.1 +devel"; int sock; int day; @@ -58,6 +58,8 @@ void closeall(int fd); int main(int argc, char *argv[]) { char buffer[1024], buf[1024]; + memset(buffer, 0, 1024); + memset(buf, 0, 1024); int connected; long lastidlecheck; char *cmd, *source = NULL, *conf = "gameserv.conf"; @@ -156,27 +158,28 @@ int main(int argc, char *argv[]) raw("PROTOCTL NICKv2 VHP"); raw("PASS :%s", remotepass); raw("SERVER %s 1 :%s", servername, servername); - raw("NICK %S 1 %d %S %s %s %d +wghraAxNt %s :%s v%s", time(NULL), gshost, - servername, time(NULL), gshost, PACKAGE, VERSION); + raw("NICK %S 1 %d %S %s %s %d +w%s %s :%s v%s", time(NULL), gshost, + servername, time(NULL), (isBOper() ? "o" : ""), gshost, PACKAGE, VERSION); raw(":%S JOIN %s", c_Forest); raw(":%S MODE %s +tn", c_Forest); #elif defined(BAHAMUT) raw("PASS %s :TS", remotepass); raw("SERVER %s 1 :%s", servername, servername); - raw("NICK %S 1 %d +w %s %s %s 0 :GameServ", time(NULL), gsident, gshost, - servername); + raw("NICK %S 1 %d +w%s %s %s %s 0 :GameServ", time(NULL), (isBOper() ? "o" : ""), + gsident, gshost, servername); raw(":%s SJOIN %d %d %s +nt :@%S", servername, time(NULL), time(NULL), c_Forest); #elif defined(HYBRID) raw("PASS %s :TS", remotepass); raw("SERVER %s 1 :%s", servername, servername); - raw("NICK %S 1 %d +w %s %s %s :GameServ", time(NULL), gsident, gshost, - servername); + raw("NICK %S 1 %d +w%s %s %s %s :GameServ", time(NULL), (isBOper() ? "o" : ""), + gsident, gshost, servername); raw(":%s SJOIN %ld %s +nt :@%S", servername, time(NULL), c_Forest); #elif defined(P10) // Server numeric is: [] <-- must be unique raw("PASS :%s", remotepass); raw("SERVER %s 1 %d %d P10 []AAF :%s", servername, time(NULL), time(NULL), servername); - raw("[] N %S 1 %d %s %s DAqAoB %s :%S", time(NULL), gsident, gshost, gsnum); + raw("[] N %S 1 %d %s %s %s DAqAoB %s :%S", time(NULL), gsident, gshost, + (isBOper() ? "+o" : "") gsnum); raw("[] B %s %d +tn %s:o", c_Forest, time(NULL) - 864000, gsnum); #endif @@ -343,7 +346,7 @@ int main(int argc, char *argv[]) temp = clients[hv].insertAtBack(newuser); - #ifdef HYBRID + #if defined(HYBRID) || defined(BAHAMUT) char *nickserver; strtok(NULL, " "); strtok(NULL, " "); @@ -366,10 +369,10 @@ int main(int argc, char *argv[]) } #if defined(P10) } else if (stricmp(cmd, "Q") == 0) { - unsigned long hv = sHASH((unsigned char *) source); +// unsigned long hv = sHASH((unsigned char *) source); #else } else if (stricmp(cmd, "QUIT") == 0) { - unsigned long hv = iHASH((unsigned char *) source); +// unsigned long hv = iHASH((unsigned char *) source); #endif aClient *quitter; char z = source[0]; @@ -430,7 +433,7 @@ int main(int argc, char *argv[]) delete [] longname; gameserv(source, rest); } - else if (stricmp(dest, c_Forest) == 0 && listenonc_forest) + else if (stricmp(dest, c_Forest) == 0 && isListenOnCF()) { delete [] longname; forest(source, rest);