- More reformatting merged from OpenBSD CVS
 - Merged OpenBSD CVS changes:
   - [channels.c]
     report from mrwizard@psu.edu via djm@ibs.com.au
   - [channels.c]
     set SO_REUSEADDR and SO_LINGER for forwarded ports.
     chip@valinux.com via damien@ibs.com.au
   - [nchan.c]
     it's not an error() if shutdown_write failes in nchan.
   - [readconf.c]
     remove dead #ifdef-0-code
   - [readconf.c servconf.c]
     strcasecmp instead of tolower
   - [scp.c]
     progress meter overflow fix from damien@ibs.com.au
   - [ssh-add.1 ssh-add.c]
     SSH_ASKPASS support
   - [ssh.1 ssh.c]
     postpone fork_after_authentication until command execution,
     request/patch from jahakala@cc.jyu.fi via damien@ibs.com.au
     plus: use daemon() for backgrounding
diff --git a/hostfile.c b/hostfile.c
index 61046f0..cdfb48f 100644
--- a/hostfile.c
+++ b/hostfile.c
@@ -14,16 +14,18 @@
  */
 
 #include "includes.h"
-RCSID("$Id: hostfile.c,v 1.5 1999/11/24 13:26:22 damien Exp $");
+RCSID("$Id: hostfile.c,v 1.6 1999/11/25 00:54:59 damien Exp $");
 
 #include "packet.h"
 #include "ssh.h"
 
-/* Reads a multiple-precision integer in hex from the buffer, and advances the
-   pointer.  The integer must already be initialized.  This function is
-   permitted to modify the buffer.  This leaves *cpp to point just beyond
-   the last processed (and maybe modified) character.  Note that this may
-   modify the buffer containing the number. */
+/*
+ * Reads a multiple-precision integer in hex from the buffer, and advances
+ * the pointer.  The integer must already be initialized.  This function is
+ * permitted to modify the buffer.  This leaves *cpp to point just beyond the
+ * last processed (and maybe modified) character.  Note that this may modify
+ * the buffer containing the number.
+ */
 
 int
 auth_rsa_read_bignum(char **cpp, BIGNUM * value)
@@ -32,7 +34,8 @@
 	int len, old;
 
 	/* Skip any leading whitespace. */
-	for (; *cp == ' ' || *cp == '\t'; cp++);
+	for (; *cp == ' ' || *cp == '\t'; cp++)
+		;
 
 	/* Check that it begins with a hex digit. */
 	if (*cp < '0' || *cp > '9')
@@ -42,7 +45,8 @@
 	*cpp = cp;
 
 	/* Move forward until all hex digits skipped. */
-	for (; *cp >= '0' && *cp <= '9'; cp++);
+	for (; *cp >= '0' && *cp <= '9'; cp++)
+		;
 
 	/* Compute the length of the hex number. */
 	len = cp - *cpp;
@@ -51,7 +55,6 @@
 	old = *cp;
 	*cp = 0;
 
-
 	/* Parse the number. */
 	if (BN_dec2bn(&value, *cpp) == 0)
 		return 0;
@@ -64,8 +67,10 @@
 	return 1;
 }
 
-/* Parses an RSA key (number of bits, e, n) from a string.  Moves the pointer
-   over the key.  Skips any whitespace at the beginning and at end. */
+/*
+ * Parses an RSA key (number of bits, e, n) from a string.  Moves the pointer
+ * over the key.  Skips any whitespace at the beginning and at end.
+ */
 
 int
 auth_rsa_read_key(char **cpp, unsigned int *bitsp, BIGNUM * e, BIGNUM * n)
@@ -74,7 +79,8 @@
 	char *cp;
 
 	/* Skip leading whitespace. */
-	for (cp = *cpp; *cp == ' ' || *cp == '\t'; cp++);
+	for (cp = *cpp; *cp == ' ' || *cp == '\t'; cp++)
+		;
 
 	/* Get number of bits. */
 	if (*cp < '0' || *cp > '9')
@@ -91,7 +97,8 @@
 		return 0;
 
 	/* Skip trailing whitespace. */
-	for (; *cp == ' ' || *cp == '\t'; cp++);
+	for (; *cp == ' ' || *cp == '\t'; cp++)
+		;
 
 	/* Return results. */
 	*cpp = cp;
@@ -99,10 +106,12 @@
 	return 1;
 }
 
-/* Tries to match the host name (which must be in all lowercase) against the
-   comma-separated sequence of subpatterns (each possibly preceded by ! to
-   indicate negation).  Returns true if there is a positive match; zero
-   otherwise. */
+/*
+ * Tries to match the host name (which must be in all lowercase) against the
+ * comma-separated sequence of subpatterns (each possibly preceded by ! to
+ * indicate negation).  Returns true if there is a positive match; zero
+ * otherwise.
+ */
 
 int
 match_hostname(const char *host, const char *pattern, unsigned int len)
@@ -121,18 +130,19 @@
 		} else
 			negated = 0;
 
-		/* Extract the subpattern up to a comma or end.  Convert
-		   the subpattern to lowercase. */
+		/*
+		 * Extract the subpattern up to a comma or end.  Convert the
+		 * subpattern to lowercase.
+		 */
 		for (subi = 0;
-		  i < len && subi < sizeof(sub) - 1 && pattern[i] != ',';
+		     i < len && subi < sizeof(sub) - 1 && pattern[i] != ',';
 		     subi++, i++)
 			sub[subi] = isupper(pattern[i]) ? tolower(pattern[i]) : pattern[i];
 		/* If subpattern too long, return failure (no match). */
 		if (subi >= sizeof(sub) - 1)
 			return 0;
 
-		/* If the subpattern was terminated by a comma, skip the
-		   comma. */
+		/* If the subpattern was terminated by a comma, skip the comma. */
 		if (i < len && pattern[i] == ',')
 			i++;
 
@@ -142,24 +152,25 @@
 		/* Try to match the subpattern against the host name. */
 		if (match_pattern(host, sub)) {
 			if (negated)
-				return 0;	/* Fail if host matches
-						   any negated subpattern. */
+				return 0;	/* Fail */
 			else
 				got_positive = 1;
 		}
 	}
 
-	/* Return success if got a positive match.  If there was a
-	   negative match, we have already returned zero and never get
-	   here. */
+	/*
+	 * Return success if got a positive match.  If there was a negative
+	 * match, we have already returned zero and never get here.
+	 */
 	return got_positive;
 }
 
-/* Checks whether the given host (which must be in all lowercase) is
-   already in the list of our known hosts.
-   Returns HOST_OK if the host is known and has the specified key,
-   HOST_NEW if the host is not known, and HOST_CHANGED if the host is known
-   but used to have a different host key. */
+/*
+ * Checks whether the given host (which must be in all lowercase) is already
+ * in the list of our known hosts. Returns HOST_OK if the host is known and
+ * has the specified key, HOST_NEW if the host is not known, and HOST_CHANGED
+ * if the host is known but used to have a different host key.
+ */
 
 HostStatus
 check_host_in_hostfile(const char *filename, const char *host,
@@ -180,9 +191,11 @@
 	/* Cache the length of the host name. */
 	hostlen = strlen(host);
 
-	/* Return value when the loop terminates.  This is set to
-	   HOST_CHANGED if we have seen a different key for the host and
-	   have not found the proper one. */
+	/*
+	 * Return value when the loop terminates.  This is set to
+	 * HOST_CHANGED if we have seen a different key for the host and have
+	 * not found the proper one.
+	 */
 	end_return = HOST_NEW;
 
 	/* size of modulus 'n' */
@@ -193,15 +206,15 @@
 		cp = line;
 		linenum++;
 
-		/* Skip any leading whitespace. */
-		for (; *cp == ' ' || *cp == '\t'; cp++);
-
-		/* Ignore comment lines and empty lines. */
+		/* Skip any leading whitespace, comments and empty lines. */
+		for (; *cp == ' ' || *cp == '\t'; cp++)
+			;
 		if (!*cp || *cp == '#' || *cp == '\n')
 			continue;
 
 		/* Find the end of the host name portion. */
-		for (cp2 = cp; *cp2 && *cp2 != ' ' && *cp2 != '\t'; cp2++);
+		for (cp2 = cp; *cp2 && *cp2 != ' ' && *cp2 != '\t'; cp2++)
+			;
 
 		/* Check if the host name matches. */
 		if (!match_hostname(host, cp, (unsigned int) (cp2 - cp)))
@@ -210,8 +223,10 @@
 		/* Got a match.  Skip host name. */
 		cp = cp2;
 
-		/* Extract the key from the line.  This will skip any
-		   leading whitespace.  Ignore badly formatted lines. */
+		/*
+		 * Extract the key from the line.  This will skip any leading
+		 * whitespace.  Ignore badly formatted lines.
+		 */
 		if (!auth_rsa_read_key(&cp, &kbits, ke, kn))
 			continue;
 
@@ -228,21 +243,27 @@
 			fclose(f);
 			return HOST_OK;
 		}
-		/* They do not match.  We will continue to go through the
-		   file; however, we note that we will not return that it
-		   is new. */
+		/*
+		 * They do not match.  We will continue to go through the
+		 * file; however, we note that we will not return that it is
+		 * new.
+		 */
 		end_return = HOST_CHANGED;
 	}
 	/* Clear variables and close the file. */
 	fclose(f);
 
-	/* Return either HOST_NEW or HOST_CHANGED, depending on whether we
-	   saw a different key for the host. */
+	/*
+	 * Return either HOST_NEW or HOST_CHANGED, depending on whether we
+	 * saw a different key for the host.
+	 */
 	return end_return;
 }
 
-/* Appends an entry to the host file.  Returns false if the entry
-   could not be appended. */
+/*
+ * Appends an entry to the host file.  Returns false if the entry could not
+ * be appended.
+ */
 
 int
 add_host_to_hostfile(const char *filename, const char *host,