File indexing completed on 2025-03-09 04:54:31
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "dmarcmanager.h" 0008 #include "dkimutil.h" 0009 #include <KConfigGroup> 0010 #include <KSharedConfig> 0011 using namespace MessageViewer; 0012 DMARCManager::DMARCManager() 0013 { 0014 loadNoServerKeys(); 0015 } 0016 0017 DMARCManager::~DMARCManager() 0018 { 0019 saveNoServerKeys(); 0020 } 0021 0022 DMARCManager *DMARCManager::self() 0023 { 0024 static DMARCManager s_self; 0025 return &s_self; 0026 } 0027 0028 bool DMARCManager::isNoDMarcServerAddress(const QString &address) const 0029 { 0030 return mNoDMarcServer.contains(address); 0031 } 0032 0033 void DMARCManager::addNoDMarcServerAddress(const QString &address) 0034 { 0035 if (!mNoDMarcServer.contains(address)) { 0036 mNoDMarcServer.append(address); 0037 } 0038 } 0039 0040 void DMARCManager::saveNoServerKeys() 0041 { 0042 const KSharedConfig::Ptr &config = KSharedConfig::openConfig(MessageViewer::DKIMUtil::defaultConfigFileName(), KConfig::NoGlobals); 0043 KConfigGroup grp(config, QStringLiteral("NoExistingDmarcServer")); 0044 grp.writeEntry("AddressList", mNoDMarcServer); 0045 } 0046 0047 void DMARCManager::loadNoServerKeys() 0048 { 0049 const KSharedConfig::Ptr &config = KSharedConfig::openConfig(MessageViewer::DKIMUtil::defaultConfigFileName(), KConfig::NoGlobals); 0050 KConfigGroup grp(config, QStringLiteral("NoExistingDmarcServer")); 0051 mNoDMarcServer = grp.readEntry("AddressList", QStringList()); 0052 }