summaryrefslogtreecommitdiff
path: root/ssh-keysign.c
diff options
context:
space:
mode:
authorBen Lindstrom <mouring@eviladmin.org>2002-06-09 20:01:48 +0000
committerBen Lindstrom <mouring@eviladmin.org>2002-06-09 20:01:48 +0000
commita20715788dc44ed629e4320d7e9af4e285a559ab (patch)
tree6ec4f8446e2fee15891f9e3fd32e69a63ec96590 /ssh-keysign.c
parentece420413bbcc272300bc14f8944bb2679e4afd2 (diff)
- markus@cvs.openbsd.org 2002/06/08 05:07:09
[ssh-keysign.c] only accept 20 byte session ids
Diffstat (limited to 'ssh-keysign.c')
-rw-r--r--ssh-keysign.c10
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"
25RCSID("$OpenBSD: ssh-keysign.c,v 1.2 2002/05/31 10:30:33 markus Exp $"); 25RCSID("$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