--- openssh-5.9p1/entropy.c.orig +++ openssh-5.9p1/entropy.c @@ -206,6 +206,7 @@ void seed_rng(void) { + u_long mask; #ifndef OPENSSL_PRNG_ONLY unsigned char buf[RANDOM_SEED_SIZE]; #endif @@ -213,7 +214,8 @@ * OpenSSL version numbers: MNNFFPPS: major minor fix patch status * We match major, minor, fix and status (not patch) */ - if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) + mask = (OPENSSL_VERSION_NUMBER >= 0x10000000) ? 0xffff0L : 0xff0L; + if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~mask) fatal("OpenSSL version mismatch. Built against %lx, you " "have %lx", (u_long)OPENSSL_VERSION_NUMBER, SSLeay());