- markus@cvs.openbsd.org 2001/10/01 21:38:53
     [channels.c channels.h ssh.c sshd.c]
     remove ugliness; vp@drexel.edu via angelos
diff --git a/ChangeLog b/ChangeLog
index 5c504ee..d6a3ca2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -24,6 +24,9 @@
      [scp.c]
      skip filenames containing \n; report jdamery@chiark.greenend.org.uk
      and matthew@debian.org
+   - markus@cvs.openbsd.org 2001/10/01 21:38:53
+     [channels.c channels.h ssh.c sshd.c]
+     remove ugliness; vp@drexel.edu via angelos
 
 20011001
  - (stevesk) loginrec.c: fix type conversion problems exposed when using
@@ -6616,4 +6619,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.1576 2001/10/03 17:30:58 mouring Exp $
+$Id: ChangeLog,v 1.1577 2001/10/03 17:34:59 mouring Exp $
diff --git a/channels.c b/channels.c
index 65cf2ab..12affdc 100644
--- a/channels.c
+++ b/channels.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: channels.c,v 1.134 2001/09/17 21:04:01 markus Exp $");
+RCSID("$OpenBSD: channels.c,v 1.135 2001/10/01 21:38:53 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -133,7 +133,7 @@
 static char *auth_sock_dir = NULL;
 
 /* AF_UNSPEC or AF_INET or AF_INET6 */
-extern int IPv4or6;
+static int IPv4or6 = AF_UNSPEC;
 
 /* helper */
 static void port_open_helper(Channel *c, char *rtype);
@@ -2037,6 +2037,12 @@
 
 /* -- tcp forwarding */
 
+void
+channel_set_af(int af)
+{
+	IPv4or6 = af;
+}
+
 /*
  * Initiate forwarding of connections to local port "port" through the secure
  * channel to host:port from remote side.
diff --git a/channels.h b/channels.h
index a130048..c6d1aab 100644
--- a/channels.h
+++ b/channels.h
@@ -32,7 +32,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-/* RCSID("$OpenBSD: channels.h,v 1.46 2001/09/17 20:52:47 markus Exp $"); */
+/* RCSID("$OpenBSD: channels.h,v 1.47 2001/10/01 21:38:53 markus Exp $"); */
 
 #ifndef CHANNEL_H
 #define CHANNEL_H
@@ -182,7 +182,8 @@
 char	*channel_open_message(void);
 int	 channel_find_open(void);
 
-/* channel_tcpfwd.c */
+/* tcp forwarding */
+void	 channel_set_af(int af);
 void     channel_permit_all_opens(void);
 void	 channel_add_permitted_opens(char *, int);
 void	 channel_clear_permitted_opens(void);
diff --git a/ssh.c b/ssh.c
index 47b5810..f0903c5 100644
--- a/ssh.c
+++ b/ssh.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh.c,v 1.145 2001/09/28 15:46:29 markus Exp $");
+RCSID("$OpenBSD: ssh.c,v 1.146 2001/10/01 21:38:53 markus Exp $");
 
 #include <openssl/evp.h>
 #include <openssl/err.h>
@@ -564,6 +564,7 @@
 
 	SSLeay_add_all_algorithms();
 	ERR_load_crypto_strings();
+	channel_set_af(IPv4or6);
 
 	/* Initialize the command to execute on remote host. */
 	buffer_init(&command);
diff --git a/sshd.c b/sshd.c
index aa822df..a1f5448 100644
--- a/sshd.c
+++ b/sshd.c
@@ -40,7 +40,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshd.c,v 1.204 2001/08/23 17:59:31 camield Exp $");
+RCSID("$OpenBSD: sshd.c,v 1.205 2001/10/01 21:38:53 markus Exp $");
 
 #include <openssl/dh.h>
 #include <openssl/bn.h>
@@ -669,6 +669,7 @@
 		}
 	}
 	SSLeay_add_all_algorithms();
+	channel_set_af(IPv4or6);
 
 	/*
 	 * Force logging to stderr until we have loaded the private host