From e0929fe3c2245bdcc7118aa2440802ab14203ba2 Mon Sep 17 00:00:00 2001 From: loiclau <loic.lau@gmail.com> Date: Mon, 5 Feb 2018 11:02:41 +0100 Subject: [PATCH] Add CURLOPT_SSL_ to bypass certificate (#6027) * Add CURLOPT_SSL_ to bypass certificat * feat(kb) add ignore ssl certificate option --- www/class/centreon-knowledge/wikiApi.class.php | 6 ++++++ www/include/Administration/parameters/DB-Func.php | 4 +++- .../parameters/knowledgeBase/formKnowledgeBase.html | 4 ++++ .../parameters/knowledgeBase/formKnowledgeBase.php | 1 + .../Administration/parameters/knowledgeBase/help.php | 4 ++++ 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/www/class/centreon-knowledge/wikiApi.class.php b/www/class/centreon-knowledge/wikiApi.class.php index 32759cd838..952c476441 100644 --- a/www/class/centreon-knowledge/wikiApi.class.php +++ b/www/class/centreon-knowledge/wikiApi.class.php @@ -50,6 +50,7 @@ class WikiApi private $loggedIn; private $tokens; private $cookies; + private $noSslCertificate; /** * WikiApi constructor. @@ -62,6 +63,7 @@ class WikiApi $this->url = $config['kb_wiki_url'] . '/api.php'; $this->username = $config['kb_wiki_account']; $this->password = $config['kb_wiki_password']; + $this->noSslCertificate = $config['kb_wiki_certificate']; $this->curl = $this->getCurl(); $this->version = $this->getWikiVersion(); $this->cookies = array(); @@ -74,6 +76,10 @@ class WikiApi curl_setopt($curl, CURLOPT_URL, $this->url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); + if($this->noSslCertificate == 1){ + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + } return $curl; } diff --git a/www/include/Administration/parameters/DB-Func.php b/www/include/Administration/parameters/DB-Func.php index 9c28f11b3c..46248a4413 100644 --- a/www/include/Administration/parameters/DB-Func.php +++ b/www/include/Administration/parameters/DB-Func.php @@ -925,7 +925,9 @@ function updateBackupConfigData($db, $form, $centreon) function updateKnowledgeBaseData($db, $form, $centreon) { $ret = $form->getSubmitValues(); - + if (!isset($ret['kb_wiki_certificate'])){ + $ret['kb_wiki_certificate'] = 0; + } foreach ($ret as $key => $value) { if (preg_match('/^kb_/', $key)) { updateOption($db, $key, $value); diff --git a/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.html b/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.html index 8b3840b8f5..9a03dd8766 100644 --- a/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.html +++ b/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.html @@ -47,6 +47,10 @@ <td class="FormRowField"><img class="helpTooltip" name="tip_knowledge_wiki_account_password"> {$form.kb_wiki_password.label}</td> <td class="FormRowValue">{$form.kb_wiki_password.html}</td> </tr> + <tr class="list_two"> + <td class="FormRowField"><img class="helpTooltip" name="tip_knowledge_wiki_certificate"> {$form.kb_wiki_certificate.label}</td> + <td class="FormRowValue">{$form.kb_wiki_certificate.html}</td> + </tr> </table> {if !$valid} <div id="validForm"><p>{$form.submitC.html} {$form.reset.html}</p></div> diff --git a/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.php b/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.php index 80e6e2a9ed..9b028da08a 100644 --- a/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.php +++ b/www/include/Administration/parameters/knowledgeBase/formKnowledgeBase.php @@ -72,6 +72,7 @@ $form->addElement('text', 'kb_wiki_account', _("Knowledge wiki account (with del $form->addRule('kb_wiki_account', _("Mandatory field"), 'required'); $form->addElement('password', 'kb_wiki_password', _("Knowledge wiki account password")); $form->addRule('kb_wiki_password', _("Mandatory field"), 'required'); +$form->addElement('checkbox', 'kb_wiki_certificate', 'ssl certificate', _("Ignore ssl certificate")); $form->addElement('hidden', 'gopt_id'); $redirect = $form->addElement('hidden', 'o'); diff --git a/www/include/Administration/parameters/knowledgeBase/help.php b/www/include/Administration/parameters/knowledgeBase/help.php index 6fb26733df..0c82677be8 100644 --- a/www/include/Administration/parameters/knowledgeBase/help.php +++ b/www/include/Administration/parameters/knowledgeBase/help.php @@ -33,6 +33,10 @@ $help['tip_knowledge_wiki_account'] = dgettext( 'help', "Wiki account with delete right." ); +$help['tip_knowledge_wiki_certificate'] = dgettext( + 'help', + "Ignore ssl certificate." +); $help['tip_knowledge_wiki_account_password'] = dgettext( 'help', "Wiki account password." -- GitLab