]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - console.c
crypto: avoid generating control-like packets
[xonotic/darkplaces.git] / console.c
index 8a3fa90f86ba00af4bf90c3e1e140e3224cb5ace..ae73809b9d8decedd2274775a520f37f270a88bb 100644 (file)
--- a/console.c
+++ b/console.c
@@ -901,7 +901,7 @@ void Con_Rcon_Redirect_Init(lhnetsocket_t *sock, lhnetaddress_t *dest, qboolean
                rcon_redirect_buffer[2] = 0;
                rcon_redirect_buffer[3] = 0;
                // this is a reply to a CCREQ_RCON
-               rcon_redirect_buffer[4] = CCREP_RCON;
+               rcon_redirect_buffer[4] = (char)CCREP_RCON;
        }
        else
                memcpy(rcon_redirect_buffer, "\377\377\377\377n", 5); // QW rcon print
@@ -1050,8 +1050,6 @@ void Con_MaskPrint(int additionalmask, const char *msg)
        for (;*msg;msg++)
        {
                Con_Rcon_AddChar(*msg);
-               if (index == 0)
-                       mask |= additionalmask;
                // if this is the beginning of a new line, print timestamp
                if (index == 0)
                {
@@ -1096,6 +1094,8 @@ void Con_MaskPrint(int additionalmask, const char *msg)
                        for (;*timestamp;index++, timestamp++)
                                if (index < (int)sizeof(line) - 2)
                                        line[index] = *timestamp;
+                       // add the mask
+                       mask |= additionalmask;
                }
                // append the character
                line[index++] = *msg;
@@ -1110,10 +1110,10 @@ void Con_MaskPrint(int additionalmask, const char *msg)
                        if (con_initialized && cls.state != ca_dedicated)
                        {
                                Con_PrintToHistory(line, mask);
-                               mask = 0;
                        }
                        // send to terminal or dedicated server window
                        if (!sys_nostdout)
+                       if (developer.integer || !(mask & CON_MASK_DEVELOPER))
                        {
                                if(sys_specialcharactertranslation.integer)
                                {
@@ -1127,7 +1127,7 @@ void Con_MaskPrint(int additionalmask, const char *msg)
                                                {
                                                        *p = qfont_table[ch - 0xE000];
                                                        if(q > p+1)
-                                                               memmove(p+1, q, strlen(q));
+                                                               memmove(p+1, q, strlen(q)+1);
                                                        p = p + 1;
                                                }
                                                else
@@ -1310,6 +1310,7 @@ void Con_MaskPrint(int additionalmask, const char *msg)
                        }
                        // empty the line buffer
                        index = 0;
+                       mask = 0;
                }
        }
 }
@@ -2825,7 +2826,7 @@ void Con_CompleteCommandLine (void)
                                                Con_Printf("\n%i possible filenames\n", resultbuf.numstrings + dirbuf.numstrings);
                                                for(i = 0; i < dirbuf.numstrings; ++i)
                                                {
-                                                       Con_Printf("%s/\n", dirbuf.strings[i]);
+                                                       Con_Printf("^4%s^7/\n", dirbuf.strings[i]);
                                                }
                                                for(i = 0; i < resultbuf.numstrings; ++i)
                                                {