- markus@cvs.openbsd.org 2001/12/28 14:50:54
     [auth1.c auth-rsa.c channels.c dispatch.c kex.c kexdh.c kexgex.c packet.c packet.h serverloop.c session.c ssh.c sshconnect1.c sshconnect2.c sshd.c]
     packet_read* no longer return the packet length, since it's not used.
diff --git a/ChangeLog b/ChangeLog
index 366e803..ae6625e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -66,6 +66,11 @@
    - markus@cvs.openbsd.org 2001/12/28 14:13:13
      [bufaux.c bufaux.h packet.c]
      buffer_get_bignum: int -> void
+   - markus@cvs.openbsd.org 2001/12/28 14:50:54
+     [auth1.c auth-rsa.c channels.c dispatch.c kex.c kexdh.c kexgex.c]
+     [packet.c packet.h serverloop.c session.c ssh.c sshconnect1.c]
+     [sshconnect2.c sshd.c]
+     packet_read* no longer return the packet length, since it's not used.
 
 
 20020121
@@ -7214,4 +7219,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.1742 2002/01/22 12:15:57 djm Exp $
+$Id: ChangeLog,v 1.1743 2002/01/22 12:16:32 djm Exp $
diff --git a/auth-rsa.c b/auth-rsa.c
index 4403c14..f7ae03c 100644
--- a/auth-rsa.c
+++ b/auth-rsa.c
@@ -14,7 +14,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth-rsa.c,v 1.49 2001/12/28 12:14:27 markus Exp $");
+RCSID("$OpenBSD: auth-rsa.c,v 1.50 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/rsa.h>
 #include <openssl/md5.h>
@@ -66,7 +66,7 @@
 	u_char buf[32], mdbuf[16], response[16];
 	MD5_CTX md;
 	u_int i;
-	int plen, len;
+	int len;
 
 	if ((encrypted_challenge = BN_new()) == NULL)
 		fatal("auth_rsa_challenge_dialog: BN_new() failed");
@@ -91,7 +91,7 @@
 	packet_write_wait();
 
 	/* Wait for a response. */
-	packet_read_expect(&plen, SSH_CMSG_AUTH_RSA_RESPONSE);
+	packet_read_expect(SSH_CMSG_AUTH_RSA_RESPONSE);
 	for (i = 0; i < 16; i++)
 		response[i] = packet_get_char();
 	packet_check_eom();
diff --git a/auth1.c b/auth1.c
index 6585fa7..73fffec 100644
--- a/auth1.c
+++ b/auth1.c
@@ -10,7 +10,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth1.c,v 1.33 2001/12/28 13:57:33 markus Exp $");
+RCSID("$OpenBSD: auth1.c,v 1.34 2001/12/28 14:50:54 markus Exp $");
 
 #include "xmalloc.h"
 #include "rsa.h"
@@ -71,7 +71,6 @@
 	char *client_user, *password;
 	char info[1024];
 	u_int dlen;
-	int plen;
 	u_int ulen;
 	int type = 0;
 	struct passwd *pw = authctxt->pw;
@@ -109,7 +108,7 @@
 		info[0] = '\0';
 
 		/* Get a packet from the client. */
-		type = packet_read(&plen);
+		type = packet_read();
 
 		/* Process the packet. */
 		switch (type) {
@@ -360,12 +359,11 @@
 {
 	Authctxt *authctxt;
 	struct passwd *pw;
-	int plen;
 	u_int ulen;
 	char *p, *user, *style = NULL;
 
 	/* Get the name of the user that we wish to log in as. */
-	packet_read_expect(&plen, SSH_CMSG_USER);
+	packet_read_expect(SSH_CMSG_USER);
 
 	/* Get the user name. */
 	user = packet_get_string(&ulen);
diff --git a/channels.c b/channels.c
index 163312c..fd1b124 100644
--- a/channels.c
+++ b/channels.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: channels.c,v 1.152 2001/12/28 12:14:27 markus Exp $");
+RCSID("$OpenBSD: channels.c,v 1.153 2001/12/28 14:50:54 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -2185,7 +2185,7 @@
 channel_request_remote_forwarding(u_short listen_port,
     const char *host_to_connect, u_short port_to_connect)
 {
-	int payload_len, type, success = 0;
+	int type, success = 0;
 
 	/* Record locally that connection to this host/port is permitted. */
 	if (num_permitted_opens >= SSH_MAX_FORWARDS_PER_DIRECTION)
@@ -2212,7 +2212,7 @@
 		packet_write_wait();
 
 		/* Wait for response from the remote side. */
-		type = packet_read(&payload_len);
+		type = packet_read();
 		switch (type) {
 		case SSH_SMSG_SUCCESS:
 			success = 1;
diff --git a/dispatch.c b/dispatch.c
index 036c0aa..871fa24 100644
--- a/dispatch.c
+++ b/dispatch.c
@@ -22,7 +22,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include "includes.h"
-RCSID("$OpenBSD: dispatch.c,v 1.12 2001/12/20 22:50:24 djm Exp $");
+RCSID("$OpenBSD: dispatch.c,v 1.13 2001/12/28 14:50:54 markus Exp $");
 
 #include "ssh1.h"
 #include "ssh2.h"
@@ -58,19 +58,18 @@
 dispatch_run(int mode, int *done, void *ctxt)
 {
 	for (;;) {
-		int plen;
 		int type;
 		u_int32_t seqnr;
 
 		if (mode == DISPATCH_BLOCK) {
-			type = packet_read_seqnr(&plen, &seqnr);
+			type = packet_read_seqnr(&seqnr);
 		} else {
-			type = packet_read_poll_seqnr(&plen, &seqnr);
+			type = packet_read_poll_seqnr(&seqnr);
 			if (type == SSH_MSG_NONE)
 				return;
 		}
 		if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL)
-			(*dispatch[type])(type, plen, seqnr, ctxt);
+			(*dispatch[type])(type, 1234, seqnr, ctxt);
 		else
 			packet_disconnect("protocol error: rcvd type %d", type);
 		if (done != NULL && *done)
diff --git a/kex.c b/kex.c
index e416321..139a509 100644
--- a/kex.c
+++ b/kex.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: kex.c,v 1.39 2001/12/28 12:14:27 markus Exp $");
+RCSID("$OpenBSD: kex.c,v 1.40 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/crypto.h>
 
@@ -125,8 +125,6 @@
 void
 kex_finish(Kex *kex)
 {
-	int plen;
-
 	kex_clear_dispatch();
 
 	packet_start(SSH2_MSG_NEWKEYS);
@@ -135,7 +133,7 @@
 	debug("SSH2_MSG_NEWKEYS sent");
 
 	debug("waiting for SSH2_MSG_NEWKEYS");
-	packet_read_expect(&plen, SSH2_MSG_NEWKEYS);
+	packet_read_expect(SSH2_MSG_NEWKEYS);
 	debug("SSH2_MSG_NEWKEYS received");
 
 	kex->done = 1;
diff --git a/kexdh.c b/kexdh.c
index 226b81b..bc4700a 100644
--- a/kexdh.c
+++ b/kexdh.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: kexdh.c,v 1.11 2001/12/28 13:57:33 markus Exp $");
+RCSID("$OpenBSD: kexdh.c,v 1.12 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/crypto.h>
 #include <openssl/bn.h>
@@ -97,7 +97,6 @@
 	u_char *server_host_key_blob = NULL, *signature = NULL;
 	u_char *kbuf, *hash;
 	u_int klen, kout, slen, sbloblen;
-	int plen;
 
 	/* generate and send 'e', client DH public key */
 	dh = dh_new_group1();
@@ -115,7 +114,7 @@
 #endif
 
 	debug("expecting SSH2_MSG_KEXDH_REPLY");
-	packet_read_expect(&plen, SSH2_MSG_KEXDH_REPLY);
+	packet_read_expect(SSH2_MSG_KEXDH_REPLY);
 
 	/* key, cert */
 	server_host_key_blob = packet_get_string(&sbloblen);
@@ -201,14 +200,14 @@
 	Key *server_host_key;
 	u_char *kbuf, *hash, *signature = NULL, *server_host_key_blob = NULL;
 	u_int sbloblen, klen, kout;
-	int slen, plen;
+	int slen;
 
 	/* generate server DH public key */
 	dh = dh_new_group1();
 	dh_gen_key(dh, kex->we_need * 8);
 
 	debug("expecting SSH2_MSG_KEXDH_INIT");
-	packet_read_expect(&plen, SSH2_MSG_KEXDH_INIT);
+	packet_read_expect(SSH2_MSG_KEXDH_INIT);
 
 	if (kex->load_host_key == NULL)
 		fatal("Cannot load hostkey");
diff --git a/kexgex.c b/kexgex.c
index 99344bb..6b6d1d2 100644
--- a/kexgex.c
+++ b/kexgex.c
@@ -24,7 +24,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: kexgex.c,v 1.14 2001/12/28 13:57:33 markus Exp $");
+RCSID("$OpenBSD: kexgex.c,v 1.15 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/bn.h>
 
@@ -107,7 +107,7 @@
 	Key *server_host_key;
 	u_char *kbuf, *hash, *signature = NULL, *server_host_key_blob = NULL;
 	u_int klen, kout, slen, sbloblen;
-	int plen, min, max, nbits;
+	int min, max, nbits;
 	DH *dh;
 
 	nbits = dh_estimate(kex->we_need * 8);
@@ -138,7 +138,7 @@
 	packet_send();
 
 	debug("expecting SSH2_MSG_KEX_DH_GEX_GROUP");
-	packet_read_expect(&plen, SSH2_MSG_KEX_DH_GEX_GROUP);
+	packet_read_expect(SSH2_MSG_KEX_DH_GEX_GROUP);
 
 	if ((p = BN_new()) == NULL)
 		fatal("BN_new");
@@ -169,7 +169,7 @@
 	packet_send();
 
 	debug("expecting SSH2_MSG_KEX_DH_GEX_REPLY");
-	packet_read_expect(&plen, SSH2_MSG_KEX_DH_GEX_REPLY);
+	packet_read_expect(SSH2_MSG_KEX_DH_GEX_REPLY);
 
 	/* key, cert */
 	server_host_key_blob = packet_get_string(&sbloblen);
@@ -261,7 +261,7 @@
 	DH *dh = dh;
 	u_char *kbuf, *hash, *signature = NULL, *server_host_key_blob = NULL;
 	u_int sbloblen, klen, kout;
-	int min = -1, max = -1, nbits = -1, type, plen, slen;
+	int min = -1, max = -1, nbits = -1, type, slen;
 
 	if (kex->load_host_key == NULL)
 		fatal("Cannot load hostkey");
@@ -269,7 +269,7 @@
 	if (server_host_key == NULL)
 		fatal("Unsupported hostkey type %d", kex->hostkey_type);
 
-	type = packet_read(&plen);
+	type = packet_read();
 	switch (type) {
 	case SSH2_MSG_KEX_DH_GEX_REQUEST:
 		debug("SSH2_MSG_KEX_DH_GEX_REQUEST received");
@@ -312,7 +312,7 @@
 	dh_gen_key(dh, kex->we_need * 8);
 
 	debug("expecting SSH2_MSG_KEX_DH_GEX_INIT");
-	packet_read_expect(&plen, SSH2_MSG_KEX_DH_GEX_INIT);
+	packet_read_expect(SSH2_MSG_KEX_DH_GEX_INIT);
 
 	/* key, cert */
 	if ((dh_client_pub = BN_new()) == NULL)
diff --git a/packet.c b/packet.c
index 593fb70..3b25223 100644
--- a/packet.c
+++ b/packet.c
@@ -37,7 +37,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: packet.c,v 1.81 2001/12/28 14:13:13 markus Exp $");
+RCSID("$OpenBSD: packet.c,v 1.82 2001/12/28 14:50:54 markus Exp $");
 
 #include "xmalloc.h"
 #include "buffer.h"
@@ -610,7 +610,7 @@
  */
 
 int
-packet_read_seqnr(int *payload_len_ptr, u_int32_t *seqnr_p)
+packet_read_seqnr(u_int32_t *seqnr_p)
 {
 	int type, len;
 	fd_set *setp;
@@ -626,7 +626,7 @@
 	/* Stay in the loop until we have received a complete packet. */
 	for (;;) {
 		/* Try to read a packet from the buffer. */
-		type = packet_read_poll_seqnr(payload_len_ptr, seqnr_p);
+		type = packet_read_poll_seqnr(seqnr_p);
 		if (!compat20 && (
 		    type == SSH_SMSG_SUCCESS
 		    || type == SSH_SMSG_FAILURE
@@ -666,9 +666,9 @@
 }
 
 int
-packet_read(int *payload_len_ptr)
+packet_read(void)
 {
-	return packet_read_seqnr(payload_len_ptr, NULL);
+	return packet_read_seqnr(NULL);
 }
 
 /*
@@ -677,11 +677,11 @@
  */
 
 void
-packet_read_expect(int *payload_len_ptr, int expected_type)
+packet_read_expect(int expected_type)
 {
 	int type;
 
-	type = packet_read(payload_len_ptr);
+	type = packet_read();
 	if (type != expected_type)
 		packet_disconnect("Protocol error: expected packet type %d, got %d",
 		    expected_type, type);
@@ -694,16 +694,10 @@
  * SSH_MSG_DISCONNECT is handled specially here.  Also,
  * SSH_MSG_IGNORE messages are skipped by this function and are never returned
  * to higher levels.
- *
- * The returned payload_len does include space consumed by:
- * 	Packet length
- * 	Padding
- * 	Packet type
- * 	Check bytes
  */
 
 static int
-packet_read_poll1(int *payload_len_ptr)
+packet_read_poll1(void)
 {
 	u_int len, padded_len;
 	u_char *ucp, type;
@@ -776,12 +770,11 @@
 		    buffer_len(&compression_buffer));
 	}
 	type = buffer_get_char(&incoming_packet);
-	*payload_len_ptr = buffer_len(&incoming_packet);
 	return type;
 }
 
 static int
-packet_read_poll2(int *payload_len_ptr, u_int32_t *seqnr_p)
+packet_read_poll2(u_int32_t *seqnr_p)
 {
 	static u_int32_t seqnr = 0;
 	static u_int packet_length = 0;
@@ -887,7 +880,6 @@
 	type = buffer_get_char(&incoming_packet);
 	if (type == SSH2_MSG_NEWKEYS)
 		set_newkeys(MODE_IN);
-	*payload_len_ptr = buffer_len(&incoming_packet);
 #ifdef PACKET_DEBUG
 	fprintf(stderr, "read/plain[%d]:\r\n", type);
 	buffer_dump(&incoming_packet);
@@ -898,7 +890,7 @@
 }
 
 int
-packet_read_poll_seqnr(int *payload_len_ptr, u_int32_t *seqnr_p)
+packet_read_poll_seqnr(u_int32_t *seqnr_p)
 {
 	int reason;
 	u_char type;
@@ -906,7 +898,7 @@
 
 	for (;;) {
 		if (compat20) {
-			type = packet_read_poll2(payload_len_ptr, seqnr_p);
+			type = packet_read_poll2(seqnr_p);
 			if (type)
 				DBG(debug("received packet type %d", type));
 			switch (type) {
@@ -933,7 +925,7 @@
 				break;
 			}
 		} else {
-			type = packet_read_poll1(payload_len_ptr);
+			type = packet_read_poll1();
 			switch (type) {
 			case SSH_MSG_IGNORE:
 				break;
@@ -960,9 +952,9 @@
 }
 
 int
-packet_read_poll(int *payload_len_ptr)
+packet_read_poll(void)
 {
-	return packet_read_poll_seqnr(payload_len_ptr, NULL);
+	return packet_read_poll_seqnr(NULL);
 }
 
 /*
diff --git a/packet.h b/packet.h
index dcf2a66..4caca34 100644
--- a/packet.h
+++ b/packet.h
@@ -11,7 +11,7 @@
  * called by a name other than "ssh" or "Secure Shell".
  */
 
-/* RCSID("$OpenBSD: packet.h,v 1.31 2001/12/28 13:57:33 markus Exp $"); */
+/* RCSID("$OpenBSD: packet.h,v 1.32 2001/12/28 14:50:54 markus Exp $"); */
 
 #ifndef PACKET_H
 #define PACKET_H
@@ -40,12 +40,12 @@
 void     packet_put_raw(const void *buf, u_int len);
 void     packet_send(void);
 
-int      packet_read(int *payload_len_ptr);
-void     packet_read_expect(int *payload_len_ptr, int type);
-int      packet_read_poll(int *packet_len_ptr);
+int      packet_read(void);
+void     packet_read_expect(int type);
+int      packet_read_poll(void);
 void     packet_process_incoming(const char *buf, u_int len);
-int      packet_read_seqnr(int *payload_len_ptr, u_int32_t *seqnr_p);
-int      packet_read_poll_seqnr(int *packet_len_ptr, u_int32_t *seqnr_p);
+int      packet_read_seqnr(u_int32_t *seqnr_p);
+int      packet_read_poll_seqnr(u_int32_t *seqnr_p);
 
 u_int	 packet_get_char(void);
 u_int	 packet_get_int(void);
diff --git a/serverloop.c b/serverloop.c
index aa74bf9..d2f8d3d 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -35,7 +35,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: serverloop.c,v 1.91 2001/12/28 12:14:27 markus Exp $");
+RCSID("$OpenBSD: serverloop.c,v 1.92 2001/12/28 14:50:54 markus Exp $");
 
 #include "xmalloc.h"
 #include "packet.h"
@@ -691,8 +691,7 @@
 		 * the exit status.
 		 */
 		do {
-			int plen;
-			type = packet_read(&plen);
+			type = packet_read();
 		}
 		while (type != SSH_CMSG_EXIT_CONFIRMATION);
 
diff --git a/session.c b/session.c
index 43cbd00..a5ad077 100644
--- a/session.c
+++ b/session.c
@@ -33,7 +33,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: session.c,v 1.116 2001/12/28 12:14:27 markus Exp $");
+RCSID("$OpenBSD: session.c,v 1.117 2001/12/28 14:50:54 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -233,7 +233,7 @@
 {
 	Session *s;
 	char *command;
-	int success, type, plen, screen_flag;
+	int success, type, screen_flag;
 	int compression_level = 0, enable_compression_after_reply = 0;
 	u_int proto_len, data_len, dlen;
 
@@ -249,7 +249,7 @@
 		success = 0;
 
 		/* Get a packet from the client. */
-		type = packet_read(&plen);
+		type = packet_read();
 
 		/* Process the packet. */
 		switch (type) {
diff --git a/ssh.c b/ssh.c
index 76d45c9..6cf9f9b 100644
--- a/ssh.c
+++ b/ssh.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh.c,v 1.155 2001/12/28 12:14:27 markus Exp $");
+RCSID("$OpenBSD: ssh.c,v 1.156 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/err.h>
@@ -880,7 +880,6 @@
 ssh_session(void)
 {
 	int type;
-	int plen;
 	int interactive = 0;
 	int have_tty = 0;
 	struct winsize ws;
@@ -898,7 +897,7 @@
 		packet_put_int(options.compression_level);
 		packet_send();
 		packet_write_wait();
-		type = packet_read(&plen);
+		type = packet_read();
 		if (type == SSH_SMSG_SUCCESS)
 			packet_start_compression(options.compression_level);
 		else if (type == SSH_SMSG_FAILURE)
@@ -936,7 +935,7 @@
 		packet_write_wait();
 
 		/* Read response from the server. */
-		type = packet_read(&plen);
+		type = packet_read();
 		if (type == SSH_SMSG_SUCCESS) {
 			interactive = 1;
 			have_tty = 1;
@@ -955,7 +954,7 @@
 		x11_request_forwarding_with_spoofing(0, proto, data);
 
 		/* Read response from the server. */
-		type = packet_read(&plen);
+		type = packet_read();
 		if (type == SSH_SMSG_SUCCESS) {
 			interactive = 1;
 		} else if (type == SSH_SMSG_FAILURE) {
@@ -975,7 +974,7 @@
 		auth_request_forwarding();
 
 		/* Read response from the server. */
-		type = packet_read(&plen);
+		type = packet_read();
 		packet_check_eom();
 		if (type != SSH_SMSG_SUCCESS)
 			log("Warning: Remote host denied authentication agent forwarding.");
diff --git a/sshconnect1.c b/sshconnect1.c
index e66f350..8b577fb 100644
--- a/sshconnect1.c
+++ b/sshconnect1.c
@@ -13,7 +13,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshconnect1.c,v 1.46 2001/12/28 13:57:33 markus Exp $");
+RCSID("$OpenBSD: sshconnect1.c,v 1.47 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/bn.h>
 #include <openssl/evp.h>
@@ -67,7 +67,6 @@
 	AuthenticationConnection *auth;
 	u_char response[16];
 	u_int i;
-	int plen;
 	Key *key;
 	BIGNUM *challenge;
 
@@ -94,7 +93,7 @@
 		packet_write_wait();
 
 		/* Wait for server's response. */
-		type = packet_read(&plen);
+		type = packet_read();
 
 		/* The server sends failure if it doesn\'t like our key or
 		   does not support RSA authentication. */
@@ -134,7 +133,7 @@
 		packet_write_wait();
 
 		/* Wait for response from the server. */
-		type = packet_read(&plen);
+		type = packet_read();
 
 		/* The server returns success if it accepted the authentication. */
 		if (type == SSH_SMSG_SUCCESS) {
@@ -209,7 +208,7 @@
 	BIGNUM *challenge;
 	Key *public, *private;
 	char buf[300], *passphrase, *comment, *authfile;
-	int i, type, quit, plen;
+	int i, type, quit;
 
 	public = options.identity_keys[idx];
 	authfile = options.identity_files[idx];
@@ -224,7 +223,7 @@
 	packet_write_wait();
 
 	/* Wait for server's response. */
-	type = packet_read(&plen);
+	type = packet_read();
 
 	/*
 	 * The server responds with failure if it doesn\'t like our key or
@@ -291,7 +290,7 @@
 		packet_write_wait();
 
 		/* Expect the server to reject it... */
-		packet_read_expect(&plen, SSH_SMSG_FAILURE);
+		packet_read_expect(SSH_SMSG_FAILURE);
 		BN_clear_free(challenge);
 		return 0;
 	}
@@ -307,7 +306,7 @@
 	BN_clear_free(challenge);
 
 	/* Wait for response from the server. */
-	type = packet_read(&plen);
+	type = packet_read();
 	if (type == SSH_SMSG_SUCCESS) {
 		debug("RSA authentication accepted by server.");
 		return 1;
@@ -327,7 +326,6 @@
 {
 	int type;
 	BIGNUM *challenge;
-	int plen;
 
 	debug("Trying rhosts or /etc/hosts.equiv with RSA host authentication.");
 
@@ -341,7 +339,7 @@
 	packet_write_wait();
 
 	/* Wait for server's response. */
-	type = packet_read(&plen);
+	type = packet_read();
 
 	/* The server responds with failure if it doesn't admit our
 	   .rhosts authentication or doesn't know our host key. */
@@ -368,7 +366,7 @@
 	BN_clear_free(challenge);
 
 	/* Wait for response from the server. */
-	type = packet_read(&plen);
+	type = packet_read();
 	if (type == SSH_SMSG_SUCCESS) {
 		debug("Rhosts or /etc/hosts.equiv with RSA host authentication accepted by server.");
 		return 1;
@@ -388,7 +386,7 @@
 	char inst[INST_SZ];
 	char *realm;
 	CREDENTIALS cred;
-	int r, type, plen;
+	int r, type;
 	socklen_t slen;
 	Key_schedule schedule;
 	u_long checksum, cksum;
@@ -447,7 +445,7 @@
 		fatal_cleanup();
 	}
 	/* Get server reply. */
-	type = packet_read(&plen);
+	type = packet_read();
 	switch (type) {
 	case SSH_SMSG_FAILURE:
 		/* Should really be SSH_SMSG_AUTH_KERBEROS_FAILURE */
@@ -509,7 +507,7 @@
 	krb5_ccache ccache = NULL;
 	const char *remotehost;
 	krb5_data ap;
-	int type, payload_len;
+	int type;
 	krb5_ap_rep_enc_part *reply = NULL;
 	int ret;
 
@@ -559,7 +557,7 @@
 	xfree(ap.data);
 	ap.length = 0;
 
-	type = packet_read(&payload_len);
+	type = packet_read();
 	switch (type) {
 	case SSH_SMSG_FAILURE:
 		/* Should really be SSH_SMSG_AUTH_KERBEROS_FAILURE */
@@ -605,7 +603,7 @@
 static void
 send_krb5_tgt(krb5_context context, krb5_auth_context auth_context)
 {
-	int fd, type, payload_len;
+	int fd, type;
 	krb5_error_code problem;
 	krb5_data outbuf;
 	krb5_ccache ccache = NULL;
@@ -655,7 +653,7 @@
 	packet_send();
 	packet_write_wait();
 
-	type = packet_read(&payload_len);
+	type = packet_read();
 
 	if (type == SSH_SMSG_SUCCESS) {
 		char *pname;
@@ -690,7 +688,7 @@
 	CREDENTIALS *creds;
 	struct stat st;
 	char buffer[4096], pname[ANAME_SZ], pinst[INST_SZ], prealm[REALM_SZ];
-	int problem, type, len;
+	int problem, type;
 
 	/* Don't do anything if we don't have any tickets. */
 	if (stat(tkt_string(), &st) < 0)
@@ -717,7 +715,7 @@
 	packet_send();
 	packet_write_wait();
 
-	type = packet_read(&len);
+	type = packet_read();
 
 	if (type == SSH_SMSG_SUCCESS)
 		debug("Kerberos v4 TGT forwarded (%s%s%s@%s).",
@@ -795,7 +793,7 @@
 
 		/* Roger, Roger. Clearance, Clarence. What's your vector,
 		   Victor? */
-		type = packet_read(&len);
+		type = packet_read();
 
 		if (type == SSH_SMSG_FAILURE)
 			debug("AFS token for cell %s rejected.", server_cell);
@@ -814,7 +812,6 @@
 try_challenge_response_authentication(void)
 {
 	int type, i;
-	int payload_len;
 	u_int clen;
 	char prompt[1024];
 	char *challenge, *response;
@@ -827,7 +824,7 @@
 		packet_send();
 		packet_write_wait();
 
-		type = packet_read(&payload_len);
+		type = packet_read();
 		if (type != SSH_SMSG_FAILURE &&
 		    type != SSH_SMSG_AUTH_TIS_CHALLENGE) {
 			packet_disconnect("Protocol error: got %d in response "
@@ -858,7 +855,7 @@
 		xfree(response);
 		packet_send();
 		packet_write_wait();
-		type = packet_read(&payload_len);
+		type = packet_read();
 		if (type == SSH_SMSG_SUCCESS)
 			return 1;
 		if (type != SSH_SMSG_FAILURE)
@@ -875,7 +872,7 @@
 static int
 try_password_authentication(char *prompt)
 {
-	int type, i, payload_len;
+	int type, i;
 	char *password;
 
 	debug("Doing password authentication.");
@@ -892,7 +889,7 @@
 		packet_send();
 		packet_write_wait();
 
-		type = packet_read(&payload_len);
+		type = packet_read();
 		if (type == SSH_SMSG_SUCCESS)
 			return 1;
 		if (type != SSH_SMSG_FAILURE)
@@ -917,13 +914,12 @@
 	u_char cookie[8];
 	u_int supported_ciphers;
 	u_int server_flags, client_flags;
-	int payload_len;
 	u_int32_t rand = 0;
 
 	debug("Waiting for server public key.");
 
 	/* Wait for a public key packet from the server. */
-	packet_read_expect(&payload_len, SSH_SMSG_PUBLIC_KEY);
+	packet_read_expect(SSH_SMSG_PUBLIC_KEY);
 
 	/* Get cookie from the packet. */
 	for (i = 0; i < 8; i++)
@@ -1084,7 +1080,7 @@
 	 * Expect a success message from the server.  Note that this message
 	 * will be received in encrypted form.
 	 */
-	packet_read_expect(&payload_len, SSH_SMSG_SUCCESS);
+	packet_read_expect(SSH_SMSG_SUCCESS);
 
 	debug("Received encrypted confirmation.");
 }
@@ -1101,7 +1097,6 @@
 	krb5_auth_context auth_context = NULL;
 #endif
 	int i, type;
-	int payload_len;
 
 	if (supported_authentications == 0)
 		fatal("ssh_userauth1: server supports no auth methods");
@@ -1117,7 +1112,7 @@
 	 * needed (the user has no password).  Otherwise the server responds
 	 * with failure.
 	 */
-	type = packet_read(&payload_len);
+	type = packet_read();
 
 	/* check whether the connection was accepted without authentication. */
 	if (type == SSH_SMSG_SUCCESS)
@@ -1131,7 +1126,7 @@
 		debug("Trying Kerberos v5 authentication.");
 
 		if (try_krb5_authentication(&context, &auth_context)) {
-			type = packet_read(&payload_len);
+			type = packet_read();
 			if (type == SSH_SMSG_SUCCESS)
 				goto success;
 			if (type != SSH_SMSG_FAILURE)
@@ -1146,7 +1141,7 @@
 		debug("Trying Kerberos v4 authentication.");
 
 		if (try_krb4_authentication()) {
-			type = packet_read(&payload_len);
+			type = packet_read();
 			if (type == SSH_SMSG_SUCCESS)
 				goto success;
 			if (type != SSH_SMSG_FAILURE)
@@ -1168,7 +1163,7 @@
 		packet_write_wait();
 
 		/* The server should respond with success or failure. */
-		type = packet_read(&payload_len);
+		type = packet_read();
 		if (type == SSH_SMSG_SUCCESS)
 			goto success;
 		if (type != SSH_SMSG_FAILURE)
diff --git a/sshconnect2.c b/sshconnect2.c
index cf873b8..cfc7b60 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshconnect2.c,v 1.90 2001/12/28 12:14:27 markus Exp $");
+RCSID("$OpenBSD: sshconnect2.c,v 1.91 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/bn.h>
 #include <openssl/md5.h>
@@ -226,7 +226,6 @@
 {
 	Authctxt authctxt;
 	int type;
-	int plen;
 
 	if (options.challenge_response_authentication)
 		options.kbd_interactive_authentication = 1;
@@ -236,12 +235,12 @@
 	packet_put_cstring("ssh-userauth");
 	packet_send();
 	packet_write_wait();
-	type = packet_read(&plen);
+	type = packet_read();
 	if (type != SSH2_MSG_SERVICE_ACCEPT) {
 		fatal("denied SSH2_MSG_SERVICE_ACCEPT: %d", type);
 	}
 	if (packet_remaining() > 0) {
-		char *reply = packet_get_string(&plen);
+		char *reply = packet_get_string(NULL);
 		debug("service_accept: %s", reply);
 		xfree(reply);
 	} else {
diff --git a/sshd.c b/sshd.c
index 39b58a4..d86e683 100644
--- a/sshd.c
+++ b/sshd.c
@@ -40,7 +40,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshd.c,v 1.221 2001/12/28 13:57:33 markus Exp $");
+RCSID("$OpenBSD: sshd.c,v 1.222 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/dh.h>
 #include <openssl/bn.h>
@@ -1251,7 +1251,6 @@
 do_ssh1_kex(void)
 {
 	int i, len;
-	int plen;
 	int rsafail = 0;
 	BIGNUM *session_key_int;
 	u_char session_key[SSH_SESSION_KEY_LENGTH];
@@ -1335,7 +1334,7 @@
 	    BN_num_bits(sensitive_data.ssh1_host_key->rsa->n));
 
 	/* Read clients reply (cipher type and session key). */
-	packet_read_expect(&plen, SSH_CMSG_SESSION_KEY);
+	packet_read_expect(SSH_CMSG_SESSION_KEY);
 
 	/* Get cipher type and check whether we accept this. */
 	cipher_type = packet_get_char();