* gnu/packages/direct-connect.scm (linuxdcpp)[source]: Add patch and snippet to fix build. * gnu/packages/patches/linuxdcpp-openssl-1.1.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			784 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			784 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- 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);
 |