version 1.13, 2000/06/02 02:00:19 |
version 1.14, 2000/06/19 00:50:11 |
|
|
unsigned char *blob, *signature; |
unsigned char *blob, *signature; |
int bloblen, slen; |
int bloblen, slen; |
struct stat st; |
struct stat st; |
|
int skip = 0; |
|
|
if (stat(filename, &st) != 0) { |
if (stat(filename, &st) != 0) { |
debug("key does not exist: %s", filename); |
debug("key does not exist: %s", filename); |
|
|
|
|
/* data to be signed */ |
/* data to be signed */ |
buffer_init(&b); |
buffer_init(&b); |
buffer_append(&b, session_id2, session_id2_len); |
if (datafellows & SSH_COMPAT_SESSIONID_ENCODING) { |
|
buffer_put_string(&b, session_id2, session_id2_len); |
|
skip = buffer_len(&b); |
|
} else { |
|
buffer_append(&b, session_id2, session_id2_len); |
|
skip = session_id2_len; |
|
} |
buffer_put_char(&b, SSH2_MSG_USERAUTH_REQUEST); |
buffer_put_char(&b, SSH2_MSG_USERAUTH_REQUEST); |
buffer_put_cstring(&b, server_user); |
buffer_put_cstring(&b, server_user); |
buffer_put_cstring(&b, |
buffer_put_cstring(&b, |
|
|
xfree(signature); |
xfree(signature); |
|
|
/* skip session id and packet type */ |
/* skip session id and packet type */ |
if (buffer_len(&b) < session_id2_len + 1) |
if (buffer_len(&b) < skip + 1) |
fatal("ssh2_try_pubkey: internal error"); |
fatal("ssh2_try_pubkey: internal error"); |
buffer_consume(&b, session_id2_len + 1); |
buffer_consume(&b, skip + 1); |
|
|
/* put remaining data from buffer into packet */ |
/* put remaining data from buffer into packet */ |
packet_start(SSH2_MSG_USERAUTH_REQUEST); |
packet_start(SSH2_MSG_USERAUTH_REQUEST); |