File CVE-2008-4989.patch of Package gnutls

Index: gnutls/lib/x509/verify.c	
===================================================================
--- gnutls/lib/x509/verify.c	2008-11-10 10:58:33.000000000 +0100
+++ gnutls/lib/x509/verify.c	2008-11-10 10:58:41.000000000 +0100
@@ -374,6 +374,17 @@
   int i = 0, ret;
   unsigned int status = 0, output;

+  /* Check if the last certificate in the path is self signed.
+   * In that case ignore it (a certificate is trusted only if it
+   * leads to a trusted party by us, not the server's).
+   */
+  if (gnutls_x509_crt_check_issuer (certificate_list[clist_size - 1],
+				    certificate_list[clist_size - 1]) > 0
+      && clist_size > 0)
+    {
+      clist_size--;
+    }
+
   /* Verify the last certificate in the certificate path
    * against the trusted CA certificate list.
    *
@@ -412,17 +423,6 @@
     }
 #endif

-  /* Check if the last certificate in the path is self signed.
-   * In that case ignore it (a certificate is trusted only if it
-   * leads to a trusted party by us, not the server's).
-   */
-  if (gnutls_x509_crt_check_issuer (certificate_list[clist_size - 1],
-				    certificate_list[clist_size - 1]) > 0
-      && clist_size > 0)
-    {
-      clist_size--;
-    }
-
   /* Verify the certificate path (chain) 
    */
   for (i = clist_size - 1; i > 0; i--)
openSUSE Build Service is sponsored by