⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure.ac

📁 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。它用安全、加密的网络连接工具代替了 telnet、ftp、 rlogin、rsh 和 rcp 工具。OpenSSH 支持
💻 AC
📖 第 1 页 / 共 5 页
字号:
		if test "$USE_RAND_HELPER" = yes ; then			AC_MSG_CHECKING(for PRNGD/EGD socket)			# Insert other locations here			for sock in /var/run/egd-pool /dev/egd-pool /etc/entropy; do				if test -r $sock && $TEST_MINUS_S_SH -c "test -S $sock -o -p $sock" ; then					PRNGD_SOCKET="$sock"					AC_DEFINE_UNQUOTED(PRNGD_SOCKET, "$PRNGD_SOCKET")					break;				fi			done			if test ! -z "$PRNGD_SOCKET" ; then				AC_MSG_RESULT($PRNGD_SOCKET)			else				AC_MSG_RESULT(not found)			fi		fi	])# Change default command timeout for hashing entropy sourceentropy_timeout=200AC_ARG_WITH(entropy-timeout,	[  --with-entropy-timeout  Specify entropy gathering command timeout (msec)],	[		if test "x$withval" != "xno" ; then			entropy_timeout=$withval		fi	]	)AC_DEFINE_UNQUOTED(ENTROPY_TIMEOUT_MSEC, $entropy_timeout)SSH_PRIVSEP_USER=sshdAC_ARG_WITH(privsep-user,	[  --with-privsep-user=user Specify non-privileged user for privilege separation],	[		if test -n "$withval"; then			SSH_PRIVSEP_USER=$withval		fi	]	)AC_DEFINE_UNQUOTED(SSH_PRIVSEP_USER, "$SSH_PRIVSEP_USER")AC_SUBST(SSH_PRIVSEP_USER)# We do this little dance with the search path to insure# that programs that we select for use by installed programs# (which may be run by the super-user) come from trusted# locations before they come from the user's private area.# This should help avoid accidentally configuring some# random version of a program in someone's personal bin.OPATH=$PATHPATH=/bin:/usr/bintest -h /bin 2> /dev/null && PATH=/usr/bintest -d /sbin && PATH=$PATH:/sbintest -d /usr/sbin && PATH=$PATH:/usr/sbinPATH=$PATH:/etc:$OPATH# These programs are used by the command hashing source to gather entropyOSSH_PATH_ENTROPY_PROG(PROG_LS, ls)OSSH_PATH_ENTROPY_PROG(PROG_NETSTAT, netstat)OSSH_PATH_ENTROPY_PROG(PROG_ARP, arp)OSSH_PATH_ENTROPY_PROG(PROG_IFCONFIG, ifconfig)OSSH_PATH_ENTROPY_PROG(PROG_JSTAT, jstat)OSSH_PATH_ENTROPY_PROG(PROG_PS, ps)OSSH_PATH_ENTROPY_PROG(PROG_SAR, sar)OSSH_PATH_ENTROPY_PROG(PROG_W, w)OSSH_PATH_ENTROPY_PROG(PROG_WHO, who)OSSH_PATH_ENTROPY_PROG(PROG_LAST, last)OSSH_PATH_ENTROPY_PROG(PROG_LASTLOG, lastlog)OSSH_PATH_ENTROPY_PROG(PROG_DF, df)OSSH_PATH_ENTROPY_PROG(PROG_VMSTAT, vmstat)OSSH_PATH_ENTROPY_PROG(PROG_UPTIME, uptime)OSSH_PATH_ENTROPY_PROG(PROG_IPCS, ipcs)OSSH_PATH_ENTROPY_PROG(PROG_TAIL, tail)# restore PATHPATH=$OPATH# Where does ssh-rand-helper get its randomness from?INSTALL_SSH_PRNG_CMDS=""if test ! -z "$INSTALL_SSH_RAND_HELPER" ; then	if test ! -z "$PRNGD_PORT" ; then		RAND_HELPER_MSG="TCP localhost:$PRNGD_PORT"	elif test ! -z "$PRNGD_SOCKET" ; then		RAND_HELPER_MSG="Unix domain socket \"$PRNGD_SOCKET\""	else		RAND_HELPER_MSG="Command hashing (timeout $entropy_timeout)"		RAND_HELPER_CMDHASH=yes		INSTALL_SSH_PRNG_CMDS="yes"	fifiAC_SUBST(INSTALL_SSH_PRNG_CMDS)# Cheap hack to ensure NEWS-OS libraries are arranged right.if test ! -z "$SONY" ; then  LIBS="$LIBS -liberty";fi# Checks for data typesAC_CHECK_SIZEOF(char, 1)AC_CHECK_SIZEOF(short int, 2)AC_CHECK_SIZEOF(int, 4)AC_CHECK_SIZEOF(long int, 4)AC_CHECK_SIZEOF(long long int, 8)# Sanity check long long for some platforms (AIX)if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then	ac_cv_sizeof_long_long_int=0fi# More checks for data typesAC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [	AC_TRY_COMPILE(		[ #include <sys/types.h> ],		[ u_int a; a = 1;],		[ ac_cv_have_u_int="yes" ],		[ ac_cv_have_u_int="no" ]	)])if test "x$ac_cv_have_u_int" = "xyes" ; then	AC_DEFINE(HAVE_U_INT)	have_u_int=1fiAC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [	AC_TRY_COMPILE(		[ #include <sys/types.h> ],		[ int8_t a; int16_t b; int32_t c; a = b = c = 1;],		[ ac_cv_have_intxx_t="yes" ],		[ ac_cv_have_intxx_t="no" ]	)])if test "x$ac_cv_have_intxx_t" = "xyes" ; then	AC_DEFINE(HAVE_INTXX_T)	have_intxx_t=1fiif (test -z "$have_intxx_t" && \	   test "x$ac_cv_header_stdint_h" = "xyes")then    AC_MSG_CHECKING([for intXX_t types in stdint.h])	AC_TRY_COMPILE(		[ #include <stdint.h> ],		[ int8_t a; int16_t b; int32_t c; a = b = c = 1;],		[			AC_DEFINE(HAVE_INTXX_T)			AC_MSG_RESULT(yes)		],		[ AC_MSG_RESULT(no) ]	)fiAC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [	AC_TRY_COMPILE(		[#include <sys/types.h>#ifdef HAVE_STDINT_H# include <stdint.h>#endif#include <sys/socket.h>#ifdef HAVE_SYS_BITYPES_H# include <sys/bitypes.h>#endif		],		[ int64_t a; a = 1;],		[ ac_cv_have_int64_t="yes" ],		[ ac_cv_have_int64_t="no" ]	)])if test "x$ac_cv_have_int64_t" = "xyes" ; then	AC_DEFINE(HAVE_INT64_T)fiAC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [	AC_TRY_COMPILE(		[ #include <sys/types.h> ],		[ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;],		[ ac_cv_have_u_intxx_t="yes" ],		[ ac_cv_have_u_intxx_t="no" ]	)])if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then	AC_DEFINE(HAVE_U_INTXX_T)	have_u_intxx_t=1fiif test -z "$have_u_intxx_t" ; then    AC_MSG_CHECKING([for u_intXX_t types in sys/socket.h])	AC_TRY_COMPILE(		[ #include <sys/socket.h> ],		[ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;],		[			AC_DEFINE(HAVE_U_INTXX_T)			AC_MSG_RESULT(yes)		],		[ AC_MSG_RESULT(no) ]	)fiAC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [	AC_TRY_COMPILE(		[ #include <sys/types.h> ],		[ u_int64_t a; a = 1;],		[ ac_cv_have_u_int64_t="yes" ],		[ ac_cv_have_u_int64_t="no" ]	)])if test "x$ac_cv_have_u_int64_t" = "xyes" ; then	AC_DEFINE(HAVE_U_INT64_T)	have_u_int64_t=1fiif test -z "$have_u_int64_t" ; then    AC_MSG_CHECKING([for u_int64_t type in sys/bitypes.h])	AC_TRY_COMPILE(		[ #include <sys/bitypes.h> ],		[ u_int64_t a; a = 1],		[			AC_DEFINE(HAVE_U_INT64_T)			AC_MSG_RESULT(yes)		],		[ AC_MSG_RESULT(no) ]	)fiif test -z "$have_u_intxx_t" ; then	AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t, [		AC_TRY_COMPILE(			[#include <sys/types.h>			],			[ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1; ],			[ ac_cv_have_uintxx_t="yes" ],			[ ac_cv_have_uintxx_t="no" ]		)	])	if test "x$ac_cv_have_uintxx_t" = "xyes" ; then		AC_DEFINE(HAVE_UINTXX_T)	fifiif test -z "$have_uintxx_t" ; then    AC_MSG_CHECKING([for uintXX_t types in stdint.h])	AC_TRY_COMPILE(		[ #include <stdint.h> ],		[ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1;],		[			AC_DEFINE(HAVE_UINTXX_T)			AC_MSG_RESULT(yes)		],		[ AC_MSG_RESULT(no) ]	)fiif (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \	   test "x$ac_cv_header_sys_bitypes_h" = "xyes")then	AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])	AC_TRY_COMPILE(		[#include <sys/bitypes.h>		],		[			int8_t a; int16_t b; int32_t c;			u_int8_t e; u_int16_t f; u_int32_t g;			a = b = c = e = f = g = 1;		],		[			AC_DEFINE(HAVE_U_INTXX_T)			AC_DEFINE(HAVE_INTXX_T)			AC_MSG_RESULT(yes)		],		[AC_MSG_RESULT(no)]	)fiAC_CACHE_CHECK([for u_char], ac_cv_have_u_char, [	AC_TRY_COMPILE(		[#include <sys/types.h>		],		[ u_char foo; foo = 125; ],		[ ac_cv_have_u_char="yes" ],		[ ac_cv_have_u_char="no" ]	)])if test "x$ac_cv_have_u_char" = "xyes" ; then	AC_DEFINE(HAVE_U_CHAR)fiTYPE_SOCKLEN_TAC_CHECK_TYPES(sig_atomic_t,,,[#include <signal.h>])AC_CHECK_TYPES(in_addr_t,,,[#include <sys/types.h>#include <netinet/in.h>])AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [	AC_TRY_COMPILE(		[#include <sys/types.h>		],		[ size_t foo; foo = 1235; ],		[ ac_cv_have_size_t="yes" ],		[ ac_cv_have_size_t="no" ]	)])if test "x$ac_cv_have_size_t" = "xyes" ; then	AC_DEFINE(HAVE_SIZE_T)fiAC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [	AC_TRY_COMPILE(		[#include <sys/types.h>		],		[ ssize_t foo; foo = 1235; ],		[ ac_cv_have_ssize_t="yes" ],		[ ac_cv_have_ssize_t="no" ]	)])if test "x$ac_cv_have_ssize_t" = "xyes" ; then	AC_DEFINE(HAVE_SSIZE_T)fiAC_CACHE_CHECK([for clock_t], ac_cv_have_clock_t, [	AC_TRY_COMPILE(		[#include <time.h>		],		[ clock_t foo; foo = 1235; ],		[ ac_cv_have_clock_t="yes" ],		[ ac_cv_have_clock_t="no" ]	)])if test "x$ac_cv_have_clock_t" = "xyes" ; then	AC_DEFINE(HAVE_CLOCK_T)fiAC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [	AC_TRY_COMPILE(		[#include <sys/types.h>#include <sys/socket.h>		],		[ sa_family_t foo; foo = 1235; ],		[ ac_cv_have_sa_family_t="yes" ],		[ AC_TRY_COMPILE(		  [#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>		],		[ sa_family_t foo; foo = 1235; ],		[ ac_cv_have_sa_family_t="yes" ],		[ ac_cv_have_sa_family_t="no" ]	)]	)])if test "x$ac_cv_have_sa_family_t" = "xyes" ; then	AC_DEFINE(HAVE_SA_FAMILY_T)fiAC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [	AC_TRY_COMPILE(		[#include <sys/types.h>		],		[ pid_t foo; foo = 1235; ],		[ ac_cv_have_pid_t="yes" ],		[ ac_cv_have_pid_t="no" ]	)])if test "x$ac_cv_have_pid_t" = "xyes" ; then	AC_DEFINE(HAVE_PID_T)fiAC_CACHE_CHECK([for mode_t], ac_cv_have_mode_t, [	AC_TRY_COMPILE(		[#include <sys/types.h>		],		[ mode_t foo; foo = 1235; ],		[ ac_cv_have_mode_t="yes" ],		[ ac_cv_have_mode_t="no" ]	)])if test "x$ac_cv_have_mode_t" = "xyes" ; then	AC_DEFINE(HAVE_MODE_T)fiAC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_have_struct_sockaddr_storage, [	AC_TRY_COMPILE(		[#include <sys/types.h>#include <sys/socket.h>		],		[ struct sockaddr_storage s; ],		[ ac_cv_have_struct_sockaddr_storage="yes" ],		[ ac_cv_have_struct_sockaddr_storage="no" ]	)])if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then	AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE)fiAC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [	AC_TRY_COMPILE(		[#include <sys/types.h>#include <netinet/in.h>		],		[ struct sockaddr_in6 s; s.sin6_family = 0; ],		[ ac_cv_have_struct_sockaddr_in6="yes" ],		[ ac_cv_have_struct_sockaddr_in6="no" ]	)])if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then	AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6)fiAC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [	AC_TRY_COMPILE(		[#include <sys/types.h>#include <netinet/in.h>		],		[ struct in6_addr s; s.s6_addr[0] = 0; ],		[ ac_cv_have_struct_in6_addr="yes" ],		[ ac_cv_have_struct_in6_addr="no" ]	)])if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then	AC_DEFINE(HAVE_STRUCT_IN6_ADDR)fiAC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [	AC_TRY_COMPILE(		[#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>		],		[ struct addrinfo s; s.ai_flags = AI_PASSIVE; ],		[ ac_cv_have_struct_addrinfo="yes" ],		[ ac_cv_have_struct_addrinfo="no" ]	)])if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then	AC_DEFINE(HAVE_STRUCT_ADDRINFO)fiAC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [	AC_TRY_COMPILE(		[ #include <sys/time.h> ],		[ struct timeval tv; tv.tv_sec = 1;],		[ ac_cv_have_struct_timeval="yes" ],		[ ac_cv_have_struct_timeval="no" ]	)])if test "x$ac_cv_have_struct_timeval" = "xyes" ; then	AC_DEFINE(HAVE_STRUCT_TIMEVAL)	have_struct_timeval=1fiAC_CHECK_TYPES(struct timespec)# We need int64_t or else certian parts of the compile will fail.if test "x$ac_cv_have_int64_t" = "xno" -a \	"x$ac_cv_sizeof_long_int" != "x8" -a \	"x$ac_cv_sizeof_long_long_int" = "x0" ; then	echo "OpenSSH requires int64_t support.  Contact your vendor or install"	echo "an alternative compiler (I.E., GCC) before continuing."	echo ""	exit 1;elsednl test snprintf (broken on SCO w/gcc)	AC_RUN_IFELSE(		[AC_LANG_SOURCE([[#include <stdio.h>#include <string.h>#ifdef HAVE_SNPRINTFmain(){	char buf[50];	char expected_out[50];	int mazsize = 50 ;#if (SIZEOF_LONG_INT == 8)	long int num = 0x7fffffffffffffff;#else	long long num = 0x7fffffffffffffffll;#endif	strcpy(expected_out, "9223372036854775807");	snprintf(buf, mazsize, "%lld", num);	if(strcmp(buf, expected_out) != 0)		exit(1);	exit(0);}#elsemain() { exit(0); }#endif		]])], [ true ], [ AC_DEFINE(BROKEN_SNPRINTF) ],		AC_MSG_WARN([cross compiling: Assuming working snprintf()])	)fidnl Checks for structure membersOSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmp.h, HAVE_HOST_IN_UTMP)OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmpx.h, HAVE_HOST_IN_UTMPX)OSSH_CHECK_HEADER_FOR_FIELD(syslen, utmpx.h, HAVE_SYSLEN_IN_UTMPX)OSSH_CHECK_HEADER_FOR_FIELD(ut_pid, utmp.h, HAVE_PID_IN_UTMP)OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmp.h, HAVE_TYPE_IN_UTMP)OSSH_CHECK_HEADER_FOR_FIELD(ut_type, utmpx.h, HAVE_TYPE_IN_UTMPX)OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmp.h, HAVE_TV_IN_UTMP)OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmp.h, HAVE_ID_IN_UTMP)OSSH_CHECK_HEADER_FOR_FIELD(ut_id, utmpx.h, HAVE_ID_IN_UTMPX)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -