Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 592578 | Differences between
and this patch

Collapse All | Expand All

(-)a/configure.ac (-3 / +36 lines)
Lines 2481-2486 if test "x$openssl" = "xyes" ; then Link Here
2481
			)
2481
			)
2482
		]
2482
		]
2483
	)
2483
	)
2484
	AC_CHECK_FUNCS([SSLeay OpenSSL_version_num SSLeay_add_all_algorithms OPENSSL_init_crypto])
2484
2485
2485
	# Determine OpenSSL header version
2486
	# Determine OpenSSL header version
2486
	AC_MSG_CHECKING([OpenSSL header version])
2487
	AC_MSG_CHECKING([OpenSSL header version])
Lines 2536-2543 if test "x$openssl" = "xyes" ; then Link Here
2536
		if(fd == NULL)
2537
		if(fd == NULL)
2537
			exit(1);
2538
			exit(1);
2538
2539
2540
		#if defined(HAVE_SSLEAY)
2539
		if ((rc = fprintf(fd, "%08lx (%s)\n", (unsigned long)SSLeay(),
2541
		if ((rc = fprintf(fd, "%08lx (%s)\n", (unsigned long)SSLeay(),
2540
		    SSLeay_version(SSLEAY_VERSION))) < 0)
2542
		    SSLeay_version(SSLEAY_VERSION))) < 0)
2543
		#elif defined(HAVE_OPENSSL_VERSION_NUM)
2544
		if ((rc = fprintf(fd, "%08lx (%s)\n", (unsigned long)OpenSSL_version_num(),
2545
		    OpenSSL_version(OPENSSL_VERSION))) < 0)
2546
		#else
2547
		#error
2548
		#endif
2541
			exit(1);
2549
			exit(1);
2542
2550
2543
		exit(0);
2551
		exit(0);
Lines 2550-2558 if test "x$openssl" = "xyes" ; then Link Here
2550
					AC_MSG_ERROR([OpenSSL >= 1.0.1 required (have "$ssl_library_ver")])
2558
					AC_MSG_ERROR([OpenSSL >= 1.0.1 required (have "$ssl_library_ver")])
2551
			                ;;
2559
			                ;;
2552
				100*)   ;; # 1.0.x
2560
				100*)   ;; # 1.0.x
2561
				101*)   ;; # 1.1.x
2553
				200*)   ;; # LibreSSL
2562
				200*)   ;; # LibreSSL
2554
			        *)
2563
			        *)
2555
					AC_MSG_ERROR([OpenSSL >= 1.1.0 is not yet supported (have "$ssl_library_ver")])
2564
					AC_MSG_ERROR([OpenSSL version is not yet supported (have "$ssl_library_ver")])
2556
			                ;;
2565
			                ;;
2557
			esac
2566
			esac
2558
			AC_MSG_RESULT([$ssl_library_ver])
2567
			AC_MSG_RESULT([$ssl_library_ver])
Lines 2574-2580 if test "x$openssl" = "xyes" ; then Link Here
2574
	#include <openssl/opensslv.h>
2583
	#include <openssl/opensslv.h>
2575
	#include <openssl/crypto.h>
2584
	#include <openssl/crypto.h>
2576
		]], [[
2585
		]], [[
2586
		#if defined(HAVE_SSLEAY)
2577
		exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1);
2587
		exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1);
2588
		#elif defined(HAVE_OPENSSL_VERSION_NUM)
2589
		exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1);
2590
		#else
2591
		#error
2592
		#endif
2578
		]])],
2593
		]])],
2579
		[
2594
		[
2580
			AC_MSG_RESULT([yes])
2595
			AC_MSG_RESULT([yes])
Lines 2602-2608 if test "x$openssl" = "xyes" ; then Link Here
2602
	AC_MSG_CHECKING([if programs using OpenSSL functions will link])
2617
	AC_MSG_CHECKING([if programs using OpenSSL functions will link])
2603
	AC_LINK_IFELSE(
2618
	AC_LINK_IFELSE(
2604
		[AC_LANG_PROGRAM([[ #include <openssl/evp.h> ]],
2619
		[AC_LANG_PROGRAM([[ #include <openssl/evp.h> ]],
2605
		[[ SSLeay_add_all_algorithms(); ]])],
2620
		[[
2621
		#if defined(HAVE_SSLEAY_ADD_ALL_ALGORITHMS)
2622
		SSLeay_add_all_algorithms();
2623
		#elif defined(HAVE_OPENSSL_INIT_CRYPTO)
2624
		OPENSSL_init_crypto(0, NULL);
2625
		#else
2626
		#error
2627
		#endif
2628
		]])],
2606
		[
2629
		[
2607
			AC_MSG_RESULT([yes])
2630
			AC_MSG_RESULT([yes])
2608
		],
2631
		],
Lines 2613-2619 if test "x$openssl" = "xyes" ; then Link Here
2613
			AC_MSG_CHECKING([if programs using OpenSSL need -ldl])
2636
			AC_MSG_CHECKING([if programs using OpenSSL need -ldl])
2614
			AC_LINK_IFELSE(
2637
			AC_LINK_IFELSE(
2615
				[AC_LANG_PROGRAM([[ #include <openssl/evp.h> ]],
2638
				[AC_LANG_PROGRAM([[ #include <openssl/evp.h> ]],
2616
				[[ SSLeay_add_all_algorithms(); ]])],
2639
				[[
2640
				#if defined(HAVE_SSLEAY_ADD_ALL_ALGORITHMS)
2641
				SSLeay_add_all_algorithms();
2642
				#elif defined(HAVE_OPENSSL_INIT_CRYPTO)
2643
				OPENSSL_init_crypto(0, NULL);
2644
				#else
2645
				#error
2646
				#endif
2647
				]])],
2617
				[
2648
				[
2618
					AC_MSG_RESULT([yes])
2649
					AC_MSG_RESULT([yes])
2619
				],
2650
				],
Lines 2626-2631 if test "x$openssl" = "xyes" ; then Link Here
2626
	)
2657
	)
2627
2658
2628
	AC_CHECK_FUNCS([ \
2659
	AC_CHECK_FUNCS([ \
2660
		SSLeay_version \
2661
		OpenSSL_version \
2629
		BN_is_prime_ex \
2662
		BN_is_prime_ex \
2630
		DSA_generate_parameters_ex \
2663
		DSA_generate_parameters_ex \
2631
		EVP_DigestInit_ex \
2664
		EVP_DigestInit_ex \
(-)a/entropy.c (+8 lines)
Lines 213-221 seed_rng(void) Link Here
213
#ifndef OPENSSL_PRNG_ONLY
213
#ifndef OPENSSL_PRNG_ONLY
214
	unsigned char buf[RANDOM_SEED_SIZE];
214
	unsigned char buf[RANDOM_SEED_SIZE];
215
#endif
215
#endif
216
#if defined(HAVE_SSLEAY)
216
	if (!ssh_compatible_openssl(OPENSSL_VERSION_NUMBER, SSLeay()))
217
	if (!ssh_compatible_openssl(OPENSSL_VERSION_NUMBER, SSLeay()))
217
		fatal("OpenSSL version mismatch. Built against %lx, you "
218
		fatal("OpenSSL version mismatch. Built against %lx, you "
218
		    "have %lx", (u_long)OPENSSL_VERSION_NUMBER, SSLeay());
219
		    "have %lx", (u_long)OPENSSL_VERSION_NUMBER, SSLeay());
220
#elif defined(HAVE_OPENSSL_VERSION_NUM)
221
	if (!ssh_compatible_openssl(OPENSSL_VERSION_NUMBER, OpenSSL_version_num()))
222
		fatal("OpenSSL version mismatch. Built against %lx, you "
223
		    "have %lx", (u_long)OPENSSL_VERSION_NUMBER, OpenSSL_version_num());
224
#else
225
#error
226
#endif
219
227
220
#ifndef OPENSSL_PRNG_ONLY
228
#ifndef OPENSSL_PRNG_ONLY
221
	if (RAND_status() == 1) {
229
	if (RAND_status() == 1) {
(-)a/ssh-keysign.c (+2 lines)
Lines 229-235 main(int argc, char **argv) Link Here
229
		fatal("could not open any host key");
229
		fatal("could not open any host key");
230
230
231
#ifdef WITH_OPENSSL
231
#ifdef WITH_OPENSSL
232
# if OPENSSL_VERSION_NUMBER < 0x10100000L
232
	OpenSSL_add_all_algorithms();
233
	OpenSSL_add_all_algorithms();
234
# endif
233
	arc4random_buf(rnd, sizeof(rnd));
235
	arc4random_buf(rnd, sizeof(rnd));
234
	RAND_seed(rnd, sizeof(rnd));
236
	RAND_seed(rnd, sizeof(rnd));
235
#endif
237
#endif
(-)a/ssh.c (-1 / +13 lines)
Lines 765-771 main(int ac, char **av) Link Here
765
			fprintf(stderr, "%s, %s\n",
765
			fprintf(stderr, "%s, %s\n",
766
			    SSH_RELEASE,
766
			    SSH_RELEASE,
767
#ifdef WITH_OPENSSL
767
#ifdef WITH_OPENSSL
768
# if defined(HAVE_SSLEAY_VERSION)
768
			    SSLeay_version(SSLEAY_VERSION)
769
			    SSLeay_version(SSLEAY_VERSION)
770
# elif defined(HAVE_OPENSSL_VERSION)
771
			    OpenSSL_version(OPENSSL_VERSION)
772
# else
773
#  error
774
# endif
769
#else
775
#else
770
			    "without OpenSSL"
776
			    "without OpenSSL"
771
#endif
777
#endif
Lines 956-962 main(int ac, char **av) Link Here
956
962
957
	host_arg = xstrdup(host);
963
	host_arg = xstrdup(host);
958
964
959
#ifdef WITH_OPENSSL
965
#if defined(WITH_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
960
	OpenSSL_add_all_algorithms();
966
	OpenSSL_add_all_algorithms();
961
	ERR_load_crypto_strings();
967
	ERR_load_crypto_strings();
962
#endif
968
#endif
Lines 1003-1009 main(int ac, char **av) Link Here
1003
	if (debug_flag)
1009
	if (debug_flag)
1004
		logit("%s, %s", SSH_RELEASE,
1010
		logit("%s, %s", SSH_RELEASE,
1005
#ifdef WITH_OPENSSL
1011
#ifdef WITH_OPENSSL
1012
# if defined(HAVE_SSLEAY_VERSION)
1006
		    SSLeay_version(SSLEAY_VERSION)
1013
		    SSLeay_version(SSLEAY_VERSION)
1014
# elif defined(HAVE_OPENSSL_VERSION)
1015
		    OpenSSL_version(OPENSSL_VERSION)
1016
# else
1017
#  error
1018
# endif
1007
#else
1019
#else
1008
		    "without OpenSSL"
1020
		    "without OpenSSL"
1009
#endif
1021
#endif
(-)a/ssh_api.c (-2 / +2 lines)
Lines 79-87 ssh_init(struct ssh **sshp, int is_server, struct kex_params *kex_params) Link Here
79
	int r;
79
	int r;
80
80
81
	if (!called) {
81
	if (!called) {
82
#ifdef WITH_OPENSSL
82
#if defined(WITH_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
83
		OpenSSL_add_all_algorithms();
83
		OpenSSL_add_all_algorithms();
84
#endif /* WITH_OPENSSL */
84
#endif /* defined(WITH_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L */
85
		called = 1;
85
		called = 1;
86
	}
86
	}
87
87
(-)a/sshd.c (-1 / +13 lines)
Lines 902-908 usage(void) Link Here
902
	fprintf(stderr, "%s, %s\n",
902
	fprintf(stderr, "%s, %s\n",
903
	    SSH_RELEASE,
903
	    SSH_RELEASE,
904
#ifdef WITH_OPENSSL
904
#ifdef WITH_OPENSSL
905
	    SSLeay_version(SSLEAY_VERSION)
905
# if defined(HAVE_SSLEAY_VERSION)
906
		    SSLeay_version(SSLEAY_VERSION)
907
# elif defined(HAVE_OPENSSL_VERSION)
908
		    OpenSSL_version(OPENSSL_VERSION)
909
# else
910
#  error
911
# endif
906
#else
912
#else
907
	    "without OpenSSL"
913
	    "without OpenSSL"
908
#endif
914
#endif
Lines 1629-1635 main(int ac, char **av) Link Here
1629
1635
1630
	debug("sshd version %s, %s", SSH_VERSION,
1636
	debug("sshd version %s, %s", SSH_VERSION,
1631
#ifdef WITH_OPENSSL
1637
#ifdef WITH_OPENSSL
1638
# if defined(HAVE_SSLEAY_VERSION)
1632
	    SSLeay_version(SSLEAY_VERSION)
1639
	    SSLeay_version(SSLEAY_VERSION)
1640
# elif defined(HAVE_OPENSSL_VERSION)
1641
	    OpenSSL_version(OPENSSL_VERSION)
1642
# else
1643
#  error
1644
# endif
1633
#else
1645
#else
1634
	    "without OpenSSL"
1646
	    "without OpenSSL"
1635
#endif
1647
#endif

Return to bug 592578