Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Aug 2005 10:35:39 GMT
From:      soc-bushman <soc-bushman@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 81642 for review
Message-ID:  <200508081035.j78AZdnf008799@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=81642

Change 81642 by soc-bushman@soc-bushman_stinger on 2005/08/08 10:35:28

	adding NIS support for openssh keys

Affected files ...

.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth-rh-rsa.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2-hostbased.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/config.h.in#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/configure.ac#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/initial_copy.sh#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/key.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/make.sh#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth-rh.rsa.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth2-hostbased.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-config.h.in#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-configure#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-configure.ac#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-hostfile.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-sshconnect.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/Makefile#5 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/distinfo#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/batch.patch#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/gss-serv.c.patch#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-pam.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth-rh.rsa.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth1.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2-hostbased.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-auth2.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-clientloop.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-config.h.in#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-configure.ac#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-fake-rfc2553.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-hostfile.h#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-loginrec.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-regress-test-exec.sh#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-session.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshconnect.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshd_config#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/patch-sshpty.c#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/servconf.c.patch#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/files/sshd.sh#3 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/pkg-descr#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/pkg-message#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/port/pkg-plist#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/result_copy.sh#2 edit
.. //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/sshconnect.c#3 edit

Differences ...

==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth-rh-rsa.c#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.c#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth.h#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2-hostbased.c#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/auth2.c#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/config.h.in#2 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/configure.ac#2 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.c#3 (text+ko) ====

@@ -59,6 +59,13 @@
 
 #if defined (HAVE_NSDISPATCH) && defined (USE_NSSWITCH)
 
+#ifdef YP
+#include <rpcsvc/ypclnt.h>
+#include <rpcsvc/yp.h>
+#include <sys/param.h>
+#include <unistd.h>
+#endif
+
 #ifndef NSDB_SSH_HOSTKEYS
 #define NSDB_SSH_HOSTKEYS "ssh_hostkeys"
 #endif /* NSDB_SSH_HOSTKEYS */
@@ -82,6 +89,10 @@
 
 static	HostStatus	check_host_in_hostfile_by_key_or_type(const char *, 
 	const char *, const Key *, int, Key *, int *);
+#ifdef YP
+static	HostStatus	check_host_in_nis_by_key_or_type(const char *, 
+	const Key *, int, Key *, int *);
+#endif
 
 enum constants {
 	CHECK_HOST,
@@ -90,10 +101,16 @@
 
 static const ns_src defaultsrc[] = {
 	{ NSSRC_FILES, NS_SUCCESS },
+#ifdef YP
+	{ NSSRC_NIS, NS_SUCCESS },
+#endif
 	{ NULL, 0 }
 };
 
 static	int	files_check_host_by_key_or_type(void *, void *, va_list);
+#ifdef YP
+static	int	nis_check_host_by_key_or_type(void *, void *, va_list);
+#endif
 
 /* files backend implementation */
 static	int
@@ -159,12 +176,181 @@
 	return (NS_NOTFOUND);
 }
 
+#ifdef YP
+/* NIS backend implementation */
+static HostStatus
+check_host_in_hostfile_by_key_or_type(const char *host, const Key *key, 
+	int keytype, Key *found, int *numret)
+{
+	u_int	kbits;
+	int		linenum;
+	char	*cp, *cp2, *hashed_host;
+	HostStatus	end_return;
+	
+	char	buf[YPMAXRECORD];
+	char	domain[MAXHOSTNAMELEN];
+	
+	char	*lastkey;
+	char	*current;
+	int		current_len;
+	
+	char	*resultbuf;
+	int		resultbuf_len;
+	
+	int 	rv;
+	
+	if (getdomainname(domain, sizeof(domain)) != 0)
+		return (HOST_NEW);
+	
+	current = NULL;
+	current_len = 0;
+	resultbuf = NULL;
+	resultbuf_len = 0;
+	linenum = 0;
+	
+	rv = yp_first(domain, "ssh_hostkeys", &current, &current_len,
+		&resultbuf, &resultbuf_len);
+	
+	end_return = HOST_NEW;
+	while (rv) {
+		cp = resultbuf;
+		
+		/* comments, trailing spaces and tabs should be deleted during
+		   NIS map making, but we still should check for them - just in case */
+		for (; *cp == ' ' || *cp == '\t'; cp++)
+			;
+		if (!*cp || *cp == '#' || *cp == '\n')
+			goto next_iter;
+		
+		/* Find the end of the host name portion. */
+		for (cp2 = cp; *cp2 && *cp2 != ' ' && *cp2 != '\t'; cp2++)
+			;
+
+		if (match_hostname(host, cp, (u_int) (cp2 - cp)) != 1) {
+			if (*cp != HASH_DELIM)
+				goto next_iter;
+			hashed_host = host_hash(host, cp, (u_int) (cp2 - cp));
+			if (hashed_host == NULL) {
+				debug("Invalid hashed host line %d of NIS source",
+				    linenum);
+				goto next_iter;
+			}
+			if (strncmp(hashed_host, cp, (u_int) (cp2 - cp)) != 0)
+				goto next_iter;
+		}
+		
+		/* Got a match.  Skip host name. */
+		cp = cp2;
+
+		/*
+		 * Extract the key from the line.  This will skip any leading
+		 * whitespace.  Ignore badly formatted lines.
+		 */
+		if (!hostfile_read_key(&cp, &kbits, found))
+			goto next_iter;
+
+		if (numret != NULL)
+			*numret = linenum;
+
+		if (key == NULL) {
+			/* we found a key of the requested type */
+			if (found->type == keytype) {
+				end_return = HOST_FOUND;
+				goto fin;
+			}
+			goto next_iter;
+		}
+
+		if (!hostfile_check_key(kbits, found, host, "NIS source", linenum))
+			goto next_iter;
+
+		/* Check if the current key is the same as the given key. */
+		if (key_equal(key, found)) {
+			/* Ok, they match. */
+			debug3("check_host_in_nis: match line %d", linenum);
+			end_return = HOST_OK;
+			goto fin;
+		}
+		/*
+		 * 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;		
+		
+next_iter:
+		lastkey = current;
+		rv = yp_next(domain, "ssh_hostkeys", current, current_len,
+			resultbuf, resultbuf_len);
+		free(lastkey);
+		
+		++linenum;
+	}
+	
+fin:
+	free(resultbuf);
+	return (end_return);
+}
+
+static int
+nis_check_host_by_key_or_type(void *result, void *mdata, va_list ap)
+{
+	const char	*host;
+	const Key	*key;
+	Key		*found;
+	int		keytype;
+	
+	int rv, numret;
+	enum constants how;
+	
+	how = (enum constants)mdata;
+	switch (how) {
+	case CHECK_HOST:
+		host = va_arg(ap, const char *);
+		key = va_arg(ap, const Key *);
+		found = va_arg(ap, Key *);
+		break;
+	case LOOKUP_KEY_BY_TYPE:
+		host = va_arg(ap, const char *);
+		keytype = va_arg(ap, int);
+		found = va_arg(ap, Key *);
+		break;
+	default:
+		return NS_NOTFOUND;
+	}
+	
+	switch (how) {
+	case CHECK_HOST:	
+		rv = check_host_in_nis_by_key_or_type(host, key, 0, found, &numret);	
+						
+		debug3("nis_check_host_by_key_or_type: CHECK_HOST - %d", rv);			
+		if (result != NULL)
+			*((int *)result) = rv;
+		return ((rv == HOST_NEW) ? NS_NOTFOUND : NS_SUCCESS);
+	
+	case LOOKUP_KEY_BY_TYPE:
+		rv = (check_host_in_nis_by_key_or_type(host, NULL, keytype, found, 
+			&numret) == HOST_FOUND);		
+
+		debug3("nis_check_host_by_key_or_type: LOOKUP_KEY_BY_TYPE - %d", rv);			
+		if (result != NULL)
+			*((int *)result) = rv;
+		return ((rv == 0) ? NS_NOTFOUND : NS_SUCCESS);
+	}
+	
+	return (NS_NOTFOUND);
+}
+#endif
+
 /* nsswitch interface functions implementation */
 HostStatus 
 nsswitch_check_host(const char *host, const Key *key, Key *found)
 {
 	static const ns_dtab dtab[] = {
 		{ NSSRC_FILES, files_check_host_by_key_or_type, (void *)CHECK_HOST },
+#ifdef YP
+		{ NSSRC_NIS, nis_check_host_by_key_or_type, (void *)CHECK_HOST },
+#endif
 		{ NULL, NULL, NULL }
 	};
 	
@@ -189,6 +375,9 @@
 {
 	static const ns_dtab dtab[] = {
 		{ NSSRC_FILES, files_check_host_by_key_or_type, (void *)LOOKUP_KEY_BY_TYPE },
+#ifdef YP
+		{ NSSRC_NIS, nis_check_host_by_key_or_type, (void *)LOOKUP_KEY_BY_TYPE },
+#endif		
 		{ NULL, NULL, NULL }
 	};
 	

==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/hostfile.h#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/initial_copy.sh#2 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/key.h#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/make.sh#2 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth-rh.rsa.c#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.c#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth.h#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-auth2-hostbased.c#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-config.h.in#3 (text+ko) ====


==== //depot/projects/soc2005/nsswitch_cached/tests/ssh_hostkeys_test/patches/patch-configure#2 (text+ko) ====

@@ -1,19363 +1,0 @@
---- configure.orig	Mon Jul 18 14:12:19 2005
-+++ configure	Mon Jul 18 14:12:32 2005
-@@ -1,10 +1,19 @@
- #! /bin/sh
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.59 for OpenSSH Portable.
-+# Generated by GNU Autoconf 2.53 for OpenSSH Portable.
- #
--# Copyright (C) 2003 Free Software Foundation, Inc.
-+# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-+# Free Software Foundation, Inc.
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
-+
-+if expr a : '\(a\)' >/dev/null 2>&1; then
-+  as_expr=expr
-+else
-+  as_expr=false
-+fi
-+
-+
- ## --------------------- ##
- ## M4sh Initialization.  ##
- ## --------------------- ##
-@@ -13,57 +22,46 @@
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
--  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
--  # is contrary to our usage.  Disable this feature.
--  alias -g '${1+"$@"}'='"$@"'
- elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-   set -o posix
- fi
--DUALCASE=1; export DUALCASE # for MKS sh
- 
-+# NLS nuisances.
- # Support unset when possible.
--if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
-   as_unset=unset
- else
-   as_unset=false
- fi
- 
--
--# Work around bugs in pre-3.0 UWIN ksh.
--$as_unset ENV MAIL MAILPATH
--PS1='$ '
--PS2='> '
--PS4='+ '
--
--# NLS nuisances.
--for as_var in \
--  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
--  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
--  LC_TELEPHONE LC_TIME
--do
--  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
--    eval $as_var=C; export $as_var
--  else
--    $as_unset $as_var
--  fi
--done
--
--# Required to use basename.
--if expr a : '\(a\)' >/dev/null 2>&1; then
--  as_expr=expr
--else
--  as_expr=false
--fi
--
--if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
--  as_basename=basename
--else
--  as_basename=false
--fi
-+(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
-+    { $as_unset LANG || test "${LANG+set}" != set; } ||
-+      { LANG=C; export LANG; }
-+(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
-+    { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
-+      { LC_ALL=C; export LC_ALL; }
-+(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
-+    { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
-+      { LC_TIME=C; export LC_TIME; }
-+(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
-+    { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
-+      { LC_CTYPE=C; export LC_CTYPE; }
-+(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
-+    { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
-+      { LANGUAGE=C; export LANGUAGE; }
-+(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
-+    { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
-+      { LC_COLLATE=C; export LC_COLLATE; }
-+(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
-+    { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
-+      { LC_NUMERIC=C; export LC_NUMERIC; }
-+(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
-+    { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
-+      { LC_MESSAGES=C; export LC_MESSAGES; }
- 
- 
- # Name of the executable.
--as_me=`$as_basename "$0" ||
-+as_me=`(basename "$0") 2>/dev/null ||
- $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- 	 X"$0" : 'X\(//\)$' \| \
- 	 X"$0" : 'X\(/\)$' \| \
-@@ -74,7 +72,6 @@
-   	  /^X\/\(\/\).*/{ s//\1/; q; }
-   	  s/.*/./; q'`
- 
--
- # PATH needs CR, and LINENO needs CR and PATH.
- # Avoid depending upon Character Ranges.
- as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-@@ -85,15 +82,15 @@
- 
- # The user is always right.
- if test "${PATH_SEPARATOR+set}" != set; then
--  echo "#! /bin/sh" >conf$$.sh
--  echo  "exit 0"   >>conf$$.sh
--  chmod +x conf$$.sh
--  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-+  echo "#! /bin/sh" >conftest.sh
-+  echo  "exit 0"   >>conftest.sh
-+  chmod +x conftest.sh
-+  if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
-     PATH_SEPARATOR=';'
-   else
-     PATH_SEPARATOR=:
-   fi
--  rm -f conf$$.sh
-+  rm -f conftest.sh
- fi
- 
- 
-@@ -141,8 +138,6 @@
-   as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-   test "x$as_lineno_1" != "x$as_lineno_2" &&
-   test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
--	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
--	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- 	     CONFIG_SHELL=$as_dir/$as_base
- 	     export CONFIG_SHELL
- 	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-@@ -215,20 +210,13 @@
- fi
- rm -f conf$$ conf$$.exe conf$$.file
- 
--if mkdir -p . 2>/dev/null; then
--  as_mkdir_p=:
--else
--  test -d ./-p && rmdir ./-p
--  as_mkdir_p=false
--fi
--
- as_executable_p="test -f"
- 
- # Sed expression to map a string onto a valid CPP name.
--as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
- 
- # Sed expression to map a string onto a valid variable name.
--as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
- 
- 
- # IFS
-@@ -238,7 +226,7 @@
- IFS=" 	$as_nl"
- 
- # CDPATH.
--$as_unset CDPATH
-+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
- 
- 
- # Name of the host.
-@@ -252,7 +240,6 @@
- # Initializations.
- #
- ac_default_prefix=/usr/local
--ac_config_libobj_dir=.
- cross_compiling=no
- subdirs=
- MFLAGS=
-@@ -309,8 +296,6 @@
- # include <unistd.h>
- #endif"
- 
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT build build_cpu build_vendor build_os host host_cpu host_vendor host_os AWK CPP RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR CAT KILL PERL SED ENT TEST_MINUS_S_SH SH TEST_SHELL PATH_GROUPADD_PROG PATH_USERADD_PROG MAKE_PACKAGE_SUPPORTED LOGIN_PROGRAM_FALLBACK PATH_PASSWD_PROG LD EGREP LIBWRAP LIBEDIT LIBPAM INSTALL_SSH_RAND_HELPER SSH_PRIVSEP_USER PROG_LS PROG_NETSTAT PROG_ARP PROG_IFCONFIG PROG_JSTAT PROG_PS PROG_SAR PROG_W PROG_WHO PROG_LAST PROG_LASTLOG PROG_DF PROG_VMSTAT PROG_UPTIME PROG_IPCS PROG_TAIL INSTALL_SSH_PRNG_CMDS OPENSC_CONFIG PRIVSEP_PATH xauth_path
  STRIP_OPT XAUTH_PATH NROFF MANTYPE mansubdir user_path piddir LIBOBJS LTLIBOBJS'
--ac_subst_files=''
- 
- # Initialize some variables set by options.
- ac_init_help=
-@@ -668,7 +653,7 @@
- 
- # Be sure to have absolute paths.
- for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
--	      localstatedir libdir includedir oldincludedir infodir mandir
-+              localstatedir libdir includedir oldincludedir infodir mandir
- do
-   eval ac_val=$`echo $ac_var`
-   case $ac_val in
-@@ -708,10 +693,10 @@
-   # Try the directory containing this script, then its parent.
-   ac_confdir=`(dirname "$0") 2>/dev/null ||
- $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--	 X"$0" : 'X\(//\)[^/]' \| \
--	 X"$0" : 'X\(//\)$' \| \
--	 X"$0" : 'X\(/\)' \| \
--	 .     : '\(.\)' 2>/dev/null ||
-+         X"$0" : 'X\(//\)[^/]' \| \
-+         X"$0" : 'X\(//\)$' \| \
-+         X"$0" : 'X\(/\)' \| \
-+         .     : '\(.\)' 2>/dev/null ||
- echo X"$0" |
-     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-   	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-@@ -734,9 +719,6 @@
-    { (exit 1); exit 1; }; }
-   fi
- fi
--(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
--  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
--   { (exit 1); exit 1; }; }
- srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
- ac_env_build_alias_set=${build_alias+set}
- ac_env_build_alias_value=$build_alias
-@@ -803,9 +785,9 @@
-   cat <<_ACEOF
- Installation directories:
-   --prefix=PREFIX         install architecture-independent files in PREFIX
--			  [$ac_default_prefix]
-+                          [$ac_default_prefix]
-   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
--			  [PREFIX]
-+                          [PREFIX]
- 
- By default, \`make install' will install all the files in
- \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-@@ -941,45 +923,12 @@
-     ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-     ac_top_srcdir=$ac_top_builddir$srcdir ;;
- esac
--
--# Do not use `cd foo && pwd` to compute absolute paths, because
--# the directories may not exist.
--case `pwd` in
--.) ac_abs_builddir="$ac_dir";;
--*)
--  case "$ac_dir" in
--  .) ac_abs_builddir=`pwd`;;
--  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
--  *) ac_abs_builddir=`pwd`/"$ac_dir";;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_builddir=${ac_top_builddir}.;;
--*)
--  case ${ac_top_builddir}. in
--  .) ac_abs_top_builddir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
--  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_srcdir=$ac_srcdir;;
--*)
--  case $ac_srcdir in
--  .) ac_abs_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
--  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
--  esac;;
--esac
--case $ac_abs_builddir in
--.) ac_abs_top_srcdir=$ac_top_srcdir;;
--*)
--  case $ac_top_srcdir in
--  .) ac_abs_top_srcdir=$ac_abs_builddir;;
--  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
--  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
--  esac;;
--esac
-+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-+# absolute.
-+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-+ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
-+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
- 
-     cd $ac_dir
-     # Check for guested configure; otherwise get Cygnus style configure.
-@@ -990,7 +939,7 @@
-       echo
-       $SHELL $ac_srcdir/configure  --help=recursive
-     elif test -f $ac_srcdir/configure.ac ||
--	   test -f $ac_srcdir/configure.in; then
-+           test -f $ac_srcdir/configure.in; then
-       echo
-       $ac_configure --help
-     else
-@@ -1004,9 +953,10 @@
- if $ac_init_version; then
-   cat <<\_ACEOF
- OpenSSH configure Portable
--generated by GNU Autoconf 2.59
-+generated by GNU Autoconf 2.53
- 
--Copyright (C) 2003 Free Software Foundation, Inc.
-+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-+Free Software Foundation, Inc.
- This configure script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it.
- _ACEOF
-@@ -1018,7 +968,7 @@
- running configure, to aid debugging if configure makes a mistake.
- 
- It was created by OpenSSH $as_me Portable, which was
--generated by GNU Autoconf 2.59.  Invocation command line was
-+generated by GNU Autoconf 2.53.  Invocation command line was
- 
-   $ $0 $@
- 
-@@ -1070,54 +1020,27 @@
- 
- # Keep a trace of the command line.
- # Strip out --no-create and --no-recursion so they do not pile up.
--# Strip out --silent because we don't want to record it for future runs.
- # Also quote any args containing shell meta-characters.
--# Make two passes to allow for proper duplicate-argument suppression.
- ac_configure_args=
--ac_configure_args0=
--ac_configure_args1=
- ac_sep=
--ac_must_keep_next=false
--for ac_pass in 1 2
-+for ac_arg
- do
--  for ac_arg
--  do
--    case $ac_arg in
--    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
--    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
--    | -silent | --silent | --silen | --sile | --sil)
--      continue ;;
--    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
--      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
--    esac
--    case $ac_pass in
--    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
--    2)
--      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
--      if test $ac_must_keep_next = true; then
--	ac_must_keep_next=false # Got value, back to normal.
--      else
--	case $ac_arg in
--	  *=* | --config-cache | -C | -disable-* | --disable-* \
--	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
--	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
--	  | -with-* | --with-* | -without-* | --without-* | --x)
--	    case "$ac_configure_args0 " in
--	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
--	    esac
--	    ;;
--	  -* ) ac_must_keep_next=true ;;
--	esac
--      fi
--      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
--      # Get rid of the leading space.
--      ac_sep=" "
--      ;;
--    esac
--  done
-+  case $ac_arg in
-+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-+  | --no-cr | --no-c | -n ) continue ;;
-+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-+    continue ;;
-+  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-+    ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-+  esac
-+  case " $ac_configure_args " in
-+    *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-+    *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-+       ac_sep=" " ;;
-+  esac
-+  # Get rid of the leading space.
- done
--$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
--$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
- 
- # When interrupted or exit'd, cleanup temporary files, and complete
- # config.log.  We remove comments because anyway the quotes in there
-@@ -1128,7 +1051,6 @@
-   # Save into config.log some information that might help in debugging.
-   {
-     echo
--
-     cat <<\_ASBOX
- ## ---------------- ##
- ## Cache variables. ##
-@@ -1141,45 +1063,16 @@
-     case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-     *ac_space=\ *)
-       sed -n \
--	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
--	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-+        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-+    	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-       ;;
-     *)
-       sed -n \
--	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-+        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
-       ;;
-     esac;
- }
-     echo
--
--    cat <<\_ASBOX
--## ----------------- ##
--## Output variables. ##
--## ----------------- ##
--_ASBOX
--    echo
--    for ac_var in $ac_subst_vars
--    do
--      eval ac_val=$`echo $ac_var`
--      echo "$ac_var='"'"'$ac_val'"'"'"
--    done | sort
--    echo
--
--    if test -n "$ac_subst_files"; then
--      cat <<\_ASBOX
--## ------------- ##
--## Output files. ##
--## ------------- ##
--_ASBOX
--      echo
--      for ac_var in $ac_subst_files
--      do
--	eval ac_val=$`echo $ac_var`
--	echo "$ac_var='"'"'$ac_val'"'"'"
--      done | sort
--      echo
--    fi
--
-     if test -s confdefs.h; then
-       cat <<\_ASBOX
- ## ----------- ##
-@@ -1187,14 +1080,14 @@
- ## ----------- ##
- _ASBOX
-       echo
--      sed "/^$/d" confdefs.h | sort
-+      sed "/^$/d" confdefs.h
-       echo
-     fi
-     test "$ac_signal" != 0 &&
-       echo "$as_me: caught signal $ac_signal"
-     echo "$as_me: exit $exit_status"
-   } >&5
--  rm -f core *.core &&
-+  rm -f core core.* *.core &&
-   rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
-     exit $exit_status
-      ' 0
-@@ -1274,7 +1167,7 @@
- # value.
- ac_cache_corrupted=false
- for ac_var in `(set) 2>&1 |
--	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
-+               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
-   eval ac_old_set=\$ac_cv_env_${ac_var}_set
-   eval ac_new_set=\$ac_env_${ac_var}_set
-   eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-@@ -1291,13 +1184,13 @@
-     ,);;
-     *)
-       if test "x$ac_old_val" != "x$ac_new_val"; then
--	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-+        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
- echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
--	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
-+        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
- echo "$as_me:   former value:  $ac_old_val" >&2;}
--	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
-+        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
- echo "$as_me:   current value: $ac_new_val" >&2;}
--	ac_cache_corrupted=:
-+        ac_cache_corrupted=:
-       fi;;
-   esac
-   # Pass precious variables to config.status.
-@@ -1354,8 +1247,7 @@
- 
- 
- 
--
--          ac_config_headers="$ac_config_headers config.h"
-+ac_config_headers="$ac_config_headers config.h"
- 
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -1561,7 +1453,9 @@
-     # However, it has the same basename, so the bogon will be chosen
-     # first if we set CC to just the basename; use the full file name.
-     shift
--    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-+    set dummy "$as_dir/$ac_word" ${1+"$@"}
-+    shift
-+    ac_cv_prog_CC="$@"
-   fi
- fi
- fi
-@@ -1666,10 +1560,8 @@
- fi
- 
- 
--test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
--See \`config.log' for more details." >&5
--echo "$as_me: error: no acceptable C compiler found in \$PATH
--See \`config.log' for more details." >&2;}
-+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5
-+echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;}
-    { (exit 1); exit 1; }; }
- 
- # Provide some information about the compiler.
-@@ -1693,12 +1585,15 @@
-   (exit $ac_status); }
- 
- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
-+#line $LINENO "configure"
-+#include "confdefs.h"
- 
-+#ifdef F77_DUMMY_MAIN
-+#  ifdef __cplusplus
-+     extern "C"
-+#  endif
-+   int F77_DUMMY_MAIN() { return 1; }
-+#endif
- int
- main ()
- {
-@@ -1708,12 +1603,12 @@
- }
- _ACEOF
- ac_clean_files_save=$ac_clean_files
--ac_clean_files="$ac_clean_files a.out a.exe b.out"
-+ac_clean_files="$ac_clean_files a.out a.exe"
- # Try to create an executable without -o first, disregard a.out.
- # It will help us diagnose broken compilers, and finding out an intuition
- # of exeext.
--echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
--echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-+echo "$as_me:$LINENO: checking for C compiler default output" >&5
-+echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
- ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
- if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-   (eval $ac_link_default) 2>&5
-@@ -1727,39 +1622,26 @@
- # Be careful to initialize this variable, since it used to be cached.
- # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
- ac_cv_exeext=
--# b.out is created by i960 compilers.
--for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
--do
--  test -f "$ac_file" || continue
-+for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null;
-+                ls a.out conftest 2>/dev/null;
-+                ls a.* conftest.* 2>/dev/null`; do
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
--	;;
--    conftest.$ac_ext )
--	# This is the source file.
--	;;
--    [ab].out )
--	# We found the default executable, but exeext='' is most
--	# certainly right.
--	break;;
--    *.* )
--	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
--	# FIXME: I believe we export ac_cv_exeext for Libtool,
--	# but it would be cool to find out if it's true.  Does anybody
--	# maintain Libtool? --akim.
--	export ac_cv_exeext
--	break;;
--    * )
--	break;;
-+    *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb | *.xSYM ) ;;
-+    a.out ) # We found the default executable, but exeext='' is most
-+            # certainly right.
-+            break;;
-+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+          # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
-+          export ac_cv_exeext
-+          break;;
-+    * ) break;;
-   esac
- done
- else
-   echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
--See \`config.log' for more details." >&5
--echo "$as_me: error: C compiler cannot create executables
--See \`config.log' for more details." >&2;}
-+cat conftest.$ac_ext >&5
-+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables" >&5
-+echo "$as_me: error: C compiler cannot create executables" >&2;}
-    { (exit 77); exit 77; }; }
- fi
- 
-@@ -1786,11 +1668,9 @@
- 	cross_compiling=yes
-     else
- 	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
--If you meant to cross compile, use \`--host'.
--See \`config.log' for more details." >&5
-+If you meant to cross compile, use \`--host'." >&5
- echo "$as_me: error: cannot run C compiled programs.
--If you meant to cross compile, use \`--host'.
--See \`config.log' for more details." >&2;}
-+If you meant to cross compile, use \`--host'." >&2;}
-    { (exit 1); exit 1; }; }
-     fi
-   fi
-@@ -1798,7 +1678,7 @@
- echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6
- 
--rm -f a.out a.exe conftest$ac_cv_exeext b.out
-+rm -f a.out a.exe conftest$ac_cv_exeext
- ac_clean_files=$ac_clean_files_save
- # Check the compiler produces executables we can run.  If not, either
- # the compiler is broken, or we cross compile.
-@@ -1818,21 +1698,18 @@
- # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
- # work properly (i.e., refer to `conftest.exe'), while it won't with
- # `rm'.

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508081035.j78AZdnf008799>