diff options
Diffstat (limited to 'ssh-keysign.c')
-rw-r--r-- | ssh-keysign.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ssh-keysign.c b/ssh-keysign.c index 78929b2e0..520927829 100644 --- a/ssh-keysign.c +++ b/ssh-keysign.c | |||
@@ -22,7 +22,7 @@ | |||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
23 | */ | 23 | */ |
24 | #include "includes.h" | 24 | #include "includes.h" |
25 | RCSID("$OpenBSD: ssh-keysign.c,v 1.2 2002/05/31 10:30:33 markus Exp $"); | 25 | RCSID("$OpenBSD: ssh-keysign.c,v 1.3 2002/06/08 05:07:09 markus Exp $"); |
26 | 26 | ||
27 | #include <openssl/evp.h> | 27 | #include <openssl/evp.h> |
28 | 28 | ||
@@ -60,8 +60,12 @@ valid_request(struct passwd *pw, char *host, Key **ret, u_char *data, | |||
60 | buffer_init(&b); | 60 | buffer_init(&b); |
61 | buffer_append(&b, data, datalen); | 61 | buffer_append(&b, data, datalen); |
62 | 62 | ||
63 | /* session id */ | 63 | /* session id, currently limited to SHA1 (20 bytes) */ |
64 | buffer_skip_string(&b); | 64 | p = buffer_get_string(&b, &len); |
65 | if (len != 20) | ||
66 | fail++; | ||
67 | xfree(p); | ||
68 | |||
65 | if (buffer_get_char(&b) != SSH2_MSG_USERAUTH_REQUEST) | 69 | if (buffer_get_char(&b) != SSH2_MSG_USERAUTH_REQUEST) |
66 | fail++; | 70 | fail++; |
67 | 71 | ||