Group :: Networking/File transfer
RPM: eiskaltdcpp
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: openssl-1.1.x.patch
Download
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)) {