Author: breser
Date: Mon Aug 18 10:58:01 2014
New Revision: 1618581

URL: http://svn.apache.org/r1618581
Log:
On svn-auth-x509 branch, during the auth subcommand treat errors from the X.509
parser as warnings.

* subversion/svn/auth-cmd.c
  (show_cert): Handle errors from svn_x509_parse_cert() as warnings.

Suggested by: ivan

Modified:
    subversion/branches/svn-auth-x509/subversion/svn/auth-cmd.c

Modified: subversion/branches/svn-auth-x509/subversion/svn/auth-cmd.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/svn-auth-x509/subversion/svn/auth-cmd.c?rev=1618581&r1=1618580&r2=1618581&view=diff
==============================================================================
--- subversion/branches/svn-auth-x509/subversion/svn/auth-cmd.c (original)
+++ subversion/branches/svn-auth-x509/subversion/svn/auth-cmd.c Mon Aug 18 
10:58:01 2014
@@ -173,12 +173,20 @@ show_cert(const svn_string_t *pem_cert, 
   const svn_string_t *der_cert;
   svn_x509_certinfo_t *certinfo;
   const apr_array_header_t *hostnames;
+  svn_error_t *err;
 
   /* Convert header-less PEM to DER by undoing base64 encoding. */
   der_cert = svn_base64_decode_string(pem_cert, scratch_pool);
 
-  SVN_ERR(svn_x509_parse_cert(&certinfo, der_cert->data, der_cert->len,
-                              scratch_pool, scratch_pool));
+  err = svn_x509_parse_cert(&certinfo, der_cert->data, der_cert->len,
+                            scratch_pool, scratch_pool);
+  if (err)
+    {
+      /* Just display X.509 parsing errors as warnings and continue */
+      svn_handle_warning2(stderr, err, "svn: ");
+      svn_error_clear(err);
+      return SVN_NO_ERROR;
+    }
 
   SVN_ERR(svn_cmdline_printf(scratch_pool, _("Subject: %s\n"),
                              svn_x509_certinfo_get_subject(certinfo)));


Reply via email to