File: linuxdcpp-openssl-1.1.patch

package info (click to toggle)
guix 1.4.0-9
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 161,500 kB
  • sloc: lisp: 861,023; cpp: 10,741; javascript: 9,632; sh: 8,913; makefile: 951; ansic: 558; python: 129; sql: 33; sed: 16
file content (26 lines) | stat: -rw-r--r-- 784 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--- a/dcpp/CryptoManager.cpp.orig	2011-04-17 17:57:09 UTC
+++ b/dcpp/CryptoManager.cpp
@@ -107,12 +107,20 @@ CryptoManager::CryptoManager()
                 };
 
 		if(dh) {
-			dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-			dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
+			BIGNUM *p, *g;
 
-			if (!dh->p || !dh->g) {
+			p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
+			g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
+
+			if (!p || !g) {
 				dh.reset();
 			} else {
+#if OPENSSL_VERSION_NUMBER < 0x10100005L
+				dh->p = p;
+				dh->g = g;
+#else
+				DH_set0_pqg(dh, p, NULL, g);
+#endif
 				SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE);
 				SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_DH_USE);
 				SSL_CTX_set_tmp_dh(serverContext, (DH*)dh);