]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2004/10/20 11:48:53
authordtucker <dtucker>
Fri, 5 Nov 2004 09:27:54 +0000 (09:27 +0000)
committerdtucker <dtucker>
Fri, 5 Nov 2004 09:27:54 +0000 (09:27 +0000)
     [packet.c ssh1.h]
     disconnect for invalid (out of range) message types.

ChangeLog
packet.c
ssh1.h

index 8b4a0a0805e9f74d74df5683623663ef469fd3ea..7e2b84a86caf5f7973371ddc63eb9dbfa26e0b80 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -42,6 +42,9 @@
      [ssh-agent.c]
      don't unlink agent socket when bind() fails, spotted by rich AT
      rich-paul.net, ok markus@
+   - markus@cvs.openbsd.org 2004/10/20 11:48:53
+     [packet.c ssh1.h]
+     disconnect for invalid (out of range) message types.
 
 20041102
  - (dtucker) [configure.ac includes.h] Bug #947: Fix compile error on HP-UX
index 82a5694045d3b0a825067687c27fe5dba7b77d23..7c150fde73a834345e6e904e8a2bb07bf111ce4e 100644 (file)
--- a/packet.c
+++ b/packet.c
@@ -37,7 +37,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: packet.c,v 1.115 2004/06/21 17:36:31 avsm Exp $");
+RCSID("$OpenBSD: packet.c,v 1.116 2004/10/20 11:48:53 markus Exp $");
 
 #include "openbsd-compat/sys-queue.h"
 
@@ -981,6 +981,8 @@ packet_read_poll1(void)
                    buffer_len(&compression_buffer));
        }
        type = buffer_get_char(&incoming_packet);
+       if (type < SSH_MSG_MIN || type > SSH_MSG_MAX)
+               packet_disconnect("Invalid ssh1 packet type: %d", type);
        return type;
 }
 
@@ -1093,6 +1095,8 @@ packet_read_poll2(u_int32_t *seqnr_p)
         * return length of payload (without type field)
         */
        type = buffer_get_char(&incoming_packet);
+       if (type < SSH2_MSG_MIN || type >= SSH2_MSG_LOCAL_MIN)
+               packet_disconnect("Invalid ssh2 packet type: %d", type);
        if (type == SSH2_MSG_NEWKEYS)
                set_newkeys(MODE_IN);
 #ifdef PACKET_DEBUG
diff --git a/ssh1.h b/ssh1.h
index cc7fbc8b0065df0dbd502d5dab02a0f960d5ddad..1741c229a09bf69be2415f1668773ff5a04a3a05 100644 (file)
--- a/ssh1.h
+++ b/ssh1.h
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ssh1.h,v 1.4 2004/07/11 17:48:47 deraadt Exp $        */
+/*     $OpenBSD: ssh1.h,v 1.5 2004/10/20 11:48:53 markus Exp $ */
 
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -18,6 +18,9 @@
  * for compatibility.  The maximum value is 254; value 255 is reserved for
  * future extension.
  */
+/* Ranges */
+#define SSH_MSG_MIN                            1
+#define SSH_MSG_MAX                            254
 /* Message name */                     /* msg code */  /* arguments */
 #define SSH_MSG_NONE                           0       /* no message */
 #define SSH_MSG_DISCONNECT                     1       /* cause (string) */
This page took 0.455924 seconds and 5 git commands to generate.