diff -u --recursive ssh-1.2.21.stock/acconfig.h ssh-1.2.21/acconfig.h --- ssh-1.2.21.stock/acconfig.h Thu Aug 21 20:28:12 1997 +++ ssh-1.2.21/acconfig.h Mon Sep 8 23:55:49 1997 @@ -368,3 +368,6 @@ /* Define this if your spwd struct defined shadow.h have sp_inact field */ #undef HAVE_STRUCT_SPWD_INACT + +/* Define this if you use PAM */ +#undef HAVE_PAM diff -u --recursive ssh-1.2.21.stock/auth-passwd.c ssh-1.2.21/auth-passwd.c --- ssh-1.2.21.stock/auth-passwd.c Thu Aug 21 20:28:14 1997 +++ ssh-1.2.21/auth-passwd.c Mon Sep 8 23:55:49 1997 @@ -17,6 +17,9 @@ /* * $Id: auth-passwd.c,v 1.11 1997/04/17 03:57:05 kivinen Exp $ * $Log: auth-passwd.c,v $ + * Revision 1.11a 1997/06/06 06:40:00 jonchen + * Added support for PAM + * * Revision 1.11 1997/04/17 03:57:05 kivinen * Kept FILE: prefix in kerberos ticket filename as DCE cache * code requires it (patch from Doug Engert ). @@ -108,6 +111,13 @@ #include #include #endif /* HAVE_ULTRIX_SHADOW_PASSWORDS */ +#ifdef HAVE_PAM +#include +extern pam_handle_t *pamh; +extern int retval; +extern char* pampasswd; +extern int origretval; +#endif /* HAVE_PAM */ #include "packet.h" #include "ssh.h" #include "servconf.h" @@ -667,6 +677,17 @@ seteuid(UID_ROOT); /* just let it fail if ran by user */ #endif /* SECURE_RPC */ +#ifdef HAVE_PAM + { + retval = origretval; + pampasswd = xstrdup(password); + if (retval == PAM_SUCCESS) + retval = pam_authenticate ((pam_handle_t *)pamh, 0); + if (retval == PAM_SUCCESS) + retval = pam_acct_mgmt ((pam_handle_t *)pamh, 0); + xfree(pampasswd); + } +#else /* HAVE_PAM */ #ifdef HAVE_OSF1_C2_SECURITY osf1c2_getprpwent(correct_passwd, saved_pw_name, sizeof(correct_passwd)); #else /* HAVE_OSF1_C2_SECURITY */ @@ -747,6 +768,7 @@ #endif /* HAVE_ETC_SHADOW */ #endif /* HAVE_SCO_ETC_SHADOW */ #endif /* HAVE_OSF1_C2_SECURITY */ +#endif /* HAVE_PAM */ /* Check for users with no password. */ if (strcmp(password, "") == 0 && strcmp(correct_passwd, "") == 0) @@ -766,6 +788,14 @@ xfree(saved_pw_name); xfree(saved_pw_passwd); + +#ifdef HAVE_PAM + { + if (retval == PAM_SUCCESS) + retval = pam_open_session ((pam_handle_t *)pamh, 0); + return (retval == PAM_SUCCESS); + } +#endif /* HAVE_PAM */ #ifdef HAVE_ULTRIX_SHADOW_PASSWORDS { diff -u --recursive ssh-1.2.21.stock/config.h.in ssh-1.2.21/config.h.in --- ssh-1.2.21.stock/config.h.in Thu Aug 21 20:28:43 1997 +++ ssh-1.2.21/config.h.in Mon Sep 8 23:55:49 1997 @@ -412,6 +412,9 @@ /* Define this if your spwd struct defined shadow.h have sp_inact field */ #undef HAVE_STRUCT_SPWD_INACT +/* Define this if you use PAM */ +#undef HAVE_PAM + /* The number of bytes in a int. */ #undef SIZEOF_INT diff -u --recursive ssh-1.2.21.stock/configure ssh-1.2.21/configure --- ssh-1.2.21.stock/configure Thu Aug 21 20:28:43 1997 +++ ssh-1.2.21/configure Mon Sep 8 23:59:24 1997 @@ -2527,22 +2527,30 @@ +if test -f /usr/include/security/pam_appl.h; then + cat >> confdefs.h <<\EOF +#define HAVE_PAM 1 +EOF + + LIBS="$LIBS -lpam -ldl" +fi + if test -z "$no_termios"; then for ac_hdr in termios.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2536: checking for $ac_hdr" >&5 +echo "configure:2544: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2546: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2575,17 +2583,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2579: checking for $ac_hdr" >&5 +echo "configure:2587: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2614,12 +2622,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2618: checking for ANSI C header files" >&5 +echo "configure:2626: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2627,7 +2635,7 @@ #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2639: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2644,7 +2652,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2662,7 +2670,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2683,7 +2691,7 @@ : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2694,7 +2702,7 @@ exit (0); } EOF -if { (eval echo configure:2698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -2718,12 +2726,12 @@ fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>& 6 -echo "configure:2722: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:2730: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2739,7 +2747,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:2743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5 ; }; then +if { (eval echo configure:2751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5 ; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -2763,17 +2771,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2767: checking for $ac_hdr" >&5 +echo "configure:2775: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2803,17 +2811,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2807: checking for $ac_hdr" >&5 +echo "configure:2815: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2843,17 +2851,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2847: checking for $ac_hdr" >&5 +echo "configure:2855: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2857: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2865: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2880,12 +2888,12 @@ done echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ ac_c" 1>&6 -echo "configure:2884: checking whether time.h and sys/time.h may both be inclu ded" >&5 +echo "configure:2892: checking whether time.h and sys/time.h may both be inclu ded" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2894,7 +2902,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:2898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5 ; }; then +if { (eval echo configure:2906: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5 ; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -2919,12 +2927,12 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:2923: checking for $ac_hdr that defines DIR" >&5 +echo "configure:2931: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; the n echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> @@ -2932,7 +2940,7 @@ DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:2936: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5 ; }; then +if { (eval echo configure:2944: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5 ; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -2957,7 +2965,7 @@ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:2961: checking for opendir in -ldir" >&5 +echo "configure:2969: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2965,7 +2973,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2998,7 +3006,7 @@ else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:3002: checking for opendir in -lx" >&5 +echo "configure:3010: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3006,7 +3014,7 @@ ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3040,12 +3048,12 @@ fi echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6 -echo "configure:3044: checking whether stat file-mode macros are broken" >&5 +echo "configure:3052: checking whether stat file-mode macros are broken" >&5 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3096,9 +3104,9 @@ fi echo $ac_n "checking whether utmp have ut_pid field""... $ac_c" 1>&6 -echo "configure:3100: checking whether utmp have ut_pid field" >&5 +echo "configure:3108: checking whether utmp have ut_pid field" >&5 cat > conftest.$ac_ext < EOF @@ -3117,9 +3125,9 @@ rm -f conftest* echo $ac_n "checking whether utmp have ut_name field""... $ac_c" 1>&6 -echo "configure:3121: checking whether utmp have ut_name field" >&5 +echo "configure:3129: checking whether utmp have ut_name field" >&5 cat > conftest.$ac_ext < EOF @@ -3138,9 +3146,9 @@ rm -f conftest* echo $ac_n "checking whether utmp have ut_id field""... $ac_c" 1>&6 -echo "configure:3142: checking whether utmp have ut_id field" >&5 +echo "configure:3150: checking whether utmp have ut_id field" >&5 cat > conftest.$ac_ext < EOF @@ -3159,9 +3167,9 @@ rm -f conftest* echo $ac_n "checking whether utmp have ut_host field""... $ac_c" 1>&6 -echo "configure:3163: checking whether utmp have ut_host field" >&5 +echo "configure:3171: checking whether utmp have ut_host field" >&5 cat > conftest.$ac_ext < EOF @@ -3180,9 +3188,9 @@ rm -f conftest* echo $ac_n "checking whether utmp have ut_addr field""... $ac_c" 1>&6 -echo "configure:3184: checking whether utmp have ut_addr field" >&5 +echo "configure:3192: checking whether utmp have ut_addr field" >&5 cat > conftest.$ac_ext < EOF @@ -3201,9 +3209,9 @@ rm -f conftest* echo $ac_n "checking whether you have incompatible SIGINFO macro""... $ac_c" 1 >&6 -echo "configure:3205: checking whether you have incompatible SIGINFO macro" >& 5 +echo "configure:3213: checking whether you have incompatible SIGINFO macro" >& 5 cat > conftest.$ac_ext < SIGINFO(p,1) @@ -3224,7 +3232,7 @@ echo $ac_n "checking for crypt in -lc""... $ac_c" 1>&6 -echo "configure:3228: checking for crypt in -lc" >&5 +echo "configure:3236: checking for crypt in -lc" >&5 ac_lib_var=`echo c'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3232,7 +3240,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3262,7 +3270,7 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:3266: checking for crypt in -lcrypt" >&5 +echo "configure:3274: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3270,7 +3278,7 @@ ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3311,7 +3319,7 @@ fi echo $ac_n "checking for getspnam in -lsec""... $ac_c" 1>&6 -echo "configure:3315: checking for getspnam in -lsec" >&5 +echo "configure:3323: checking for getspnam in -lsec" >&5 ac_lib_var=`echo sec'_'getspnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3319,7 +3327,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3358,7 +3366,7 @@ fi echo $ac_n "checking for get_process_stats in -lseq""... $ac_c" 1>&6 -echo "configure:3362: checking for get_process_stats in -lseq" >&5 +echo "configure:3370: checking for get_process_stats in -lseq" >&5 ac_lib_var=`echo seq'_'get_process_stats | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3366,7 +3374,7 @@ ac_save_LIBS="$LIBS" LIBS="-lseq $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3405,7 +3413,7 @@ fi echo $ac_n "checking for bcopy in -lbsd""... $ac_c" 1>&6 -echo "configure:3409: checking for bcopy in -lbsd" >&5 +echo "configure:3417: checking for bcopy in -lbsd" >&5 ac_lib_var=`echo bsd'_'bcopy | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3413,7 +3421,7 @@ ac_save_LIBS="$LIBS" LIBS="-lbsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3453,7 +3461,7 @@ if test -z "$no_libnsl"; then echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6 -echo "configure:3457: checking for main in -lnsl" >&5 +echo "configure:3465: checking for main in -lnsl" >&5 ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3461,14 +3469,14 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3498,7 +3506,7 @@ fi if test -n "$test_libinet"; then echo $ac_n "checking for inet_network in -linet""... $ac_c" 1>&6 -echo "configure:3502: checking for inet_network in -linet" >&5 +echo "configure:3510: checking for inet_network in -linet" >&5 ac_lib_var=`echo inet'_'inet_network | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3506,7 +3514,7 @@ ac_save_LIBS="$LIBS" LIBS="-linet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3547,7 +3555,7 @@ fi if test -z "$no_libsocket"; then echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:3551: checking for socket in -lsocket" >&5 +echo "configure:3559: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3555,7 +3563,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3596,7 +3604,7 @@ fi if test -z "$no_libsun"; then echo $ac_n "checking for getpwnam in -lsun""... $ac_c" 1>&6 -echo "configure:3600: checking for getpwnam in -lsun" >&5 +echo "configure:3608: checking for getpwnam in -lsun" >&5 ac_lib_var=`echo sun'_'getpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3604,7 +3612,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsun $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3645,7 +3653,7 @@ fi if test -z "$no_libbsd"; then echo $ac_n "checking for openpty in -lbsd""... $ac_c" 1>&6 -echo "configure:3649: checking for openpty in -lbsd" >&5 +echo "configure:3657: checking for openpty in -lbsd" >&5 ac_lib_var=`echo bsd'_'openpty | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3653,7 +3661,7 @@ ac_save_LIBS="$LIBS" LIBS="-lbsd $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3693,7 +3701,7 @@ fi echo $ac_n "checking for login in -lutil""... $ac_c" 1>&6 -echo "configure:3697: checking for login in -lutil" >&5 +echo "configure:3705: checking for login in -lutil" >&5 ac_lib_var=`echo util'_'login | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3701,7 +3709,7 @@ ac_save_LIBS="$LIBS" LIBS="-lutil $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3741,12 +3749,12 @@ for ac_func in vhangup do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3745: checking for $ac_func" >&5 +echo "configure:3753: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3799,12 +3807,12 @@ for ac_func in setsid do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3803: checking for $ac_func" >&5 +echo "configure:3811: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3856,12 +3864,12 @@ for ac_func in gettimeofday times getrusage ftruncate revoke makeutx do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3860: checking for $ac_func" >&5 +echo "configure:3868: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3911,12 +3919,12 @@ for ac_func in strchr memcpy setlogin openpty _getpty clock fchmod ulimit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3915: checking for $ac_func" >&5 +echo "configure:3923: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3966,12 +3974,12 @@ for ac_func in gethostname getdtablesize umask innetgr initgroups setpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3970: checking for $ac_func" >&5 +echo "configure:3978: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4021,12 +4029,12 @@ for ac_func in setpgid daemon waitpid do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4025: checking for $ac_func" >&5 +echo "configure:4033: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4077,12 +4085,12 @@ for ac_func in strerror memmove remove random putenv crypt socketpair do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4081: checking for $ac_func" >&5 +echo "configure:4089: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4133,7 +4141,7 @@ echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:4137: checking whether ln -s works" >&5 +echo "configure:4145: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4164,7 +4172,7 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:4168: checking for a BSD compatible install" >&5 +echo "configure:4176: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4216,7 +4224,7 @@ # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4220: checking for $ac_word" >&5 +echo "configure:4228: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4246,7 +4254,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4250: checking for $ac_word" >&5 +echo "configure:4258: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4280,7 +4288,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4284: checking for $ac_word" >&5 +echo "configure:4292: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEDEP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4315,7 +4323,7 @@ # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:4319: checking for X" >&5 +echo "configure:4327: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4377,12 +4385,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4386: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4394: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4451,14 +4459,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -4564,17 +4572,17 @@ case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:4568: checking whether -R must be followed by a space" >&5 +echo "configure:4576: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else @@ -4590,14 +4598,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else @@ -4629,7 +4637,7 @@ # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4633: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4641: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4637,7 +4645,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4670,7 +4678,7 @@ if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:4674: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4682: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4678,7 +4686,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4718,12 +4726,12 @@ # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:4722: checking for gethostbyname" >&5 +echo "configure:4730: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -4767,7 +4775,7 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4771: checking for gethostbyname in -lnsl" >&5 +echo "configure:4779: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4775,7 +4783,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4816,12 +4824,12 @@ # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:4820: checking for connect" >&5 +echo "configure:4828: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -4865,7 +4873,7 @@ if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:4869: checking for connect in -lsocket" >&5 +echo "configure:4877: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4873,7 +4881,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4908,12 +4916,12 @@ # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:4912: checking for remove" >&5 +echo "configure:4920: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -4957,7 +4965,7 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:4961: checking for remove in -lposix" >&5 +echo "configure:4969: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4965,7 +4973,7 @@ ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5000,12 +5008,12 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:5004: checking for shmat" >&5 +echo "configure:5012: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -5049,7 +5057,7 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:5053: checking for shmat in -lipc" >&5 +echo "configure:5061: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5057,7 +5065,7 @@ ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5101,7 +5109,7 @@ # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:5105: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:5113: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5109,7 +5117,7 @@ ac_save_LIBS="$LIBS" LIBS="-lICE $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5148,7 +5156,7 @@ # Extract the first word of "xauth", so it can be a program name with args. set dummy xauth; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5152: checking for $ac_word" >&5 +echo "configure:5160: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XAUTH_PATH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5198,7 +5206,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5202: checking for $ac_word" >&5 +echo "configure:5210: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5239,12 +5247,12 @@ for ac_func in getpseudotty do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5243: checking for $ac_func" >&5 +echo "configure:5251: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5292,7 +5300,7 @@ done echo $ac_n "checking for pseudo ttys""... $ac_c" 1>&6 -echo "configure:5296: checking for pseudo ttys" >&5 +echo "configure:5304: checking for pseudo ttys" >&5 if test -c /dev/getpty && test $ac_cv_func_getpseudotty = yes then cat >> confdefs.h <<\EOF @@ -5332,7 +5340,7 @@ fi echo $ac_n "checking for /etc/default/login""... $ac_c" 1>&6 -echo "configure:5336: checking for /etc/default/login" >&5 +echo "configure:5344: checking for /etc/default/login" >&5 if test -f /etc/default/login; then cat >> confdefs.h <<\EOF #define HAVE_ETC_DEFAULT_LOGIN 1 @@ -5345,7 +5353,7 @@ if test -z "$no_shadows_password_checking"; then echo $ac_n "checking for shadow passwords""... $ac_c" 1>&6 -echo "configure:5349: checking for shadow passwords" >&5 +echo "configure:5357: checking for shadow passwords" >&5 if test -f /etc/shadow; then # If we don't have shadow.h, this might be some nonstandard # kludging... So better check it out. @@ -5359,7 +5367,7 @@ # have getspent in a system library. However, a libshadow.a library # contaning these is publicly available. echo $ac_n "checking for getspent in -lshadow""... $ac_c" 1>&6 -echo "configure:5363: checking for getspent in -lshadow" >&5 +echo "configure:5371: checking for getspent in -lshadow" >&5 ac_lib_var=`echo shadow'_'getspent | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5367,7 +5375,7 @@ ac_save_LIBS="$LIBS" LIBS="-lshadow $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5406,9 +5414,9 @@ fi echo $ac_n "checking whether spwd have sp_expire field""... $ac_c" 1>&6 -echo "configure:5410: checking whether spwd have sp_expire field" >&5 +echo "configure:5418: checking whether spwd have sp_expire field" >&5 cat > conftest.$ac_ext < EOF @@ -5427,9 +5435,9 @@ rm -f conftest* echo $ac_n "checking whether spwd have sp_inact field""... $ac_c" 1>&6 -echo "configure:5431: checking whether spwd have sp_inact field" >&5 +echo "configure:5439: checking whether spwd have sp_inact field" >&5 cat > conftest.$ac_ext < EOF @@ -5468,7 +5476,7 @@ fi echo $ac_n "checking location of mail spool files""... $ac_c" 1>&6 -echo "configure:5472: checking location of mail spool files" >&5 +echo "configure:5480: checking location of mail spool files" >&5 for dir in /var/spool/mail /var/mail /usr/spool/mail /usr/mail FILE do if test "$dir" = "FILE"; then @@ -5507,7 +5515,7 @@ done echo $ac_n "checking location of utmp""... $ac_c" 1>&6 -echo "configure:5511: checking location of utmp" >&5 +echo "configure:5519: checking location of utmp" >&5 if test -f /var/run/utmp; then cat >> confdefs.h <<\EOF #define SSH_UTMP "/var/run/utmp" @@ -5543,7 +5551,7 @@ fi echo $ac_n "checking location of wtmp""... $ac_c" 1>&6 -echo "configure:5547: checking location of wtmp" >&5 +echo "configure:5555: checking location of wtmp" >&5 if test -f /var/log/wtmp; then cat >> confdefs.h <<\EOF #define SSH_WTMP "/var/log/wtmp" @@ -5577,7 +5585,7 @@ fi echo $ac_n "checking location of lastlog""... $ac_c" 1>&6 -echo "configure:5581: checking location of lastlog" >&5 +echo "configure:5589: checking location of lastlog" >&5 if test -f /var/log/lastlog || test -d /var/log/lastlog; then cat >> confdefs.h <<\EOF #define SSH_LASTLOG "/var/log/lastlog" @@ -5632,7 +5640,7 @@ fi echo $ac_n "checking whether $LASTLOG is a directory""... $ac_c" 1>&6 -echo "configure:5636: checking whether $LASTLOG is a directory" >&5 +echo "configure:5644: checking whether $LASTLOG is a directory" >&5 if test -d $LASTLOG then echo "$ac_t""yes" 1>&6 @@ -5645,7 +5653,7 @@ fi echo $ac_n "checking whether to include the IDEA encryption algorithm""... $ac _c" 1>&6 -echo "configure:5649: checking whether to include the IDEA encryption algorith m" >&5 +echo "configure:5657: checking whether to include the IDEA encryption algorith m" >&5 # Check whether --with-idea or --without-idea was given. if test "${with_idea+set}" = set; then withval="$with_idea" @@ -5679,7 +5687,7 @@ echo $ac_n "checking whether to include the Blowfish encryption algorithm""... $ac_c" 1>&6 -echo "configure:5683: checking whether to include the Blowfish encryption algo rithm" >&5 +echo "configure:5691: checking whether to include the Blowfish encryption algo rithm" >&5 # Check whether --with-blowfish or --without-blowfish was given. if test "${with_blowfish+set}" = set; then withval="$with_blowfish" @@ -5706,7 +5714,7 @@ echo $ac_n "checking whether to include the DES encryption algorithm""... $ac_ c" 1>&6 -echo "configure:5710: checking whether to include the DES encryption algorithm " >&5 +echo "configure:5718: checking whether to include the DES encryption algorithm " >&5 # Check whether --with-des or --without-des was given. if test "${with_des+set}" = set; then withval="$with_des" @@ -5729,7 +5737,7 @@ echo $ac_n "checking whether to include the ARCFOUR encryption algorithm""... $ac_c" 1>&6 -echo "configure:5733: checking whether to include the ARCFOUR encryption algor ithm" >&5 +echo "configure:5741: checking whether to include the ARCFOUR encryption algor ithm" >&5 # Check whether --with-arcfour or --without-arcfour was given. if test "${with_arcfour+set}" = set; then withval="$with_arcfour" @@ -5752,7 +5760,7 @@ echo $ac_n "checking whether to include the TSS encryption algorithm""... $ac_ c" 1>&6 -echo "configure:5756: checking whether to include the TSS encryption algorithm " >&5 +echo "configure:5764: checking whether to include the TSS encryption algorithm " >&5 # Check whether --with-tss or --without-tss was given. if test "${with_tss+set}" = set; then withval="$with_tss" @@ -5775,7 +5783,7 @@ echo $ac_n "checking whether to include the none encryption algorithm""... $ac _c" 1>&6 -echo "configure:5779: checking whether to include the none encryption algorith m" >&5 +echo "configure:5787: checking whether to include the none encryption algorith m" >&5 # Check whether --with-none or --without-none was given. if test "${with_none+set}" = set; then withval="$with_none" @@ -5798,7 +5806,7 @@ echo $ac_n "checking whether to use login""... $ac_c" 1>&6 -echo "configure:5802: checking whether to use login" >&5 +echo "configure:5810: checking whether to use login" >&5 # Check whether --with-login or --without-login was given. if test "${with_login+set}" = set; then withval="$with_login" @@ -5813,7 +5821,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5817: checking for $ac_word" >&5 +echo "configure:5825: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PATH_LOGIN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5872,7 +5880,7 @@ echo $ac_n "checking whether to use rsh""... $ac_c" 1>&6 -echo "configure:5876: checking whether to use rsh" >&5 +echo "configure:5884: checking whether to use rsh" >&5 # Check whether --with-rsh or --without-rsh was given. if test "${with_rsh+set}" = set; then withval="$with_rsh" @@ -5887,7 +5895,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5891: checking for $ac_word" >&5 +echo "configure:5899: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_RSH_PATH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5939,7 +5947,7 @@ # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5943: checking for $ac_word" >&5 +echo "configure:5951: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_RSH_PATH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5988,7 +5996,7 @@ # Code to permit setting default path for users (alden@math.ohio-state.edu) echo $ac_n "checking default path""... $ac_c" 1>&6 -echo "configure:5992: checking default path" >&5 +echo "configure:6000: checking default path" >&5 # Check whether --with-path or --without-path was given. if test "${with_path+set}" = set; then withval="$with_path" @@ -6011,7 +6019,7 @@ echo $ac_n "checking etcdir""... $ac_c" 1>&6 -echo "configure:6015: checking etcdir" >&5 +echo "configure:6023: checking etcdir" >&5 # Check whether --with-etcdir or --without-etcdir was given. if test "${with_etcdir+set}" = set; then withval="$with_etcdir" @@ -6036,7 +6044,7 @@ echo $ac_n "checking whether to support SecurID""... $ac_c" 1>&6 -echo "configure:6040: checking whether to support SecurID" >&5 +echo "configure:6048: checking whether to support SecurID" >&5 # Check whether --with-securid or --without-securid was given. if test "${with_securid+set}" = set; then withval="$with_securid" @@ -6079,7 +6087,7 @@ echo $ac_n "checking whether to support TIS authentication server""... $ac_c" 1>&6 -echo "configure:6083: checking whether to support TIS authentication server" > &5 +echo "configure:6091: checking whether to support TIS authentication server" > &5 # Check whether --with-tis or --without-tis was given. if test "${with_tis+set}" = set; then withval="$with_tis" @@ -6108,7 +6116,7 @@ echo $ac_n "checking whether to use Kerberos""... $ac_c" 1>&6 -echo "configure:6112: checking whether to use Kerberos" >&5 +echo "configure:6120: checking whether to use Kerberos" >&5 # Check whether --with-kerberos5 or --without-kerberos5 was given. if test "${with_kerberos5+set}" = set; then withval="$with_kerberos5" @@ -6140,7 +6148,7 @@ KERBEROS_INCS="-I${KERBEROS_ROOT}/include" KERBEROS_LIBS="-L${KERBEROS_ROOT}/lib -lkrb5 -lcrypto -lcom_err" echo $ac_n "checking for dbm_open in -lndbm""... $ac_c" 1>&6 -echo "configure:6144: checking for dbm_open in -lndbm" >&5 +echo "configure:6152: checking for dbm_open in -lndbm" >&5 ac_lib_var=`echo ndbm'_'dbm_open | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6148,7 +6156,7 @@ ac_save_LIBS="$LIBS" LIBS="-lndbm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6188,7 +6196,7 @@ echo $ac_n "checking whether to enable passing the Kerberos TGT""... $ac_c" 1> &6 -echo "configure:6192: checking whether to enable passing the Kerberos TGT" >&5 +echo "configure:6200: checking whether to enable passing the Kerberos TGT" >&5 # Check whether --enable-kerberos-tgt-passing or --disable-kerberos-tgt-passin g was given. if test "${enable_kerberos_tgt_passing+set}" = set; then enableval="$enable_kerberos_tgt_passing" @@ -6216,7 +6224,7 @@ echo $ac_n "checking whether to use libwrap""... $ac_c" 1>&6 -echo "configure:6220: checking whether to use libwrap" >&5 +echo "configure:6228: checking whether to use libwrap" >&5 # Check whether --with-libwrap or --without-libwrap was given. if test "${with_libwrap+set}" = set; then withval="$with_libwrap" @@ -6227,7 +6235,7 @@ yes) echo "$ac_t""yes" 1>&6 echo $ac_n "checking for request_init in -lwrap""... $ac_c" 1>&6 -echo "configure:6231: checking for request_init in -lwrap" >&5 +echo "configure:6239: checking for request_init in -lwrap" >&5 ac_lib_var=`echo wrap'_'request_init | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6235,7 +6243,7 @@ ac_save_LIBS="$LIBS" LIBS="-lwrap $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6290,14 +6298,14 @@ OLDLIBS="$LIBS" LIBS="$WRAPLIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6309: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then : else echo "configure: failed program was:" >&5 @@ -6318,7 +6326,7 @@ echo $ac_n "checking whether to support SOCKS""... $ac_c" 1>&6 -echo "configure:6322: checking whether to support SOCKS" >&5 +echo "configure:6330: checking whether to support SOCKS" >&5 # Check whether --with-socks or --without-socks was given. if test "${with_socks+set}" = set; then withval="$with_socks" @@ -6329,7 +6337,7 @@ yes) echo "$ac_t""yes" 1>&6 echo $ac_n "checking for SOCKSconnect in -lsocks5""... $ac_c" 1>&6 -echo "configure:6333: checking for SOCKSconnect in -lsocks5" >&5 +echo "configure:6341: checking for SOCKSconnect in -lsocks5" >&5 ac_lib_var=`echo socks5'_'SOCKSconnect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6337,7 +6345,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocks5 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6370,7 +6378,7 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for Rconnect in -lsocks""... $ac_c" 1>&6 -echo "configure:6374: checking for Rconnect in -lsocks" >&5 +echo "configure:6382: checking for Rconnect in -lsocks" >&5 ac_lib_var=`echo socks'_'Rconnect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6378,7 +6386,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocks $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6401: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6425,7 +6433,7 @@ if test "x$socks" = "x"; then echo $ac_n "checking whether to support SOCKS5""... $ac_c" 1>&6 -echo "configure:6429: checking whether to support SOCKS5" >&5 +echo "configure:6437: checking whether to support SOCKS5" >&5 # Check whether --with-socks5 or --without-socks5 was given. if test "${with_socks5+set}" = set; then withval="$with_socks5" @@ -6445,14 +6453,14 @@ fi LIBS="$withval $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then : else echo "configure: failed program was:" >&5 @@ -6472,7 +6480,7 @@ if test "x$socks" = "x"; then echo $ac_n "checking whether to support SOCKS4""... $ac_c" 1>&6 -echo "configure:6476: checking whether to support SOCKS4" >&5 +echo "configure:6484: checking whether to support SOCKS4" >&5 # Check whether --with-socks4 or --without-socks4 was given. if test "${with_socks4+set}" = set; then withval="$with_socks4" @@ -6492,14 +6500,14 @@ fi LIBS="$withval $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then : else echo "configure: failed program was:" >&5 @@ -6626,7 +6634,7 @@ fi echo $ac_n "checking whether to use rsaref""... $ac_c" 1>&6 -echo "configure:6630: checking whether to use rsaref" >&5 +echo "configure:6638: checking whether to use rsaref" >&5 # Check whether --with-rsaref or --without-rsaref was given. if test "${with_rsaref+set}" = set; then withval="$with_rsaref" @@ -6660,7 +6668,7 @@ # This allows group writeability in userfile_check_owner_permissions() echo $ac_n "checking whether to allow group writeability""... $ac_c" 1>&6 -echo "configure:6664: checking whether to allow group writeability" >&5 +echo "configure:6672: checking whether to allow group writeability" >&5 # Check whether --enable-group-writeability or --disable-group-writeability wa s given. if test "${enable_group_writeability+set}" = set; then enableval="$enable_group_writeability" @@ -6676,7 +6684,7 @@ echo $ac_n "checking whether to disable forwardings in server""... $ac_c" 1>&6 -echo "configure:6680: checking whether to disable forwardings in server" >&5 +echo "configure:6688: checking whether to disable forwardings in server" >&5 # Check whether --enable-server-port-forwardings or --disable-server-port-forw ardings was given. if test "${enable_server_port_forwardings+set}" = set; then enableval="$enable_server_port_forwardings" @@ -6698,7 +6706,7 @@ echo $ac_n "checking whether to disable forwardings in client""... $ac_c" 1>&6 -echo "configure:6702: checking whether to disable forwardings in client" >&5 +echo "configure:6710: checking whether to disable forwardings in client" >&5 # Check whether --enable-client-port-forwardings or --disable-client-port-forw ardings was given. if test "${enable_client_port_forwardings+set}" = set; then enableval="$enable_client_port_forwardings" @@ -6720,7 +6728,7 @@ echo $ac_n "checking whether to disable X11 forwarding in server""... $ac_c" 1 >&6 -echo "configure:6724: checking whether to disable X11 forwarding in server" >& 5 +echo "configure:6732: checking whether to disable X11 forwarding in server" >& 5 # Check whether --enable-server-x11-forwarding or --disable-server-x11-forward ing was given. if test "${enable_server_x11_forwarding+set}" = set; then enableval="$enable_server_x11_forwarding" @@ -6742,7 +6750,7 @@ echo $ac_n "checking whether to disable X11 forwarding in client""... $ac_c" 1 >&6 -echo "configure:6746: checking whether to disable X11 forwarding in client" >& 5 +echo "configure:6754: checking whether to disable X11 forwarding in client" >& 5 # Check whether --enable-client-x11-forwarding or --disable-client-x11-forward ing was given. if test "${enable_client_x11_forwarding+set}" = set; then enableval="$enable_client_x11_forwarding" @@ -6764,7 +6772,7 @@ echo $ac_n "checking whether to install ssh as suid root""... $ac_c" 1>&6 -echo "configure:6768: checking whether to install ssh as suid root" >&5 +echo "configure:6776: checking whether to install ssh as suid root" >&5 # Check whether --enable-suid-ssh or --disable-suid-ssh was given. if test "${enable_suid_ssh+set}" = set; then enableval="$enable_suid_ssh" @@ -6795,7 +6803,7 @@ PIDDIR="/var/run" echo $ac_n "checking where to put sshd.pid""... $ac_c" 1>&6 -echo "configure:6799: checking where to put sshd.pid" >&5 +echo "configure:6807: checking where to put sshd.pid" >&5 if test '!' -d $PIDDIR; then PIDDIR="$ETCDIR" fi diff -u --recursive ssh-1.2.21.stock/configure.in ssh-1.2.21/configure.in --- ssh-1.2.21.stock/configure.in Thu Aug 21 20:28:43 1997 +++ ssh-1.2.21/configure.in Mon Sep 8 23:57:44 1997 @@ -17,6 +17,10 @@ # Fixed AC_MSG_RESULT messages when disabling idea in commercial # version. # +# Revision 1.46a 1997/06/06 18:40:00 jonchen +# Added support for PAM +# +# # Revision 1.46 1997/04/22 23:59:59 kivinen # Fixed SIGINFO check. # Added check that getpseudotty function exists before using. @@ -667,6 +671,11 @@ AC_CHECK_SIZEOF(long,4) AC_CHECK_SIZEOF(int,4) AC_CHECK_SIZEOF(short,2) + +if test -f /usr/include/security/pam_appl.h; then + AC_DEFINE(HAVE_PAM) + LIBS="$LIBS -lpam -ldl" +fi if test -z "$no_termios"; then AC_CHECK_HEADERS(termios.h) diff -u --recursive ssh-1.2.21.stock/sshd.c ssh-1.2.21/sshd.c --- ssh-1.2.21.stock/sshd.c Thu Aug 21 20:28:37 1997 +++ ssh-1.2.21/sshd.c Mon Sep 8 23:58:30 1997 @@ -29,6 +29,10 @@ * feature. Added {Allow,Deny}Users feature from Steve Kann * . * + * Revision 1.42a 1997/06/06 18:40:00 jonchen + * Added support for PAM + * + * * Revision 1.42 1997/04/23 00:05:35 kivinen * Added ifdefs around password expiration and inactivity checks, * because some systems dont have sp_expire and sp_inact fields. @@ -441,6 +445,14 @@ char *ticket = "none\0"; #endif /* KERBEROS */ +#ifdef HAVE_PAM +#include +struct pam_handle_t *pamh=NULL; +char *pampasswd=NULL; +int retval; +int origretval; +#endif /* HAVE_PAM */ + /* Server configuration options. */ ServerOptions options; @@ -528,7 +540,56 @@ void do_child(const char *command, struct passwd *pw, const char *term, const char *display, const char *auth_proto, const char *auth_data, const char *ttyname); +#ifdef HAVE_PAM +static int pamconv (int num_msg, + const struct pam_message **msg, + struct pam_response **resp, + void *appdata_ptr) { + int count = 0, replies = 0; + struct pam_response *reply = NULL; + int size = sizeof(struct pam_response); + + for (count = 0; count < num_msg; count++) { + switch (msg[count]->msg_style) { + case PAM_PROMPT_ECHO_ON: + case PAM_PROMPT_ECHO_OFF: + if (reply) + realloc(reply, size); + else + reply = malloc(size); + if (!reply) return PAM_CONV_ERR; + size += sizeof(struct pam_response); + reply[replies].resp_retcode = PAM_SUCCESS; + reply[replies++].resp = xstrdup (pampasswd); + /* PAM frees resp */ + break; + case PAM_TEXT_INFO: + /* ignore it... */ + break; + case PAM_ERROR_MSG: + default: + /* Must be an error of some sort... */ + free (reply); + return PAM_CONV_ERR; + } + } + if (reply) *resp = reply; + return PAM_SUCCESS; +} + +static struct pam_conv conv = { + pamconv, + NULL +}; + +void pam_cleanup_proc (void *context) { + if (retval == PAM_SUCCESS) + retval = pam_close_session ((pam_handle_t *)pamh, 0); + if (pam_end ((pam_handle_t *)pamh, retval) != PAM_SUCCESS) + log_msg ("Cannot release PAM authentication."); +} +#endif /* HAVE_PAM */ /* Signal handler for SIGHUP. Sshd execs itself when it receives SIGHUP; the effect is to reread the configuration file (and to regenerate @@ -1235,6 +1296,13 @@ /* The connection has been terminated. */ log_msg("Closing connection to %.100s", get_remote_ipaddr()); +#ifdef HAVE_PAM + if (retval == PAM_SUCCESS) + retval = pam_close_session ((pam_handle_t *)pamh, 0); + if (pam_end ((pam_handle_t *)pamh, retval) != PAM_SUCCESS) + log_msg ("Cannot release PAM authentication."); + fatal_remove_cleanup (&pam_cleanup_proc, NULL); +#endif /* HAVE_PAM */ packet_close(); exit(0); } @@ -1752,7 +1820,13 @@ with any characters that are commonly used to start NIS entries. */ pw = getpwnam(user); if (!pw || user[0] == '-' || user[0] == '+' || user[0] == '@' || - !login_permitted(user, pw)) + !login_permitted(user, pw) +#ifdef HAVE_PAM + || ((retval=pam_start("ssh", pw->pw_name, &conv, (pam_handle_t **)&pamh) ), + (fatal_add_cleanup (&pam_cleanup_proc, NULL)), + (origretval = retval), (retval != PAM_SUCCESS)) +#endif /* HAVE_PAM */ + ) do_authentication_fail_loop(); /* Take a copy of the returned structure. */ @@ -1778,6 +1852,7 @@ packet_disconnect("Cannot change user when server not running as root."); debug("Attempting authentication for %.100s.", user); + #if defined (KERBEROS) && defined (KRB5) if (!options.kerberos_authentication && options.password_authentication && diff -u --recursive ssh-1.2.21.stock/pamconfig.ssh ssh-1.2.21/pamconfig.ssh --- ssh-1.2.21.stock/pamconfig.ssh Fri Aug 22 16:31:48 1997 +++ ssh-1.2.21/pamconfig.ssh Fri Aug 22 16:30:45 1997 @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth required /lib/security/pam_pwdb.so shadow nullok +auth required /lib/security/pam_nologin.so +account required /lib/security/pam_pwdb.so +session required /lib/security/pam_pwdb.so +session required /lib/security/pam_limits.so --- ssh-1.2.21.stock/sshd.init Tue Sep 9 02:03:33 1997 +++ ssh-1.2.21/sshd.init Tue Sep 9 01:26:35 1997 @@ -0,0 +1,40 @@ +#!/bin/sh +# +# sshd This shell script takes care of starting and stopping +# sshd. +# + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Check that networking is up. +[ ${NETWORKING} = "no" ] && exit 0 + +[ -f /usr/sbin/sshd ] || exit 0 + +# See how we were called. +case "$1" in + start) + # Start daemons. + echo -n "Starting sshd: " + daemon /usr/sbin/sshd + echo + touch /var/lock/subsys/sshd + ;; + stop) + # Stop daemons. + echo -n "Shutting down sshd: " + killproc sshd + echo + rm -f /var/lock/subsys/sshd + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 +esac + +exit 0 + .