OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/installer/util/advanced_firewall_manager_win.h" | 5 #include "chrome/installer/util/advanced_firewall_manager_win.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/guid.h" | 9 #include "base/guid.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 bool AdvancedFirewallManager::Init(const base::string16& app_name, | 23 bool AdvancedFirewallManager::Init(const base::string16& app_name, |
24 const base::FilePath& app_path) { | 24 const base::FilePath& app_path) { |
25 firewall_rules_ = NULL; | 25 firewall_rules_ = NULL; |
26 HRESULT hr = firewall_policy_.CreateInstance(CLSID_NetFwPolicy2); | 26 HRESULT hr = firewall_policy_.CreateInstance(CLSID_NetFwPolicy2); |
27 if (FAILED(hr)) { | 27 if (FAILED(hr)) { |
28 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); | 28 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); |
29 firewall_policy_ = NULL; | 29 firewall_policy_ = NULL; |
30 return false; | 30 return false; |
31 } | 31 } |
32 hr = firewall_policy_->get_Rules(firewall_rules_.Receive()); | 32 hr = firewall_policy_->get_Rules(firewall_rules_.GetAddressOf()); |
33 if (FAILED(hr)) { | 33 if (FAILED(hr)) { |
34 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); | 34 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); |
35 firewall_rules_ = NULL; | 35 firewall_rules_ = NULL; |
36 return false; | 36 return false; |
37 } | 37 } |
38 app_name_ = app_name; | 38 app_name_ = app_name; |
39 app_path_ = app_path; | 39 app_path_ = app_path; |
40 return true; | 40 return true; |
41 } | 41 } |
42 | 42 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 udp_rule->put_Grouping(base::win::ScopedBstr(app_name_.c_str())); | 144 udp_rule->put_Grouping(base::win::ScopedBstr(app_name_.c_str())); |
145 udp_rule->put_Profiles(NET_FW_PROFILE2_ALL); | 145 udp_rule->put_Profiles(NET_FW_PROFILE2_ALL); |
146 udp_rule->put_Action(NET_FW_ACTION_ALLOW); | 146 udp_rule->put_Action(NET_FW_ACTION_ALLOW); |
147 | 147 |
148 return udp_rule; | 148 return udp_rule; |
149 } | 149 } |
150 | 150 |
151 void AdvancedFirewallManager::GetAllRules( | 151 void AdvancedFirewallManager::GetAllRules( |
152 std::vector<base::win::ScopedComPtr<INetFwRule> >* rules) { | 152 std::vector<base::win::ScopedComPtr<INetFwRule> >* rules) { |
153 base::win::ScopedComPtr<IUnknown> rules_enum_unknown; | 153 base::win::ScopedComPtr<IUnknown> rules_enum_unknown; |
154 HRESULT hr = firewall_rules_->get__NewEnum(rules_enum_unknown.Receive()); | 154 HRESULT hr = firewall_rules_->get__NewEnum(rules_enum_unknown.GetAddressOf()); |
155 if (FAILED(hr)) { | 155 if (FAILED(hr)) { |
156 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); | 156 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); |
157 return; | 157 return; |
158 } | 158 } |
159 | 159 |
160 base::win::ScopedComPtr<IEnumVARIANT> rules_enum; | 160 base::win::ScopedComPtr<IEnumVARIANT> rules_enum; |
161 hr = rules_enum.QueryFrom(rules_enum_unknown.Get()); | 161 hr = rules_enum.QueryFrom(rules_enum_unknown.Get()); |
162 if (FAILED(hr)) { | 162 if (FAILED(hr)) { |
163 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); | 163 DLOG(ERROR) << logging::SystemErrorCodeToString(hr); |
164 return; | 164 return; |
(...skipping 28 matching lines...) Expand all Loading... |
193 !base::FilePath::CompareEqualIgnoreCase(static_cast<BSTR>(path), | 193 !base::FilePath::CompareEqualIgnoreCase(static_cast<BSTR>(path), |
194 app_path_.value())) { | 194 app_path_.value())) { |
195 continue; | 195 continue; |
196 } | 196 } |
197 | 197 |
198 rules->push_back(rule); | 198 rules->push_back(rule); |
199 } | 199 } |
200 } | 200 } |
201 | 201 |
202 } // namespace installer | 202 } // namespace installer |
OLD | NEW |