[BACK]Return to channels.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/channels.c between version 1.352 and 1.353

version 1.352, 2016/09/12 01:22:38 version 1.353, 2016/09/19 07:52:42
Line 4148 
Line 4148 
         char *new_data;          char *new_data;
         int screen_number;          int screen_number;
         const char *cp;          const char *cp;
         u_int32_t rnd = 0;  
   
         if (x11_saved_display == NULL)          if (x11_saved_display == NULL)
                 x11_saved_display = xstrdup(disp);                  x11_saved_display = xstrdup(disp);
Line 4169 
Line 4168 
         if (x11_saved_proto == NULL) {          if (x11_saved_proto == NULL) {
                 /* Save protocol name. */                  /* Save protocol name. */
                 x11_saved_proto = xstrdup(proto);                  x11_saved_proto = xstrdup(proto);
                 /*  
                  * Extract real authentication data and generate fake data                  /* Extract real authentication data. */
                  * of the same length.  
                  */  
                 x11_saved_data = xmalloc(data_len);                  x11_saved_data = xmalloc(data_len);
                 x11_fake_data = xmalloc(data_len);  
                 for (i = 0; i < data_len; i++) {                  for (i = 0; i < data_len; i++) {
                         if (sscanf(data + 2 * i, "%2x", &value) != 1)                          if (sscanf(data + 2 * i, "%2x", &value) != 1)
                                 fatal("x11_request_forwarding: bad "                                  fatal("x11_request_forwarding: bad "
                                     "authentication data: %.100s", data);                                      "authentication data: %.100s", data);
                         if (i % 4 == 0)  
                                 rnd = arc4random();  
                         x11_saved_data[i] = value;                          x11_saved_data[i] = value;
                         x11_fake_data[i] = rnd & 0xff;  
                         rnd >>= 8;  
                 }                  }
                 x11_saved_data_len = data_len;                  x11_saved_data_len = data_len;
   
                   /* Generate fake data of the same length. */
                   x11_fake_data = xmalloc(data_len);
                   arc4random_buf(x11_fake_data, data_len);
                 x11_fake_data_len = data_len;                  x11_fake_data_len = data_len;
         }          }
   

Legend:
Removed from v.1.352  
changed lines
  Added in v.1.353