File openssl1.1.patch of Package kdebase3

diff -Naru kdebase-3.5.10_orig/kcontrol/crypto/certexport.cpp kdebase-3.5.10/kcontrol/crypto/certexport.cpp
--- kdebase-3.5.10_orig/kcontrol/crypto/certexport.cpp	2005-10-10 15:03:48.000000000 +0000
+++ kdebase-3.5.10/kcontrol/crypto/certexport.cpp	2018-04-17 03:31:53.225562286 +0000
@@ -101,7 +101,13 @@
    } else if (_text->isChecked()) {
       certt = _c->toText();
    } else {  // netscape
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+      KMessageBox::error(this, i18n("Sorry, Netscape export is not provided anymore!"), i18n("SSL"));
+      reject();
+      return;
+#else
       cert = _c->toNetscape();
+#endif
    }
 
       if ((!_text->isChecked() && cert.size() <= 0) && certt.isEmpty()) {
diff -Naru kdebase-3.5.10_orig/kcontrol/crypto/crypto.cpp kdebase-3.5.10/kcontrol/crypto/crypto.cpp
--- kdebase-3.5.10_orig/kcontrol/crypto/crypto.cpp	2018-04-17 03:03:31.706068081 +0000
+++ kdebase-3.5.10/kcontrol/crypto/crypto.cpp	2018-04-17 03:27:10.902842106 +0000
@@ -1848,13 +1848,23 @@
 	    KOSSL::self()->X509_LOOKUP_load_file(certLookup,
 		                                 certFile.local8Bit(),
 						 X509_FILETYPE_PEM)) {
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+                for (int i = 0; i < sk_X509_OBJECT_num(X509_STORE_get0_objects(certStore)); i++) {
+                        X509_OBJECT* x5o = sk_X509_OBJECT_value(X509_STORE_get0_objects(certStore), i);
+#else
 		for (int i = 0; i < sk_X509_OBJECT_num(certStore->objs); i++) {
 			X509_OBJECT* x5o = sk_X509_OBJECT_value(certStore->objs, i);
+#endif
 			if (!x5o) continue;
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+			if (X509_OBJECT_get_type(x5o) != X509_LU_X509) continue;
+			X509 *x5 = X509_OBJECT_get0_X509(x5o);
+#else
 			if (x5o->type != X509_LU_X509) continue;
-
 			X509 *x5 = x5o->data.x509;
+#endif
+
 			if (!x5) continue;
 
 			// Easier to use in this form
@@ -2330,7 +2340,11 @@
   SSLv2Box->clear();
   SSLv3Box->clear();
 
-  meth = SSLv2_client_method();
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+  meth = SSLv23_client_method();
+#else
+  meth = SSLv3_client_method();
+#endif
   SSLeay_add_ssl_algorithms();
   ctx = SSL_CTX_new(meth);
   if (ctx == NULL) return false;
@@ -2344,22 +2358,36 @@
 #if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10000000L
     const
 #endif
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    SSL_CIPHER *sc = sk_SSL_CIPHER_value(SSL_CTX_get_ciphers(ctx), i);
+#else
     SSL_CIPHER *sc = (meth->get_cipher)(i);
+#endif
     if (!sc)
       break;
     // Leak of sc*?
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    QString scn(SSL_CIPHER_get_name(sc));
+#else
     QString scn(sc->name);
+#endif
     if (scn.contains("ADH-") || scn.contains("NULL-") || scn.contains("DES-CBC3-SHA") || scn.contains("FZA-")) {
       continue;
     }
     k = SSL_CIPHER_get_bits(sc, &j);
 
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+    item = new CipherItem( SSLv2Box, SSL_CIPHER_get_name(sc), k, j, this );
+    item = new CipherItem( SSLv3Box, SSL_CIPHER_get_name(sc), k, j, this );
+#else
     item = new CipherItem( SSLv2Box, sc->name, k, j, this );
+#endif
   }
 
   if (ctx) SSL_CTX_free(ctx);
   if (ssl) SSL_free(ssl);
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
   // We repeat for SSLv3
   meth = SSLv3_client_method();
   SSLeay_add_ssl_algorithms();
@@ -2389,6 +2417,7 @@
 
   if (ctx) SSL_CTX_free(ctx);
   if (ssl) SSL_free(ssl);
+#endif
 
 return true;
 }