From af45542cfe2a5300b67079eea976e01eec48345e Mon Sep 17 00:00:00 2001
From: Catalin Patulea <cat@vv.carleton.ca>
Date: Sun, 7 Sep 2014 03:31:01 +0200
Subject: [PATCH] polarssl: support CURLOPT_CAPATH / --capath

Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>
---
 lib/vtls/polarssl.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/lib/vtls/polarssl.c b/lib/vtls/polarssl.c
index 2d1b7ee085..f92b82e05e 100644
--- a/lib/vtls/polarssl.c
+++ b/lib/vtls/polarssl.c
@@ -201,6 +201,22 @@ polarssl_connect_step1(struct connectdata *conn,
     }
   }
 
+  if(data->set.str[STRING_SSL_CAPATH]) {
+    ret = x509_crt_parse_path(&connssl->cacert,
+                              data->set.str[STRING_SSL_CAPATH]);
+
+    if(ret<0) {
+#ifdef POLARSSL_ERROR_C
+      error_strerror(ret, errorbuf, sizeof(errorbuf));
+#endif /* POLARSSL_ERROR_C */
+      failf(data, "Error reading ca cert path %s - PolarSSL: (-0x%04X) %s",
+            data->set.str[STRING_SSL_CAPATH], -ret, errorbuf);
+
+      if(data->set.ssl.verifypeer)
+        return CURLE_SSL_CACERT_BADFILE;
+    }
+  }
+
   /* Load the client certificate */
   memset(&connssl->clicert, 0, sizeof(x509_crt));
 
-- 
GitLab