- 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/channels.c b/channels.c
index 0138236..6c2fb73 100644
--- a/channels.c
+++ b/channels.c
@@ -16,7 +16,7 @@
  */
 
 #include "includes.h"
-RCSID("$Id: channels.c,v 1.9 1999/12/06 00:47:29 damien Exp $");
+RCSID("$Id: channels.c,v 1.10 1999/12/07 04:38:32 damien Exp $");
 
 #include "ssh.h"
 #include "packet.h"
@@ -921,7 +921,7 @@
 	/* Allocate a channel number for the socket. */
 	ch = channel_allocate(SSH_CHANNEL_PORT_LISTENER, sock,
 			      xstrdup("port listener"));
-	strcpy(channels[ch].path, host);
+	strlcpy(channels[ch].path, host, sizeof(channels[ch].path));
 	channels[ch].host_port = host_port;
 	channels[ch].listening_port = port;
 }
@@ -1498,7 +1498,8 @@
 	/* Allocate a channel for the authentication agent socket. */
 	newch = channel_allocate(SSH_CHANNEL_AUTH_SOCKET, sock,
 				 xstrdup("auth socket"));
-	strcpy(channels[newch].path, channel_forwarded_auth_socket_name);
+	strlcpy(channels[newch].path, channel_forwarded_auth_socket_name,
+	    sizeof(channels[newch].path));
 }
 
 /* This is called to process an SSH_SMSG_AGENT_OPEN message. */