buffet: Remove unnecessary config options
We don't use them, we can re-add then when needed.
BUG=brillo:1213
CQ-DEPEND=CL:281024
TEST=`FEATURES=test emerge-gizmo buffet`
Change-Id: Ib1f8c410f82f9540e939b20325ff64b6dba900df
Reviewed-on: https://chromium-review.googlesource.com/281017
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/privet/cloud_delegate.cc b/buffet/privet/cloud_delegate.cc
index 7c9adc5..3c0449c 100644
--- a/buffet/privet/cloud_delegate.cc
+++ b/buffet/privet/cloud_delegate.cc
@@ -45,12 +45,10 @@
class CloudDelegateImpl : public CloudDelegate {
public:
- CloudDelegateImpl(bool is_gcd_setup_enabled,
- buffet::DeviceRegistrationInfo* device,
+ CloudDelegateImpl(buffet::DeviceRegistrationInfo* device,
buffet::CommandManager* command_manager,
buffet::StateManager* state_manager)
- : is_gcd_setup_enabled_(is_gcd_setup_enabled),
- device_{device},
+ : device_{device},
command_manager_{command_manager},
state_manager_{state_manager} {
device_->AddOnConfigChangedCallback(base::Bind(
@@ -141,12 +139,6 @@
bool Setup(const std::string& ticket_id,
const std::string& user,
chromeos::ErrorPtr* error) override {
- if (!is_gcd_setup_enabled_) {
- chromeos::Error::AddTo(error, FROM_HERE, errors::kDomain,
- errors::kSetupUnavailable,
- "GCD setup unavailable");
- return false;
- }
if (setup_state_.IsStatusEqual(SetupState::kInProgress)) {
chromeos::Error::AddTo(error, FROM_HERE, errors::kDomain,
errors::kDeviceBusy, "Setup in progress");
@@ -358,8 +350,6 @@
return false;
}
- bool is_gcd_setup_enabled_{false};
-
buffet::DeviceRegistrationInfo* device_{nullptr};
buffet::CommandManager* command_manager_{nullptr};
buffet::StateManager* state_manager_{nullptr};
@@ -396,12 +386,11 @@
// static
std::unique_ptr<CloudDelegate> CloudDelegate::CreateDefault(
- bool is_gcd_setup_enabled,
buffet::DeviceRegistrationInfo* device,
buffet::CommandManager* command_manager,
buffet::StateManager* state_manager) {
- return std::unique_ptr<CloudDelegateImpl>{new CloudDelegateImpl{
- is_gcd_setup_enabled, device, command_manager, state_manager}};
+ return std::unique_ptr<CloudDelegateImpl>{
+ new CloudDelegateImpl{device, command_manager, state_manager}};
}
void CloudDelegate::NotifyOnDeviceInfoChanged() {
diff --git a/buffet/privet/cloud_delegate.h b/buffet/privet/cloud_delegate.h
index 95bcca8..49dfd7d 100644
--- a/buffet/privet/cloud_delegate.h
+++ b/buffet/privet/cloud_delegate.h
@@ -133,7 +133,6 @@
// Create default instance.
static std::unique_ptr<CloudDelegate> CreateDefault(
- bool is_gcd_setup_enabled,
buffet::DeviceRegistrationInfo* device,
buffet::CommandManager* command_manager,
buffet::StateManager* state_manager);
diff --git a/buffet/privet/privet_manager.cc b/buffet/privet/privet_manager.cc
index 2ae9c8a..0365091 100644
--- a/buffet/privet/privet_manager.cc
+++ b/buffet/privet/privet_manager.cc
@@ -87,40 +87,22 @@
}
state_store_->Init();
- std::set<std::string> device_whitelist{options.device_whitelist};
- // This state store key doesn't exist naturally, but developers
- // sometime put it in their state store to cause the device to bring
- // up WiFi bootstrapping while being connected to an ethernet interface.
- std::string test_device_whitelist;
- if (device_whitelist.empty() &&
- state_store_->GetString(kWiFiBootstrapInterfaces,
- &test_device_whitelist)) {
- auto interfaces =
- chromeos::string_utils::Split(test_device_whitelist, ",", true, true);
- device_whitelist.insert(interfaces.begin(), interfaces.end());
- }
device_ = DeviceDelegate::CreateDefault();
- cloud_ = CloudDelegate::CreateDefault(
- parser_->gcd_bootstrap_mode() != GcdBootstrapMode::kDisabled, device,
- command_manager, state_manager);
+ cloud_ = CloudDelegate::CreateDefault(device, command_manager, state_manager);
cloud_observer_.Add(cloud_.get());
security_.reset(new SecurityManager(parser_->pairing_modes(),
parser_->embedded_code_path(),
disable_security_));
- shill_client_.reset(new ShillClient(
- bus, device_whitelist.empty() ? parser_->automatic_wifi_interfaces()
- : device_whitelist));
+ shill_client_.reset(new ShillClient(bus, options.device_whitelist));
shill_client_->RegisterConnectivityListener(
base::Bind(&Manager::OnConnectivityChanged, base::Unretained(this)));
ap_manager_client_.reset(new ApManagerClient(bus));
- if (parser_->wifi_bootstrap_mode() != WiFiBootstrapMode::kDisabled) {
+ if (parser_->wifi_auto_setup_enabled()) {
VLOG(1) << "Enabling WiFi bootstrapping.";
- wifi_bootstrap_manager_.reset(new WifiBootstrapManager(
- state_store_.get(), shill_client_.get(), ap_manager_client_.get(),
- cloud_.get(), parser_->connect_timeout_seconds(),
- parser_->bootstrap_timeout_seconds(),
- parser_->monitor_timeout_seconds()));
+ wifi_bootstrap_manager_.reset(
+ new WifiBootstrapManager(state_store_.get(), shill_client_.get(),
+ ap_manager_client_.get(), cloud_.get()));
wifi_bootstrap_manager_->Init();
}
diff --git a/buffet/privet/privetd_conf_parser.cc b/buffet/privet/privetd_conf_parser.cc
index 6ebe155..ca08ec8 100644
--- a/buffet/privet/privetd_conf_parser.cc
+++ b/buffet/privet/privetd_conf_parser.cc
@@ -15,105 +15,21 @@
namespace {
const char kWiFiBootstrapMode[] = "wifi_bootstrapping_mode";
-const char kGcdBootstrapMode[] = "gcd_bootstrapping_mode";
-const char kConnectTimeout[] = "connect_timeout_seconds";
-const char kBootstrapTimeout[] = "bootstrap_timeout_seconds";
-const char kMonitorTimeout[] = "monitor_timeout_seconds";
const char kPairingModes[] = "pairing_modes";
const char kEmbeddedCodePath[] = "embedded_code_path";
const char kBootstrapModeOff[] = "off";
-const char kBootstrapModeAutomatic[] = "automatic";
-const char kBootstrapModeManual[] = "manual";
} // namespace
-const char kWiFiBootstrapInterfaces[] = "automatic_mode_interfaces";
-
PrivetdConfigParser::PrivetdConfigParser()
- : wifi_bootstrap_mode_{WiFiBootstrapMode::kDisabled},
- gcd_bootstrap_mode_{GcdBootstrapMode::kDisabled},
- connect_timeout_seconds_{60u},
- bootstrap_timeout_seconds_{600u},
- monitor_timeout_seconds_{120u},
- pairing_modes_{PairingType::kPinCode} {
-}
+ : wifi_auto_setup_enabled_{true}, pairing_modes_{PairingType::kPinCode} {}
bool PrivetdConfigParser::Parse(const chromeos::KeyValueStore& config_store) {
std::string wifi_bootstrap_mode_str;
+ // TODO(vitalybuka): switch to boolean.
if (config_store.GetString(kWiFiBootstrapMode, &wifi_bootstrap_mode_str)) {
- if (wifi_bootstrap_mode_str.compare(kBootstrapModeOff) == 0) {
- wifi_bootstrap_mode_ = WiFiBootstrapMode::kDisabled;
- } else if (wifi_bootstrap_mode_str.compare(kBootstrapModeAutomatic) == 0) {
- wifi_bootstrap_mode_ = WiFiBootstrapMode::kAutomatic;
- } else if (wifi_bootstrap_mode_str.compare(kBootstrapModeManual) == 0) {
- LOG(ERROR) << "Manual WiFi bootstrapping mode is unsupported.";
- return false;
- } else {
- LOG(ERROR) << "Unrecognized WiFi bootstrapping mode: "
- << wifi_bootstrap_mode_str;
- return false;
- }
- }
-
- std::string gcd_bootstrap_mode_str;
- if (config_store.GetString(kGcdBootstrapMode, &gcd_bootstrap_mode_str)) {
- if (gcd_bootstrap_mode_str.compare(kBootstrapModeOff) == 0) {
- gcd_bootstrap_mode_ = GcdBootstrapMode::kDisabled;
- } else if (gcd_bootstrap_mode_str.compare(kBootstrapModeAutomatic) == 0) {
- gcd_bootstrap_mode_ = GcdBootstrapMode::kAutomatic;
- } else if (gcd_bootstrap_mode_str.compare(kBootstrapModeManual) == 0) {
- LOG(ERROR) << "Manual GCD bootstrapping mode is unsupported.";
- return false;
- } else {
- LOG(ERROR) << "Unrecognized GCD bootstrapping mode: "
- << gcd_bootstrap_mode_str;
- return false;
- }
- }
-
- std::string wifi_interface_list_str;
- if (config_store.GetString(kWiFiBootstrapInterfaces,
- &wifi_interface_list_str)) {
- auto interfaces =
- chromeos::string_utils::Split(wifi_interface_list_str, ",", true, true);
- automatic_wifi_interfaces_.insert(interfaces.begin(), interfaces.end());
- }
-
- auto parse_timeout = [](const std::string& input, uint32_t* parsed_value) {
- uint32_t temp{0};
- // Tragically, this will set |temp| even for invalid parsings.
- if (base::StringToUint(input, &temp)) {
- *parsed_value = temp; // Parse worked, use that value.
- return true;
- }
- return false;
- };
-
- std::string connect_timeout_seconds_str;
- if (config_store.GetString(kConnectTimeout, &connect_timeout_seconds_str) &&
- !parse_timeout(connect_timeout_seconds_str, &connect_timeout_seconds_)) {
- LOG(ERROR) << "Invalid string given for connect timeout: "
- << connect_timeout_seconds_str;
- return false;
- }
-
- std::string bootstrap_timeout_seconds_str;
- if (config_store.GetString(kBootstrapTimeout,
- &bootstrap_timeout_seconds_str) &&
- !parse_timeout(bootstrap_timeout_seconds_str,
- &bootstrap_timeout_seconds_)) {
- LOG(ERROR) << "Invalid string given for bootstrap timeout: "
- << bootstrap_timeout_seconds_str;
- return false;
- }
-
- std::string monitor_timeout_seconds_str;
- if (config_store.GetString(kMonitorTimeout, &monitor_timeout_seconds_str) &&
- !parse_timeout(monitor_timeout_seconds_str, &monitor_timeout_seconds_)) {
- LOG(ERROR) << "Invalid string given for monitor timeout: "
- << monitor_timeout_seconds_str;
- return false;
+ wifi_auto_setup_enabled_ = (wifi_bootstrap_mode_str != kBootstrapModeOff);
}
std::set<PairingType> pairing_modes;
diff --git a/buffet/privet/privetd_conf_parser.h b/buffet/privet/privetd_conf_parser.h
index 846342f..db3e6ec 100644
--- a/buffet/privet/privetd_conf_parser.h
+++ b/buffet/privet/privetd_conf_parser.h
@@ -12,20 +12,6 @@
namespace privetd {
-extern const char kWiFiBootstrapInterfaces[];
-
-enum class WiFiBootstrapMode {
- kDisabled,
- kManual,
- kAutomatic,
-};
-
-enum class GcdBootstrapMode {
- kDisabled,
- kManual,
- kAutomatic,
-};
-
enum class PairingType;
class PrivetdConfigParser final {
@@ -34,28 +20,14 @@
bool Parse(const chromeos::KeyValueStore& config_store);
- WiFiBootstrapMode wifi_bootstrap_mode() const { return wifi_bootstrap_mode_; }
- GcdBootstrapMode gcd_bootstrap_mode() const { return gcd_bootstrap_mode_; }
- const std::set<std::string>& automatic_wifi_interfaces() const {
- return automatic_wifi_interfaces_;
- }
- uint32_t connect_timeout_seconds() const { return connect_timeout_seconds_; }
- uint32_t bootstrap_timeout_seconds() const {
- return bootstrap_timeout_seconds_;
- }
- uint32_t monitor_timeout_seconds() const { return monitor_timeout_seconds_; }
+ bool wifi_auto_setup_enabled() const { return wifi_auto_setup_enabled_; }
const std::set<PairingType>& pairing_modes() { return pairing_modes_; }
const base::FilePath& embedded_code_path() const {
return embedded_code_path_;
}
private:
- WiFiBootstrapMode wifi_bootstrap_mode_;
- GcdBootstrapMode gcd_bootstrap_mode_;
- std::set<std::string> automatic_wifi_interfaces_;
- uint32_t connect_timeout_seconds_;
- uint32_t bootstrap_timeout_seconds_;
- uint32_t monitor_timeout_seconds_;
+ bool wifi_auto_setup_enabled_;
std::set<PairingType> pairing_modes_;
base::FilePath embedded_code_path_;
};
diff --git a/buffet/privet/privetd_conf_parser_unittest.cc b/buffet/privet/privetd_conf_parser_unittest.cc
index 5dfde4c..86f0322 100644
--- a/buffet/privet/privetd_conf_parser_unittest.cc
+++ b/buffet/privet/privetd_conf_parser_unittest.cc
@@ -27,10 +27,6 @@
namespace {
const char kWiFiBootstrapMode[] = "wifi_bootstrapping_mode";
-const char kGcdBootstrapMode[] = "gcd_bootstrapping_mode";
-const char kConnectTimeout[] = "connect_timeout_seconds";
-const char kBootstrapTimeout[] = "bootstrap_timeout_seconds";
-const char kMonitorTimeout[] = "monitor_timeout_seconds";
const char kPairingModes[] = "pairing_modes";
const char kEmbeddedCodePath[] = "embedded_code_path";
@@ -45,13 +41,6 @@
temp_file_ = temp_dir_.path().Append("temp.conf");
}
- bool IsValid(const ConfDict& conf_dict) {
- KeyValueStore store;
- FillKeyValueStore(conf_dict, &store);
- PrivetdConfigParser config;
- return config.Parse(store);
- }
-
void FillKeyValueStore(const ConfDict& conf_dict, KeyValueStore* store) {
std::vector<string> file_pieces;
for (const auto& it : conf_dict) {
@@ -69,42 +58,12 @@
base::ScopedTempDir temp_dir_;
};
-TEST_F(PrivetdConfParserTest, ShouldRejectInvalidTimeouts) {
- EXPECT_FALSE(IsValid({{kConnectTimeout, "-1"}}));
- EXPECT_FALSE(IsValid({{kConnectTimeout, "a"}}));
- EXPECT_FALSE(IsValid({{kConnectTimeout, ""}}));
- EXPECT_FALSE(IsValid({{kConnectTimeout, "30 430"}}));
-}
-
-TEST_F(PrivetdConfParserTest, ShouldRejectInvalidWiFiBootstrapModes) {
- EXPECT_FALSE(IsValid({{kWiFiBootstrapMode, ""}}));
- EXPECT_FALSE(IsValid({{kWiFiBootstrapMode, "clown_shoes"}}));
- EXPECT_FALSE(IsValid({{kWiFiBootstrapMode, "off is invalid"}}));
- EXPECT_FALSE(IsValid({{kWiFiBootstrapMode, "30"}}));
-}
-
-TEST_F(PrivetdConfParserTest, ShouldRejectInvalidGcdBootstrapModes) {
- EXPECT_FALSE(IsValid({{kGcdBootstrapMode, ""}}));
- EXPECT_FALSE(IsValid({{kGcdBootstrapMode, "clown_shoes"}}));
- EXPECT_FALSE(IsValid({{kGcdBootstrapMode, "off is invalid"}}));
- EXPECT_FALSE(IsValid({{kGcdBootstrapMode, "30"}}));
-}
-
TEST_F(PrivetdConfParserTest, ShouldParseSettings) {
- const std::set<std::string> kExpectedWiFiInterfaces{"eth1", "clown shoes"};
- const uint32_t kExpectedConnectTimeout{1};
- const uint32_t kExpectedBootstrapTimeout{2};
- const uint32_t kExpectedMonitorTimeout{3};
const std::set<PairingType> kExpectedPairingModes{PairingType::kEmbeddedCode,
PairingType::kPinCode};
static const char kExpectedEmbeddedCodePath[]{"123ABC"};
const ConfDict conf_dict{
{kWiFiBootstrapMode, "automatic"},
- {kGcdBootstrapMode, "automatic"},
- {kWiFiBootstrapInterfaces, Join(",", kExpectedWiFiInterfaces)},
- {kConnectTimeout, std::to_string(kExpectedConnectTimeout)},
- {kBootstrapTimeout, std::to_string(kExpectedBootstrapTimeout)},
- {kMonitorTimeout, std::to_string(kExpectedMonitorTimeout)},
{kPairingModes, "pinCode"},
{kEmbeddedCodePath, kExpectedEmbeddedCodePath},
};
@@ -112,23 +71,14 @@
FillKeyValueStore(conf_dict, &store);
PrivetdConfigParser parser;
EXPECT_TRUE(parser.Parse(store));
- EXPECT_EQ(WiFiBootstrapMode::kAutomatic, parser.wifi_bootstrap_mode());
- EXPECT_EQ(GcdBootstrapMode::kAutomatic, parser.gcd_bootstrap_mode());
- EXPECT_EQ(kExpectedWiFiInterfaces, parser.automatic_wifi_interfaces());
- EXPECT_EQ(kExpectedConnectTimeout, parser.connect_timeout_seconds());
- EXPECT_EQ(kExpectedBootstrapTimeout, parser.bootstrap_timeout_seconds());
- EXPECT_EQ(kExpectedMonitorTimeout, parser.monitor_timeout_seconds());
+ EXPECT_TRUE(parser.wifi_auto_setup_enabled());
EXPECT_EQ(kExpectedPairingModes, parser.pairing_modes());
EXPECT_EQ(kExpectedEmbeddedCodePath, parser.embedded_code_path().value());
}
TEST_F(PrivetdConfParserTest, CriticalDefaults) {
PrivetdConfigParser parser;
- EXPECT_EQ(WiFiBootstrapMode::kDisabled, parser.wifi_bootstrap_mode());
- EXPECT_EQ(GcdBootstrapMode::kDisabled, parser.gcd_bootstrap_mode());
- EXPECT_GT(parser.connect_timeout_seconds(), 0);
- EXPECT_GT(parser.bootstrap_timeout_seconds(), 0);
- EXPECT_GT(parser.monitor_timeout_seconds(), 0);
+ EXPECT_TRUE(parser.wifi_auto_setup_enabled());
EXPECT_EQ(std::set<PairingType>{PairingType::kPinCode},
parser.pairing_modes());
EXPECT_TRUE(parser.embedded_code_path().empty());
diff --git a/buffet/privet/wifi_bootstrap_manager.cc b/buffet/privet/wifi_bootstrap_manager.cc
index fc3117c..da91a11 100644
--- a/buffet/privet/wifi_bootstrap_manager.cc
+++ b/buffet/privet/wifi_bootstrap_manager.cc
@@ -16,20 +16,20 @@
namespace privetd {
+namespace {
+const int kConnectTimeoutSeconds = 60;
+const int kBootstrapTimeoutSeconds = 600;
+const int kMonitorTimeoutSeconds = 120;
+}
+
WifiBootstrapManager::WifiBootstrapManager(DaemonState* state_store,
ShillClient* shill_client,
ApManagerClient* ap_manager_client,
- CloudDelegate* gcd,
- uint32_t connect_timeout_seconds,
- uint32_t bootstrap_timeout_seconds,
- uint32_t monitor_timeout_seconds)
+ CloudDelegate* gcd)
: state_store_(state_store),
shill_client_(shill_client),
ap_manager_client_(ap_manager_client),
- ssid_generator_(gcd, this),
- connect_timeout_seconds_(connect_timeout_seconds),
- bootstrap_timeout_seconds_(bootstrap_timeout_seconds),
- monitor_timeout_seconds_(monitor_timeout_seconds) {
+ ssid_generator_(gcd, this) {
cloud_observer_.Add(gcd);
}
@@ -83,7 +83,7 @@
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE, base::Bind(&WifiBootstrapManager::OnBootstrapTimeout,
tasks_weak_factory_.GetWeakPtr()),
- base::TimeDelta::FromSeconds(bootstrap_timeout_seconds_));
+ base::TimeDelta::FromSeconds(kBootstrapTimeoutSeconds));
}
// TODO(vitalybuka): Add SSID probing.
std::string ssid = ssid_generator_.GenerateSsid();
@@ -103,7 +103,7 @@
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE, base::Bind(&WifiBootstrapManager::OnConnectTimeout,
tasks_weak_factory_.GetWeakPtr()),
- base::TimeDelta::FromSeconds(connect_timeout_seconds_));
+ base::TimeDelta::FromSeconds(kConnectTimeoutSeconds));
shill_client_->ConnectToService(
ssid, passphrase, base::Bind(&WifiBootstrapManager::OnConnectSuccess,
tasks_weak_factory_.GetWeakPtr(), ssid),
@@ -246,7 +246,7 @@
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE, base::Bind(&WifiBootstrapManager::OnMonitorTimeout,
tasks_weak_factory_.GetWeakPtr()),
- base::TimeDelta::FromSeconds(monitor_timeout_seconds_));
+ base::TimeDelta::FromSeconds(kMonitorTimeoutSeconds));
}
}
}
diff --git a/buffet/privet/wifi_bootstrap_manager.h b/buffet/privet/wifi_bootstrap_manager.h
index bb7d3ea..81812ef 100644
--- a/buffet/privet/wifi_bootstrap_manager.h
+++ b/buffet/privet/wifi_bootstrap_manager.h
@@ -43,10 +43,7 @@
WifiBootstrapManager(DaemonState* state_store,
ShillClient* shill_client,
ApManagerClient* ap_manager_client,
- CloudDelegate* gcd,
- uint32_t connect_timeout_seconds,
- uint32_t bootstrap_timeout_seconds,
- uint32_t monitor_timeout_seconds);
+ CloudDelegate* gcd);
~WifiBootstrapManager() override = default;
virtual void Init();
void RegisterStateListener(const StateListener& listener);
@@ -107,9 +104,6 @@
ApManagerClient* ap_manager_client_;
WifiSsidGenerator ssid_generator_;
- uint32_t connect_timeout_seconds_;
- uint32_t bootstrap_timeout_seconds_;
- uint32_t monitor_timeout_seconds_;
std::vector<StateListener> state_listeners_;
bool have_ever_been_bootstrapped_{false};
bool currently_online_{false};