Warn on OpenSSL version mismatch in debug mode

Issue:		#88
pull/13/head
Daniel Roethlisberger 9 years ago
parent 558ffb8d33
commit 3f39f589f2

@ -1,6 +1,7 @@
### SSLsplit develop
- Warn when an OpenSSL version mismatch is detected (issue #88).
- Added separate src/dst host and port format specifiers %S, %p, %D and %q
to -F (pull req #74 by @AdamJacobMuller).
- Filenames generated by -S and -F %d and %s changed from [host]:port to

12
ssl.c

@ -102,6 +102,18 @@ ssl_openssl_version(void)
fprintf(stderr, "rtlinked against %s (%lx)\n",
SSLeay_version(SSLEAY_VERSION),
SSLeay());
if ((OPENSSL_VERSION_NUMBER ^ SSLeay()) & 0xfffff000L) {
fprintf(stderr, "---------------------------------------"
"---------------------------------------\n");
fprintf(stderr, "WARNING: OpenSSL version mismatch may "
"lead to crashes or other problems!\n");
fprintf(stderr, "If there are multiple versions of "
"OpenSSL available, make sure to use\n");
fprintf(stderr, "the same version of the library at "
"runtime as well as for compiling against.\n");
fprintf(stderr, "---------------------------------------"
"---------------------------------------\n");
}
#ifndef OPENSSL_NO_TLSEXT
fprintf(stderr, "TLS Server Name Indication (SNI) supported\n");
#else /* OPENSSL_NO_TLSEXT */

@ -572,6 +572,14 @@ START_TEST(ssl_is_ocspreq_01)
END_TEST
START_TEST(ssl_features_01)
{
long vdiff = ((OPENSSL_VERSION_NUMBER ^ SSLeay()) & 0xfffff000L);
fail_unless(!vdiff, "OpenSSL version mismatch at runtime");
}
END_TEST
START_TEST(ssl_features_02)
{
int have_threads = 0;
#ifdef OPENSSL_THREADS
@ -664,6 +672,7 @@ ssl_suite(void)
tc = tcase_create("ssl_features");
tcase_add_test(tc, ssl_features_01);
tcase_add_test(tc, ssl_features_02);
suite_add_tcase(s, tc);
return s;

Loading…
Cancel
Save