- Merged more OpenBSD changes:
   - [atomicio.c authfd.c scp.c serverloop.c ssh.h sshconnect.c sshd.c]
     move atomicio into it's own file.  wrap all socket write()s which
     were doing write(sock, buf, len) != len, with atomicio() calls.
   - [auth-skey.c]
     fd leak
   - [authfile.c]
     properly name fd variable
   - [channels.c]
     display great hatred towards strcpy
   - [pty.c pty.h sshd.c]
     use openpty() if it exists (it does on BSD4_4)
   - [tildexpand.c]
     check for ~ expansion past MAXPATHLEN
 - Modified helper.c to use new atomicio function.
 - Reformat Makefile a little
 - Moved RC4 routines from rc4.[ch] into helper.c
 - Added autoconf code to detect /dev/ptmx (Solaris) and /dev/ptc (AIX)
diff --git a/authfd.c b/authfd.c
index ee6473d..1a62c3e 100644
--- a/authfd.c
+++ b/authfd.c
@@ -14,7 +14,7 @@
  */
 
 #include "includes.h"
-RCSID("$Id: authfd.c,v 1.8 1999/11/25 00:54:57 damien Exp $");
+RCSID("$Id: authfd.c,v 1.9 1999/12/07 04:38:32 damien Exp $");
 
 #include "ssh.h"
 #include "rsa.h"
@@ -145,7 +145,7 @@
 	msg[2] = 0;
 	msg[3] = 1;
 	msg[4] = SSH_AGENTC_REQUEST_RSA_IDENTITIES;
-	if (write(auth->fd, msg, 5) != 5) {
+	if (atomicio(write, auth->fd, msg, 5) != 5) {
 		error("write auth->fd: %.100s", strerror(errno));
 		return 0;
 	}
@@ -270,9 +270,9 @@
 	PUT_32BIT(buf, len);
 
 	/* Send the length and then the packet to the agent. */
-	if (write(auth->fd, buf, 4) != 4 ||
-	    write(auth->fd, buffer_ptr(&buffer), buffer_len(&buffer)) !=
-	    buffer_len(&buffer)) {
+	if (atomicio(write, auth->fd, buf, 4) != 4 ||
+	    atomicio(write, auth->fd, buffer_ptr(&buffer),
+	    buffer_len(&buffer)) != buffer_len(&buffer)) {
 		error("Error writing to authentication socket.");
 error_cleanup:
 		buffer_free(&buffer);
@@ -369,9 +369,9 @@
 	PUT_32BIT(buf, len);
 
 	/* Send the length and then the packet to the agent. */
-	if (write(auth->fd, buf, 4) != 4 ||
-	    write(auth->fd, buffer_ptr(&buffer), buffer_len(&buffer)) !=
-	    buffer_len(&buffer)) {
+	if (atomicio(write, auth->fd, buf, 4) != 4 ||
+	    atomicio(write, auth->fd, buffer_ptr(&buffer),
+	    buffer_len(&buffer)) != buffer_len(&buffer)) {
 		error("Error writing to authentication socket.");
 error_cleanup:
 		buffer_free(&buffer);
@@ -450,9 +450,9 @@
 	PUT_32BIT(buf, len);
 
 	/* Send the length and then the packet to the agent. */
-	if (write(auth->fd, buf, 4) != 4 ||
-	    write(auth->fd, buffer_ptr(&buffer), buffer_len(&buffer)) !=
-	    buffer_len(&buffer)) {
+	if (atomicio(write, auth->fd, buf, 4) != 4 ||
+	    atomicio(write, auth->fd, buffer_ptr(&buffer),
+	    buffer_len(&buffer)) != buffer_len(&buffer)) {
 		error("Error writing to authentication socket.");
 error_cleanup:
 		buffer_free(&buffer);
@@ -526,7 +526,7 @@
 	buf[4] = SSH_AGENTC_REMOVE_ALL_RSA_IDENTITIES;
 
 	/* Send the length and then the packet to the agent. */
-	if (write(auth->fd, buf, 5) != 5) {
+	if (atomicio(write, auth->fd, buf, 5) != 5) {
 		error("Error writing to authentication socket.");
 		return 0;
 	}