- (djm) [audit-bsm.c audit.c auth-bsdauth.c auth-chall.c auth-pam.c]
   [auth-rsa.c auth-shadow.c auth-sia.c auth1.c auth2-chall.c]
   [auth2-gss.c auth2-kbdint.c auth2-none.c authfd.c authfile.c]
   [cipher-3des1.c cipher-aes.c cipher-bf1.c cipher-ctr.c clientloop.c]
   [dh.c dns.c entropy.c gss-serv-krb5.c gss-serv.c hostfile.c kex.c]
   [kexdhc.c kexdhs.c kexgexc.c kexgexs.c key.c loginrec.c mac.c]
   [md5crypt.c monitor.c monitor_wrap.c readconf.c rsa.c]
   [scard-opensc.c scard.c session.c ssh-add.c ssh-agent.c ssh-dss.c]
   [ssh-keygen.c ssh-keysign.c ssh-rsa.c ssh.c sshconnect.c]
   [sshconnect1.c sshconnect2.c sshd.c rc4.diff]
   [openbsd-compat/bsd-cray.c openbsd-compat/port-aix.c]
   [openbsd-compat/port-linux.c openbsd-compat/port-solaris.c]
   [openbsd-compat/port-uw.c]
   Lots of headers for SCO OSR6, mainly adding stdarg.h for log.h;
   compile problems reported by rac AT tenzing.org
diff --git a/ChangeLog b/ChangeLog
index bef6b05..ebf3089 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+20060901
+ - (djm) [audit-bsm.c audit.c auth-bsdauth.c auth-chall.c auth-pam.c]
+   [auth-rsa.c auth-shadow.c auth-sia.c auth1.c auth2-chall.c]
+   [auth2-gss.c auth2-kbdint.c auth2-none.c authfd.c authfile.c]
+   [cipher-3des1.c cipher-aes.c cipher-bf1.c cipher-ctr.c clientloop.c]
+   [dh.c dns.c entropy.c gss-serv-krb5.c gss-serv.c hostfile.c kex.c]
+   [kexdhc.c kexdhs.c kexgexc.c kexgexs.c key.c loginrec.c mac.c]
+   [md5crypt.c monitor.c monitor_wrap.c readconf.c rsa.c]
+   [scard-opensc.c scard.c session.c ssh-add.c ssh-agent.c ssh-dss.c]
+   [ssh-keygen.c ssh-keysign.c ssh-rsa.c ssh.c sshconnect.c]
+   [sshconnect1.c sshconnect2.c sshd.c rc4.diff]
+   [openbsd-compat/bsd-cray.c openbsd-compat/port-aix.c]
+   [openbsd-compat/port-linux.c openbsd-compat/port-solaris.c]
+   [openbsd-compat/port-uw.c]
+   Lots of headers for SCO OSR6, mainly adding stdarg.h for log.h;
+   compile problems reported by rac AT tenzing.org
+
 20060831
  - (djm) [CREDITS LICENCE Makefile.in auth.c configure.ac includes.h ]
    [platform.c platform.h sshd.c openbsd-compat/Makefile.in]
@@ -5348,4 +5365,4 @@
    - (djm) Trim deprecated options from INSTALL. Mention UsePAM
    - (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
 
-$Id: ChangeLog,v 1.4520 2006/08/31 01:28:49 dtucker Exp $
+$Id: ChangeLog,v 1.4521 2006/09/01 05:38:36 djm Exp $
diff --git a/audit-bsm.c b/audit-bsm.c
index 50241b3..d5cf302 100644
--- a/audit-bsm.c
+++ b/audit-bsm.c
@@ -1,4 +1,4 @@
-/* $Id: audit-bsm.c,v 1.3 2006/08/16 01:40:45 djm Exp $ */
+/* $Id: audit-bsm.c,v 1.4 2006/09/01 05:38:36 djm Exp $ */
 
 /*
  * TODO
@@ -39,6 +39,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <unistd.h>
 
 #include "ssh.h"
diff --git a/audit.c b/audit.c
index 8c3ec5a..dbea34c 100644
--- a/audit.c
+++ b/audit.c
@@ -1,4 +1,4 @@
-/* $Id: audit.c,v 1.4 2006/08/05 14:05:10 dtucker Exp $ */
+/* $Id: audit.c,v 1.5 2006/09/01 05:38:36 djm Exp $ */
 
 /*
  * Copyright (c) 2004, 2005 Darren Tucker.  All rights reserved.
@@ -26,6 +26,9 @@
 
 #include "includes.h"
 
+#include <stdarg.h>
+#include <string.h>
+
 #ifdef SSH_AUDIT_EVENTS
 
 #include "audit.h"
diff --git a/auth-bsdauth.c b/auth-bsdauth.c
index f718e5d..37d527d 100644
--- a/auth-bsdauth.c
+++ b/auth-bsdauth.c
@@ -27,6 +27,8 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
+
 #ifdef BSD_AUTH
 #include "xmalloc.h"
 #include "key.h"
diff --git a/auth-chall.c b/auth-chall.c
index 9c1079a..919b1ea 100644
--- a/auth-chall.c
+++ b/auth-chall.c
@@ -27,6 +27,8 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
+
 #include "xmalloc.h"
 #include "key.h"
 #include "hostfile.h"
diff --git a/auth-pam.c b/auth-pam.c
index 8e9361c..493993a 100644
--- a/auth-pam.c
+++ b/auth-pam.c
@@ -54,6 +54,7 @@
 
 #include <errno.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <string.h>
 #include <unistd.h>
 
diff --git a/auth-rsa.c b/auth-rsa.c
index 1c66b86..8c43458 100644
--- a/auth-rsa.c
+++ b/auth-rsa.c
@@ -24,6 +24,7 @@
 
 #include <pwd.h>
 #include <stdio.h>
+#include <stdarg.h>
 #include <string.h>
 
 #include "xmalloc.h"
diff --git a/auth-shadow.c b/auth-shadow.c
index 52447fe..8b3160a 100644
--- a/auth-shadow.c
+++ b/auth-shadow.c
@@ -26,6 +26,7 @@
 
 #if defined(USE_SHADOW) && defined(HAS_SHADOW_EXPIRE)
 #include <shadow.h>
+#include <stdarg.h>
 #include <string.h>
 
 #include "key.h"
diff --git a/auth-sia.c b/auth-sia.c
index af7182b..63304d3 100644
--- a/auth-sia.c
+++ b/auth-sia.c
@@ -25,14 +25,6 @@
 #include "includes.h"
 
 #ifdef HAVE_OSF_SIA
-#include "ssh.h"
-#include "auth.h"
-#include "auth-sia.h"
-#include "log.h"
-#include "servconf.h"
-#include "canohost.h"
-#include "uidswap.h"
-
 #include <sia.h>
 #include <siad.h>
 #include <pwd.h>
@@ -40,8 +32,17 @@
 #include <setjmp.h>
 #include <sys/resource.h>
 #include <unistd.h>
+#include <stdarg.h>
 #include <string.h>
 
+#include "ssh.h"
+#include "auth.h"
+#include "auth-sia.h"
+#include "log.h"
+#include "servconf.h"
+#include "canohost.h"
+#include "uidswap.h"
+
 extern ServerOptions options;
 extern int saved_argc;
 extern char **saved_argv;
diff --git a/auth1.c b/auth1.c
index 34dcf62..b9d6b11 100644
--- a/auth1.c
+++ b/auth1.c
@@ -14,6 +14,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
diff --git a/auth2-chall.c b/auth2-chall.c
index b091957..b78b739 100644
--- a/auth2-chall.c
+++ b/auth2-chall.c
@@ -28,6 +28,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 
diff --git a/auth2-gss.c b/auth2-gss.c
index d88bc42..c77c841 100644
--- a/auth2-gss.c
+++ b/auth2-gss.c
@@ -30,6 +30,8 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
+
 #include "xmalloc.h"
 #include "key.h"
 #include "hostfile.h"
diff --git a/auth2-kbdint.c b/auth2-kbdint.c
index 9015964..a4fc9e6 100644
--- a/auth2-kbdint.c
+++ b/auth2-kbdint.c
@@ -27,6 +27,8 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
+
 #include "xmalloc.h"
 #include "packet.h"
 #include "key.h"
diff --git a/auth2-none.c b/auth2-none.c
index f455bdd..952b448 100644
--- a/auth2-none.c
+++ b/auth2-none.c
@@ -30,6 +30,7 @@
 #include <sys/uio.h>
 
 #include <fcntl.h>
+#include <stdarg.h>
 #include <unistd.h>
 
 #include "xmalloc.h"
diff --git a/authfd.c b/authfd.c
index 5c910df..61faad1 100644
--- a/authfd.c
+++ b/authfd.c
@@ -47,6 +47,7 @@
 #include <fcntl.h>
 #include <stdlib.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <string.h>
 #include <unistd.h>
 
diff --git a/authfile.c b/authfile.c
index 6750856..735c647 100644
--- a/authfile.c
+++ b/authfile.c
@@ -49,6 +49,7 @@
 
 #include <errno.h>
 #include <fcntl.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/cipher-3des1.c b/cipher-3des1.c
index 61798bf..fc16e20 100644
--- a/cipher-3des1.c
+++ b/cipher-3des1.c
@@ -29,6 +29,7 @@
 
 #include <openssl/evp.h>
 
+#include <stdarg.h>
 #include <string.h>
 
 #include "xmalloc.h"
diff --git a/cipher-aes.c b/cipher-aes.c
index 99e9eea..14ef10f 100644
--- a/cipher-aes.c
+++ b/cipher-aes.c
@@ -28,8 +28,12 @@
 #include "openbsd-compat/openssl-compat.h"
 
 #ifdef USE_BUILTIN_RIJNDAEL
+#include <sys/types.h>
 
 #include <openssl/evp.h>
+
+#include <stdarg.h>
+
 #include "rijndael.h"
 #include "xmalloc.h"
 #include "log.h"
diff --git a/cipher-bf1.c b/cipher-bf1.c
index eb4c047..292488c 100644
--- a/cipher-bf1.c
+++ b/cipher-bf1.c
@@ -29,6 +29,7 @@
 
 #include <openssl/evp.h>
 
+#include <stdarg.h>
 #include <string.h>
 
 #include "xmalloc.h"
diff --git a/cipher-ctr.c b/cipher-ctr.c
index 9733b7d..b24f3a4 100644
--- a/cipher-ctr.c
+++ b/cipher-ctr.c
@@ -18,6 +18,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <string.h>
 
 #include <openssl/evp.h>
diff --git a/clientloop.c b/clientloop.c
index 132d75a..88dfb1f 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -78,6 +78,7 @@
 #include <paths.h>
 #endif
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/dh.c b/dh.c
index 925eedd..f6ef05c 100644
--- a/dh.c
+++ b/dh.c
@@ -30,6 +30,7 @@
 #include <openssl/bn.h>
 #include <openssl/dh.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/dns.c b/dns.c
index 2292108..92623de 100644
--- a/dns.c
+++ b/dns.c
@@ -31,6 +31,7 @@
 #include <sys/socket.h>
 
 #include <netdb.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 
diff --git a/entropy.c b/entropy.c
index c89e0b5..4f19c87 100644
--- a/entropy.c
+++ b/entropy.c
@@ -34,6 +34,7 @@
 #ifdef HAVE_FCNTL_H
 # include <fcntl.h>
 #endif
+#include <stdarg.h>
 #include <unistd.h>
 
 #include <openssl/rand.h>
diff --git a/gss-serv-krb5.c b/gss-serv-krb5.c
index 006beda..5a625ac 100644
--- a/gss-serv-krb5.c
+++ b/gss-serv-krb5.c
@@ -31,6 +31,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <string.h>
 
 #include "xmalloc.h"
diff --git a/gss-serv.c b/gss-serv.c
index 296f63a..e8191a8 100644
--- a/gss-serv.c
+++ b/gss-serv.c
@@ -30,6 +30,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <string.h>
 #include <unistd.h>
 
diff --git a/hostfile.c b/hostfile.c
index 08ba442..2cceb35 100644
--- a/hostfile.c
+++ b/hostfile.c
@@ -46,6 +46,7 @@
 #include <openssl/sha.h>
 
 #include <resolv.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/kex.c b/kex.c
index 0c36519..bfc1c11 100644
--- a/kex.c
+++ b/kex.c
@@ -28,6 +28,7 @@
 #include <sys/param.h>
 
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/kexdhc.c b/kexdhc.c
index bf875ae..64de7af 100644
--- a/kexdhc.c
+++ b/kexdhc.c
@@ -27,6 +27,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 #include <signal.h>
diff --git a/kexdhs.c b/kexdhs.c
index 7d2c21e..93ec97f 100644
--- a/kexdhs.c
+++ b/kexdhs.c
@@ -26,6 +26,8 @@
 #include "includes.h"
 
 #include <sys/types.h>
+
+#include <stdarg.h>
 #include <string.h>
 #include <signal.h>
 
diff --git a/kexgexc.c b/kexgexc.c
index fc48880..2c19713 100644
--- a/kexgexc.c
+++ b/kexgexc.c
@@ -28,6 +28,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 #include <signal.h>
diff --git a/kexgexs.c b/kexgexs.c
index 7599f2a..5373a63 100644
--- a/kexgexs.c
+++ b/kexgexs.c
@@ -28,6 +28,7 @@
 
 #include <sys/param.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 #include <signal.h>
diff --git a/key.c b/key.c
index 40aab20..f3b3d6b 100644
--- a/key.c
+++ b/key.c
@@ -39,6 +39,7 @@
 
 #include <openssl/evp.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 
diff --git a/loginrec.c b/loginrec.c
index 7850312..67447ed 100644
--- a/loginrec.c
+++ b/loginrec.c
@@ -156,6 +156,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <pwd.h>
+#include <stdarg.h>
 #include <string.h>
 #include <unistd.h>
 
diff --git a/mac.c b/mac.c
index edf9b69..e5d5bfa 100644
--- a/mac.c
+++ b/mac.c
@@ -29,6 +29,7 @@
 
 #include <openssl/hmac.h>
 
+#include <stdarg.h>
 #include <string.h>
 #include <signal.h>
 
diff --git a/md5crypt.c b/md5crypt.c
index 253fdfd..22ef989 100644
--- a/md5crypt.c
+++ b/md5crypt.c
@@ -11,6 +11,10 @@
 #include "includes.h"
 
 #if defined(HAVE_MD5_PASSWORDS) && !defined(HAVE_MD5_CRYPT)
+#include <sys/types.h>
+
+#include <string.h>
+
 #include <openssl/md5.h>
 
 /* 0 ... 63 => ascii - 64 */
diff --git a/monitor.c b/monitor.c
index 83b3765..b3ccde0 100644
--- a/monitor.c
+++ b/monitor.c
@@ -40,6 +40,7 @@
 #endif
 #include <pwd.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/monitor_wrap.c b/monitor_wrap.c
index 431b3e4..3865539 100644
--- a/monitor_wrap.c
+++ b/monitor_wrap.c
@@ -33,6 +33,7 @@
 #include <errno.h>
 #include <pwd.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
diff --git a/openbsd-compat/bsd-cray.c b/openbsd-compat/bsd-cray.c
index 8093f6d..1532c99 100644
--- a/openbsd-compat/bsd-cray.c
+++ b/openbsd-compat/bsd-cray.c
@@ -1,5 +1,5 @@
 /* 
- * $Id: bsd-cray.c,v 1.15 2006/07/24 05:08:36 djm Exp $
+ * $Id: bsd-cray.c,v 1.16 2006/09/01 05:38:41 djm Exp $
  *
  * bsd-cray.c
  *
@@ -52,6 +52,7 @@
 #include <sys/secstat.h>
 #include <sys/stat.h>
 #include <sys/session.h>
+#include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c
index 13a73e8..d0a4230 100644
--- a/openbsd-compat/port-aix.c
+++ b/openbsd-compat/port-aix.c
@@ -41,6 +41,7 @@
 # include <netdb.h>
 #endif
 #include <uinfo.h>
+#include <stdarg.h>
 #include <string.h>
 #include <unistd.h>
 #include <sys/socket.h>
diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c
index 5e2e878..77f3a1c 100644
--- a/openbsd-compat/port-linux.c
+++ b/openbsd-compat/port-linux.c
@@ -1,4 +1,4 @@
-/* $Id: port-linux.c,v 1.2 2006/07/24 04:51:01 djm Exp $ */
+/* $Id: port-linux.c,v 1.3 2006/09/01 05:38:41 djm Exp $ */
 
 /*
  * Copyright (c) 2005 Daniel Walsh <dwalsh@redhat.com>
@@ -24,6 +24,7 @@
 #include "includes.h"
 
 #include <errno.h>
+#include <stdarg.h>
 #include <string.h>
 
 #ifdef WITH_SELINUX
diff --git a/openbsd-compat/port-solaris.c b/openbsd-compat/port-solaris.c
index f31f0c6..f57433e 100644
--- a/openbsd-compat/port-solaris.c
+++ b/openbsd-compat/port-solaris.c
@@ -1,4 +1,4 @@
-/* $Id: port-solaris.c,v 1.1 2006/08/30 17:24:42 djm Exp $ */
+/* $Id: port-solaris.c,v 1.2 2006/09/01 05:38:41 djm Exp $ */
 
 /*
  * Copyright (c) 2006 Chad Mynhier.
@@ -29,6 +29,7 @@
 #ifdef HAVE_FCNTL_H
 # include <fcntl.h>
 #endif
+#include <stdarg.h>
 #include <string.h>
 #include <unistd.h>
 
diff --git a/openbsd-compat/port-uw.c b/openbsd-compat/port-uw.c
index c644271..6f35239 100644
--- a/openbsd-compat/port-uw.c
+++ b/openbsd-compat/port-uw.c
@@ -26,15 +26,26 @@
 #include "includes.h"
 
 #ifdef HAVE_LIBIAF
+#include <sys/types.h>
 #ifdef HAVE_CRYPT_H
-#include <crypt.h>
+# include <crypt.h>
 #endif
+#include <pwd.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "xmalloc.h"
 #include "packet.h"
 #include "buffer.h"
+#include "auth-options.h"
 #include "log.h"
 #include "servconf.h"
+#include "key.h"
+#include "hostfile.h"
 #include "auth.h"
-#include "auth-options.h"
+#include "ssh.h"
 
 int nischeck(char *);
 
diff --git a/readconf.c b/readconf.c
index c57ea0c..4cacf60 100644
--- a/readconf.c
+++ b/readconf.c
@@ -24,6 +24,7 @@
 #include <errno.h>
 #include <netdb.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
diff --git a/rsa.c b/rsa.c
index 875b486..08cc820 100644
--- a/rsa.c
+++ b/rsa.c
@@ -64,6 +64,7 @@
 
 #include <sys/types.h>
 
+#include <stdarg.h>
 #include <string.h>
 
 #include "xmalloc.h"
diff --git a/scard-opensc.c b/scard-opensc.c
index 7a496df..4751ea2 100644
--- a/scard-opensc.c
+++ b/scard-opensc.c
@@ -26,9 +26,13 @@
 #include "includes.h"
 #if defined(SMARTCARD) && defined(USE_OPENSC)
 
+#include <sys/types.h>
+
 #include <openssl/evp.h>
 #include <openssl/x509.h>
 
+#include <stdarg.h>
+
 #include <opensc/opensc.h>
 #include <opensc/pkcs15.h>
 
diff --git a/scard.c b/scard.c
index a2d28cb..328655e 100644
--- a/scard.c
+++ b/scard.c
@@ -29,6 +29,7 @@
 #include <sys/types.h>
 
 #include <sectok.h>
+#include <stdarg.h>
 #include <string.h>
 
 #include <openssl/evp.h>
diff --git a/session.c b/session.c
index 006e430..15c5ca9 100644
--- a/session.c
+++ b/session.c
@@ -53,6 +53,7 @@
 #endif
 #include <pwd.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/ssh-add.c b/ssh-add.c
index 518f470..4dc46f6 100644
--- a/ssh-add.c
+++ b/ssh-add.c
@@ -45,6 +45,7 @@
 
 #include <fcntl.h>
 #include <pwd.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/ssh-agent.c b/ssh-agent.c
index 6bc1e54..08b0721 100644
--- a/ssh-agent.c
+++ b/ssh-agent.c
@@ -58,6 +58,7 @@
 # include <paths.h>
 #endif
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>
diff --git a/ssh-dss.c b/ssh-dss.c
index 448f704..fbc078e 100644
--- a/ssh-dss.c
+++ b/ssh-dss.c
@@ -30,6 +30,7 @@
 #include <openssl/bn.h>
 #include <openssl/evp.h>
 
+#include <stdarg.h>
 #include <string.h>
 
 #include "xmalloc.h"
diff --git a/ssh-keygen.c b/ssh-keygen.c
index c607e25..969bd23 100644
--- a/ssh-keygen.c
+++ b/ssh-keygen.c
@@ -29,6 +29,7 @@
 # include <paths.h>
 #endif
 #include <pwd.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/ssh-keysign.c b/ssh-keysign.c
index 1ddb2a0..c4bc7e5 100644
--- a/ssh-keysign.c
+++ b/ssh-keysign.c
@@ -30,6 +30,7 @@
 #include <paths.h>
 #endif
 #include <pwd.h>
+#include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
diff --git a/ssh-rsa.c b/ssh-rsa.c
index 28444c1..0e16ff8 100644
--- a/ssh-rsa.c
+++ b/ssh-rsa.c
@@ -22,6 +22,7 @@
 #include <openssl/evp.h>
 #include <openssl/err.h>
 
+#include <stdarg.h>
 #include <string.h>
 
 #include "xmalloc.h"
diff --git a/ssh.c b/ssh.c
index 07a4ca3..a34990b 100644
--- a/ssh.c
+++ b/ssh.c
@@ -60,6 +60,7 @@
 #endif
 #include <pwd.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <stddef.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/sshconnect.c b/sshconnect.c
index 71ca4ec..823def6 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -32,6 +32,7 @@
 #include <paths.h>
 #endif
 #include <pwd.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/sshconnect1.c b/sshconnect1.c
index 51f1f80..90fcb34 100644
--- a/sshconnect1.c
+++ b/sshconnect1.c
@@ -21,6 +21,7 @@
 #include <openssl/bn.h>
 #include <openssl/md5.h>
 
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/sshconnect2.c b/sshconnect2.c
index 5846c8e..dd971a9 100644
--- a/sshconnect2.c
+++ b/sshconnect2.c
@@ -33,6 +33,7 @@
 #include <errno.h>
 #include <pwd.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
diff --git a/sshd.c b/sshd.c
index ee588ff..3fb1464 100644
--- a/sshd.c
+++ b/sshd.c
@@ -65,6 +65,7 @@
 #include <grp.h>
 #include <pwd.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>