summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2000-04-10 11:09:42 +0000
committerkris <kris@FreeBSD.org>2000-04-10 11:09:42 +0000
commitaee7d5e2d9b6409777977e7e84bb592b3ec3bd30 (patch)
tree2a4ae68749c83823fce59d928ca92442a2879aa0
parent5bec5470a59d584c74e9b1d1a9790293fb566048 (diff)
downloadFreeBSD-src-aee7d5e2d9b6409777977e7e84bb592b3ec3bd30.zip
FreeBSD-src-aee7d5e2d9b6409777977e7e84bb592b3ec3bd30.tar.gz
Upgrade to OPIE 2.32, from http://www.inner.net/pub/opie/
-rw-r--r--contrib/opie/BUG-REPORT13
-rw-r--r--contrib/opie/INSTALL2
-rw-r--r--contrib/opie/Makefile.in2
-rw-r--r--contrib/opie/README28
-rw-r--r--contrib/opie/acconfig.h2
-rw-r--r--contrib/opie/config.h.in3
-rwxr-xr-xcontrib/opie/configure510
-rw-r--r--contrib/opie/configure.in32
-rw-r--r--contrib/opie/ftpcmd.y2
-rw-r--r--contrib/opie/glob.c5
-rw-r--r--contrib/opie/libmissing/Makefile.in2
-rw-r--r--contrib/opie/libmissing/endutent.c2
-rw-r--r--contrib/opie/libmissing/getutline.c8
-rw-r--r--contrib/opie/libmissing/pututline.c6
-rw-r--r--contrib/opie/libmissing/setutent.c2
-rw-r--r--contrib/opie/libopie/Makefile.in2
-rw-r--r--contrib/opie/libopie/accessfile.c2
-rw-r--r--contrib/opie/libopie/atob8.c2
-rw-r--r--contrib/opie/libopie/btoa8.c2
-rw-r--r--contrib/opie/libopie/btoe.c2
-rw-r--r--contrib/opie/libopie/btoh.c2
-rw-r--r--contrib/opie/libopie/challenge.c6
-rw-r--r--contrib/opie/libopie/generator.c32
-rw-r--r--contrib/opie/libopie/getsequence.c2
-rw-r--r--contrib/opie/libopie/getutmpentry.c2
-rw-r--r--contrib/opie/libopie/hash.c2
-rw-r--r--contrib/opie/libopie/hashlen.c2
-rw-r--r--contrib/opie/libopie/insecure.c56
-rw-r--r--contrib/opie/libopie/keycrunch.c2
-rw-r--r--contrib/opie/libopie/lock.c2
-rw-r--r--contrib/opie/libopie/login.c2
-rw-r--r--contrib/opie/libopie/logwtmp.c18
-rw-r--r--contrib/opie/libopie/lookup.c2
-rw-r--r--contrib/opie/libopie/md4c.c2
-rw-r--r--contrib/opie/libopie/md5c.c2
-rw-r--r--contrib/opie/libopie/newseed.c12
-rw-r--r--contrib/opie/libopie/open.c2
-rw-r--r--contrib/opie/libopie/parsechallenge.c16
-rw-r--r--contrib/opie/libopie/passcheck.c2
-rw-r--r--contrib/opie/libopie/passwd.c14
-rw-r--r--contrib/opie/libopie/randomchallenge.c8
-rw-r--r--contrib/opie/libopie/readpass.c2
-rw-r--r--contrib/opie/libopie/readrec.c12
-rw-r--r--contrib/opie/libopie/unlock.c2
-rw-r--r--contrib/opie/libopie/verify.c21
-rw-r--r--contrib/opie/libopie/version.c2
-rw-r--r--contrib/opie/libopie/writerec.c2
-rw-r--r--contrib/opie/opie.42
-rw-r--r--contrib/opie/opie.h9
-rw-r--r--contrib/opie/opie_cfg.h9
-rw-r--r--contrib/opie/opieftpd.c5
-rw-r--r--contrib/opie/opiegen.12
-rw-r--r--contrib/opie/opiegen.c2
-rw-r--r--contrib/opie/opieinfo.12
-rw-r--r--contrib/opie/opieinfo.c2
-rw-r--r--contrib/opie/opiekey.12
-rw-r--r--contrib/opie/opiekey.c4
-rw-r--r--contrib/opie/opiekeys.58
-rw-r--r--contrib/opie/opielogin.12
-rw-r--r--contrib/opie/opielogin.c210
-rw-r--r--contrib/opie/opiepasswd.12
-rw-r--r--contrib/opie/opiepasswd.c18
-rw-r--r--contrib/opie/opieserv.12
-rw-r--r--contrib/opie/opieserv.c2
-rw-r--r--contrib/opie/opiesu.12
-rw-r--r--contrib/opie/opiesu.c11
-rw-r--r--contrib/opie/opietest.c2
-rw-r--r--contrib/opie/permsfile.c2
-rw-r--r--contrib/opie/popen.c2
69 files changed, 631 insertions, 529 deletions
diff --git a/contrib/opie/BUG-REPORT b/contrib/opie/BUG-REPORT
index 655d0b4..5373871 100644
--- a/contrib/opie/BUG-REPORT
+++ b/contrib/opie/BUG-REPORT
@@ -1,6 +1,9 @@
-OPIE Software Distribution, Release 2.31 Bug Reporting Form
+OPIE Software Distribution, Release 2.32 Bug Reporting Form
======================================== ==================
+ Before submitting a bug report, please check the README file and make
+sure that your "bug" is not a known problem.
+
Please make a copy of this file and then edit it with your favorite
text editor to include the answers to the following questions:
@@ -8,9 +11,9 @@ text editor to include the answers to the following questions:
If you can provide multiple addresses, please do so in case we
are unable to reply to the first one.
-2. Your exact operating system vendor, name, and version number.
- Please be more specific than "UNIX" -- most vendors have a name
- for their particular flavor of UNIX.
+2. Your exact operating system vendor, name, and version number. If available,
+ please provide the output of "uname -a" and/or the version of your C
+ runtime library. Please be more specific than "UNIX".
3. The exact hardware the system was installed upon.
@@ -73,7 +76,7 @@ Copyright
=========
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/INSTALL b/contrib/opie/INSTALL
index 3ed3e4c..71f0afb 100644
--- a/contrib/opie/INSTALL
+++ b/contrib/opie/INSTALL
@@ -75,7 +75,7 @@ Copyright
=========
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/Makefile.in b/contrib/opie/Makefile.in
index 562a613..926ff42 100644
--- a/contrib/opie/Makefile.in
+++ b/contrib/opie/Makefile.in
@@ -2,7 +2,7 @@
# Makefile.source and Makefile: Directions for building and installing OPIE.
#
# %%% portions-copyright-cmetz-96
-# Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+# Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
# Reserved. The Inner Net License Version 2 applies to these portions of
# the software.
# You should have received a copy of the license with this software. If
diff --git a/contrib/opie/README b/contrib/opie/README
index 28ce401..dcc46a9 100644
--- a/contrib/opie/README
+++ b/contrib/opie/README
@@ -1,4 +1,4 @@
-OPIE Software Distribution, Release 2.31 Important Information
+OPIE Software Distribution, Release 2.32 Important Information
======================================== =====================
Introduction
@@ -75,6 +75,13 @@ original Bellcore S/Key(tm) Version 1 software:
A Glance at What's New
======================
+ 2.32 January 1, 1998.
+
+ Indicate support for extended responses in challenges and check for
+ such indication before generating any extended responses.
+
+ Lots of portability and bug fixes.
+
2.31 March 20, 1997.
Removed active attack protection support due to patent problems.
@@ -225,6 +232,10 @@ it easier to coordinate bug hunting.
Gotchas
=======
+ Solaris 2.x is just a lose. It does a lot of nonstandard and downright
+broken things. If you want OPIE to be reliable on your box, upgrade to NetBSD
+or Linux.
+
While an almost universal "feature", most people remain unaware that
an intruder can log into a system, then log in again by running the "login"
command from a shell. Because the second login is from the local host, the
@@ -324,9 +335,7 @@ and reasonable getty sources (try sunsite.unc.edu:/pub/Linux/system/Serial, at
least one of agetty, mingetty, and getty_ps should work) and replacing the
Solaris versions with these. OPIE should work *much* more happily with these
programs than the ones that come with Solaris. However, there could be negative
-side effects -- this is not a procedure recommended for the faint of heart. An
-even more drastic solution more likely to make OPIE happy is to install Linux
-or NetBSD on your box ;)
+side effects -- this is not a procedure recommended for the faint of heart.
OPIE is a lot more fussy than it used to be about lock files and where
it puts them. The lock file directory must be a directory used only for OPIE
@@ -387,22 +396,31 @@ community effort. These contributors include:
Mowgli Assor
Lawrie Brown
Andrew Davis
+ Dennis Glatting
+ Ben Golding
Axel Grewe
"Hobbit"
Kojima Hajime
Darren Hosking
+ Matt Hucke
+ Charles Karney
+ Jeff Kletsky
Martijn Koster
Osamu Kurati
Ayamura Kikuchi
+ Ronald van der Meer
Hiroshi Nakano
Ikuo Nakagawa
Angelo Neri
C. R. Oldham
D. Jason Penney
John Perkins
+ Steve Price
Jim Simmons
+ Steve Simmons
Brad Smith
Werner Wiethege
+ Ken-ichi Yamasaki
Wietse Venema
OPIE development at NRL was sponsored by the Information Security
@@ -427,7 +445,7 @@ trademarked by anyone.
Copyrights
==========
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/acconfig.h b/contrib/opie/acconfig.h
index 4c6c61c..f22ca38 100644
--- a/contrib/opie/acconfig.h
+++ b/contrib/opie/acconfig.h
@@ -1,7 +1,7 @@
/* acconfig.h: Extra commentary for Autoheader
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/config.h.in b/contrib/opie/config.h.in
index 2d101a5..7f8fe40 100644
--- a/contrib/opie/config.h.in
+++ b/contrib/opie/config.h.in
@@ -176,9 +176,6 @@
/* Defined if su should not switch to disabled accounts */
#undef SU_STAR_CHECK
-/* Defined if user locking is to be used */
-#undef USER_LOCKING
-
/* Define if you have the bcopy function. */
#undef HAVE_BCOPY
diff --git a/contrib/opie/configure b/contrib/opie/configure
index 04bc30a..d69b16d 100755
--- a/contrib/opie/configure
+++ b/contrib/opie/configure
@@ -569,35 +569,29 @@ EOF
fi
-set do_user_locking=1;
# Check whether --enable-user-locking or --disable-user-locking was given.
if test "${enable_user_locking+set}" = set; then
enableval="$enable_user_locking"
:
-else
- set do_user_locking=0
fi
-if $do_user_locking;
+if test "$enable_user_locking" != no;
then
- cat >> confdefs.h <<\EOF
-#define USER_LOCKING 1
-EOF
-
if test -z "$enable_user_locking"
then
cat >> confdefs.h <<\EOF
#define OPIE_LOCK_DIR "/etc/opielocks"
EOF
+ LOCK_DIR="/etc/opielocks"
else
cat >> confdefs.h <<EOF
#define OPIE_LOCK_DIR "$enable_user_locking"
EOF
+ LOCK_DIR="$enable_user_locking"
fi
fi
-LOCK_DIR="$enable_user_locking"
# Check whether --enable-retype or --disable-retype was given.
@@ -669,7 +663,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:673: checking for $ac_word" >&5
+echo "configure:667: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -698,7 +692,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:702: checking for $ac_word" >&5
+echo "configure:696: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -746,7 +740,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:750: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:744: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -756,11 +750,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 760 "configure"
+#line 754 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -780,12 +774,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:784: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:778: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:789: checking whether we are using GNU C" >&5
+echo "configure:783: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -794,7 +788,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:798: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:792: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -809,7 +803,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:813: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:807: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -837,7 +831,7 @@ else
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:841: checking how to run the C preprocessor" >&5
+echo "configure:835: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -852,13 +846,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 856 "configure"
+#line 850 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:862: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -869,13 +863,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 873 "configure"
+#line 867 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
@@ -898,7 +892,7 @@ fi
echo "$ac_t""$CPP" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:902: checking whether ln -s works" >&5
+echo "configure:896: 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
@@ -921,7 +915,7 @@ fi
# 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:925: checking for $ac_word" >&5
+echo "configure:919: 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
@@ -952,7 +946,7 @@ do
# 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:956: checking for $ac_word" >&5
+echo "configure:950: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -983,9 +977,9 @@ test -n "$YACC" || YACC="yacc"
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:987: checking for AIX" >&5
+echo "configure:981: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 989 "configure"
+#line 983 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
@@ -1007,7 +1001,7 @@ rm -f conftest*
echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1011: checking for POSIXized ISC" >&5
+echo "configure:1005: checking for POSIXized ISC" >&5
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
@@ -1029,17 +1023,17 @@ fi
ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
-echo "configure:1033: checking for minix/config.h" >&5
+echo "configure:1027: checking for minix/config.h" >&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
-#line 1038 "configure"
+#line 1032 "configure"
#include "confdefs.h"
#include <minix/config.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1043: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1037: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -1081,7 +1075,7 @@ fi
# Extract the first word of "chown", so it can be a program name with args.
set dummy chown; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1085: checking for $ac_word" >&5
+echo "configure:1079: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CHOWN'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1114,7 +1108,7 @@ fi
# Extract the first word of "su", so it can be a program name with args.
set dummy su; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1118: checking for $ac_word" >&5
+echo "configure:1112: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SU'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1146,7 +1140,7 @@ fi
# Extract the first word of "su", so it can be a program name with args.
set dummy su; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1150: checking for $ac_word" >&5
+echo "configure:1144: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_ALT_SU'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1178,7 +1172,7 @@ fi
# Extract the first word of "scheme", so it can be a program name with args.
set dummy scheme; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1182: checking for $ac_word" >&5
+echo "configure:1176: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SCHEME'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1209,7 +1203,7 @@ fi
# Extract the first word of "login", so it can be a program name with args.
set dummy login; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1213: checking for $ac_word" >&5
+echo "configure:1207: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_LOGIN'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1247,7 +1241,7 @@ fi
# Extract the first word of "ftpd", so it can be a program name with args.
set dummy ftpd; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1251: checking for $ac_word" >&5
+echo "configure:1245: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_FTPD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1278,7 +1272,7 @@ fi
# Extract the first word of "in.ftpd", so it can be a program name with args.
set dummy in.ftpd; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1282: checking for $ac_word" >&5
+echo "configure:1276: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_INFTPD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1316,7 +1310,7 @@ then
fi
echo $ac_n "checking for default PATH entries""... $ac_c" 1>&6
-echo "configure:1320: checking for default PATH entries" >&5
+echo "configure:1314: checking for default PATH entries" >&5
default_path=""
save_IFS="$IFS"
IFS=" "
@@ -1347,7 +1341,7 @@ EOF
echo "$ac_t""$default_path" 1>&6
echo $ac_n "checking for test -e flag""... $ac_c" 1>&6
-echo "configure:1351: checking for test -e flag" >&5
+echo "configure:1345: checking for test -e flag" >&5
if sh config.testeflag
then
result=yes
@@ -1360,7 +1354,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking for mkdir -p flag""... $ac_c" 1>&6
-echo "configure:1364: checking for mkdir -p flag" >&5
+echo "configure:1358: checking for mkdir -p flag" >&5
if test -d config.tmpdir
then
rmdir config.tmpdir/foo/bar >/dev/null 2>/dev/null
@@ -1396,7 +1390,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking for ls group field""... $ac_c" 1>&6
-echo "configure:1400: checking for ls group field" >&5
+echo "configure:1394: checking for ls group field" >&5
lsg=`/bin/ls -ldg / | wc -w | awk '{print $1}'`;
ls=`/bin/ls -ld / | wc -w | awk '{print $1}'`;
result="no"
@@ -1416,7 +1410,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking for /etc/default/login""... $ac_c" 1>&6
-echo "configure:1420: checking for /etc/default/login" >&5
+echo "configure:1414: checking for /etc/default/login" >&5
if test $EXISTS /etc/default/login
then
result=yes
@@ -1430,7 +1424,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking for /etc/securetty""... $ac_c" 1>&6
-echo "configure:1434: checking for /etc/securetty" >&5
+echo "configure:1428: checking for /etc/securetty" >&5
if test $EXISTS /etc/securetty
then
result=yes
@@ -1444,7 +1438,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking for /etc/logindevperm""... $ac_c" 1>&6
-echo "configure:1448: checking for /etc/logindevperm" >&5
+echo "configure:1442: checking for /etc/logindevperm" >&5
if test $EXISTS /etc/logindevperm
then
echo "$ac_t""yes" 1>&6
@@ -1456,7 +1450,7 @@ else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for /etc/fbtab""... $ac_c" 1>&6
-echo "configure:1460: checking for /etc/fbtab" >&5
+echo "configure:1454: checking for /etc/fbtab" >&5
if test $EXISTS /etc/fbtab
then
result=yes
@@ -1471,7 +1465,7 @@ EOF
fi
echo $ac_n "checking for /etc/environment""... $ac_c" 1>&6
-echo "configure:1475: checking for /etc/environment" >&5
+echo "configure:1469: checking for /etc/environment" >&5
if test $EXISTS /etc/environment
then
echo "$ac_t""yes" 1>&6
@@ -1483,7 +1477,7 @@ else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for /etc/src.sh""... $ac_c" 1>&6
-echo "configure:1487: checking for /etc/src.sh" >&5
+echo "configure:1481: checking for /etc/src.sh" >&5
if test $EXISTS /etc/src.sh
then
result=yes
@@ -1498,7 +1492,7 @@ EOF
fi
echo $ac_n "checking for /etc/shadow""... $ac_c" 1>&6
-echo "configure:1502: checking for /etc/shadow" >&5
+echo "configure:1496: checking for /etc/shadow" >&5
if test $EXISTS /etc/shadow
then
result=yes
@@ -1510,7 +1504,7 @@ else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for /etc/security/passwd.adjunct""... $ac_c" 1>&6
-echo "configure:1514: checking for /etc/security/passwd.adjunct" >&5
+echo "configure:1508: checking for /etc/security/passwd.adjunct" >&5
if test $EXISTS /etc/security/passwd.adjunct
then
result=yes
@@ -1526,7 +1520,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking for /var/adm/sulog""... $ac_c" 1>&6
-echo "configure:1530: checking for /var/adm/sulog" >&5
+echo "configure:1524: checking for /var/adm/sulog" >&5
if test $EXISTS /var/adm/sulog
then
result=yes
@@ -1540,7 +1534,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking mail spool location""... $ac_c" 1>&6
-echo "configure:1544: checking mail spool location" >&5
+echo "configure:1538: checking mail spool location" >&5
mail_spool=""
for i in /var/mail /usr/mail /var/spool/mail /usr/spool/mail
do
@@ -1562,7 +1556,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking where your system puts the utmp file""... $ac_c" 1>&6
-echo "configure:1566: checking where your system puts the utmp file" >&5
+echo "configure:1560: checking where your system puts the utmp file" >&5
utmp_path=""
for i in /var/run /var/adm /usr/adm /etc
do
@@ -1584,7 +1578,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking where your system puts the utmpx file""... $ac_c" 1>&6
-echo "configure:1588: checking where your system puts the utmpx file" >&5
+echo "configure:1582: checking where your system puts the utmpx file" >&5
utmp_path=""
for i in /var/run /var/adm /usr/adm /etc
do
@@ -1604,7 +1598,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking where your system puts the wtmp file""... $ac_c" 1>&6
-echo "configure:1608: checking where your system puts the wtmp file" >&5
+echo "configure:1602: checking where your system puts the wtmp file" >&5
wtmp_path=""
for i in /var/run /var/log /var/adm /usr/adm /etc
do
@@ -1626,7 +1620,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking where your system puts the wtmpx file""... $ac_c" 1>&6
-echo "configure:1630: checking where your system puts the wtmpx file" >&5
+echo "configure:1624: checking where your system puts the wtmpx file" >&5
wtmpx_path=""
for i in /var/run /var/log /var/adm /usr/adm /etc
do
@@ -1648,7 +1642,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking whether the system profile displays the motd""... $ac_c" 1>&6
-echo "configure:1652: checking whether the system profile displays the motd" >&5
+echo "configure:1646: checking whether the system profile displays the motd" >&5
result=no
if test $EXISTS /etc/profile
then
@@ -1667,7 +1661,7 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking whether the system profile checks for mail""... $ac_c" 1>&6
-echo "configure:1671: checking whether the system profile checks for mail" >&5
+echo "configure:1665: checking whether the system profile checks for mail" >&5
result=no
if test $EXISTS /etc/profile
then
@@ -1686,12 +1680,12 @@ fi
echo "$ac_t""$result" 1>&6
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1690: checking for working const" >&5
+echo "configure:1684: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1695 "configure"
+#line 1689 "configure"
#include "confdefs.h"
int main() {
@@ -1740,7 +1734,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:1744: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1738: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -1762,16 +1756,16 @@ fi
echo $ac_n "checking to see if your compiler can handle void arguments""... $ac_c" 1>&6
-echo "configure:1766: checking to see if your compiler can handle void arguments" >&5
+echo "configure:1760: checking to see if your compiler can handle void arguments" >&5
cat > conftest.$ac_ext <<EOF
-#line 1768 "configure"
+#line 1762 "configure"
#include "confdefs.h"
foo(void) { }
int main() {
; return 0; }
EOF
-if { (eval echo configure:1775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_VOIDARG 1
@@ -1786,16 +1780,16 @@ fi
rm -f conftest*
echo $ac_n "checking to see if your compiler can handle void return values""... $ac_c" 1>&6
-echo "configure:1790: checking to see if your compiler can handle void return values" >&5
+echo "configure:1784: checking to see if your compiler can handle void return values" >&5
cat > conftest.$ac_ext <<EOF
-#line 1792 "configure"
+#line 1786 "configure"
#include "confdefs.h"
void foo() { }
int main() {
; return 0; }
EOF
-if { (eval echo configure:1799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1793: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_VOIDRET 1
@@ -1810,16 +1804,16 @@ fi
rm -f conftest*
echo $ac_n "checking to see if your compiler can handle void pointers""... $ac_c" 1>&6
-echo "configure:1814: checking to see if your compiler can handle void pointers" >&5
+echo "configure:1808: checking to see if your compiler can handle void pointers" >&5
cat > conftest.$ac_ext <<EOF
-#line 1816 "configure"
+#line 1810 "configure"
#include "confdefs.h"
foo() { void *bar = (void *)0x42; bar = bar + 1; }
int main() {
; return 0; }
EOF
-if { (eval echo configure:1823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_VOIDPTR 1
@@ -1834,16 +1828,16 @@ fi
rm -f conftest*
echo $ac_n "checking to see if your compiler can handle ANSI argument lists""... $ac_c" 1>&6
-echo "configure:1838: checking to see if your compiler can handle ANSI argument lists" >&5
+echo "configure:1832: checking to see if your compiler can handle ANSI argument lists" >&5
cat > conftest.$ac_ext <<EOF
-#line 1840 "configure"
+#line 1834 "configure"
#include "confdefs.h"
int foo(int bar, int baz) { return 0; }
int main() {
; return 0; }
EOF
-if { (eval echo configure:1847: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1841: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_ANSIDECL 1
@@ -1858,16 +1852,16 @@ fi
rm -f conftest*
echo $ac_n "checking to see if your compiler can handle ANSI prototypes""... $ac_c" 1>&6
-echo "configure:1862: checking to see if your compiler can handle ANSI prototypes" >&5
+echo "configure:1856: checking to see if your compiler can handle ANSI prototypes" >&5
cat > conftest.$ac_ext <<EOF
-#line 1864 "configure"
+#line 1858 "configure"
#include "confdefs.h"
extern int foo(int, int);
int main() {
; return 0; }
EOF
-if { (eval echo configure:1871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1865: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_ANSIPROTO 1
@@ -1882,9 +1876,9 @@ fi
rm -f conftest*
echo $ac_n "checking to see if your compiler can handle ANSI variable arguments""... $ac_c" 1>&6
-echo "configure:1886: checking to see if your compiler can handle ANSI variable arguments" >&5
+echo "configure:1880: checking to see if your compiler can handle ANSI variable arguments" >&5
cat > conftest.$ac_ext <<EOF
-#line 1888 "configure"
+#line 1882 "configure"
#include "confdefs.h"
#include <stdarg.h>
int foo(int arg, ...) {
@@ -1897,7 +1891,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1895: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_ANSISTDARG 1
@@ -1912,12 +1906,12 @@ fi
rm -f conftest*
echo $ac_n "checking to see if you have an ANSI-style sprintf""... $ac_c" 1>&6
-echo "configure:1916: checking to see if you have an ANSI-style sprintf" >&5
+echo "configure:1910: checking to see if you have an ANSI-style sprintf" >&5
if test "$cross_compiling" = yes; then
echo "$ac_t""no" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1921 "configure"
+#line 1915 "configure"
#include "confdefs.h"
#include <stdio.h>
int main(argc, argv)
@@ -1930,7 +1924,7 @@ char *argv[];
return (i == 6) ? 0 : -1;
}
EOF
-if { (eval echo configure:1934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
cat >> confdefs.h <<\EOF
#define HAVE_ANSISPRINTF 1
@@ -1947,7 +1941,7 @@ fi
echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:1951: checking for crypt in -lcrypt" >&5
+echo "configure:1945: 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
@@ -1955,7 +1949,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lcrypt $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1959 "configure"
+#line 1953 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1966,7 +1960,7 @@ int main() {
crypt()
; return 0; }
EOF
-if { (eval echo configure:1970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1964: \"$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
@@ -1994,7 +1988,7 @@ else
fi
echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:1998: checking for gethostname in -lnsl" >&5
+echo "configure:1992: checking for gethostname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2002,7 +1996,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2006 "configure"
+#line 2000 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2013,7 +2007,7 @@ int main() {
gethostname()
; return 0; }
EOF
-if { (eval echo configure:2017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2011: \"$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
@@ -2041,7 +2035,7 @@ else
fi
echo $ac_n "checking for main in -lposix""... $ac_c" 1>&6
-echo "configure:2045: checking for main in -lposix" >&5
+echo "configure:2039: checking for main in -lposix" >&5
ac_lib_var=`echo posix'_'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
@@ -2049,14 +2043,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2053 "configure"
+#line 2047 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:2060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2054: \"$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
@@ -2084,7 +2078,7 @@ else
fi
echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2088: checking for socket in -lsocket" >&5
+echo "configure:2082: 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
@@ -2092,7 +2086,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2096 "configure"
+#line 2090 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2103,7 +2097,7 @@ int main() {
socket()
; return 0; }
EOF
-if { (eval echo configure:2107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2101: \"$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
@@ -2136,12 +2130,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
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:2140: checking for $ac_hdr that defines DIR" >&5
+echo "configure:2134: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2145 "configure"
+#line 2139 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
@@ -2149,7 +2143,7 @@ int main() {
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:2153: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
@@ -2174,7 +2168,7 @@ done
# 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:2178: checking for opendir in -ldir" >&5
+echo "configure:2172: 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
@@ -2182,7 +2176,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2186 "configure"
+#line 2180 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2193,7 +2187,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:2197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2191: \"$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
@@ -2215,7 +2209,7 @@ fi
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:2219: checking for opendir in -lx" >&5
+echo "configure:2213: 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
@@ -2223,7 +2217,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2227 "configure"
+#line 2221 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2234,7 +2228,7 @@ int main() {
opendir()
; return 0; }
EOF
-if { (eval echo configure:2238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2232: \"$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
@@ -2257,12 +2251,12 @@ fi
fi
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:2261: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:2255: 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 <<EOF
-#line 2266 "configure"
+#line 2260 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -2278,7 +2272,7 @@ wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:2282: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -2302,17 +2296,17 @@ for ac_hdr in crypt.h fcntl.h limits.h termios.h sys/file.h sys/ioctl.h sys/time
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2306: checking for $ac_hdr" >&5
+echo "configure:2300: 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
-#line 2311 "configure"
+#line 2305 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2316: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@@ -2341,9 +2335,9 @@ done
echo $ac_n "checking for ut_pid in struct utmp""... $ac_c" 1>&6
-echo "configure:2345: checking for ut_pid in struct utmp" >&5
+echo "configure:2339: checking for ut_pid in struct utmp" >&5
cat > conftest.$ac_ext <<EOF
-#line 2347 "configure"
+#line 2341 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <utmp.h>
@@ -2351,7 +2345,7 @@ int main() {
struct utmp foo; return (int)foo.ut_pid;
; return 0; }
EOF
-if { (eval echo configure:2355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2349: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_UT_PID 1
@@ -2365,9 +2359,9 @@ else
fi
rm -f conftest*
echo $ac_n "checking for ut_type in struct utmp""... $ac_c" 1>&6
-echo "configure:2369: checking for ut_type in struct utmp" >&5
+echo "configure:2363: checking for ut_type in struct utmp" >&5
cat > conftest.$ac_ext <<EOF
-#line 2371 "configure"
+#line 2365 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <utmp.h>
@@ -2375,7 +2369,7 @@ int main() {
struct utmp foo; return (int)foo.ut_type;
; return 0; }
EOF
-if { (eval echo configure:2379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_UT_TYPE 1
@@ -2389,9 +2383,9 @@ else
fi
rm -f conftest*
echo $ac_n "checking for ut_name in struct utmp""... $ac_c" 1>&6
-echo "configure:2393: checking for ut_name in struct utmp" >&5
+echo "configure:2387: checking for ut_name in struct utmp" >&5
cat > conftest.$ac_ext <<EOF
-#line 2395 "configure"
+#line 2389 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <utmp.h>
@@ -2399,7 +2393,7 @@ int main() {
struct utmp foo; return (int)foo.ut_name[0];
; return 0; }
EOF
-if { (eval echo configure:2403: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_UT_NAME 1
@@ -2412,18 +2406,38 @@ else
echo "$ac_t""no" 1>&6
fi
rm -f conftest*
-cat >> confdefs.h <<\EOF
+echo $ac_n "checking for ut_host in struct utmp""... $ac_c" 1>&6
+echo "configure:2411: checking for ut_host in struct utmp" >&5
+cat > conftest.$ac_ext <<EOF
+#line 2413 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <utmp.h>
+int main() {
+struct utmp foo; return (int)foo.ut_host[0];
+; return 0; }
+EOF
+if { (eval echo configure:2421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
#define HAVE_UT_HOST 1
EOF
-
+ echo "$ac_t""yes" 1>&6
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+fi
+rm -f conftest*
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:2422: checking return type of signal handlers" >&5
+echo "configure:2436: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2427 "configure"
+#line 2441 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -2440,7 +2454,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:2444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -2461,12 +2475,12 @@ EOF
for ac_func in gettimeofday socket strftime strstr setpriority getttynam setvbuf getspnam endspent setgroups getgroups fpurge setlogin lstat getutxline pututxline usleep
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2465: checking for $ac_func" >&5
+echo "configure:2479: 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 <<EOF
-#line 2470 "configure"
+#line 2484 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2489,7 +2503,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2507: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2515,7 +2529,7 @@ done
echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2519: checking for 8-bit clean memcmp" >&5
+echo "configure:2533: checking for 8-bit clean memcmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2523,7 +2537,7 @@ else
ac_cv_func_memcmp_clean=no
else
cat > conftest.$ac_ext <<EOF
-#line 2527 "configure"
+#line 2541 "configure"
#include "confdefs.h"
main()
@@ -2533,7 +2547,7 @@ main()
}
EOF
-if { (eval echo configure:2537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_func_memcmp_clean=yes
else
@@ -2553,19 +2567,19 @@ test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:2557: checking for working alloca.h" >&5
+echo "configure:2571: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2562 "configure"
+#line 2576 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:2569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
@@ -2586,12 +2600,12 @@ EOF
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:2590: checking for alloca" >&5
+echo "configure:2604: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2595 "configure"
+#line 2609 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -2614,7 +2628,7 @@ int main() {
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:2618: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
@@ -2646,12 +2660,12 @@ EOF
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:2650: checking whether alloca needs Cray hooks" >&5
+echo "configure:2664: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2655 "configure"
+#line 2669 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -2676,12 +2690,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2680: checking for $ac_func" >&5
+echo "configure:2694: 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 <<EOF
-#line 2685 "configure"
+#line 2699 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2704,7 +2718,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2731,7 +2745,7 @@ done
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:2735: checking stack direction for C alloca" >&5
+echo "configure:2749: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2739,7 +2753,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 2743 "configure"
+#line 2757 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -2758,7 +2772,7 @@ main ()
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:2762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
@@ -2782,12 +2796,12 @@ fi
for ac_func in getusershell sigaddset sigemptyset strerror strncasecmp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2786: checking for $ac_func" >&5
+echo "configure:2800: 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 <<EOF
-#line 2791 "configure"
+#line 2805 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2810,7 +2824,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2838,12 +2852,12 @@ done
MISSING="$LIBOBJS $ALLOCA " ;
echo $ac_n "checking for atexit""... $ac_c" 1>&6
-echo "configure:2842: checking for atexit" >&5
+echo "configure:2856: checking for atexit" >&5
if eval "test \"`echo '$''{'ac_cv_func_atexit'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2847 "configure"
+#line 2861 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char atexit(); below. */
@@ -2866,7 +2880,7 @@ atexit();
; return 0; }
EOF
-if { (eval echo configure:2870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_atexit=yes"
else
@@ -2886,12 +2900,12 @@ else
MISSING="${MISSING}atexit.o "; for ac_func in on_exit
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2890: checking for $ac_func" >&5
+echo "configure:2904: 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 <<EOF
-#line 2895 "configure"
+#line 2909 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2914,7 +2928,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2941,12 +2955,12 @@ done
fi
echo $ac_n "checking for endutent""... $ac_c" 1>&6
-echo "configure:2945: checking for endutent" >&5
+echo "configure:2959: checking for endutent" >&5
if eval "test \"`echo '$''{'ac_cv_func_endutent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2950 "configure"
+#line 2964 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char endutent(); below. */
@@ -2969,7 +2983,7 @@ endutent();
; return 0; }
EOF
-if { (eval echo configure:2973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_endutent=yes"
else
@@ -2990,12 +3004,12 @@ MISSING="${MISSING}endutent.o "
fi
echo $ac_n "checking for memcpy""... $ac_c" 1>&6
-echo "configure:2994: checking for memcpy" >&5
+echo "configure:3008: checking for memcpy" >&5
if eval "test \"`echo '$''{'ac_cv_func_memcpy'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2999 "configure"
+#line 3013 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char memcpy(); below. */
@@ -3018,7 +3032,7 @@ memcpy();
; return 0; }
EOF
-if { (eval echo configure:3022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_memcpy=yes"
else
@@ -3038,12 +3052,12 @@ else
MISSING="${MISSING}memcpy.o "; for ac_func in bcopy
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3042: checking for $ac_func" >&5
+echo "configure:3056: 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 <<EOF
-#line 3047 "configure"
+#line 3061 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3066,7 +3080,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3093,12 +3107,12 @@ done
fi
echo $ac_n "checking for memset""... $ac_c" 1>&6
-echo "configure:3097: checking for memset" >&5
+echo "configure:3111: checking for memset" >&5
if eval "test \"`echo '$''{'ac_cv_func_memset'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3102 "configure"
+#line 3116 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char memset(); below. */
@@ -3121,7 +3135,7 @@ memset();
; return 0; }
EOF
-if { (eval echo configure:3125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_memset=yes"
else
@@ -3141,12 +3155,12 @@ else
MISSING="${MISSING}memset.o "; for ac_func in bzero
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3145: checking for $ac_func" >&5
+echo "configure:3159: 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 <<EOF
-#line 3150 "configure"
+#line 3164 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3169,7 +3183,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3196,12 +3210,12 @@ done
fi
echo $ac_n "checking for getcwd""... $ac_c" 1>&6
-echo "configure:3200: checking for getcwd" >&5
+echo "configure:3214: checking for getcwd" >&5
if eval "test \"`echo '$''{'ac_cv_func_getcwd'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3205 "configure"
+#line 3219 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getcwd(); below. */
@@ -3224,7 +3238,7 @@ getcwd();
; return 0; }
EOF
-if { (eval echo configure:3228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_getcwd=yes"
else
@@ -3244,12 +3258,12 @@ else
MISSING="${MISSING}getcwd.o "; for ac_func in getwd
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3248: checking for $ac_func" >&5
+echo "configure:3262: 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 <<EOF
-#line 3253 "configure"
+#line 3267 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3272,7 +3286,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3299,12 +3313,12 @@ done
fi
echo $ac_n "checking for getenv""... $ac_c" 1>&6
-echo "configure:3303: checking for getenv" >&5
+echo "configure:3317: checking for getenv" >&5
if eval "test \"`echo '$''{'ac_cv_func_getenv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3308 "configure"
+#line 3322 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getenv(); below. */
@@ -3327,7 +3341,7 @@ getenv();
; return 0; }
EOF
-if { (eval echo configure:3331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_getenv=yes"
else
@@ -3351,12 +3365,12 @@ MISSING="${MISSING}env.o "
fi
echo $ac_n "checking for getutline""... $ac_c" 1>&6
-echo "configure:3355: checking for getutline" >&5
+echo "configure:3369: checking for getutline" >&5
if eval "test \"`echo '$''{'ac_cv_func_getutline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3360 "configure"
+#line 3374 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getutline(); below. */
@@ -3379,7 +3393,7 @@ getutline();
; return 0; }
EOF
-if { (eval echo configure:3383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_getutline=yes"
else
@@ -3402,12 +3416,12 @@ else
MISSING="${MISSING}getutline.o "; for ac_func in ttyslot
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3406: checking for $ac_func" >&5
+echo "configure:3420: 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 <<EOF
-#line 3411 "configure"
+#line 3425 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3430,7 +3444,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3457,12 +3471,12 @@ done
fi
echo $ac_n "checking for pututline""... $ac_c" 1>&6
-echo "configure:3461: checking for pututline" >&5
+echo "configure:3475: checking for pututline" >&5
if eval "test \"`echo '$''{'ac_cv_func_pututline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3466 "configure"
+#line 3480 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char pututline(); below. */
@@ -3485,7 +3499,7 @@ pututline();
; return 0; }
EOF
-if { (eval echo configure:3489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_pututline=yes"
else
@@ -3505,12 +3519,12 @@ else
MISSING="${MISSING}pututline.o "; for ac_func in ttyslot
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3509: checking for $ac_func" >&5
+echo "configure:3523: 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 <<EOF
-#line 3514 "configure"
+#line 3528 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3533,7 +3547,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3560,12 +3574,12 @@ done
fi
echo $ac_n "checking for setenv""... $ac_c" 1>&6
-echo "configure:3564: checking for setenv" >&5
+echo "configure:3578: checking for setenv" >&5
if eval "test \"`echo '$''{'ac_cv_func_setenv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3569 "configure"
+#line 3583 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setenv(); below. */
@@ -3588,7 +3602,7 @@ setenv();
; return 0; }
EOF
-if { (eval echo configure:3592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_setenv=yes"
else
@@ -3612,12 +3626,12 @@ MISSING="${MISSING}env.o "
fi
echo $ac_n "checking for setegid""... $ac_c" 1>&6
-echo "configure:3616: checking for setegid" >&5
+echo "configure:3630: checking for setegid" >&5
if eval "test \"`echo '$''{'ac_cv_func_setegid'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3621 "configure"
+#line 3635 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setegid(); below. */
@@ -3640,7 +3654,7 @@ setegid();
; return 0; }
EOF
-if { (eval echo configure:3644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_setegid=yes"
else
@@ -3660,12 +3674,12 @@ else
MISSING="${MISSING}setegid.o "; for ac_func in setregid setresgid
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3664: checking for $ac_func" >&5
+echo "configure:3678: 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 <<EOF
-#line 3669 "configure"
+#line 3683 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3688,7 +3702,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3715,12 +3729,12 @@ done
fi
echo $ac_n "checking for seteuid""... $ac_c" 1>&6
-echo "configure:3719: checking for seteuid" >&5
+echo "configure:3733: checking for seteuid" >&5
if eval "test \"`echo '$''{'ac_cv_func_seteuid'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3724 "configure"
+#line 3738 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char seteuid(); below. */
@@ -3743,7 +3757,7 @@ seteuid();
; return 0; }
EOF
-if { (eval echo configure:3747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_seteuid=yes"
else
@@ -3763,12 +3777,12 @@ else
MISSING="${MISSING}seteuid.o "; for ac_func in setreuid setresuid
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3767: checking for $ac_func" >&5
+echo "configure:3781: 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 <<EOF
-#line 3772 "configure"
+#line 3786 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3791,7 +3805,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3818,12 +3832,12 @@ done
fi
echo $ac_n "checking for setutent""... $ac_c" 1>&6
-echo "configure:3822: checking for setutent" >&5
+echo "configure:3836: checking for setutent" >&5
if eval "test \"`echo '$''{'ac_cv_func_setutent'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3827 "configure"
+#line 3841 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char setutent(); below. */
@@ -3846,7 +3860,7 @@ setutent();
; return 0; }
EOF
-if { (eval echo configure:3850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_setutent=yes"
else
@@ -3867,12 +3881,12 @@ MISSING="${MISSING}setutent.o "
fi
echo $ac_n "checking for sigprocmask""... $ac_c" 1>&6
-echo "configure:3871: checking for sigprocmask" >&5
+echo "configure:3885: checking for sigprocmask" >&5
if eval "test \"`echo '$''{'ac_cv_func_sigprocmask'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3876 "configure"
+#line 3890 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sigprocmask(); below. */
@@ -3895,7 +3909,7 @@ sigprocmask();
; return 0; }
EOF
-if { (eval echo configure:3899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_sigprocmask=yes"
else
@@ -3915,12 +3929,12 @@ else
MISSING="${MISSING}sigprocmask.o "; for ac_func in sigblock sigsetmask
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3919: checking for $ac_func" >&5
+echo "configure:3933: 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 <<EOF
-#line 3924 "configure"
+#line 3938 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3943,7 +3957,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3970,12 +3984,12 @@ done
fi
echo $ac_n "checking for strchr""... $ac_c" 1>&6
-echo "configure:3974: checking for strchr" >&5
+echo "configure:3988: checking for strchr" >&5
if eval "test \"`echo '$''{'ac_cv_func_strchr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3979 "configure"
+#line 3993 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strchr(); below. */
@@ -3998,7 +4012,7 @@ strchr();
; return 0; }
EOF
-if { (eval echo configure:4002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_strchr=yes"
else
@@ -4018,12 +4032,12 @@ else
MISSING="${MISSING}strchr.o "; for ac_func in index
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4022: checking for $ac_func" >&5
+echo "configure:4036: 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 <<EOF
-#line 4027 "configure"
+#line 4041 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4046,7 +4060,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4073,12 +4087,12 @@ done
fi
echo $ac_n "checking for strrchr""... $ac_c" 1>&6
-echo "configure:4077: checking for strrchr" >&5
+echo "configure:4091: checking for strrchr" >&5
if eval "test \"`echo '$''{'ac_cv_func_strrchr'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4082 "configure"
+#line 4096 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strrchr(); below. */
@@ -4101,7 +4115,7 @@ strrchr();
; return 0; }
EOF
-if { (eval echo configure:4105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_strrchr=yes"
else
@@ -4121,12 +4135,12 @@ else
MISSING="${MISSING}strrchr.o "; for ac_func in rindex
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4125: checking for $ac_func" >&5
+echo "configure:4139: 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 <<EOF
-#line 4130 "configure"
+#line 4144 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4149,7 +4163,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4176,12 +4190,12 @@ done
fi
echo $ac_n "checking for strtoul""... $ac_c" 1>&6
-echo "configure:4180: checking for strtoul" >&5
+echo "configure:4194: checking for strtoul" >&5
if eval "test \"`echo '$''{'ac_cv_func_strtoul'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4185 "configure"
+#line 4199 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strtoul(); below. */
@@ -4204,7 +4218,7 @@ strtoul();
; return 0; }
EOF
-if { (eval echo configure:4208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_strtoul=yes"
else
@@ -4225,12 +4239,12 @@ MISSING="${MISSING}strtoul.o "
fi
echo $ac_n "checking for sysconf""... $ac_c" 1>&6
-echo "configure:4229: checking for sysconf" >&5
+echo "configure:4243: checking for sysconf" >&5
if eval "test \"`echo '$''{'ac_cv_func_sysconf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4234 "configure"
+#line 4248 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sysconf(); below. */
@@ -4253,7 +4267,7 @@ sysconf();
; return 0; }
EOF
-if { (eval echo configure:4257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_sysconf=yes"
else
@@ -4273,12 +4287,12 @@ else
MISSING="${MISSING}sysconf.o "; for ac_func in getdtablesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4277: checking for $ac_func" >&5
+echo "configure:4291: 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 <<EOF
-#line 4282 "configure"
+#line 4296 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4301,7 +4315,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4328,12 +4342,12 @@ done
fi
echo $ac_n "checking for uname""... $ac_c" 1>&6
-echo "configure:4332: checking for uname" >&5
+echo "configure:4346: checking for uname" >&5
if eval "test \"`echo '$''{'ac_cv_func_uname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4337 "configure"
+#line 4351 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char uname(); below. */
@@ -4356,7 +4370,7 @@ uname();
; return 0; }
EOF
-if { (eval echo configure:4360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_uname=yes"
else
@@ -4376,12 +4390,12 @@ else
MISSING="${MISSING}uname.o "; for ac_func in gethostname
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4380: checking for $ac_func" >&5
+echo "configure:4394: 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 <<EOF
-#line 4385 "configure"
+#line 4399 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4404,7 +4418,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4431,12 +4445,12 @@ done
fi
echo $ac_n "checking for unsetenv""... $ac_c" 1>&6
-echo "configure:4435: checking for unsetenv" >&5
+echo "configure:4449: checking for unsetenv" >&5
if eval "test \"`echo '$''{'ac_cv_func_unsetenv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4440 "configure"
+#line 4454 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char unsetenv(); below. */
@@ -4459,7 +4473,7 @@ unsetenv();
; return 0; }
EOF
-if { (eval echo configure:4463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_unsetenv=yes"
else
@@ -4485,9 +4499,9 @@ fi
echo $ac_n "checking for nonstandard gettimeofday""... $ac_c" 1>&6
-echo "configure:4489: checking for nonstandard gettimeofday" >&5
+echo "configure:4503: checking for nonstandard gettimeofday" >&5
cat > conftest.$ac_ext <<EOF
-#line 4491 "configure"
+#line 4505 "configure"
#include "confdefs.h"
#if HAVE_SYS_TIME_H
@@ -4502,7 +4516,7 @@ struct timeval tv;
gettimeofday(&tv, NULL)
; return 0; }
EOF
-if { (eval echo configure:4506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4520: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
else
@@ -4510,7 +4524,7 @@ else
cat conftest.$ac_ext >&5
rm -rf conftest*
echo "$ac_t""maybe" 1>&6 cat > conftest.$ac_ext <<EOF
-#line 4514 "configure"
+#line 4528 "configure"
#include "confdefs.h"
#if HAVE_SYS_TIME_H
@@ -4525,7 +4539,7 @@ struct timeval tv;
gettimeofday(&tv)
; return 0; }
EOF
-if { (eval echo configure:4529: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define HAVE_ONE_ARG_GETTIMEOFDAY 1
diff --git a/contrib/opie/configure.in b/contrib/opie/configure.in
index 475fd57..6fd7cd4 100644
--- a/contrib/opie/configure.in
+++ b/contrib/opie/configure.in
@@ -1,7 +1,7 @@
dnl configure.in: Input for Autoconf
dnl
dnl %%% portions-copyright-cmetz-96
-dnl Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+dnl Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
dnl Reserved. The Inner Net License Version 2 applies to these portions of
dnl the software.
dnl You should have received a copy of the license with this software. If
@@ -14,6 +14,9 @@ dnl License Agreement applies to this software.
dnl
dnl History:
dnl
+dnl Modified by cmetz for OPIE 2.32. Substitute default for LOCK_DIR.
+dnl Fix the --disable-user-locking bug. AC_DEFINE variables to 1.
+dnl Really check for ut_host.
dnl Modified by cmetz for OPIE 2.31. Put back manual utmp[x]/wtmp[x]
dnl checks -- too many OSs can't be trusted to tell us where they are.
dnl Check for sys/select.h. Spell endutent right. Replace strtoul()
@@ -48,31 +51,30 @@ ACCESS_FILE="$enable_access_file"
AC_SUBST(ACCESS_FILE)
AC_ARG_ENABLE(server-md4, [ --enable-server-md4 Use MD4 instead of MD5 for the server], AC_DEFINE(MDX, 4), AC_DEFINE(MDX, 5))
-set do_user_locking=1;
AC_ARG_ENABLE(user-locking, [ --disable-user-locking Disable user locking
--enable-user-locking[=DIR]
- Put user lock files in DIR [/etc/opielocks]],, set do_user_locking=0)
-if $do_user_locking;
+ Put user lock files in DIR [/etc/opielocks]],,)
+if test "$enable_user_locking" != no;
then
- AC_DEFINE(USER_LOCKING)
if test -z "$enable_user_locking"
then
AC_DEFINE(OPIE_LOCK_DIR, "/etc/opielocks")
+ LOCK_DIR="/etc/opielocks"
else
AC_DEFINE_UNQUOTED(OPIE_LOCK_DIR, "$enable_user_locking")
+ LOCK_DIR="$enable_user_locking"
fi
fi
-LOCK_DIR="$enable_user_locking"
AC_SUBST(LOCK_DIR)
-AC_ARG_ENABLE(retype, [ --enable-retype Ask users to re-type their secret pass phrases], AC_DEFINE(RETYPE))
-AC_ARG_ENABLE(su-star-check, [ --enable-su-star-check Refuse to switch to disabled accounts], AC_DEFINE(SU_STAR_CHECK))
-AC_ARG_ENABLE(new-prompts, [ --disable-new-prompts Use more compatible (but less informative) prompts],, AC_DEFINE(NEW_PROMPTS))
+AC_ARG_ENABLE(retype, [ --enable-retype Ask users to re-type their secret pass phrases], AC_DEFINE(RETYPE, 1))
+AC_ARG_ENABLE(su-star-check, [ --enable-su-star-check Refuse to switch to disabled accounts], AC_DEFINE(SU_STAR_CHECK, 1))
+AC_ARG_ENABLE(new-prompts, [ --disable-new-prompts Use more compatible (but less informative) prompts],, AC_DEFINE(NEW_PROMPTS, 1))
AC_ARG_ENABLE(insecure-override, [ --enable-insecure-override
- Allow users to override insecure checks], AC_DEFINE(INSECURE_OVERRIDE))
-AC_ARG_ENABLE(anonymous-ftp, [ --enable-anonymous-ftp Enable anonymous FTP support], AC_DEFINE(DOANONYMOUS) echo "Enabling anonymous FTP support in ftp -- don't say we didn't warn you!")
-AC_ARG_ENABLE(utmp, [ --disable-utmp Disable utmp logging], AC_DEFINE(DISABLE_UTMP) echo "Disabling utmp logging")
-AC_ARG_ENABLE(wtmp, [ --disable-wtmp Disable wtmp logging], AC_DEFINE(DISABLE_UTMP) echo "Disabling wtmp logging")
+ Allow users to override insecure checks], AC_DEFINE(INSECURE_OVERRIDE, 1))
+AC_ARG_ENABLE(anonymous-ftp, [ --enable-anonymous-ftp Enable anonymous FTP support], AC_DEFINE(DOANONYMOUS, 1) echo "Enabling anonymous FTP support in ftp -- don't say we didn't warn you!")
+AC_ARG_ENABLE(utmp, [ --disable-utmp Disable utmp logging], AC_DEFINE(DISABLE_UTMP, 1) echo "Disabling utmp logging")
+AC_ARG_ENABLE(wtmp, [ --disable-wtmp Disable wtmp logging], AC_DEFINE(DISABLE_UTMP, 1) echo "Disabling wtmp logging")
dnl Checks for programs.
AC_PROG_CC
@@ -479,7 +481,9 @@ AC_TRY_COMPILE([#include <sys/types.h>
dnl AC_MSG_CHECKING(for ut_user in struct utmp)
dnl AC_TRY_COMPILE([#include <sys/types.h>
dnl #include <utmp.h>], [struct utmp foo; return (int)foo.ut_user[0];], AC_DEFINE(HAVE_UT_USER) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
-AC_DEFINE(HAVE_UT_HOST)
+AC_MSG_CHECKING(for ut_host in struct utmp)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <utmp.h>], [struct utmp foo; return (int)foo.ut_host[0];], AC_DEFINE(HAVE_UT_HOST) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
dnl Checks for library functions.
dnl AC_PROG_GCC_TRADITIONAL
diff --git a/contrib/opie/ftpcmd.y b/contrib/opie/ftpcmd.y
index ed1e710..8ade38d 100644
--- a/contrib/opie/ftpcmd.y
+++ b/contrib/opie/ftpcmd.y
@@ -1,7 +1,7 @@
/* ftpcmd.y: yacc parser for the FTP daemon.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/glob.c b/contrib/opie/glob.c
index 58f58f3..8cbe779 100644
--- a/contrib/opie/glob.c
+++ b/contrib/opie/glob.c
@@ -1,7 +1,7 @@
/* glob.c: The csh et al glob pattern matching routines.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
@@ -13,6 +13,8 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Remove include of dirent.h here; it's
+ done already (and conditionally) in opie_cfg.h.
Modified by cmetz for OPIE 2.2. Use FUNCTION declaration et al.
Remove useless strings. Prototype right.
Modified at NRL for OPIE 2.0.
@@ -62,7 +64,6 @@ License Agreement applies to this software.
#endif /* HAVE_SYS_PARAM_H */
#include <sys/stat.h>
-#include <dirent.h>
#if HAVE_PWD_H
#include <pwd.h>
#endif /* HAVE_PWD_H */
diff --git a/contrib/opie/libmissing/Makefile.in b/contrib/opie/libmissing/Makefile.in
index 1e26e64..3da41ed 100644
--- a/contrib/opie/libmissing/Makefile.in
+++ b/contrib/opie/libmissing/Makefile.in
@@ -2,7 +2,7 @@
# Makefile.in/Makefile: Directions for building libmissing.
#
# %%% copyright-cmetz-96
-# This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+# This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
# The Inner Net License Version 2 applies to this software.
# You should have received a copy of the license with this software. If
# you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libmissing/endutent.c b/contrib/opie/libmissing/endutent.c
index 6e86321..0b4bd7a 100644
--- a/contrib/opie/libmissing/endutent.c
+++ b/contrib/opie/libmissing/endutent.c
@@ -1,7 +1,7 @@
/* endutent.c: A replacement for the endutent function
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libmissing/getutline.c b/contrib/opie/libmissing/getutline.c
index 0ceb76b..59df92b 100644
--- a/contrib/opie/libmissing/getutline.c
+++ b/contrib/opie/libmissing/getutline.c
@@ -1,13 +1,15 @@
/* getutline.c: A replacement for the getutline() function
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
History:
+ Modified by cmetz for OPIE 2.32. Fixed check for fread() return
+ value.
Modified by cmetz for OPIE 2.31. If the OS won't tell us where
_PATH_UTMP is, play the SVID game, then use
Autoconf-discovered values.
@@ -41,14 +43,14 @@ struct utmp *getutline FUNCTION((utmp), struct utmp *utmp)
if (i = ttyslot()) {
if (fseek(f, i * sizeof(struct utmp), SEEK_SET) < 0)
goto ret;
- if (fread(&u, sizeof(struct utmp), 1, f) != sizeof(struct utmp))
+ if (fread(&u, sizeof(struct utmp), 1, f) != 1)
goto ret;
fclose(f);
return &u;
}
#endif /* HAVE_TTYSLOT */
- while(fread(&u, sizeof(struct utmp), 1, f) == sizeof(struct utmp)) {
+ while(fread(&u, sizeof(struct utmp), 1, f) == 1) {
if (!strncmp(utmp->ut_line, u.ut_line, sizeof(u.ut_line) - 1)) {
fclose(f);
return &u;
diff --git a/contrib/opie/libmissing/pututline.c b/contrib/opie/libmissing/pututline.c
index 2b79608..93f209b 100644
--- a/contrib/opie/libmissing/pututline.c
+++ b/contrib/opie/libmissing/pututline.c
@@ -1,13 +1,15 @@
/* pututline.c: A replacement for the pututline() function
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
History:
+ Modified by cmetz for OPIE 2.32. Fixed check for fread() return
+ value.
Modified by cmetz for OPIE 2.31. If the OS won't tell us where
_PATH_UTMP is, use Autoconf-discovered values.
Created by cmetz for OPIE 2.3.
@@ -40,7 +42,7 @@ void pututline FUNCTION((utmp), struct utmp *utmp)
}
#endif /* HAVE_TTYSLOT */
- while(fread(&u, sizeof(struct utmp), 1, f) == sizeof(struct utmp)) {
+ while(fread(&u, sizeof(struct utmp), 1, f) == 1) {
if (!strncmp(utmp->ut_line, u.ut_line, sizeof(u.ut_line) - 1)) {
if ((i = ftell(f)) < 0)
goto ret;
diff --git a/contrib/opie/libmissing/setutent.c b/contrib/opie/libmissing/setutent.c
index 740b8f6..ebb98e0 100644
--- a/contrib/opie/libmissing/setutent.c
+++ b/contrib/opie/libmissing/setutent.c
@@ -1,7 +1,7 @@
/* setutent.c: A replacement for the setutent function
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/Makefile.in b/contrib/opie/libopie/Makefile.in
index 17ca829..2b3c96c 100644
--- a/contrib/opie/libopie/Makefile.in
+++ b/contrib/opie/libopie/Makefile.in
@@ -2,7 +2,7 @@
# Makefile.in/Makefile: Directions for building libopie.
#
# %%% copyright-cmetz-96
-# This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+# This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
# The Inner Net License Version 2 applies to this software.
# You should have received a copy of the license with this software. If
# you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/accessfile.c b/contrib/opie/libopie/accessfile.c
index 39e3d82..0fe1d12 100644
--- a/contrib/opie/libopie/accessfile.c
+++ b/contrib/opie/libopie/accessfile.c
@@ -2,7 +2,7 @@
overrides.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/atob8.c b/contrib/opie/libopie/atob8.c
index d548ef9..78a7d43 100644
--- a/contrib/opie/libopie/atob8.c
+++ b/contrib/opie/libopie/atob8.c
@@ -1,7 +1,7 @@
/* atob8.c: The opieatob8() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/btoa8.c b/contrib/opie/libopie/btoa8.c
index 7e53d40..2b3e885 100644
--- a/contrib/opie/libopie/btoa8.c
+++ b/contrib/opie/libopie/btoa8.c
@@ -1,7 +1,7 @@
/* btoa8.c: The opiebtoa8() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/btoe.c b/contrib/opie/libopie/btoe.c
index 7cd7c29..b7ed3cde 100644
--- a/contrib/opie/libopie/btoe.c
+++ b/contrib/opie/libopie/btoe.c
@@ -3,7 +3,7 @@
64 bit OTP.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/btoh.c b/contrib/opie/libopie/btoh.c
index 11e3c5d..c5ed150 100644
--- a/contrib/opie/libopie/btoh.c
+++ b/contrib/opie/libopie/btoh.c
@@ -1,7 +1,7 @@
/* btoh.c: The opiebtoh() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/challenge.c b/contrib/opie/libopie/challenge.c
index a52e5fa..0f3fec5 100644
--- a/contrib/opie/libopie/challenge.c
+++ b/contrib/opie/libopie/challenge.c
@@ -1,7 +1,7 @@
/* challenge.c: The opiechallenge() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,6 +14,8 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Added extended response set
+ identifier to the challenge.
Modified by cmetz for OPIE 2.3. Use opie_ prefix. Send debug info to
syslog. Add sha plumbing.
Modified by cmetz for OPIE 2.2. Use FUNCTION declaration et al.
@@ -68,7 +70,7 @@ int opiechallenge FUNCTION((mp, name, ss), struct opie *mp AND char *name AND ch
opierandomchallenge(ss);
memset(mp, 0, sizeof(*mp));
} else
- sprintf(ss, "otp-%s %d %s", algids[MDX], mp->opie_n - 1, mp->opie_seed);
+ sprintf(ss, "otp-%s %d %s ext", algids[MDX], mp->opie_n - 1, mp->opie_seed);
return rval;
}
diff --git a/contrib/opie/libopie/generator.c b/contrib/opie/libopie/generator.c
index 02167bf..618a131 100644
--- a/contrib/opie/libopie/generator.c
+++ b/contrib/opie/libopie/generator.c
@@ -1,7 +1,7 @@
/* generator.c: The opiegenerator() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -9,15 +9,21 @@ you didn't get a copy, you may request one from <license@inner.net>.
History:
+ Modified by cmetz for OPIE 2.32. If secret=NULL, always return
+ as if opieauto returned "get the secret". Renamed
+ _opieparsechallenge() to __opieparsechallenge(). Check
+ challenge for extended response support and don't send
+ an init-hex response if extended response support isn't
+ indicated in the challenge.
Modified by cmetz for OPIE 2.31. Renamed "init" to "init-hex".
- Removed active attack protection support. Fixed fairly
- bug in how init response was computed (i.e., dead wrong).
+ Removed active attack protection support. Fixed fairly
+ bug in how init response was computed (i.e., dead wrong).
Modified by cmetz for OPIE 2.3. Use _opieparsechallenge(). ifdef
- around string.h. Output hex responses by default, output
- OTP re-init extended responses (same secret) if sequence
- number falls below 10.
+ around string.h. Output hex responses by default, output
+ OTP re-init extended responses (same secret) if sequence
+ number falls below 10.
Modified by cmetz for OPIE 2.2. Use FUNCTION declaration et al.
- Bug fixes.
+ Bug fixes.
Created at NRL for OPIE 2.2.
*/
@@ -36,26 +42,33 @@ int opiegenerator FUNCTION((buffer, secret, response), char *buffer AND char *se
char *seed;
char key[8];
int i;
+ int exts;
if (!(buffer = strstr(buffer, "otp-")))
return 1;
buffer += 4;
- if (_opieparsechallenge(buffer, &algorithm, &sequence, &seed))
+ if (__opieparsechallenge(buffer, &algorithm, &sequence, &seed, &exts))
return 1;
if ((sequence < 2) || (sequence > 9999))
return 1;
+ if (!secret[0])
+ return 2;
+
if (opiepasscheck(secret))
return -2;
if (i = opiekeycrunch(algorithm, key, seed, secret))
return i;
-
if (sequence < 10) {
+ if (!(exts & 1))
+ return 1;
+
+ {
char newseed[OPIE_SEED_MAX + 1];
char newkey[8];
char *c;
@@ -78,6 +91,7 @@ int opiegenerator FUNCTION((buffer, secret, response), char *buffer AND char *se
sprintf(buf, ":%s 499 %s:", algids[algorithm], newseed);
strcat(response, buf);
strcat(response, opiebtoh(buf, newkey));
+ };
} else {
while (sequence-- != 0)
opiehash(key, algorithm);
diff --git a/contrib/opie/libopie/getsequence.c b/contrib/opie/libopie/getsequence.c
index 44a34ce..e6c96c5 100644
--- a/contrib/opie/libopie/getsequence.c
+++ b/contrib/opie/libopie/getsequence.c
@@ -1,7 +1,7 @@
/* getsequence.c: The opiegetsequence() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/getutmpentry.c b/contrib/opie/libopie/getutmpentry.c
index 1c9ed0f..531820e 100644
--- a/contrib/opie/libopie/getutmpentry.c
+++ b/contrib/opie/libopie/getutmpentry.c
@@ -1,7 +1,7 @@
/* getutmpentry.c: The __opiegetutmpentry() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/hash.c b/contrib/opie/libopie/hash.c
index 4b72d6b..ef80a79 100644
--- a/contrib/opie/libopie/hash.c
+++ b/contrib/opie/libopie/hash.c
@@ -1,7 +1,7 @@
/* hash.c: The opiehash() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/hashlen.c b/contrib/opie/libopie/hashlen.c
index f1463d2..1284a7b 100644
--- a/contrib/opie/libopie/hashlen.c
+++ b/contrib/opie/libopie/hashlen.c
@@ -1,7 +1,7 @@
/* hashlen.c: The opiehashlen() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/insecure.c b/contrib/opie/libopie/insecure.c
index 999d6e7..a7fda7b 100644
--- a/contrib/opie/libopie/insecure.c
+++ b/contrib/opie/libopie/insecure.c
@@ -1,7 +1,7 @@
/* insecure.c: The opieinsecure() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -118,34 +118,36 @@ int opieinsecure FUNCTION_NOARGS
};
#if HAVE_UT_HOST
- memset(&utmp, 0, sizeof(struct utmp));
- {
- int i = __opiegetutmpentry(ttyname(0), &utmp);
- endutent();
- if (!i && utmp.ut_host[0]) {
- insecure = 1;
-
- if (s = strchr(utmp.ut_host, ':')) {
- int n = s - utmp.ut_host;
- if (!n)
- insecure = 0;
- else
- if (display_name) {
- if (!strncmp(utmp.ut_host, display_name, n))
- insecure = 0;
+ if (isatty(0)) {
+ memset(&utmp, 0, sizeof(struct utmp));
+ {
+ int i = __opiegetutmpentry(ttyname(0), &utmp);
+ endutent();
+ if (!i && utmp.ut_host[0]) {
+ insecure = 1;
+
+ if (s = strchr(utmp.ut_host, ':')) {
+ int n = s - utmp.ut_host;
+ if (!n)
+ insecure = 0;
+ else
+ if (display_name) {
+ if (!strncmp(utmp.ut_host, display_name, n))
+ insecure = 0;
#ifdef SOLARIS
- else
- if (s = strchr(utmp.ut_host, ' ')) {
- *s = ':';
- if (s = strchr(s + 1, ' '))
- *s = '.';
- if (!strncmp(utmp.ut_host, display_name, n))
- insecure = 0;
- }
+ else
+ if (s = strchr(utmp.ut_host, ' ')) {
+ *s = ':';
+ if (s = strchr(s + 1, ' '))
+ *s = '.';
+ if (!strncmp(utmp.ut_host, display_name, n))
+ insecure = 0;
+ }
#endif /* SOLARIS */
- }
- }
- }
+ }
+ }
+ }
+ };
};
#endif /* HAVE_UT_HOST */
if (insecure)
diff --git a/contrib/opie/libopie/keycrunch.c b/contrib/opie/libopie/keycrunch.c
index fccdc3c..94a1a53 100644
--- a/contrib/opie/libopie/keycrunch.c
+++ b/contrib/opie/libopie/keycrunch.c
@@ -1,7 +1,7 @@
/* keycrunch.c: The opiekeycrunch() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/lock.c b/contrib/opie/libopie/lock.c
index 40999de..fc449d4 100644
--- a/contrib/opie/libopie/lock.c
+++ b/contrib/opie/libopie/lock.c
@@ -1,7 +1,7 @@
/* lock.c: The opielock() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/login.c b/contrib/opie/libopie/login.c
index f7082c9..ca39143 100644
--- a/contrib/opie/libopie/login.c
+++ b/contrib/opie/libopie/login.c
@@ -1,7 +1,7 @@
/* login.c: The opielogin() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/logwtmp.c b/contrib/opie/libopie/logwtmp.c
index efc1def..a42fdec 100644
--- a/contrib/opie/libopie/logwtmp.c
+++ b/contrib/opie/libopie/logwtmp.c
@@ -1,7 +1,7 @@
/* logwtmp.c: Put an entry in the wtmp file.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,11 +14,14 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Don't leave line=NULL, skip
+ past /dev/ in line. Fill in ut_host on systems with UTMPX and
+ ut_host.
Modified by cmetz for OPIE 2.31. Move wtmp log functions here, to
- improve portability. Added DISABLE_WTMP.
+ improve portability. Added DISABLE_WTMP.
Modified by cmetz for OPIE 2.22. Call gettimeofday() properly.
Modified by cmetz for OPIE 2.2. Use FUNCTION declaration et al.
- Ifdef around some headers. Added file close hook.
+ Ifdef around some headers. Added file close hook.
Modified at NRL for OPIE 2.1. Set process type for HPUX.
Modified at NRL for OPIE 2.0.
Originally from BSD.
@@ -124,7 +127,10 @@ VOIDRET opielogwtmp FUNCTION((line, name, host), char *line AND char *name AND c
#if DOUTMPX && defined(_PATH_WTMPX)
close(fdx);
#endif /* DOUTMPX && defined(_PATH_WTMPX) */
- }
+ line = "";
+ } else
+ if (!strncmp(line, "/dev/", 5))
+ line += 5;
if (fd < 0 && (fd = open(_PATH_WTMP, O_WRONLY | O_APPEND, 0)) < 0)
return;
@@ -137,9 +143,9 @@ VOIDRET opielogwtmp FUNCTION((line, name, host), char *line AND char *name AND c
#endif /* HAVE_UT_PID */
strncpy(ut.ut_line, line, sizeof(ut.ut_line));
strncpy(ut.ut_name, name, sizeof(ut.ut_name));
-#if !DOUTMPX
+#if HAVE_UT_HOST
strncpy(ut.ut_host, host, sizeof(ut.ut_host));
-#endif /* !DOUTMPX */
+#endif /* HAVE_UT_HOST */
time(&ut.ut_time);
if (write(fd, (char *) &ut, sizeof(struct utmp)) !=
sizeof(struct utmp))
diff --git a/contrib/opie/libopie/lookup.c b/contrib/opie/libopie/lookup.c
index 39fab48..d05e1fa 100644
--- a/contrib/opie/libopie/lookup.c
+++ b/contrib/opie/libopie/lookup.c
@@ -1,7 +1,7 @@
/* lookup.c: The opielookup() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/md4c.c b/contrib/opie/libopie/md4c.c
index 343cb8f..acc8857 100644
--- a/contrib/opie/libopie/md4c.c
+++ b/contrib/opie/libopie/md4c.c
@@ -1,7 +1,7 @@
/* md4c.c: "RSA Data Security, Inc. MD4 Message-Digest Algorithm"
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/md5c.c b/contrib/opie/libopie/md5c.c
index d2a9390..09611a5 100644
--- a/contrib/opie/libopie/md5c.c
+++ b/contrib/opie/libopie/md5c.c
@@ -2,7 +2,7 @@
"derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm"
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/newseed.c b/contrib/opie/libopie/newseed.c
index 5073850..b351798 100644
--- a/contrib/opie/libopie/newseed.c
+++ b/contrib/opie/libopie/newseed.c
@@ -1,13 +1,14 @@
/* newseed.c: The opienewseed() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
History:
+ Modified by cmetz for OPIE 2.32. Added syslog.h if DEBUG.
Modified by cmetz for OPIE 2.31. Added time.h.
Created by cmetz for OPIE 2.22.
*/
@@ -27,6 +28,9 @@ you didn't get a copy, you may request one from <license@inner.net>.
#include <sys/utsname.h>
#endif /* HAVE_SYS_UTSNAME_H */
#include <errno.h>
+#if DEBUG
+#include <syslog.h>
+#endif /* DEBUG */
#include "opie.h"
int opienewseed FUNCTION((seed), char *seed)
@@ -87,9 +91,9 @@ int opienewseed FUNCTION((seed), char *seed)
struct utsname utsname;
if (uname(&utsname) < 0) {
-#if 0
- perror("uname");
-#endif /* 0 */
+#if DEBUG
+ syslog(LOG_DEBUG, "uname: %s(%d)", strerror(errno), errno);
+#endif /* DEBUG */
utsname.nodename[0] = 'k';
utsname.nodename[1] = 'e';
}
diff --git a/contrib/opie/libopie/open.c b/contrib/opie/libopie/open.c
index 3a1dccc..dac03a8 100644
--- a/contrib/opie/libopie/open.c
+++ b/contrib/opie/libopie/open.c
@@ -1,7 +1,7 @@
/* open.c: The __opieopen() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/libopie/parsechallenge.c b/contrib/opie/libopie/parsechallenge.c
index e3e314e..2035c38 100644
--- a/contrib/opie/libopie/parsechallenge.c
+++ b/contrib/opie/libopie/parsechallenge.c
@@ -1,13 +1,15 @@
-/* parsechallenge.c: The _opieparsechallenge() library function.
+/* parsechallenge.c: The __opieparsechallenge() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
History:
+ Modified by cmetz for OPIE 2.32. Check for extended response sets.
+ Change prefix to double underscore.
Created by cmetz for OPIE 2.3 using generator.c as a guide.
*/
@@ -29,7 +31,7 @@ static struct algorithm algorithms[] = {
{ NULL, 0 },
};
-int _opieparsechallenge FUNCTION((buffer, algorithm, sequence, seed), char *buffer AND int *algorithm AND int *sequence AND char **seed)
+int __opieparsechallenge FUNCTION((buffer, algorithm, sequence, seed, exts), char *buffer AND int *algorithm AND int *sequence AND char **seed AND int *exts)
{
char *c;
@@ -64,7 +66,13 @@ int _opieparsechallenge FUNCTION((buffer, algorithm, sequence, seed), char *buff
}
*seed = buffer;
- *c = 0;
+ *(c++) = 0;
+
+ while(*c && !isspace(*c)) c++;
+ if (*c && !strncmp(c, "ext", 3))
+ *exts = 1;
+ else
+ *exts = 0;
return 0;
}
diff --git a/contrib/opie/libopie/passcheck.c b/contrib/opie/libopie/passcheck.c
index 8d60931..8bfa87d 100644
--- a/contrib/opie/libopie/passcheck.c
+++ b/contrib/opie/libopie/passcheck.c
@@ -1,7 +1,7 @@
/* passcheck.c: The opiepasscheck() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/passwd.c b/contrib/opie/libopie/passwd.c
index 17df424..6bac249 100644
--- a/contrib/opie/libopie/passwd.c
+++ b/contrib/opie/libopie/passwd.c
@@ -1,13 +1,16 @@
/* passwd.c: The opiepasswd() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
History:
+ Modified by cmetz for OPIE 2.32. Renamed mode to flags. Made flag
+ values symbolic constants. Added a flag for insecure override
+ support.
Modified by cmetz for OPIE 2.31. Removed active attack protection
support.
Modified by cmetz for OPIE 2.3. Split most of the function off
@@ -20,12 +23,15 @@ you didn't get a copy, you may request one from <license@inner.net>.
#include "opie_cfg.h"
#include "opie.h"
-int opiepasswd FUNCTION((old, mode, principal, n, seed, ks), struct opie *old AND int mode AND char *principal AND int n AND char *seed AND char *ks)
+int opiepasswd FUNCTION((old, flags, principal, n, seed, ks), struct opie *old AND int flags AND char *principal AND int n AND char *seed AND char *ks)
{
int i;
struct opie opie;
- if ((mode & 1) && opieinsecure())
+ if ((flags & OPIEPASSWD_CONSOLE) && opieinsecure())
+#if INSECURE_OVERRIDE
+ if (!(flags & OPIEPASSWD_FORCE))
+#endif /* INSECURE_OVERRIDE */
return -1;
memset(&opie, 0, sizeof(struct opie));
@@ -42,7 +48,7 @@ int opiepasswd FUNCTION((old, mode, principal, n, seed, ks), struct opie *old AN
if (ks) {
char key[8];
- if (mode & 1) {
+ if (flags & OPIEPASSWD_CONSOLE) {
if (opiekeycrunch(MDX, key, seed, ks))
return -1;
for (i = n; i; i--)
diff --git a/contrib/opie/libopie/randomchallenge.c b/contrib/opie/libopie/randomchallenge.c
index 021da77..99b4c48 100644
--- a/contrib/opie/libopie/randomchallenge.c
+++ b/contrib/opie/libopie/randomchallenge.c
@@ -1,7 +1,7 @@
/* randomchallenge.c: The opierandomchallenge() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,6 +14,8 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Initialize algids[] with 0s
+ instead of NULL.
Modified by cmetz for OPIE 2.3. Add sha support.
Modified by cmetz for OPIE 2.22. Don't include stdio.h.
Use opienewseed(). Don't include unneeded headers.
@@ -26,7 +28,7 @@ License Agreement applies to this software.
#include "opie_cfg.h"
#include "opie.h"
-static char *algids[] = { NULL, NULL, NULL, "sha1", "md4", "md5" };
+static char *algids[] = { 0, 0, 0, "sha1", "md4", "md5" };
/* Generate a random challenge */
/* This could grow into quite a monster, really. Random is good enough for
@@ -39,5 +41,5 @@ VOIDRET opierandomchallenge FUNCTION((prompt), char *prompt)
if (opienewseed(buf))
strcpy(buf, "ke4452");
- sprintf(prompt, "otp-%s %d %s", algids[MDX], (rand() % 499) + 1, buf);
+ sprintf(prompt, "otp-%s %d %s ext", algids[MDX], (rand() % 499) + 1, buf);
}
diff --git a/contrib/opie/libopie/readpass.c b/contrib/opie/libopie/readpass.c
index 48b5699..5808f02 100644
--- a/contrib/opie/libopie/readpass.c
+++ b/contrib/opie/libopie/readpass.c
@@ -1,7 +1,7 @@
/* readpass.c: The opiereadpass() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/readrec.c b/contrib/opie/libopie/readrec.c
index d26002d..f6361eb 100644
--- a/contrib/opie/libopie/readrec.c
+++ b/contrib/opie/libopie/readrec.c
@@ -1,7 +1,7 @@
/* readrec.c: The __opiereadrec() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
@@ -52,8 +52,14 @@ static int parserec FUNCTION((opie), struct opie *opie)
*(c2++) = 0;
- if (!(opie->opie_n = atoi(c)))
+ {
+ char *c3;
+
+ opie->opie_n = strtoul(c, &c3, 10);
+
+ if (*c3)
return -1;
+ };
if (!(c2 = strchr(opie->opie_seed = c2, ' ')))
return -1;
@@ -112,7 +118,7 @@ int __opiereadrec FUNCTION((opie), struct opie *opie)
}
if (!opie->opie_principal)
- return -1;
+ goto ret;
{
char *c, principal[OPIE_PRINCIPAL_MAX];
diff --git a/contrib/opie/libopie/unlock.c b/contrib/opie/libopie/unlock.c
index 4dac0c4..4c01a5c 100644
--- a/contrib/opie/libopie/unlock.c
+++ b/contrib/opie/libopie/unlock.c
@@ -1,7 +1,7 @@
/* unlock.c: The opieunlock() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/verify.c b/contrib/opie/libopie/verify.c
index 52698d41..990e293 100644
--- a/contrib/opie/libopie/verify.c
+++ b/contrib/opie/libopie/verify.c
@@ -1,13 +1,17 @@
/* verify.c: The opieverify() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
History:
+ Modified by cmetz for OPIE 2.32. Renamed _opieparsechallenge() to
+ __opieparsechallenge() and handle new argument. Fixed init
+ response parsing bug.
+ Modified by cmetz for OPIE 2.31. Renamed "init" to "init-hex".
Modified by cmetz for OPIE 2.31. Renamed "init" and "RESPONSE_INIT"
to "init-hex" and "RESPONSE_INIT_HEX". Removed active attack
protection support.
@@ -126,8 +130,6 @@ int opieverify FUNCTION((opie, response), struct opie *opie AND char *response)
case RESPONSE_INIT_WORD:
{
char *c2;
- char newkey[8];
- char buf[OPIE_SEED_MAX + 48 + 1];
if (!(c2 = strchr(c, ':')))
goto verret;
@@ -165,22 +167,17 @@ int opieverify FUNCTION((opie, response), struct opie *opie AND char *response)
*(c2++) = 0;
{
- int j;
+ int j, k;
- if (_opieparsechallenge(c, &j, &(opie->opie_n), &(opie->opie_seed)) || (j != MDX))
+ if (__opieparsechallenge(c, &j, &(opie->opie_n), &(opie->opie_seed), &k) || (j != MDX) || k)
goto verret;
}
- if (!(c2 = strchr(c = c2, ':')))
- goto verret;
-
- *(c2++) = 0;
-
if (i == RESPONSE_INIT_HEX) {
- if (!opieatob8(newkey, c))
+ if (!opieatob8(key, c2))
goto verret;
} else {
- if (opieetob(newkey, c) != 1)
+ if (opieetob(key, c2) != 1)
goto verret;
}
}
diff --git a/contrib/opie/libopie/version.c b/contrib/opie/libopie/version.c
index 11e3394..ef6523d 100644
--- a/contrib/opie/libopie/version.c
+++ b/contrib/opie/libopie/version.c
@@ -1,7 +1,7 @@
/* version.c: The opieversion() library function.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/libopie/writerec.c b/contrib/opie/libopie/writerec.c
index 2246899..0843423 100644
--- a/contrib/opie/libopie/writerec.c
+++ b/contrib/opie/libopie/writerec.c
@@ -1,7 +1,7 @@
/* writerec.c: The __opiewriterec() library function.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/opie.4 b/contrib/opie/opie.4
index 5a308f2..71ce91a 100644
--- a/contrib/opie/opie.4
+++ b/contrib/opie/opie.4
@@ -1,7 +1,7 @@
.\" opie.4: Overview of the OPIE software.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opie.h b/contrib/opie/opie.h
index 6d4d9cb..653ca4e 100644
--- a/contrib/opie/opie.h
+++ b/contrib/opie/opie.h
@@ -2,7 +2,7 @@
system that a program might need.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -15,6 +15,8 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Added symbolic flag names for
+ opiepasswd(). Added __opieparsechallenge() prototype.
Modified by cmetz for OPIE 2.31. Removed active attack protection.
Modified by cmetz for OPIE 2.3. Renamed PTR to VOIDPTR. Added
re-init key and extension file fields to struct opie. Added
@@ -218,5 +220,10 @@ FILE *__opieopen __P((char *, int, int));
#endif /* EOF */
int __opiereadrec __P((struct opie *));
int __opiewriterec __P((struct opie *));
+int __opieparsechallenge __P((char *buffer, int *algorithm, int *sequence, char **seed, int *exts));
#endif /* _OPIE */
+
+#define OPIEPASSWD_CONSOLE 1
+#define OPIEPASSWD_FORCE 2
+
#endif /* _OPIE_H */
diff --git a/contrib/opie/opie_cfg.h b/contrib/opie/opie_cfg.h
index cdfb864..739c8b6 100644
--- a/contrib/opie/opie_cfg.h
+++ b/contrib/opie/opie_cfg.h
@@ -1,7 +1,7 @@
/* opie_cfg.h: Various configuration-type pieces of information for OPIE.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,6 +14,8 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Include <sys/types.h> before
+ <dirent.h> to make *BSD happy.
Modified by cmetz for OPIE 2.31. Added 4.4BSD-Lite pathnames.h
definitions from ftpd. Added struct spwd definition and
HAVE_SHADOW logic for SunOS C2 shadow password support.
@@ -49,8 +51,8 @@ License Agreement applies to this software.
#ifndef _OPIE_CFG_H
#define _OPIE_CFG_H 1
-#define VERSION "2.31"
-#define DATE "Thursday, March 20, 1997"
+#define VERSION "2.32"
+#define DATE "Thursday, January 1, 1998"
#ifndef unix
#define unix 1
@@ -66,6 +68,7 @@ License Agreement applies to this software.
#define DOUTMPX 0
#endif /* HAVE_GETUTXLINE && HAVE_UTMPX_H */
+#include <sys/types.h>
/* Adapted from the Autoconf hypertext info pages */
#if HAVE_DIRENT_H
#include <dirent.h>
diff --git a/contrib/opie/opieftpd.c b/contrib/opie/opieftpd.c
index c3729a8..8ef014c 100644
--- a/contrib/opie/opieftpd.c
+++ b/contrib/opie/opieftpd.c
@@ -1,7 +1,7 @@
/* opieftpd.c: Main program for an FTP daemon.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,6 +14,8 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Remove include of dirent.h here; it's
+ done already (and conditionally) in opie_cfg.h.
Modified by cmetz for OPIE 2.31. Merged in some 4.4BSD-Lite changes.
Merged in a security fix to BSD-derived ftpds.
Modified by cmetz for OPIE 2.3. Fixed the filename at the top.
@@ -111,7 +113,6 @@ License Agreement applies to this software.
#include <arpa/telnet.h>
#include <signal.h>
-#include <dirent.h>
#include <fcntl.h>
#if HAVE_TIME_H
#include <time.h>
diff --git a/contrib/opie/opiegen.1 b/contrib/opie/opiegen.1
index 1b205b3..3326ad0 100644
--- a/contrib/opie/opiegen.1
+++ b/contrib/opie/opiegen.1
@@ -1,7 +1,7 @@
.\" opiegen.1: Manual page for the opiegen(1) program.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opiegen.c b/contrib/opie/opiegen.c
index 4778f57..0cced98 100644
--- a/contrib/opie/opiegen.c
+++ b/contrib/opie/opiegen.c
@@ -2,7 +2,7 @@
library routine.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opieinfo.1 b/contrib/opie/opieinfo.1
index a3212db..7ab5387 100644
--- a/contrib/opie/opieinfo.1
+++ b/contrib/opie/opieinfo.1
@@ -1,7 +1,7 @@
.\" opieinfo.1: Manual page for the opieinfo(1) program.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opieinfo.c b/contrib/opie/opieinfo.c
index 35692ff..d667a9a 100644
--- a/contrib/opie/opieinfo.c
+++ b/contrib/opie/opieinfo.c
@@ -2,7 +2,7 @@
opieinfo: Print a user's current OPIE sequence number and seed
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opiekey.1 b/contrib/opie/opiekey.1
index 9c9e82f..50ac7c1 100644
--- a/contrib/opie/opiekey.1
+++ b/contrib/opie/opiekey.1
@@ -1,7 +1,7 @@
.\" opiekey.1: Manual page for the opiekey(1) program.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opiekey.c b/contrib/opie/opiekey.c
index 475d48b..20f982b 100644
--- a/contrib/opie/opiekey.c
+++ b/contrib/opie/opiekey.c
@@ -5,7 +5,7 @@
and outputs a response.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -312,7 +312,7 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
case RESPONSE_INIT_HEX:
case RESPONSE_INIT_WORD:
if (type == RESPONSE_INIT_HEX) {
- strcpy(response, "init:");
+ strcpy(response, "init-hex:");
strcat(response, opiebtoh(buf, key));
sprintf(buf, ":%s 499 %s:", algids[algorithm], newseed);
strcat(response, buf);
diff --git a/contrib/opie/opiekeys.5 b/contrib/opie/opiekeys.5
index c4ef5f4..50041d6 100644
--- a/contrib/opie/opiekeys.5
+++ b/contrib/opie/opiekeys.5
@@ -1,4 +1,4 @@
-.\" opieaccess.5: Manual page describing the /etc/opiekeys file.
+.\" opiekeys.5: Manual page describing the /etc/opiekeys file.
.\"
.\" Portions of this software are Copyright 1995 by Randall Atkinson and Dan
.\" McDonald, All Rights Reserved. All Rights under this copyright are assigned
@@ -7,14 +7,16 @@
.\"
.\" History:
.\"
+.\" Modified by cmetz for OPIE 2.32. This is opiekeys.5, not opiekeys.1 or
+.\" opieaccess.5.
.\" Written at NRL for OPIE 2.0.
.\"
.ll 6i
.pl 10.5i
-.\" @(#)opiekeys.1 2.0 (NRL) 1/10/95
+.\" @(#)opiekeys.5 2.0 (NRL) 1/10/95
.\"
.lt 6.0i
-.TH OPIEKEYS 1 "January 10, 1995"
+.TH OPIEKEYS 5 "January 10, 1995"
.AT 3
.SH NAME
[/etc/]opiekeys \- OPIE database of user key information
diff --git a/contrib/opie/opielogin.1 b/contrib/opie/opielogin.1
index 5cfd72a..7fdeb64 100644
--- a/contrib/opie/opielogin.1
+++ b/contrib/opie/opielogin.1
@@ -1,7 +1,7 @@
.\" opielogin.1: Manual page for the opielogin(1) program.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opielogin.c b/contrib/opie/opielogin.c
index c2fecb9..eacfac9 100644
--- a/contrib/opie/opielogin.c
+++ b/contrib/opie/opielogin.c
@@ -1,7 +1,7 @@
/* opielogin.c: The infamous /bin/login
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,6 +14,10 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Partially handle environment
+ variables on the command line (a better implementation is
+ coming soon). Handle failure to issue a challenge more
+ gracefully.
Modified by cmetz for OPIE 2.31. Use _PATH_NOLOGIN. Move Solaris
drain bamage kluge after rflag check; it breaks rlogin.
Use TCSAFLUSH instead of TCSANOW (except where it flushes
@@ -638,7 +642,8 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
int i;
char *p;
char opieprompt[OPIE_CHALLENGE_MAX + 1];
- int pwok, otpok, af_pwok;
+ int af_pwok;
+ int authsok;
char *pp;
char buf[256];
int uid;
@@ -700,111 +705,104 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
}
#endif /* DEBUG */
-/* Some OSs pass environment variables on the command line. All of them except
- for TERM get eaten. */
-
- i = argc;
- while (--i)
- if (strchr(argv[i], '=')) {
-#ifdef DEBUG
- syslog(LOG_DEBUG, "eating %s", argv[i]);
-#endif /* DEBUG */
- argc--;
- if (!strncmp(argv[i], "TERM=", 5)) {
- strncpy(term, &(argv[i][5]), sizeof(term));
- term[sizeof(term) - 1] = 0;
-#ifdef DEBUG
- syslog(LOG_DEBUG, "passed TERM=%s, ouroptind = %d", term, i);
-#endif /* DEBUG */
- }
- }
/* Implement our own getopt()-like functionality, but do so in a much more
strict manner to prevent security problems. */
for (ouroptind = 1; ouroptind < argc; ouroptind++) {
- i = 0;
- if (argv[ouroptind])
- if (argv[ouroptind][0] == '-')
- if (i = argv[ouroptind][1])
- if (!argv[ouroptind][2])
- switch (i) {
- case 'd':
- if (++ouroptind == argc)
- exit(1);
+ if (!argv[ouroptind])
+ continue;
+
+ if (argv[ouroptind][0] == '-') {
+ char *c = argv[ouroptind] + 1;
+
+ while(*c) {
+ switch(*(c++)) {
+ case 'd':
+ if (*c || (++ouroptind == argc))
+ exit(1);
+
/* The '-d' option is apparently a performance hack to get around
ttyname() being slow. The potential does exist for it to be used
for malice, and it does not seem to be strictly necessary, so we
will just eat it. */
- break;
+ break;
- case 'r':
- if (rflag || hflag || fflag) {
- printf("Other options not allowed with -r\n");
- exit(1);
- }
- if (++ouroptind == argc)
- exit(1);
-
- ouroptarg = argv[ouroptind];
-
- if (!ouroptarg)
- exit(1);
-
- rflag = -1;
- if (!doremotelogin(ouroptarg))
- rflag = 1;
-
- strncpy(host, ouroptarg, sizeof(host));
- break;
+ case 'r':
+ if (rflag || hflag || fflag) {
+ fprintf(stderr, "Other options not allowed with -r\n");
+ exit(1);
+ }
- case 'h':
- if (!getuid()) {
- if (rflag || hflag || fflag) {
- printf("Other options not allowed with -h\n");
- exit(1);
- }
- hflag = 1;
+ if (*c || (++ouroptind == argc))
+ exit(1);
- if (++ouroptind == argc)
- exit(1);
+ if (!(ouroptarg = argv[ouroptind]))
+ exit(1);
- ouroptarg = argv[ouroptind];
+ rflag = -1;
+ if (!doremotelogin(ouroptarg))
+ rflag = 1;
+
+ strncpy(host, ouroptarg, sizeof(host));
+ break;
- if (!ouroptarg)
- exit(1);
-
- strncpy(host, ouroptarg, sizeof(host));
- }
- break;
-
- case 'f':
- if (rflag) {
- printf("Only one of -r and -f allowed\n");
+ case 'h':
+ if (!getuid()) {
+ if (rflag || hflag || fflag) {
+ fprintf(stderr, "Other options not allowed with -h\n");
exit(1);
}
- fflag = 1;
+ hflag = 1;
- if (++ouroptind == argc)
+ if (*c || (++ouroptind == argc))
exit(1);
- ouroptarg = argv[ouroptind];
-
- if (!ouroptarg)
+ if (!(ouroptarg = argv[ouroptind]))
exit(1);
+
+ strncpy(host, ouroptarg, sizeof(host));
+ }
+ break;
- strncpy(name, ouroptarg, sizeof(name));
- break;
+ case 'f':
+ if (rflag) {
+ fprintf(stderr, "Only one of -r and -f allowed\n");
+ exit(1);
+ }
+ fflag = 1;
+
+ if (*c || (++ouroptind == argc))
+ exit(1);
+
+ if (!(ouroptarg = argv[ouroptind]))
+ exit(1);
+
+ strncpy(name, ouroptarg, sizeof(name));
+ break;
+ case 'p':
+ pflag = 1;
+ break;
+ };
+ };
+ continue;
+ };
- case 'p':
- pflag = 1;
- break;
- } else
- i = 0;
- if (!i) {
- ouroptarg = argv[ouroptind++];
- strncpy(name, ouroptarg, sizeof(name));
- break;
- }
- }
+ if (strchr(argv[ouroptind], '=')) {
+ if (!strncmp(argv[ouroptind], "TERM=", 5)) {
+ strncpy(term, &(argv[ouroptind][5]), sizeof(term));
+ term[sizeof(term) - 1] = 0;
+#ifdef DEBUG
+ syslog(LOG_DEBUG, "passed TERM=%s, ouroptind = %d", term, ouroptind);
+#endif /* DEBUG */
+ } else {
+#ifdef DEBUG
+ syslog(LOG_DEBUG, "eating %s, ouroptind = %d", argv[ouroptind], ouroptind);
+#endif /* DEBUG */
+ };
+ continue;
+ };
+
+ strncpy(name, argv[ouroptind], sizeof(name));
+ };
#ifdef TIOCNXCL
/* BSDism: not sure how to rewrite for POSIX. rja */
@@ -1063,6 +1061,7 @@ completeness, but these are set within appropriate defines for portability. */
if (invalid && !name[0]) {
getloginname();
invalid = lookupuser();
+ authsok = 0;
}
#ifdef DEBUG
syslog(LOG_DEBUG, "login name is +%s+, of length %d, [0] = %d", name, strlen(name), name[0]);
@@ -1092,11 +1091,9 @@ completeness, but these are set within appropriate defines for portability. */
if ((i < 0) || (i > 1)) {
syslog(LOG_ERR, "error: opiechallenge() returned %d, errno=%d!\n", i, errno);
- fprintf(stderr, "System error; can't issue challenge!\n");
- otpok = 0;
} else {
printf("%s\n", opieprompt);
- otpok = 1;
+ authsok |= 1;
}
if (!memcmp(&thisuser, &nouser, sizeof(thisuser)))
@@ -1107,28 +1104,29 @@ completeness, but these are set within appropriate defines for portability. */
syslog(LOG_WARNING, "Invalid login attempt for %s on %s.",
name, tty);
- pwok = af_pwok && opiealways(thisuser.pw_dir);
+ if (af_pwok && opiealways(thisuser.pw_dir))
+ authsok |= 2;
+
#if DEBUG
- syslog(LOG_DEBUG, "af_pwok = %d, pwok = %d", af_pwok, pwok);
+ syslog(LOG_DEBUG, "af_pwok = %d, authsok = %d", af_pwok, authsok);
#endif /* DEBUG */
- if (!pwok && !otpok) {
- fprintf(stderr, "Can't authenticate %s!\n", name);
- exit(1);
- }
+ if (!authsok)
+ syslog(LOG_ERR, "no authentication methods are available for %s!", name);
#if NEW_PROMPTS
- if (otpok)
+ if ((authsok & 1) || !authsok)
printf("Response");
- if (otpok && pwok)
+ if (((authsok & 3) == 3) || !authsok)
printf(" or ");
- if (pwok)
+ if ((authsok & 2) || !authsok)
printf("Password");
printf(": ");
- if (!opiereadpass(buf, sizeof(buf), !pwok))
+ fflush(stdout);
+ if (!opiereadpass(buf, sizeof(buf), !(authsok & 2)))
invalid = TRUE;
#else /* NEW_PROMPTS */
- if (!pwok)
+ if (!(authsok & 1) && authsok)
printf("(OTP response required)\n");
printf("Password:");
fflush(stdout);
@@ -1136,8 +1134,8 @@ completeness, but these are set within appropriate defines for portability. */
invalid = TRUE;
#endif /* NEW_PROMPTS */
- if (!buf[0] && otpok) {
- pwok = 0;
+ if (!buf[0] && (authsok & 1)) {
+ authsok &= ~2;
/* Null line entered, so display appropriate prompt & flush current
data. */
#if NEW_PROMPTS
@@ -1149,7 +1147,7 @@ completeness, but these are set within appropriate defines for portability. */
invalid = TRUE;
}
- if (otpok) {
+ if (authsok & 1) {
i = opiegetsequence(&opie);
opiepassed = !opieverify(&opie, buf);
@@ -1159,7 +1157,7 @@ completeness, but these are set within appropriate defines for portability. */
}
if (!invalid) {
- if (otpok && opiepassed) {
+ if ((authsok & 1) && opiepassed) {
if (i < 10) {
printf("Warning: Re-initialize your OTP information");
if (i < 5)
@@ -1167,7 +1165,7 @@ completeness, but these are set within appropriate defines for portability. */
printf("\n");
}
} else {
- if (pwok) {
+ if (authsok & 2) {
pp = crypt(buf, thisuser.pw_passwd);
invalid = strcmp(pp, thisuser.pw_passwd);
} else
diff --git a/contrib/opie/opiepasswd.1 b/contrib/opie/opiepasswd.1
index ca3c422..d37c93a 100644
--- a/contrib/opie/opiepasswd.1
+++ b/contrib/opie/opiepasswd.1
@@ -1,7 +1,7 @@
.\" opiepasswd.1: Manual page for the opiepasswd(1) program.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opiepasswd.c b/contrib/opie/opiepasswd.c
index 4077e8a..9cccb99 100644
--- a/contrib/opie/opiepasswd.c
+++ b/contrib/opie/opiepasswd.c
@@ -1,7 +1,7 @@
/* opiepasswd.c: Add/change an OTP password in the key database.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,6 +14,8 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Use OPIE_SEED_MAX instead of
+ hard coding the length. Unlock user on failed lookup.
Modified by cmetz for OPIE 2.3. Got of some variables and made some
local to where they're used. Split out the finishing code. Use
opielookup() instead of opiechallenge() to find user. Three
@@ -110,7 +112,7 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
{
struct opie opie;
int rval, n = 499, i, mode = MODE_DEFAULT, force = 0;
- char seed[18];
+ char seed[OPIE_SEED_MAX+1];
struct passwd *pp;
memset(seed, 0, sizeof(seed));
@@ -126,7 +128,7 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
opieversion();
case 'f':
#if INSECURE_OVERRIDE
- force = 1;
+ force = OPIEPASSWD_FORCE;
#else /* INSECURE_OVERRIDE */
fprintf(stderr, "Sorry, but the -f option is not supported by this build of OPIE.\n");
#endif /* INSECURE_OVERRIDE */
@@ -185,10 +187,10 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
break;
case 2:
fprintf(stderr, "Error: Can't update key database.\n");
- exit(1);
+ finish(NULL);
default:
fprintf(stderr, "Error reading key database\n");
- exit(1);
+ finish(NULL);
}
if (seed[0]) {
@@ -308,7 +310,7 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
finish(NULL);
}
- if (!(rval = opiepasswd(&opie, 0, pp->pw_name, n, seed, tmp)))
+ if (!(rval = opiepasswd(&opie, force, pp->pw_name, n, seed, tmp)))
finish(pp->pw_name);
if (rval < 0) {
@@ -326,7 +328,7 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
fprintf(stderr, "Only use this method from the console; NEVER from remote. If you are using\n");
fprintf(stderr, "telnet, xterm, or a dial-in, type ^C now or exit with no password.\n");
fprintf(stderr, "Then run opiepasswd without the -c parameter.\n");
- if (opieinsecure()) {
+ if (opieinsecure() && !force) {
fprintf(stderr, "Sorry, but you don't seem to be on the console or a secure terminal.\n");
if (force)
fprintf(stderr, "Warning: Continuing could disclose your secret pass phrase to an attacker!\n");
@@ -394,7 +396,7 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
fprintf(stderr, "Sorry, no match.\n");
}
memset(passwd2, 0, sizeof(passwd2));
- if (opiepasswd(&opie, 1, pp->pw_name, n, seed, passwd)) {
+ if (opiepasswd(&opie, 1 | force, pp->pw_name, n, seed, passwd)) {
fprintf(stderr, "Error updating key database.\n");
finish(NULL);
}
diff --git a/contrib/opie/opieserv.1 b/contrib/opie/opieserv.1
index c7e44da..021228d 100644
--- a/contrib/opie/opieserv.1
+++ b/contrib/opie/opieserv.1
@@ -1,7 +1,7 @@
.\" opieserv.1: Manual page for the opieserv(1) program.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opieserv.c b/contrib/opie/opieserv.c
index 5cc7b16..1626a78 100644
--- a/contrib/opie/opieserv.c
+++ b/contrib/opie/opieserv.c
@@ -2,7 +2,7 @@
opieverify() library routines.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/opiesu.1 b/contrib/opie/opiesu.1
index 2bf610f..cbb15bd 100644
--- a/contrib/opie/opiesu.1
+++ b/contrib/opie/opiesu.1
@@ -1,7 +1,7 @@
.\" opiesu.c: Manual page for the opiesu(1) program.
.\"
.\" %%% portions-copyright-cmetz-96
-.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+.\" Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
diff --git a/contrib/opie/opiesu.c b/contrib/opie/opiesu.c
index 239e52d..e2bbdb8 100644
--- a/contrib/opie/opiesu.c
+++ b/contrib/opie/opiesu.c
@@ -1,7 +1,7 @@
/* opiesu.c: main body of code for the su(1m) program
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@@ -14,6 +14,7 @@ License Agreement applies to this software.
History:
+ Modified by cmetz for OPIE 2.32. Set up TERM and PATH correctly.
Modified by cmetz for OPIE 2.31. Fix sulog(). Replaced Getlogin() with
currentuser. Fixed fencepost error in month printed by sulog().
Modified by cmetz for OPIE 2.3. Limit the length of TERM on full login.
@@ -99,7 +100,7 @@ License Agreement applies to this software.
static char userbuf[16] = "USER=";
static char homebuf[128] = "HOME=";
static char shellbuf[128] = "SHELL=";
-static char pathbuf[128] = "PATH=";
+static char pathbuf[sizeof("PATH") + sizeof(DEFAULT_PATH) - 1] = "PATH=";
static char termbuf[32] = "TERM=";
static char *cleanenv[] = {userbuf, homebuf, shellbuf, pathbuf, 0, 0};
static char *user = "root";
@@ -268,7 +269,7 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
};
};
- strcpy(pathbuf, DEFAULT_PATH);
+ strcat(pathbuf, DEFAULT_PATH);
again:
if (argc > 1 && strcmp(argv[1], "-f") == 0) {
@@ -459,8 +460,8 @@ ok:
if (thisuser.pw_shell && *thisuser.pw_shell)
shell = thisuser.pw_shell;
if (fulllogin) {
- if (p = getenv("TERM")) {
- strncpy(termbuf, p, sizeof(termbuf));
+ if ((p = getenv("TERM")) && (strlen(termbuf) + strlen(p) - 1 < sizeof(termbuf))) {
+ strcat(termbuf, p);
cleanenv[4] = termbuf;
}
environ = cleanenv;
diff --git a/contrib/opie/opietest.c b/contrib/opie/opietest.c
index 49f8f4d..91a7e952 100644
--- a/contrib/opie/opietest.c
+++ b/contrib/opie/opietest.c
@@ -9,7 +9,7 @@
on your system. The converse is not such a safe statement.
%%% copyright-cmetz-96
-This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
+This software is Copyright 1996-1998 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
diff --git a/contrib/opie/permsfile.c b/contrib/opie/permsfile.c
index 0d12534..46650b1 100644
--- a/contrib/opie/permsfile.c
+++ b/contrib/opie/permsfile.c
@@ -2,7 +2,7 @@
functionality to set device permissions on login
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
diff --git a/contrib/opie/popen.c b/contrib/opie/popen.c
index 54df00b..3cc3078 100644
--- a/contrib/opie/popen.c
+++ b/contrib/opie/popen.c
@@ -1,7 +1,7 @@
/* popen.c: A "safe" pipe open routine.
%%% portions-copyright-cmetz-96
-Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
+Portions of this software are Copyright 1996-1998 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
OpenPOWER on IntegriCloud