| OLD | NEW |
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
| 2 | 2 |
| 3 #include <Wbemidl.h> | 3 #include <Wbemidl.h> |
| 4 #include <time.h> | 4 #include <time.h> |
| 5 #include "PluginIniFileW.h" | 5 #include "PluginIniFileW.h" |
| 6 #include "PluginIniFile.h" | 6 #include "PluginIniFile.h" |
| 7 #include "PluginSettings.h" | 7 #include "PluginSettings.h" |
| 8 #include "PluginClient.h" | 8 #include "PluginClient.h" |
| 9 #include "PluginChecksum.h" | 9 #include "PluginChecksum.h" |
| 10 #include "PluginSystem.h" | 10 #include "PluginSystem.h" |
| 11 #ifdef SUPPORT_FILTER | 11 #ifdef SUPPORT_FILTER |
| 12 #include "PluginFilter.h" | 12 #include "PluginFilter.h" |
| 13 #endif | 13 #endif |
| 14 #include "PluginMutex.h" | 14 #include "PluginMutex.h" |
| 15 #include "PluginHttpRequest.h" | 15 #include "PluginHttpRequest.h" |
| 16 #include "../shared/Utils.h" | 16 #include "../shared/Utils.h" |
| 17 #include <memory> | 17 #include <memory> |
| 18 | 18 |
| 19 | 19 |
| 20 // IE functions | 20 // IE functions |
| 21 #pragma comment(lib, "iepmapi.lib") | 21 #pragma comment(lib, "iepmapi.lib") |
| 22 | 22 |
| 23 #include <knownfolders.h> | 23 #include <knownfolders.h> |
| 24 | 24 |
| 25 namespace |
| 26 { |
| 27 std::string CreateDomainWhitelistingFilter(CString domain) |
| 28 { |
| 29 return std::string("@@||").append(CW2A(domain)).append("^$document"); |
| 30 } |
| 31 } |
| 32 |
| 25 class TSettings | 33 class TSettings |
| 26 { | 34 { |
| 27 DWORD processorId; | 35 DWORD processorId; |
| 28 | 36 |
| 29 char sPluginId[44]; | 37 char sPluginId[44]; |
| 30 }; | 38 }; |
| 31 | 39 |
| 32 | 40 |
| 33 class CPluginSettingsLock : public CPluginMutex | 41 class CPluginSettingsLock : public CPluginMutex |
| 34 { | 42 { |
| (...skipping 1227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1262 isRead = false; | 1270 isRead = false; |
| 1263 } | 1271 } |
| 1264 | 1272 |
| 1265 return isRead; | 1273 return isRead; |
| 1266 } | 1274 } |
| 1267 | 1275 |
| 1268 | 1276 |
| 1269 void CPluginSettings::AddWhiteListedDomain(const CString& domain) | 1277 void CPluginSettings::AddWhiteListedDomain(const CString& domain) |
| 1270 { | 1278 { |
| 1271 DEBUG_SETTINGS("SettingsWhitelist::AddWhiteListedDomain domain:" + domain) | 1279 DEBUG_SETTINGS("SettingsWhitelist::AddWhiteListedDomain domain:" + domain) |
| 1272 | 1280 CPluginClient::GetInstance()->AddFilter(CreateDomainWhitelistingFilter(domain)
); |
| 1273 bool isNewVersion = false; | |
| 1274 bool isForcingUpdateOnStart = false; | |
| 1275 | |
| 1276 CPluginSettingsWhitelistLock lock; | |
| 1277 if (lock.IsLocked()) | |
| 1278 { | |
| 1279 ReadWhitelist(false); | |
| 1280 | |
| 1281 std::string newDomain = CW2A(domain, CP_UTF8); | |
| 1282 | |
| 1283 //Domain already present? | |
| 1284 if (std::find(m_whitelistedDomains.begin(), m_whitelistedDomains.end(), newD
omain) != m_whitelistedDomains.end()) | |
| 1285 { | |
| 1286 return; | |
| 1287 } | |
| 1288 s_criticalSectionLocal.Lock(); | |
| 1289 CPluginClient::GetInstance()->AddFilter(std::string("@@||").append(CW2A(doma
in)).append("^$document")); | |
| 1290 s_criticalSectionLocal.Unlock(); | |
| 1291 | |
| 1292 } | |
| 1293 | |
| 1294 if (isForcingUpdateOnStart) | |
| 1295 { | |
| 1296 ForceConfigurationUpdateOnStart(); | |
| 1297 } | |
| 1298 } | 1281 } |
| 1299 | 1282 |
| 1283 void CPluginSettings::RemoveWhiteListedDomain(const CString& domain) |
| 1284 { |
| 1285 DEBUG_SETTINGS("SettingsWhitelist::RemoveWhiteListedDomain domain:" + domain) |
| 1286 CPluginClient::GetInstance()->RemoveFilter(CreateDomainWhitelistingFilter(doma
in)); |
| 1287 } |
| 1300 | 1288 |
| 1301 bool CPluginSettings::IsWhiteListedDomain(const CString& domain) const | 1289 bool CPluginSettings::IsWhiteListedDomain(const CString& domain) const |
| 1302 { | 1290 { |
| 1303 bool bIsWhiteListed; | 1291 bool bIsWhiteListed; |
| 1304 | 1292 |
| 1305 s_criticalSectionLocal.Lock(); | 1293 s_criticalSectionLocal.Lock(); |
| 1306 { | 1294 { |
| 1307 bIsWhiteListed = std::find(m_whitelistedDomains.begin(), m_whitelistedDomain
s.end(), std::string(CW2A(domain, CP_UTF8))) != m_whitelistedDomains.end(); | 1295 bIsWhiteListed = std::find(m_whitelistedDomains.begin(), m_whitelistedDomain
s.end(), std::string(CW2A(domain, CP_UTF8))) != m_whitelistedDomains.end(); |
| 1308 } | 1296 } |
| 1309 s_criticalSectionLocal.Unlock(); | 1297 s_criticalSectionLocal.Unlock(); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1396 return CString(L""); | 1384 return CString(L""); |
| 1397 } | 1385 } |
| 1398 | 1386 |
| 1399 | 1387 |
| 1400 void CPluginSettings::RefreshFilterlist() | 1388 void CPluginSettings::RefreshFilterlist() |
| 1401 { | 1389 { |
| 1402 CPluginClient::GetInstance()->UpdateAllSubscriptions(); | 1390 CPluginClient::GetInstance()->UpdateAllSubscriptions(); |
| 1403 } | 1391 } |
| 1404 | 1392 |
| 1405 #endif // SUPPORT_WHITELIST | 1393 #endif // SUPPORT_WHITELIST |
| OLD | NEW |