]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
srcon: add random digits to the the time
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 25 May 2009 15:33:13 +0000 (15:33 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 25 May 2009 15:33:13 +0000 (15:33 +0000)
goal is to prevent replay attacks in a later change and increasing the time sync threshold

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8989 d7cf8633-e32d-0410-b094-e92efae38249

host_cmd.c

index 053c5581c5aa38bbf402e8a2955bf2213d9bddde..adceca5e7bf9a106da2a675ec36889a67bba6b22 100644 (file)
@@ -2399,7 +2399,7 @@ void Host_Rcon_f (void) // credit: taken from QuakeWorld
                {
                        char buf[1500];
                        char argbuf[1500];
-                       dpsnprintf(argbuf, sizeof(argbuf), "%ld %s", (long) time(NULL), Cmd_Args());
+                       dpsnprintf(argbuf, sizeof(argbuf), "%ld.%06d %s", (long) time(NULL), (int) (random() % 1000000), Cmd_Args());
                        memcpy(buf, "\377\377\377\377srcon HMAC-MD4 TIME ", 24);
                        if(HMAC_MDFOUR_16BYTES((unsigned char *) (buf + 24), (unsigned char *) argbuf, strlen(argbuf), (unsigned char *) rcon_password.string, strlen(rcon_password.string)))
                        {