diff options
author | Jay Berkenbilt <ejb@ql.org> | 2013-10-05 23:36:33 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2013-10-18 16:45:12 +0200 |
commit | 4229457068d6a28cc11b506f127a7bb650ab18c1 (patch) | |
tree | 822ce1e1eccdcc4a819a5805403b884a3e04791d /m4 | |
parent | 25687ddd71885c1b0a74d3f3f4e011fadbfd40e0 (diff) | |
download | qpdf-4229457068d6a28cc11b506f127a7bb650ab18c1.tar.zst |
Security: use a secure random number generator
If not available, give an error. The user may also configure qpdf to
use an insecure random number generator.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/ax_random_device.m4 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/m4/ax_random_device.m4 b/m4/ax_random_device.m4 new file mode 100644 index 00000000..aa8bf4c9 --- /dev/null +++ b/m4/ax_random_device.m4 @@ -0,0 +1,31 @@ +dnl @synopsis AX_RANDOM_DEVICE +dnl +dnl This macro will check for a random device, allowing the user to explicitly +dnl set the path. The user uses '--with-random=FILE' as an argument to +dnl configure. +dnl +dnl If A random device is found then HAVE_RANDOM_DEVICE is set to 1 and +dnl RANDOM_DEVICE contains the path. +dnl +dnl @category Miscellaneous +dnl @author Martin Ebourne +dnl @version 2005/07/01 +dnl @license AllPermissive + +AC_DEFUN([AX_RANDOM_DEVICE], [ + AC_ARG_WITH([random], + [AC_HELP_STRING([--with-random=FILE], [Use FILE as random number seed [auto-detected]])], + [RANDOM_DEVICE="$withval"], + [AC_CHECK_FILE("/dev/urandom", [RANDOM_DEVICE="/dev/urandom";], + [AC_CHECK_FILE("/dev/arandom", [RANDOM_DEVICE="/dev/arandom";], + [AC_CHECK_FILE("/dev/random", [RANDOM_DEVICE="/dev/random";])] + )]) + ]) + if test "x$RANDOM_DEVICE" != "x" ; then + AC_DEFINE([HAVE_RANDOM_DEVICE], 1, + [Define to 1 (and set RANDOM_DEVICE) if a random device is available]) + AC_SUBST([RANDOM_DEVICE]) + AC_DEFINE_UNQUOTED([RANDOM_DEVICE], ["$RANDOM_DEVICE"], + [Define to the filename of the random device (and set HAVE_RANDOM_DEVICE)]) + fi +])dnl |