From 82d32429d1530920dc50e59ed3135e009c824e7f Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 30 Oct 2017 22:59:04 +0000 Subject: [PATCH] schat: Require explicit path to certificate. Don't allow using files outside of module data directory. This is the same requirement as for log path in log module. --- modules/schat.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/schat.cpp b/modules/schat.cpp index 0cd747d5..b47a8435 100644 --- a/modules/schat.cpp +++ b/modules/schat.cpp @@ -115,12 +115,13 @@ class CSChat : public CModule { ~CSChat() override {} bool OnLoad(const CString& sArgs, CString& sMessage) override { - m_sPemFile = sArgs; - - if (m_sPemFile.empty()) { - m_sPemFile = CZNC::Get().GetPemLocation(); + if (sArgs.empty()) { + sMessage = "Argument must be path to PEM file"; + return false; } + m_sPemFile = CDir::CheckPathPrefix(GetSavePath(), sArgs); + if (!CFile::Exists(m_sPemFile)) { sMessage = "Unable to load pem file [" + m_sPemFile + "]"; return false;