version 1.287, 2016/09/12 01:22:38 |
version 1.288, 2016/09/17 18:00:27 |
|
|
char xauthfile[PATH_MAX], xauthdir[PATH_MAX]; |
char xauthfile[PATH_MAX], xauthdir[PATH_MAX]; |
static char proto[512], data[512]; |
static char proto[512], data[512]; |
FILE *f; |
FILE *f; |
int got_data = 0, generated = 0, do_unlink = 0, i, r; |
int got_data = 0, generated = 0, do_unlink = 0, r; |
struct stat st; |
struct stat st; |
u_int now, x11_timeout_real; |
u_int now, x11_timeout_real; |
|
|
|
|
* for the local connection. |
* for the local connection. |
*/ |
*/ |
if (!got_data) { |
if (!got_data) { |
u_int32_t rnd = 0; |
u_int8_t rnd[16]; |
|
u_int i; |
|
|
logit("Warning: No xauth data; " |
logit("Warning: No xauth data; " |
"using fake authentication data for X11 forwarding."); |
"using fake authentication data for X11 forwarding."); |
strlcpy(proto, SSH_X11_PROTO, sizeof proto); |
strlcpy(proto, SSH_X11_PROTO, sizeof proto); |
for (i = 0; i < 16; i++) { |
arc4random_buf(rnd, sizeof(rnd)); |
if (i % 4 == 0) |
for (i = 0; i < sizeof(rnd); i++) { |
rnd = arc4random(); |
|
snprintf(data + 2 * i, sizeof data - 2 * i, "%02x", |
snprintf(data + 2 * i, sizeof data - 2 * i, "%02x", |
rnd & 0xff); |
rnd[i]); |
rnd >>= 8; |
|
} |
} |
} |
} |
|
|