Never require XML_POOR_ENTROPY for "./configure && make"
.. as XML_POOR_ENTROPY was intended to catch _accidental_ compilation with no provider of high quality entropy enabled for _non-Autoconf_ build systems from the start.
This commit is contained in:
parent
251b1776a7
commit
fd9581a34e
@ -6,7 +6,6 @@ dist: trusty
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- CPPFLAGS='-DXML_POOR_ENTROPY' # bad idea, do not copy!
|
|
||||||
- CFLAGS='-g -pipe'
|
- CFLAGS='-g -pipe'
|
||||||
matrix:
|
matrix:
|
||||||
- MODE=address
|
- MODE=address
|
||||||
|
@ -20,6 +20,9 @@ Release 2.2.? ????????????????
|
|||||||
Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__)
|
Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__)
|
||||||
for CloudABI
|
for CloudABI
|
||||||
#100 Fix use of SIPHASH_MAIN in siphash.h
|
#100 Fix use of SIPHASH_MAIN in siphash.h
|
||||||
|
Repair "./configure && make" for systems without any
|
||||||
|
provider of high quality entropy
|
||||||
|
and try reading /dev/urandom on those
|
||||||
|
|
||||||
Special thanks to:
|
Special thanks to:
|
||||||
Chanho Park
|
Chanho Park
|
||||||
|
@ -199,6 +199,8 @@ AC_DEFINE([XML_NS], 1,
|
|||||||
[Define to make XML Namespaces functionality available.])
|
[Define to make XML Namespaces functionality available.])
|
||||||
AC_DEFINE([XML_DTD], 1,
|
AC_DEFINE([XML_DTD], 1,
|
||||||
[Define to make parameter entity parsing functionality available.])
|
[Define to make parameter entity parsing functionality available.])
|
||||||
|
AC_DEFINE([XML_DEV_URANDOM], 1,
|
||||||
|
[Define to include code reading entropy from `/dev/urandom'.])
|
||||||
|
|
||||||
AC_ARG_ENABLE([xml-context],
|
AC_ARG_ENABLE([xml-context],
|
||||||
AS_HELP_STRING([--enable-xml-context @<:@COUNT@:>@],
|
AS_HELP_STRING([--enable-xml-context @<:@COUNT@:>@],
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
|
|
||||||
#if !defined(HAVE_GETRANDOM) && !defined(HAVE_SYSCALL_GETRANDOM) \
|
#if !defined(HAVE_GETRANDOM) && !defined(HAVE_SYSCALL_GETRANDOM) \
|
||||||
&& !defined(HAVE_ARC4RANDOM_BUF) && !defined(HAVE_ARC4RANDOM) \
|
&& !defined(HAVE_ARC4RANDOM_BUF) && !defined(HAVE_ARC4RANDOM) \
|
||||||
|
&& !defined(XML_DEV_URANDOM) \
|
||||||
&& !defined(_WIN32) \
|
&& !defined(_WIN32) \
|
||||||
&& !defined(XML_POOR_ENTROPY)
|
&& !defined(XML_POOR_ENTROPY)
|
||||||
# error \
|
# error \
|
||||||
@ -73,6 +74,7 @@
|
|||||||
* BSD / macOS <10.7 (arc4random): HAVE_ARC4RANDOM, \
|
* BSD / macOS <10.7 (arc4random): HAVE_ARC4RANDOM, \
|
||||||
* libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, \
|
* libbsd (arc4random_buf): HAVE_ARC4RANDOM_BUF + HAVE_LIBBSD, \
|
||||||
* libbsd (arc4random): HAVE_ARC4RANDOM + HAVE_LIBBSD, \
|
* libbsd (arc4random): HAVE_ARC4RANDOM + HAVE_LIBBSD, \
|
||||||
|
* Linux / BSD / macOS (/dev/urandom): XML_DEV_URANDOM \
|
||||||
* Windows (RtlGenRandom): _WIN32. \
|
* Windows (RtlGenRandom): _WIN32. \
|
||||||
\
|
\
|
||||||
If insist on not using any of these, bypass this error by defining \
|
If insist on not using any of these, bypass this error by defining \
|
||||||
@ -784,7 +786,7 @@ writeRandomBytes_getrandom_nonblock(void * target, size_t count) {
|
|||||||
#endif /* defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM) */
|
#endif /* defined(HAVE_GETRANDOM) || defined(HAVE_SYSCALL_GETRANDOM) */
|
||||||
|
|
||||||
|
|
||||||
#if ! defined(_WIN32)
|
#if ! defined(_WIN32) && defined(XML_DEV_URANDOM)
|
||||||
|
|
||||||
/* Extract entropy from /dev/urandom */
|
/* Extract entropy from /dev/urandom */
|
||||||
static int
|
static int
|
||||||
@ -814,7 +816,7 @@ writeRandomBytes_dev_urandom(void * target, size_t count) {
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ! defined(_WIN32) */
|
#endif /* ! defined(_WIN32) && defined(XML_DEV_URANDOM) */
|
||||||
|
|
||||||
|
|
||||||
#if defined(HAVE_ARC4RANDOM)
|
#if defined(HAVE_ARC4RANDOM)
|
||||||
@ -934,11 +936,11 @@ generate_hash_secret_salt(XML_Parser parser)
|
|||||||
return ENTROPY_DEBUG("getrandom", entropy);
|
return ENTROPY_DEBUG("getrandom", entropy);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if ! defined(_WIN32)
|
#if ! defined(_WIN32) && defined(XML_DEV_URANDOM)
|
||||||
if (writeRandomBytes_dev_urandom((void *)&entropy, sizeof(entropy))) {
|
if (writeRandomBytes_dev_urandom((void *)&entropy, sizeof(entropy))) {
|
||||||
return ENTROPY_DEBUG("/dev/urandom", entropy);
|
return ENTROPY_DEBUG("/dev/urandom", entropy);
|
||||||
}
|
}
|
||||||
#endif /* ! defined(_WIN32) */
|
#endif /* ! defined(_WIN32) && defined(XML_DEV_URANDOM) */
|
||||||
/* .. and self-made low quality for backup: */
|
/* .. and self-made low quality for backup: */
|
||||||
|
|
||||||
/* Process ID is 0 bits entropy if attacker has local access */
|
/* Process ID is 0 bits entropy if attacker has local access */
|
||||||
|
Loading…
Reference in New Issue
Block a user