From eb4dfc25f2f659f7d4d06d1990eedac579ba96c1 Mon Sep 17 00:00:00 2001 From: stephb9959 Date: Mon, 15 Nov 2021 14:54:23 -0800 Subject: [PATCH] Adding proper default for mailer and sms. --- build | 2 +- owsec.properties | 2 ++ src/SMSSender.cpp | 15 +++++++++------ src/SMSSender.h | 8 ++++---- src/SMTPMailerService.cpp | 23 +++++++++++++---------- 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/build b/build index 0aede4a..dec4c59 100644 --- a/build +++ b/build @@ -1 +1 @@ -102 \ No newline at end of file +104 \ No newline at end of file diff --git a/owsec.properties b/owsec.properties index 8a02237..65e6ab5 100644 --- a/owsec.properties +++ b/owsec.properties @@ -40,6 +40,7 @@ openwifi.system.commandchannel = /tmp/app.ucentralsec openwifi.service.key = $OWSEC_ROOT/certs/restapi-key.pem openwifi.service.key.password = mypassword +smssender.enabled = false smssender.provider = aws smssender.aws.secretkey = *************************************** smssender.aws.accesskey = *************************************** @@ -53,6 +54,7 @@ smssender.aws.region = ************** # # Security Microservice Specific Section # +mailer.enabled = false mailer.hostname = smtp.gmail.com mailer.username = ************************ mailer.password = ************************ diff --git a/src/SMSSender.cpp b/src/SMSSender.cpp index 93b8541..ad36658 100644 --- a/src/SMSSender.cpp +++ b/src/SMSSender.cpp @@ -16,13 +16,16 @@ namespace OpenWifi { int SMSSender::Start() { - Provider_ = MicroService::instance().ConfigGetString("sms.provider","aws"); - if(Provider_=="aws") { - ProviderImpl_ = std::make_unique(Logger_); - } else if(Provider_=="twilio") { - ProviderImpl_ = std::make_unique(Logger_); + Enabled_ = MicroService::instance().ConfigGetBool("sms.enabled",false); + if(Enabled_) { + Provider_ = MicroService::instance().ConfigGetString("sms.provider","aws"); + if(Provider_=="aws") { + ProviderImpl_ = std::make_unique(Logger_); + } else if(Provider_=="twilio") { + ProviderImpl_ = std::make_unique(Logger_); + } + Enabled_ = ProviderImpl_->Initialize(); } - Enabled_ = ProviderImpl_->Initialize(); return 0; } diff --git a/src/SMSSender.h b/src/SMSSender.h index c2e7957..355a0d4 100644 --- a/src/SMSSender.h +++ b/src/SMSSender.h @@ -18,8 +18,8 @@ namespace OpenWifi { std::string Number; std::string Code; std::string UserName; - uint64_t Created; - bool Validated=false; + uint64_t Created = std::time(nullptr); + bool Validated = false; }; class SMSSender : public SubSystemServer { @@ -37,8 +37,8 @@ namespace OpenWifi { bool IsNumberValid(const std::string &Number, const std::string &UserName); [[nodiscard]] bool Send(const std::string &PhoneNumber, const std::string &Message); private: - std::string Provider_; - bool Enabled_=false; + std::string Provider_; + bool Enabled_=false; std::vector Cache_; std::unique_ptr ProviderImpl_; diff --git a/src/SMTPMailerService.cpp b/src/SMTPMailerService.cpp index cd00c20..7026e0c 100644 --- a/src/SMTPMailerService.cpp +++ b/src/SMTPMailerService.cpp @@ -20,16 +20,19 @@ namespace OpenWifi { void SMTPMailerService::LoadMyConfig() { - MailHost_ = MicroService::instance().ConfigGetString("mailer.hostname"); - SenderLoginUserName_ = MicroService::instance().ConfigGetString("mailer.username"); - SenderLoginPassword_ = MicroService::instance().ConfigGetString("mailer.password"); - Sender_ = MicroService::instance().ConfigGetString("mailer.sender"); - LoginMethod_ = MicroService::instance().ConfigGetString("mailer.loginmethod"); - MailHostPort_ = (int) MicroService::instance().ConfigGetInt("mailer.port"); - TemplateDir_ = MicroService::instance().ConfigPath("mailer.templates", MicroService::instance().DataDir()); - MailRetry_ = (int) MicroService::instance().ConfigGetInt("mailer.retry",2*60); - MailAbandon_ = (int) MicroService::instance().ConfigGetInt("mailer.abandon",2*60*60); - Enabled_ = (!MailHost_.empty() && !SenderLoginPassword_.empty() && !SenderLoginUserName_.empty()); + Enabled_ = MicroService::instance().ConfigGetBool("mailer.enabled",false); + if(Enabled_) { + MailHost_ = MicroService::instance().ConfigGetString("mailer.hostname"); + SenderLoginUserName_ = MicroService::instance().ConfigGetString("mailer.username"); + SenderLoginPassword_ = MicroService::instance().ConfigGetString("mailer.password"); + Sender_ = MicroService::instance().ConfigGetString("mailer.sender"); + LoginMethod_ = MicroService::instance().ConfigGetString("mailer.loginmethod"); + MailHostPort_ = (int) MicroService::instance().ConfigGetInt("mailer.port"); + TemplateDir_ = MicroService::instance().ConfigPath("mailer.templates", MicroService::instance().DataDir()); + MailRetry_ = (int) MicroService::instance().ConfigGetInt("mailer.retry",2*60); + MailAbandon_ = (int) MicroService::instance().ConfigGetInt("mailer.abandon",2*60*60); + Enabled_ = (!MailHost_.empty() && !SenderLoginPassword_.empty() && !SenderLoginUserName_.empty()); + } } int SMTPMailerService::Start() {