diff --git a/ChangeLog b/ChangeLog
index 8e1b467..d02a80e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -48,6 +48,9 @@
      forwarding endpoints).  the intention is to preserve the on-the-wire
      appearance to applications at either end; the applications can then
      enable TCP_NODELAY according to their requirements. ok markus@
+   - markus@cvs.openbsd.org 2002/02/25 16:33:27
+     [ssh-keygen.c sshconnect2.c uuencode.c uuencode.h]
+     more u_* fixes
 
 20020225
  - (bal) Last AIX patch.  Moved aix_usrinfo() outside of do_setuserconext()
@@ -7721,4 +7724,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.1886 2002/02/26 18:12:51 mouring Exp $
+$Id: ChangeLog,v 1.1887 2002/02/26 18:15:09 mouring Exp $
diff --git a/ssh-keygen.c b/ssh-keygen.c
index 4560a3f..6aff4a4 100644
--- a/ssh-keygen.c
+++ b/ssh-keygen.c
@@ -12,7 +12,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh-keygen.c,v 1.93 2002/02/24 19:14:59 markus Exp $");
+RCSID("$OpenBSD: ssh-keygen.c,v 1.94 2002/02/25 16:33:27 markus Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/pem.h>
@@ -150,7 +150,7 @@
 do_convert_to_ssh2(struct passwd *pw)
 {
 	Key *k;
-	int len;
+	u_int len;
 	u_char *blob;
 	struct stat st;
 
diff --git a/sshconnect2.c b/sshconnect2.c
index 374eab5..c5b5ee5 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshconnect2.c,v 1.96 2002/02/24 19:14:59 markus Exp $");
+RCSID("$OpenBSD: sshconnect2.c,v 1.97 2002/02/25 16:33:27 markus Exp $");
 
 #include "ssh.h"
 #include "ssh2.h"
@@ -567,7 +567,7 @@
     int hint)
 {
 	u_char *blob;
-	int bloblen, have_sig = 0;
+	u_int bloblen, have_sig = 0;
 
 	debug3("send_pubkey_test");
 
@@ -956,7 +956,7 @@
 {
 
 	char *name = NULL;
-	int next;
+	u_int next;
 
 	/* Use a suitable default if we're passed a nil list.  */
 	if (authlist == NULL || strlen(authlist) == 0)
diff --git a/uuencode.c b/uuencode.c
index 8d79c93..685d2df 100644
--- a/uuencode.c
+++ b/uuencode.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uuencode.c,v 1.13 2002/02/24 18:31:09 markus Exp $	*/
+/*	$OpenBSD: uuencode.c,v 1.14 2002/02/25 16:33:27 markus Exp $	*/
 
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
@@ -28,7 +28,7 @@
 #include "xmalloc.h"
 #include "uuencode.h"
 
-RCSID("$OpenBSD: uuencode.c,v 1.13 2002/02/24 18:31:09 markus Exp $");
+RCSID("$OpenBSD: uuencode.c,v 1.14 2002/02/25 16:33:27 markus Exp $");
 
 int
 uuencode(u_char *src, u_int srclength,
@@ -58,7 +58,7 @@
 }
 
 void
-dump_base64(FILE *fp, u_char *data, int len)
+dump_base64(FILE *fp, u_char *data, u_int len)
 {
 	u_char *buf = xmalloc(2*len);
 	int i, n;
diff --git a/uuencode.h b/uuencode.h
index 0067635..682b623 100644
--- a/uuencode.h
+++ b/uuencode.h
@@ -1,4 +1,4 @@
-/*	$OpenBSD: uuencode.h,v 1.8 2001/06/26 17:27:25 markus Exp $	*/
+/*	$OpenBSD: uuencode.h,v 1.9 2002/02/25 16:33:27 markus Exp $	*/
 
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
@@ -28,5 +28,5 @@
 #define UUENCODE_H
 int	 uuencode(u_char *, u_int, char *, size_t);
 int	 uudecode(const char *, u_char *, size_t);
-void	 dump_base64(FILE *, u_char *, int);
+void	 dump_base64(FILE *, u_char *, u_int);
 #endif
