diff --git a/authfd.c b/authfd.c
index 80af952..d920b1f 100644
--- a/authfd.c
+++ b/authfd.c
@@ -1,20 +1,20 @@
 /*
- * 
+ *
  * authfd.c
- * 
+ *
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
- * 
+ *
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  *                    All rights reserved
- * 
+ *
  * Created: Wed Mar 29 01:30:28 1995 ylo
- * 
+ *
  * Functions for connecting the local authentication agent.
- * 
+ *
  */
 
 #include "includes.h"
-RCSID("$Id: authfd.c,v 1.11 2000/04/13 02:26:35 damien Exp $");
+RCSID("$Id: authfd.c,v 1.12 2000/04/16 01:18:40 damien Exp $");
 
 #include "ssh.h"
 #include "rsa.h"
@@ -69,7 +69,7 @@
  * ssh_get_authentication_socket().
  */
 
-void 
+void
 ssh_close_authentication_socket(int sock)
 {
 	if (getenv(SSH_AUTHSOCKET_ENV_NAME))
@@ -113,7 +113,7 @@
  * memory.
  */
 
-void 
+void
 ssh_close_authentication_connection(AuthenticationConnection *ac)
 {
 	buffer_free(&ac->packet);
@@ -343,7 +343,7 @@
  * be used by normal applications.
  */
 
-int 
+int
 ssh_add_identity(AuthenticationConnection *auth,
 		 RSA * key, const char *comment)
 {
@@ -431,7 +431,7 @@
  * meant to be used by normal applications.
  */
 
-int 
+int
 ssh_remove_identity(AuthenticationConnection *auth, RSA *key)
 {
 	Buffer buffer;
@@ -514,7 +514,7 @@
  * by normal applications.
  */
 
-int 
+int
 ssh_remove_all_identities(AuthenticationConnection *auth)
 {
 	Buffer buffer;
