]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add option to mod_xml_cdr to ignore ca root checks on https urls
authorJustin Cassidy <xachen@mac.com>
Fri, 5 Oct 2007 03:26:42 +0000 (03:26 +0000)
committerJustin Cassidy <xachen@mac.com>
Fri, 5 Oct 2007 03:26:42 +0000 (03:26 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5810 d0543943-73ff-0310-b7d9-9358b9ac24b2

conf/xml_cdr.conf.xml
src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c

index df5422a24ae2286b5f866ac7cf84e5485e35bccb..ee4c2de19ba6f7620d6eed7454e8afdb038c2a25 100644 (file)
@@ -20,5 +20,9 @@
     <!-- either an absolute path, a relative path assuming ${prefix}/logs or a blank or omitted value will default to ${prefix}/logs/xml_cdr -->\r
     <!-- <param name="err-log-dir" value="/tmp"/> -->\r
 \r
+    <!-- optional: if enabled this will disable CA root certificate checks by libcurl -->\r
+    <!-- note: default value is disabled. only enable if you want this! -->\r
+    <!-- <param name="ignore-cacert-check" value="true" /> -->\r
+\r
   </settings>\r
 </configuration>\r
index 27f798f9476fdb61f12e1d335cca578530a67552..5cea6cd16a76057c02d48a0a43d57c50e7e177d2 100644 (file)
@@ -41,6 +41,7 @@ static struct {
        uint32_t delay;
        uint32_t retries;
        uint32_t shutdown;
+       int ignore_cacert_check;
 } globals;
 
 SWITCH_MODULE_LOAD_FUNCTION(mod_xml_cdr_load);
@@ -133,6 +134,10 @@ static switch_status_t my_on_hangup(switch_core_session_t *session)
                        curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "freeswitch-xml/1.0");
                        curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, httpCallBack);
 
+                       if (globals.ignore_cacert_check) {
+                               curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);
+                       }
+
                        /* these were used for testing, optionally they may be enabled if someone desires
                        curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, 120); // tcp timeout
                        curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1); // 302 recursion level
@@ -257,6 +262,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_xml_cdr_load)
                                                globals.err_log_dir = switch_mprintf("%s/%s", SWITCH_GLOBAL_dirs.log_dir, val);
                                        }
                                }
+                       } else if (!strcasecmp(var, "ignore-cacert-check") && switch_true(val)) {
+                               globals.ignore_cacert_check = 1;
                        }
 
                        if (switch_strlen_zero(globals.err_log_dir)) {