- markus@cvs.openbsd.org 2001/12/27 20:39:58
     [auth1.c auth-rsa.c channels.c clientloop.c packet.c packet.h serverloop.c session.c ssh.c sshconnect1.c sshd.c ttymodes.c]
     get rid of packet_integrity_check, use packet_done() instead.
diff --git a/channels.c b/channels.c
index cc2613a..9f042d4 100644
--- a/channels.c
+++ b/channels.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: channels.c,v 1.150 2001/12/20 22:50:24 djm Exp $");
+RCSID("$OpenBSD: channels.c,v 1.151 2001/12/27 20:39:58 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -1734,7 +1734,6 @@
 
 	/* Get the data. */
 	data = packet_get_string(&data_len);
-	packet_done();
 
 	if (compat20) {
 		if (data_len > c->local_maxpacket) {
@@ -1748,9 +1747,8 @@
 			return;
 		}
 		c->local_window -= data_len;
-	}else{
-		packet_integrity_check(plen, 4 + 4 + data_len, type);
 	}
+	packet_done();
 	buffer_append(&c->output, data, data_len);
 	xfree(data);
 }
@@ -1801,9 +1799,8 @@
 	int id;
 	Channel *c;
 
-	packet_integrity_check(plen, 4, type);
-
 	id = packet_get_int();
+	packet_done();
 	c = channel_lookup(id);
 	if (c == NULL)
 		packet_disconnect("Received ieof for nonexistent channel %d.", id);
@@ -1823,9 +1820,8 @@
 	int id;
 	Channel *c;
 
-	packet_integrity_check(plen, 4, type);
-
 	id = packet_get_int();
+	packet_done();
 	c = channel_lookup(id);
 	if (c == NULL)
 		packet_disconnect("Received close for nonexistent channel %d.", id);
@@ -1861,7 +1857,8 @@
 {
 	int id = packet_get_int();
 	Channel *c = channel_lookup(id);
-	packet_integrity_check(plen, 4, type);
+
+	packet_done();
 	if (c == NULL)
 		packet_disconnect("Received oclose for nonexistent channel %d.", id);
 	chan_rcvd_oclose(c);
@@ -1889,9 +1886,6 @@
 	int id, remote_id;
 	Channel *c;
 
-	if (!compat20)
-		packet_integrity_check(plen, 4 + 4, type);
-
 	id = packet_get_int();
 	c = channel_lookup(id);
 
@@ -1906,7 +1900,6 @@
 	if (compat20) {
 		c->remote_window = packet_get_int();
 		c->remote_maxpacket = packet_get_int();
-		packet_done();
 		if (c->cb_fn != NULL && c->cb_event == type) {
 			debug2("callback start");
 			c->cb_fn(c->self, c->cb_arg);
@@ -1915,6 +1908,7 @@
 		debug("channel %d: open confirm rwindow %d rmax %d", c->self,
 		    c->remote_window, c->remote_maxpacket);
 	}
+	packet_done();
 }
 
 static char *
@@ -1940,9 +1934,6 @@
 	char *msg = NULL, *lang = NULL;
 	Channel *c;
 
-	if (!compat20)
-		packet_integrity_check(plen, 4, type);
-
 	id = packet_get_int();
 	c = channel_lookup(id);
 
@@ -1955,7 +1946,6 @@
 			msg  = packet_get_string(NULL);
 			lang = packet_get_string(NULL);
 		}
-		packet_done();
 		log("channel %d: open failed: %s%s%s", id,
 		    reason2txt(reason), msg ? ": ": "", msg ? msg : "");
 		if (msg != NULL)
@@ -1963,6 +1953,7 @@
 		if (lang != NULL)
 			xfree(lang);
 	}
+	packet_done();
 	/* Free the channel.  This will also close the socket. */
 	channel_free(c);
 }
@@ -2888,10 +2879,9 @@
 	int remote_id, sock;
 	char *name;
 
-	packet_integrity_check(plen, 4, type);
-
 	/* Read the remote channel number from the message. */
 	remote_id = packet_get_int();
+	packet_done();
 
 	/*
 	 * Get a connection to the local authentication agent (this may again