cvsdist 0cfdac
Do not treat duplicate certs as an error.
cvsdist 0cfdac
cvsdist 107c5d
--- openssl-0.9.6/crypto/x509/by_file.c	Wed Sep 27 15:09:05 2000
cvsdist 107c5d
+++ openssl-0.9.6/crypto/x509/by_file.c	Wed Sep 27 14:21:20 2000
cvsdist 107c5d
@@ -163,8 +163,12 @@
cvsdist 107c5d
 					}
cvsdist 107c5d
 				}
cvsdist 107c5d
 			i=X509_STORE_add_cert(ctx->store_ctx,x);
cvsdist 107c5d
-			if (!i) goto err;
cvsdist 107c5d
-			count++;
cvsdist 107c5d
+			/* ignore any problems with current certificate 
cvsdist 107c5d
+			    and continue with the next one */
cvsdist 107c5d
+			if (i)
cvsdist 107c5d
+			    count++;
cvsdist 107c5d
+			else
cvsdist 107c5d
+			    ERR_clear_error();
cvsdist 107c5d
 			X509_free(x);
cvsdist 107c5d
 			x=NULL;
cvsdist 107c5d
 			}
cvsdist 107c5d
@@ -179,7 +183,8 @@
cvsdist 107c5d
 			goto err;
cvsdist 107c5d
 			}
cvsdist 107c5d
 		i=X509_STORE_add_cert(ctx->store_ctx,x);
cvsdist 107c5d
-		if (!i) goto err;
cvsdist 107c5d
+		if (!i)
cvsdist 107c5d
+		  ERR_clear_error();
cvsdist 107c5d
 		ret=i;
cvsdist 107c5d
 		}
cvsdist 107c5d
 	else