Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37858000
en ru br
ALT Linux repos
S:2.4.2.0.21.git918a6cd-alt1

Group :: Networking/File transfer
RPM: eiskaltdcpp

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: openssl-1.1.x.patch
Download


--- eiskaltdcpp-2.2.10.orig/dcpp/CryptoManager.cpp
+++ eiskaltdcpp-2.2.10/dcpp/CryptoManager.cpp
@@ -101,10 +101,15 @@ CryptoManager::CryptoManager()
                 };
 
         if(dh) {
-            dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-            dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
-
-            if (!dh->p || !dh->g) {
+            BIGNUM *p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
+            BIGNUM *g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
+            dh->p = p;
+            dh->g = g;
+#else
+            DH_set0_pqg(dh, p, NULL, g);
+#endif
+            if(!p || !g) {
                 dh.reset();
             } else {
                 SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE);
--- eiskaltdcpp-2.2.10.orig/dcpp/SSLSocket.cpp
+++ eiskaltdcpp-2.2.10/dcpp/SSLSocket.cpp
@@ -37,6 +37,13 @@ void SSLSocket::connect(const string& aI
     waitConnected(0);
 }
 
+#if OPENSSL_VERSION_NUMBER < 0x10002000L
+static inline int SSL_is_server(SSL *s)
+{
+    return s->server;
+}
+#endif
+
 bool SSLSocket::waitConnected(uint32_t millis) {
     if(!ssl) {
         if(!Socket::waitConnected(millis)) {
@@ -54,9 +61,9 @@ bool SSLSocket::waitConnected(uint32_t m
     }
 
     while(true) {
-        int ret = ssl->server?SSL_accept(ssl):SSL_connect(ssl);
+        int ret = SSL_is_server(ssl)?SSL_accept(ssl):SSL_connect(ssl);
         if(ret == 1) {
-            dcdebug("Connected to SSL server using %s as %s\n", SSL_get_cipher(ssl), ssl->server?"server":"client");
+            dcdebug("Connected to SSL server using %s as %s\n", SSL_get_cipher(ssl), SSL_is_server(ssl)?"server":"client");
             return true;
         }
         if(!waitWant(ret, millis)) {
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin