diff options
Diffstat (limited to 'ssh-agent.c')
-rw-r--r-- | ssh-agent.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ssh-agent.c b/ssh-agent.c index f7be488f8..e6fb336ed 100644 --- a/ssh-agent.c +++ b/ssh-agent.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-agent.c,v 1.36 2000/09/15 07:13:49 deraadt Exp $ */ | 1 | /* $OpenBSD: ssh-agent.c,v 1.37 2000/09/21 11:07:51 markus Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -37,7 +37,7 @@ | |||
37 | */ | 37 | */ |
38 | 38 | ||
39 | #include "includes.h" | 39 | #include "includes.h" |
40 | RCSID("$OpenBSD: ssh-agent.c,v 1.36 2000/09/15 07:13:49 deraadt Exp $"); | 40 | RCSID("$OpenBSD: ssh-agent.c,v 1.37 2000/09/21 11:07:51 markus Exp $"); |
41 | 41 | ||
42 | #include "ssh.h" | 42 | #include "ssh.h" |
43 | #include "rsa.h" | 43 | #include "rsa.h" |
@@ -56,6 +56,7 @@ RCSID("$OpenBSD: ssh-agent.c,v 1.36 2000/09/15 07:13:49 deraadt Exp $"); | |||
56 | #include "authfd.h" | 56 | #include "authfd.h" |
57 | #include "dsa.h" | 57 | #include "dsa.h" |
58 | #include "kex.h" | 58 | #include "kex.h" |
59 | #include "compat.h" | ||
59 | 60 | ||
60 | typedef struct { | 61 | typedef struct { |
61 | int fd; | 62 | int fd; |
@@ -237,6 +238,7 @@ process_sign_request2(SocketEntry *e) | |||
237 | Key *key, *private; | 238 | Key *key, *private; |
238 | unsigned char *blob, *data, *signature = NULL; | 239 | unsigned char *blob, *data, *signature = NULL; |
239 | unsigned int blen, dlen, slen = 0; | 240 | unsigned int blen, dlen, slen = 0; |
241 | int flags; | ||
240 | Buffer msg; | 242 | Buffer msg; |
241 | int ok = -1; | 243 | int ok = -1; |
242 | 244 | ||
@@ -244,7 +246,10 @@ process_sign_request2(SocketEntry *e) | |||
244 | 246 | ||
245 | blob = buffer_get_string(&e->input, &blen); | 247 | blob = buffer_get_string(&e->input, &blen); |
246 | data = buffer_get_string(&e->input, &dlen); | 248 | data = buffer_get_string(&e->input, &dlen); |
247 | buffer_get_int(&e->input); /* flags, unused */ | 249 | |
250 | flags = buffer_get_int(&e->input); | ||
251 | if (flags & SSH_AGENT_OLD_SIGNATURE) | ||
252 | datafellows = SSH_BUG_SIGBLOB; | ||
248 | 253 | ||
249 | key = dsa_key_from_blob(blob, blen); | 254 | key = dsa_key_from_blob(blob, blen); |
250 | if (key != NULL) { | 255 | if (key != NULL) { |