Add config flag to mark that local auth info was changed

libWeave must upload changed local auth info to the server.

BUG=25766813

Change-Id: I3d82e2dab363554b1ed7ad164edbe8fbe04a7b7a
Reviewed-on: https://weave-review.googlesource.com/1801
Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/src/config_unittest.cc b/src/config_unittest.cc
index 67c3bfe..8c99131 100644
--- a/src/config_unittest.cc
+++ b/src/config_unittest.cc
@@ -77,6 +77,7 @@
   EXPECT_EQ("", GetSettings().robot_account);
   EXPECT_EQ("", GetSettings().last_configured_ssid);
   EXPECT_EQ(std::vector<uint8_t>(), GetSettings().secret);
+  EXPECT_TRUE(GetSettings().local_auth_info_changed);
 }
 
 TEST_F(ConfigTest, LoadStateV0) {
@@ -116,6 +117,7 @@
     "device_id": "state_device_id",
     "last_configured_ssid": "state_last_configured_ssid",
     "local_anonymous_access_role": "user",
+    "local_auth_info_changed": false,
     "local_discovery_enabled": false,
     "local_pairing_enabled": false,
     "location": "state_location",
@@ -159,6 +161,7 @@
   EXPECT_EQ("state_robot_account", GetSettings().robot_account);
   EXPECT_EQ("state_last_configured_ssid", GetSettings().last_configured_ssid);
   EXPECT_EQ("c3RhdGVfc2VjcmV0", Base64Encode(GetSettings().secret));
+  EXPECT_FALSE(GetSettings().local_auth_info_changed);
 }
 
 TEST_F(ConfigTest, Setters) {
@@ -228,6 +231,9 @@
   change.set_secret(secret);
   EXPECT_EQ(secret, GetSettings().secret);
 
+  change.set_local_auth_info_changed(false);
+  EXPECT_FALSE(GetSettings().local_auth_info_changed);
+
   EXPECT_CALL(*this, OnConfigChanged(_)).Times(1);
 
   EXPECT_CALL(config_store_, SaveSettings(_))
@@ -242,6 +248,7 @@
           'device_id': 'set_device_id',
           'last_configured_ssid': 'set_last_configured_ssid',
           'local_anonymous_access_role': 'user',
+          'local_auth_info_changed': false,
           'local_discovery_enabled': true,
           'local_pairing_enabled': true,
           'location': 'set_location',