diff --git a/ChangeLog b/ChangeLog
index 9bd6980..bda4894 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -78,6 +78,10 @@
      [channels.c clientloop.c monitor_wrap.c monitor_wrap.h serverloop.c]
      [ssh.c sshpty.c sshpty.h]
      sprinkle u_int throughout pty subsystem, ok markus
+   - deraadt@cvs.openbsd.org 2006/03/20 18:17:20
+     [auth1.c auth2.c sshd.c]
+     sprinkle some ARGSUSED for table driven functions (which sometimes 
+     must ignore their args)
 
 20060325
  - OpenBSD CVS Sync
@@ -4335,4 +4339,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.4264 2006/03/26 03:05:02 djm Exp $
+$Id: ChangeLog,v 1.4265 2006/03/26 03:05:20 djm Exp $
diff --git a/auth1.c b/auth1.c
index dc00a72..2f8e13e 100644
--- a/auth1.c
+++ b/auth1.c
@@ -95,6 +95,7 @@
 	return (buf);
 }
 
+/*ARGSUSED*/
 static int
 auth1_process_password(Authctxt *authctxt, char *info, size_t infolen)
 {
@@ -119,6 +120,7 @@
 	return (authenticated);
 }
 
+/*ARGSUSED*/
 static int
 auth1_process_rsa(Authctxt *authctxt, char *info, size_t infolen)
 {
@@ -136,6 +138,7 @@
 	return (authenticated);
 }
 
+/*ARGSUSED*/
 static int
 auth1_process_rhosts_rsa(Authctxt *authctxt, char *info, size_t infolen)
 {
@@ -174,6 +177,7 @@
 	return (authenticated);
 }
 
+/*ARGSUSED*/
 static int
 auth1_process_tis_challenge(Authctxt *authctxt, char *info, size_t infolen)
 {
@@ -192,6 +196,7 @@
 	return (-1);
 }
 
+/*ARGSUSED*/
 static int
 auth1_process_tis_response(Authctxt *authctxt, char *info, size_t infolen)
 {
diff --git a/auth2.c b/auth2.c
index b49cc79..9d3263e 100644
--- a/auth2.c
+++ b/auth2.c
@@ -95,6 +95,7 @@
 	dispatch_run(DISPATCH_BLOCK, &authctxt->success, authctxt);
 }
 
+/*ARGSUSED*/
 static void
 input_service_request(int type, u_int32_t seq, void *ctxt)
 {
@@ -128,6 +129,7 @@
 	xfree(service);
 }
 
+/*ARGSUSED*/
 static void
 input_userauth_request(int type, u_int32_t seq, void *ctxt)
 {
diff --git a/sshd.c b/sshd.c
index cfd3890..bb83016 100644
--- a/sshd.c
+++ b/sshd.c
@@ -273,7 +273,6 @@
  * Called from the main program after receiving SIGHUP.
  * Restarts the server.
  */
-/*ARGSUSED*/
 static void
 sighup_restart(void)
 {
