Index: kopenssl.cc
===================================================================
RCS file: /home/kde/kdelibs/kssl/Attic/kopenssl.cc,v
retrieving revision 1.24.2.1
diff -u -p -r1.24.2.1 kopenssl.cc
--- kopenssl.cc	2001/08/21 16:07:31	1.24.2.1
+++ kopenssl.cc	2002/08/12 20:53:43
@@ -92,6 +92,7 @@ static int (*K_SSL_CTX_use_certificate) 
 static int (*K_SSL_get_error) (SSL*, int) = NULL;
 static STACK_OF(X509)* (*K_SSL_get_peer_cert_chain) (SSL*) = NULL;
 static void (*K_X509_STORE_CTX_set_chain) (X509_STORE_CTX *, STACK_OF(X509)*) = NULL;
+static void (*K_X509_STORE_CTX_set_purpose) (X509_STORE_CTX *, int) = NULL;
 static void (*K_sk_free) (STACK*) = NULL;
 static int (*K_sk_num) (STACK*) = NULL;
 static char* (*K_sk_value) (STACK*, int) = NULL;
@@ -254,6 +255,7 @@ KConfig *cfg;
                 X509**, STACK_OF(X509)**)) _cryptoLib->symbol("PKCS12_parse");
       K_EVP_PKEY_free = (void (*) (EVP_PKEY *)) _cryptoLib->symbol("EVP_PKEY_free");
       K_X509_STORE_CTX_set_chain = (void (*)(X509_STORE_CTX *, STACK_OF(X509)*)) _cryptoLib->symbol("X509_STORE_CTX_set_chain");
+      K_X509_STORE_CTX_set_purpose = (void (*)(X509_STORE_CTX *, int)) _cryptoLib->symbol("X509_STORE_CTX_set_purpose");
       K_sk_free = (void (*) (STACK *)) _cryptoLib->symbol("sk_free");
       K_sk_num = (int (*) (STACK *)) _cryptoLib->symbol("sk_num");
       K_sk_value = (char* (*) (STACK *, int)) _cryptoLib->symbol("sk_value");
@@ -742,6 +744,10 @@ char *KOpenSSLProxy::sk_value(STACK *s, 
 
 void KOpenSSLProxy::X509_STORE_CTX_set_chain(X509_STORE_CTX *v, STACK_OF(X509)* x) {
    if (K_X509_STORE_CTX_set_chain) (K_X509_STORE_CTX_set_chain)(v,x);
+}
+
+void KOpenSSLProxy::X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose) {
+   if (K_X509_STORE_CTX_set_purpose) (K_X509_STORE_CTX_set_purpose)(v,purpose);
 }
 
 
Index: kopenssl.h
===================================================================
RCS file: /home/kde/kdelibs/kssl/Attic/kopenssl.h,v
retrieving revision 1.15
diff -u -p -r1.15 kopenssl.h
--- kopenssl.h	2001/07/27 09:55:02	1.15
+++ kopenssl.h	2002/08/12 20:53:43
@@ -277,6 +277,10 @@ public:
     */
    void X509_STORE_CTX_set_chain(X509_STORE_CTX *v, STACK_OF(X509)* x);
 
+   /*
+    *   X509_STORE_CTX_set_purpose - set the purpose of the certificate 
+    */
+   void X509_STORE_CTX_set_purpose(X509_STORE_CTX *v, int purpose);
 
    /*
     *   X509_verify_cert - verify the certificate
Index: ksslcertificate.cc
===================================================================
RCS file: /home/kde/kdelibs/kssl/Attic/ksslcertificate.cc,v
retrieving revision 1.39.2.6
diff -u -p -r1.39.2.6 ksslcertificate.cc
--- ksslcertificate.cc	2001/10/25 06:12:11	1.39.2.6
+++ ksslcertificate.cc	2002/08/12 20:53:43
@@ -262,6 +262,8 @@ KSSLCertificate::KSSLValidation KSSLCert
     // FIXME: do all the X509_STORE_CTX_set_flags(); here
     //   +----->  Note that this is for 0.9.6 or better ONLY!
 
+    d->kossl->X509_STORE_CTX_set_purpose(certStoreCTX, X509_PURPOSE_SSL_SERVER);
+
     //kdDebug(7029) << "KSSL verifying.............." << endl;
     certStoreCTX->error = X509_V_OK;
     rc = d->kossl->X509_verify_cert(certStoreCTX);