diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | auth-pam.c | 8 | ||||
-rw-r--r-- | configure.in | 95 | ||||
-rw-r--r-- | entropy.c | 19 |
4 files changed, 118 insertions, 15 deletions
@@ -1,3 +1,14 @@ | |||
1 | 20000618 | ||
2 | - (djm) Add summary of configure options to end of ./configure run | ||
3 | - (djm) Not all systems define RUSAGE_SELF & RUSAGE_CHILDREN. Report from | ||
4 | Michael Stone <mstone@cs.loyola.edu> | ||
5 | - (djm) rusage is a privileged operation on some Unices (incl. | ||
6 | Solaris 2.5.1). Report from Paul D. Smith <pausmith@nortelnetworks.com> | ||
7 | - (djm) Avoid PAM failures when running without a TTY. Report from | ||
8 | Martin Petrak <petrak@spsknm.schools.sk> | ||
9 | - (djm) Include sys/types.h when including netinet/in.h in configure tests. | ||
10 | Patch from Jun-ichiro itojun Hagino <itojun@iijlab.net> | ||
11 | |||
1 | 20000613 | 12 | 20000613 |
2 | - (djm) Fixes from Andrew McGill <andrewm@datrix.co.za>: | 13 | - (djm) Fixes from Andrew McGill <andrewm@datrix.co.za>: |
3 | - Platform define for SCO 3.x which breaks on /dev/ptmx | 14 | - Platform define for SCO 3.x which breaks on /dev/ptmx |
diff --git a/auth-pam.c b/auth-pam.c index 67a851d1b..8ceb26917 100644 --- a/auth-pam.c +++ b/auth-pam.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include "xmalloc.h" | 34 | #include "xmalloc.h" |
35 | #include "servconf.h" | 35 | #include "servconf.h" |
36 | 36 | ||
37 | RCSID("$Id: auth-pam.c,v 1.6 2000/06/12 06:38:54 djm Exp $"); | 37 | RCSID("$Id: auth-pam.c,v 1.7 2000/06/18 04:07:04 djm Exp $"); |
38 | 38 | ||
39 | #define NEW_AUTHTOK_MSG \ | 39 | #define NEW_AUTHTOK_MSG \ |
40 | "Warning: You password has expired, please change it now" | 40 | "Warning: You password has expired, please change it now" |
@@ -246,6 +246,12 @@ void start_pam(struct passwd *pw) | |||
246 | PAM_STRERROR((pam_handle_t *)pamh, pam_retval)); | 246 | PAM_STRERROR((pam_handle_t *)pamh, pam_retval)); |
247 | } | 247 | } |
248 | 248 | ||
249 | pam_retval = pam_set_item((pam_handle_t *)pamh, PAM_TTY, "ssh"); | ||
250 | if (pam_retval != PAM_SUCCESS) { | ||
251 | fatal("PAM set tty failed: %.200s", | ||
252 | PAM_STRERROR((pam_handle_t *)pamh, pam_retval)); | ||
253 | } | ||
254 | |||
249 | fatal_add_cleanup(&pam_cleanup_proc, NULL); | 255 | fatal_add_cleanup(&pam_cleanup_proc, NULL); |
250 | } | 256 | } |
251 | 257 | ||
diff --git a/configure.in b/configure.in index 0e755e4b7..f0edebacc 100644 --- a/configure.in +++ b/configure.in | |||
@@ -208,12 +208,14 @@ AC_CHECK_FUNC(getpagesize, | |||
208 | [AC_CHECK_LIB(ucb, getpagesize, [LIBS="$LIBS -lucb"; AC_DEFINE(HAVE_GETPAGESIZE)])] | 208 | [AC_CHECK_LIB(ucb, getpagesize, [LIBS="$LIBS -lucb"; AC_DEFINE(HAVE_GETPAGESIZE)])] |
209 | ) | 209 | ) |
210 | 210 | ||
211 | PAM_MSG="no" | ||
211 | AC_ARG_WITH(pam, | 212 | AC_ARG_WITH(pam, |
212 | [ --without-pam Disable PAM support ], | 213 | [ --without-pam Disable PAM support ], |
213 | [ | 214 | [ |
214 | if test "x$withval" = "xno" ; then | 215 | if test "x$withval" = "xno" ; then |
215 | no_pam=1 | 216 | no_pam=1 |
216 | AC_DEFINE(DISABLE_PAM) | 217 | AC_DEFINE(DISABLE_PAM) |
218 | PAM_MSG="disabled" | ||
217 | fi | 219 | fi |
218 | ] | 220 | ] |
219 | ) | 221 | ) |
@@ -223,6 +225,8 @@ if test -z "$no_pam" -a "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then | |||
223 | 225 | ||
224 | AC_CHECK_FUNCS(pam_getenvlist) | 226 | AC_CHECK_FUNCS(pam_getenvlist) |
225 | 227 | ||
228 | PAM_MSG="yes" | ||
229 | |||
226 | # Check PAM strerror arguments (old PAM) | 230 | # Check PAM strerror arguments (old PAM) |
227 | AC_MSG_CHECKING([whether pam_strerror takes only one argument]) | 231 | AC_MSG_CHECKING([whether pam_strerror takes only one argument]) |
228 | AC_TRY_COMPILE( | 232 | AC_TRY_COMPILE( |
@@ -235,6 +239,7 @@ if test -z "$no_pam" -a "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then | |||
235 | [ | 239 | [ |
236 | AC_DEFINE(HAVE_OLD_PAM) | 240 | AC_DEFINE(HAVE_OLD_PAM) |
237 | AC_MSG_RESULT(yes) | 241 | AC_MSG_RESULT(yes) |
242 | PAM_MSG="yes (old library)" | ||
238 | ] | 243 | ] |
239 | ) | 244 | ) |
240 | fi | 245 | fi |
@@ -353,13 +358,17 @@ done | |||
353 | 358 | ||
354 | if test ! -z "$no_rsa" ; then | 359 | if test ! -z "$no_rsa" ; then |
355 | AC_MSG_RESULT(disabled) | 360 | AC_MSG_RESULT(disabled) |
361 | RSA_MSG="disabled" | ||
356 | else | 362 | else |
357 | if test -z "$rsa_works" ; then | 363 | if test -z "$rsa_works" ; then |
358 | AC_MSG_WARN([*** No RSA support found *** ]) | 364 | AC_MSG_WARN([*** No RSA support found *** ]) |
365 | RSA_MSG="no" | ||
359 | else | 366 | else |
360 | if test -z "$WANTS_RSAREF" ; then | 367 | if test -z "$WANTS_RSAREF" ; then |
361 | AC_MSG_RESULT(yes) | 368 | AC_MSG_RESULT(yes) |
369 | RSA_MSG="yes" | ||
362 | else | 370 | else |
371 | RSA_MSG="yes (using RSAref)" | ||
363 | AC_MSG_RESULT(using RSAref) | 372 | AC_MSG_RESULT(using RSAref) |
364 | LIBS="$saved_LIBS -lcrypto -lRSAglue -lrsaref" | 373 | LIBS="$saved_LIBS -lcrypto -lRSAglue -lrsaref" |
365 | fi | 374 | fi |
@@ -501,6 +510,7 @@ fi | |||
501 | AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ | 510 | AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ |
502 | AC_TRY_COMPILE( | 511 | AC_TRY_COMPILE( |
503 | [ | 512 | [ |
513 | #include <sys/types.h> | ||
504 | #include <netinet/in.h> | 514 | #include <netinet/in.h> |
505 | ], | 515 | ], |
506 | [ struct sockaddr_in6 s; s.sin6_family = 0; ], | 516 | [ struct sockaddr_in6 s; s.sin6_family = 0; ], |
@@ -515,6 +525,7 @@ fi | |||
515 | AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [ | 525 | AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [ |
516 | AC_TRY_COMPILE( | 526 | AC_TRY_COMPILE( |
517 | [ | 527 | [ |
528 | #include <sys/types.h> | ||
518 | #include <netinet/in.h> | 529 | #include <netinet/in.h> |
519 | ], | 530 | ], |
520 | [ struct in6_addr s; s.s6_addr[0] = 0; ], | 531 | [ struct in6_addr s; s.s6_addr[0] = 0; ], |
@@ -562,8 +573,6 @@ OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmp.h, HAVE_TIME_IN_UTMP) | |||
562 | OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmpx.h, HAVE_TIME_IN_UTMPX) | 573 | OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmpx.h, HAVE_TIME_IN_UTMPX) |
563 | OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmpx.h, HAVE_TV_IN_UTMPX) | 574 | OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmpx.h, HAVE_TV_IN_UTMPX) |
564 | 575 | ||
565 | |||
566 | |||
567 | AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], | 576 | AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], |
568 | ac_cv_have_ss_family_in_struct_ss, [ | 577 | ac_cv_have_ss_family_in_struct_ss, [ |
569 | AC_TRY_COMPILE( | 578 | AC_TRY_COMPILE( |
@@ -580,7 +589,6 @@ if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then | |||
580 | AC_DEFINE(HAVE_SS_FAMILY_IN_SS) | 589 | AC_DEFINE(HAVE_SS_FAMILY_IN_SS) |
581 | fi | 590 | fi |
582 | 591 | ||
583 | |||
584 | AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage], | 592 | AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage], |
585 | ac_cv_have___ss_family_in_struct_ss, [ | 593 | ac_cv_have___ss_family_in_struct_ss, [ |
586 | AC_TRY_COMPILE( | 594 | AC_TRY_COMPILE( |
@@ -615,7 +623,7 @@ AC_ARG_WITH(rsh, | |||
615 | [ --with-rsh=PATH Specify path to remote shell program ], | 623 | [ --with-rsh=PATH Specify path to remote shell program ], |
616 | [ | 624 | [ |
617 | if test "x$withval" != "$no" ; then | 625 | if test "x$withval" != "$no" ; then |
618 | AC_DEFINE_UNQUOTED(RSH_PATH, "$withval") | 626 | rsa_path=$withval |
619 | fi | 627 | fi |
620 | ], | 628 | ], |
621 | [ | 629 | [ |
@@ -627,7 +635,7 @@ AC_ARG_WITH(xauth, | |||
627 | [ --with-xauth=PATH Specify path to xauth program ], | 635 | [ --with-xauth=PATH Specify path to xauth program ], |
628 | [ | 636 | [ |
629 | if test "x$withval" != "$xno" ; then | 637 | if test "x$withval" != "$xno" ; then |
630 | AC_DEFINE_UNQUOTED(XAUTH_PATH, "$withval") | 638 | xauth_path=$withval |
631 | fi | 639 | fi |
632 | ], | 640 | ], |
633 | [ | 641 | [ |
@@ -746,6 +754,7 @@ AC_SUBST(MANTYPE) | |||
746 | AC_SUBST(mansubdir) | 754 | AC_SUBST(mansubdir) |
747 | 755 | ||
748 | # Check whether user wants Kerberos support | 756 | # Check whether user wants Kerberos support |
757 | KRB4_MSG="no" | ||
749 | AC_ARG_WITH(kerberos4, | 758 | AC_ARG_WITH(kerberos4, |
750 | [ --with-kerberos4=PATH Enable Kerberos 4 support], | 759 | [ --with-kerberos4=PATH Enable Kerberos 4 support], |
751 | [ | 760 | [ |
@@ -778,12 +787,14 @@ AC_ARG_WITH(kerberos4, | |||
778 | KLIBS="-lkrb -ldes" | 787 | KLIBS="-lkrb -ldes" |
779 | AC_CHECK_LIB(resolv, dn_expand, , ) | 788 | AC_CHECK_LIB(resolv, dn_expand, , ) |
780 | KRB4=yes | 789 | KRB4=yes |
790 | KRB4_MSG="yes" | ||
781 | AC_DEFINE(KRB4) | 791 | AC_DEFINE(KRB4) |
782 | fi | 792 | fi |
783 | ] | 793 | ] |
784 | ) | 794 | ) |
785 | 795 | ||
786 | # Check whether user wants AFS support | 796 | # Check whether user wants AFS support |
797 | AFS_MSG="no" | ||
787 | AC_ARG_WITH(afs, | 798 | AC_ARG_WITH(afs, |
788 | [ --with-afs=PATH Enable AFS support], | 799 | [ --with-afs=PATH Enable AFS support], |
789 | [ | 800 | [ |
@@ -803,23 +814,27 @@ AC_ARG_WITH(afs, | |||
803 | LIBS="$LIBS $AFS_LIBS" | 814 | LIBS="$LIBS $AFS_LIBS" |
804 | fi | 815 | fi |
805 | AC_DEFINE(AFS) | 816 | AC_DEFINE(AFS) |
817 | AFS_MSG="yes" | ||
806 | fi | 818 | fi |
807 | ] | 819 | ] |
808 | ) | 820 | ) |
809 | LIBS="$LIBS $KLIBS" | 821 | LIBS="$LIBS $KLIBS" |
810 | 822 | ||
811 | # Check whether user wants S/Key support | 823 | # Check whether user wants S/Key support |
824 | SKEY_MSG="no" | ||
812 | AC_ARG_WITH(skey, | 825 | AC_ARG_WITH(skey, |
813 | [ --with-skey Enable S/Key support], | 826 | [ --with-skey Enable S/Key support], |
814 | [ | 827 | [ |
815 | if test "x$withval" != "xno" ; then | 828 | if test "x$withval" != "xno" ; then |
816 | AC_DEFINE(SKEY) | 829 | AC_DEFINE(SKEY) |
817 | LIBS="$LIBS -lskey" | 830 | LIBS="$LIBS -lskey" |
831 | SKEY_MSG="yes" | ||
818 | fi | 832 | fi |
819 | ] | 833 | ] |
820 | ) | 834 | ) |
821 | 835 | ||
822 | # Check whether user wants TCP wrappers support | 836 | # Check whether user wants TCP wrappers support |
837 | TCPW_MSG="no" | ||
823 | AC_ARG_WITH(tcp-wrappers, | 838 | AC_ARG_WITH(tcp-wrappers, |
824 | [ --with-tcp-wrappers Enable tcpwrappers support], | 839 | [ --with-tcp-wrappers Enable tcpwrappers support], |
825 | [ | 840 | [ |
@@ -836,11 +851,10 @@ AC_ARG_WITH(tcp-wrappers, | |||
836 | [ | 851 | [ |
837 | AC_MSG_RESULT(yes) | 852 | AC_MSG_RESULT(yes) |
838 | AC_DEFINE(LIBWRAP) | 853 | AC_DEFINE(LIBWRAP) |
854 | TCPW_MSG="yes" | ||
839 | ], | 855 | ], |
840 | [ | 856 | [ |
841 | AC_MSG_RESULT(no) | 857 | AC_MSG_ERROR([*** libwrap missing]) |
842 | AC_MSG_WARN([*** libwrap missing - tcpwrapper support disabled ***]) | ||
843 | LIBS="$saved_LIBS" | ||
844 | ] | 858 | ] |
845 | ) | 859 | ) |
846 | fi | 860 | fi |
@@ -848,11 +862,13 @@ AC_ARG_WITH(tcp-wrappers, | |||
848 | ) | 862 | ) |
849 | 863 | ||
850 | # Check whether to enable MD5 passwords | 864 | # Check whether to enable MD5 passwords |
865 | MD5_MSG="no" | ||
851 | AC_ARG_WITH(md5-passwords, | 866 | AC_ARG_WITH(md5-passwords, |
852 | [ --with-md5-passwords Enable use of MD5 passwords], | 867 | [ --with-md5-passwords Enable use of MD5 passwords], |
853 | [ | 868 | [ |
854 | if test "x$withval" != "xno" ; then | 869 | if test "x$withval" != "xno" ; then |
855 | AC_DEFINE(HAVE_MD5_PASSWORDS) | 870 | AC_DEFINE(HAVE_MD5_PASSWORDS) |
871 | MD5_MSG="yes" | ||
856 | fi | 872 | fi |
857 | ] | 873 | ] |
858 | ) | 874 | ) |
@@ -868,42 +884,50 @@ AC_ARG_WITH(shadow, | |||
868 | ) | 884 | ) |
869 | 885 | ||
870 | # Use ip address instead of hostname in $DISPLAY | 886 | # Use ip address instead of hostname in $DISPLAY |
887 | DISPLAY_HACK_MSG="no" | ||
871 | AC_ARG_WITH(ipaddr-display, | 888 | AC_ARG_WITH(ipaddr-display, |
872 | [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY], | 889 | [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY], |
873 | [ | 890 | [ |
874 | if test "x$withval" = "xno" ; then | 891 | if test "x$withval" = "xno" ; then |
875 | AC_DEFINE(IPADDR_IN_DISPLAY) | 892 | AC_DEFINE(IPADDR_IN_DISPLAY) |
893 | DISPLAY_HACK_MSG="yes" | ||
876 | fi | 894 | fi |
877 | ] | 895 | ] |
878 | ) | 896 | ) |
879 | 897 | ||
880 | # Whether to mess with the default path | 898 | # Whether to mess with the default path |
899 | SERVER_PATH_MSG="(default)" | ||
881 | AC_ARG_WITH(default-path, | 900 | AC_ARG_WITH(default-path, |
882 | [ --with-default-path=PATH Specify default \$PATH environment for server], | 901 | [ --with-default-path=PATH Specify default \$PATH environment for server], |
883 | [ | 902 | [ |
884 | if test "x$withval" != "xno" ; then | 903 | if test "x$withval" != "xno" ; then |
885 | AC_DEFINE_UNQUOTED(USER_PATH, "$withval") | 904 | AC_DEFINE_UNQUOTED(USER_PATH, "$withval") |
905 | SERVER_PATH_MSG="$withval" | ||
886 | fi | 906 | fi |
887 | ] | 907 | ] |
888 | ) | 908 | ) |
889 | 909 | ||
890 | # Whether to force IPv4 by default (needed on broken glibc Linux) | 910 | # Whether to force IPv4 by default (needed on broken glibc Linux) |
911 | IPV4_HACK_MSG="no" | ||
891 | AC_ARG_WITH(ipv4-default, | 912 | AC_ARG_WITH(ipv4-default, |
892 | [ --with-ipv4-default Use IPv4 by connections unless '-6' specified], | 913 | [ --with-ipv4-default Use IPv4 by connections unless '-6' specified], |
893 | [ | 914 | [ |
894 | if test "x$withval" != "xno" ; then | 915 | if test "x$withval" != "xno" ; then |
895 | AC_DEFINE(IPV4_DEFAULT) | 916 | AC_DEFINE(IPV4_DEFAULT) |
917 | IPV4_HACK_MSG="yes" | ||
896 | fi | 918 | fi |
897 | ] | 919 | ] |
898 | ) | 920 | ) |
899 | 921 | ||
900 | AC_MSG_CHECKING([if we need to convert IPv4 in IPv6-mapped addresses]) | 922 | AC_MSG_CHECKING([if we need to convert IPv4 in IPv6-mapped addresses]) |
923 | IPV4_IN6_HACK_MSG="no" | ||
901 | AC_ARG_WITH(4in6, | 924 | AC_ARG_WITH(4in6, |
902 | [ --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses], | 925 | [ --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses], |
903 | [ | 926 | [ |
904 | if test "x$withval" != "xno" ; then | 927 | if test "x$withval" != "xno" ; then |
905 | AC_MSG_RESULT(yes) | 928 | AC_MSG_RESULT(yes) |
906 | AC_DEFINE(IPV4_IN_IPV6) | 929 | AC_DEFINE(IPV4_IN_IPV6) |
930 | IPV4_IN6_HACK_MSG="yes" | ||
907 | else | 931 | else |
908 | AC_MSG_RESULT(no) | 932 | AC_MSG_RESULT(no) |
909 | fi | 933 | fi |
@@ -911,6 +935,7 @@ AC_ARG_WITH(4in6, | |||
911 | if test "x$inet6_default_4in6" = "xyes"; then | 935 | if test "x$inet6_default_4in6" = "xyes"; then |
912 | AC_MSG_RESULT([yes (default)]) | 936 | AC_MSG_RESULT([yes (default)]) |
913 | AC_DEFINE(IPV4_IN_IPV6) | 937 | AC_DEFINE(IPV4_IN_IPV6) |
938 | IPV4_IN6_HACK_MSG="yes" | ||
914 | else | 939 | else |
915 | AC_MSG_RESULT([no (default)]) | 940 | AC_MSG_RESULT([no (default)]) |
916 | fi | 941 | fi |
@@ -1162,3 +1187,57 @@ fi | |||
1162 | 1187 | ||
1163 | AC_OUTPUT(Makefile ssh_prng_cmds) | 1188 | AC_OUTPUT(Makefile ssh_prng_cmds) |
1164 | 1189 | ||
1190 | # Print summary of options | ||
1191 | |||
1192 | if test x$MANTYPE = x'$(CATMAN)' ; then | ||
1193 | MAN_MSG=cat | ||
1194 | else | ||
1195 | MAN_MSG=man | ||
1196 | fi | ||
1197 | if test ! -z "$RANDOM_POOL" ; then | ||
1198 | RAND_MSG="Device ($RANDOM_POOL)" | ||
1199 | else | ||
1200 | if test ! -z "$EGD_SOCKET" ; then | ||
1201 | RAND_MSG="EGD ($EGD_SOCKET)" | ||
1202 | else | ||
1203 | RAND_MSG="Builtin (timeout $entropy_timeout)" | ||
1204 | fi | ||
1205 | fi | ||
1206 | |||
1207 | # Someone please show me a better way :) | ||
1208 | A=`eval echo ${prefix}` ; A=`eval echo ${A}` | ||
1209 | B=`eval echo ${bindir}` ; B=`eval echo ${B}` | ||
1210 | C=`eval echo ${sbindir}` ; C=`eval echo ${C}` | ||
1211 | D=`eval echo ${sysconfdir}` ; D=`eval echo ${D}` | ||
1212 | E=`eval echo ${libexecdir}/ssh/ssh-askpass` ; E=`eval echo ${E}` | ||
1213 | F=`eval echo ${mandir}/${mansubdir}X` ; F=`eval echo ${F}` | ||
1214 | G=`eval echo ${piddir}` ; G=`eval echo ${G}` | ||
1215 | |||
1216 | echo "" | ||
1217 | echo "OpenSSH configured has been configured with the following options." | ||
1218 | echo " User binaries: $B" | ||
1219 | echo " System binaries: $C" | ||
1220 | echo " Configuration files: $D" | ||
1221 | echo " Askpass program: $E" | ||
1222 | echo " Manual pages: $F" | ||
1223 | echo " PID file: $G" | ||
1224 | echo " Random number collection: $RAND_MSG" | ||
1225 | echo " Manpage format: $MAN_MSG" | ||
1226 | echo " PAM support: ${PAM_MSG}" | ||
1227 | echo " KerberosIV support: $KRB4_MSG" | ||
1228 | echo " AFS support: $AFS_MSG" | ||
1229 | echo " S/KEY support: $SKEY_MSG" | ||
1230 | echo " TCP Wrappers support: $TCPW_MSG" | ||
1231 | echo " MD5 password support: $MD5_MSG" | ||
1232 | echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG" | ||
1233 | echo " Use IPv4 by default hack: $IPV4_HACK_MSG" | ||
1234 | echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG" | ||
1235 | |||
1236 | echo "" | ||
1237 | |||
1238 | echo "Compiler flags: ${CFLAGS}" | ||
1239 | echo "Linker flags: ${LDFLAGS}" | ||
1240 | echo "Libraries: ${LIBS}" | ||
1241 | |||
1242 | echo "" | ||
1243 | |||
@@ -35,7 +35,7 @@ | |||
35 | #include <openssl/rand.h> | 35 | #include <openssl/rand.h> |
36 | #include <openssl/sha.h> | 36 | #include <openssl/sha.h> |
37 | 37 | ||
38 | RCSID("$Id: entropy.c,v 1.13 2000/06/07 12:20:23 djm Exp $"); | 38 | RCSID("$Id: entropy.c,v 1.14 2000/06/18 04:07:04 djm Exp $"); |
39 | 39 | ||
40 | #ifndef offsetof | 40 | #ifndef offsetof |
41 | # define offsetof(type, member) ((size_t) &((type *)0)->member) | 41 | # define offsetof(type, member) ((size_t) &((type *)0)->member) |
@@ -55,6 +55,13 @@ RCSID("$Id: entropy.c,v 1.13 2000/06/07 12:20:23 djm Exp $"); | |||
55 | 55 | ||
56 | #define WHITESPACE " \t\n" | 56 | #define WHITESPACE " \t\n" |
57 | 57 | ||
58 | #ifndef RUSAGE_SELF | ||
59 | # define RUSAGE_SELF 0 | ||
60 | #endif | ||
61 | #ifndef RUSAGE_CHILDREN | ||
62 | # define RUSAGE_CHILDREN 0 | ||
63 | #endif | ||
64 | |||
58 | #if defined(EGD_SOCKET) || defined(RANDOM_POOL) | 65 | #if defined(EGD_SOCKET) || defined(RANDOM_POOL) |
59 | 66 | ||
60 | #ifdef EGD_SOCKET | 67 | #ifdef EGD_SOCKET |
@@ -187,11 +194,11 @@ stir_from_system(void) | |||
187 | total_entropy_estimate = 0; | 194 | total_entropy_estimate = 0; |
188 | 195 | ||
189 | i = getpid(); | 196 | i = getpid(); |
190 | RAND_add(&i, sizeof(i), 0.1); | 197 | RAND_add(&i, sizeof(i), 0.5); |
191 | total_entropy_estimate += 0.1; | 198 | total_entropy_estimate += 0.1; |
192 | 199 | ||
193 | i = getppid(); | 200 | i = getppid(); |
194 | RAND_add(&i, sizeof(i), 0.1); | 201 | RAND_add(&i, sizeof(i), 0.5); |
195 | total_entropy_estimate += 0.1; | 202 | total_entropy_estimate += 0.1; |
196 | 203 | ||
197 | i = getuid(); | 204 | i = getuid(); |
@@ -200,7 +207,7 @@ stir_from_system(void) | |||
200 | RAND_add(&i, sizeof(i), 0.0); | 207 | RAND_add(&i, sizeof(i), 0.0); |
201 | 208 | ||
202 | total_entropy_estimate += stir_gettimeofday(1.0); | 209 | total_entropy_estimate += stir_gettimeofday(1.0); |
203 | total_entropy_estimate += stir_clock(0.2); | 210 | total_entropy_estimate += stir_clock(0.5); |
204 | total_entropy_estimate += stir_rusage(RUSAGE_SELF, 2.0); | 211 | total_entropy_estimate += stir_rusage(RUSAGE_SELF, 2.0); |
205 | 212 | ||
206 | return(total_entropy_estimate); | 213 | return(total_entropy_estimate); |
@@ -301,9 +308,9 @@ stir_rusage(int who, double entropy_estimate) | |||
301 | struct rusage ru; | 308 | struct rusage ru; |
302 | 309 | ||
303 | if (getrusage(who, &ru) == -1) | 310 | if (getrusage(who, &ru) == -1) |
304 | fatal("Couldn't getrusage: %s", strerror(errno)); | 311 | return(0); |
305 | 312 | ||
306 | RAND_add(&ru, sizeof(ru), 0.1); | 313 | RAND_add(&ru, sizeof(ru), entropy_estimate); |
307 | 314 | ||
308 | return(entropy_estimate); | 315 | return(entropy_estimate); |
309 | #else /* _HAVE_GETRUSAGE */ | 316 | #else /* _HAVE_GETRUSAGE */ |