summaryrefslogtreecommitdiff
path: root/entropy.c
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2012-05-17 13:04:02 +0100
committerColin Watson <cjwatson@debian.org>2012-05-17 13:04:02 +0100
commitdd5ed53e20d218607260916a6b04d1c8c5b3d88f (patch)
treec59b4dbcc610f10700945f885adf3bddc2542c26 /entropy.c
parent8241a65bf12ac53c1b7304bba7ce739aad80b8b8 (diff)
parentb9bc38990c5eb5d99e28ca5af6d3491fd4a0060a (diff)
merge 6.0p1
Diffstat (limited to 'entropy.c')
-rw-r--r--entropy.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/entropy.c b/entropy.c
index 2d6d3ec52..2d483b391 100644
--- a/entropy.c
+++ b/entropy.c
@@ -211,9 +211,14 @@ seed_rng(void)
211#endif 211#endif
212 /* 212 /*
213 * OpenSSL version numbers: MNNFFPPS: major minor fix patch status 213 * OpenSSL version numbers: MNNFFPPS: major minor fix patch status
214 * We match major, minor, fix and status (not patch) 214 * We match major, minor, fix and status (not patch) for <1.0.0.
215 * After that, we acceptable compatible fix versions (so we
216 * allow 1.0.1 to work with 1.0.0). Going backwards is only allowed
217 * within a patch series.
215 */ 218 */
216 if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) 219 u_long version_mask = SSLeay() >= 0x1000000f ? ~0xffff0L : ~0xff0L;
220 if (((SSLeay() ^ OPENSSL_VERSION_NUMBER) & version_mask) ||
221 (SSLeay() >> 12) < (OPENSSL_VERSION_NUMBER >> 12))
217 fatal("OpenSSL version mismatch. Built against %lx, you " 222 fatal("OpenSSL version mismatch. Built against %lx, you "
218 "have %lx", (u_long)OPENSSL_VERSION_NUMBER, SSLeay()); 223 "have %lx", (u_long)OPENSSL_VERSION_NUMBER, SSLeay());
219 224