shill: vpn: Don't include VPN passwords when reading service properties.

This is consistent with flimflam's behavior for OpenVPN passwords.

BUG=chromium-os:31703
TEST=unit tests, tested on device

Change-Id: I48438b4015fbb1287b1e6ac4945561b911158444
Reviewed-on: https://gerrit.chromium.org/gerrit/24995
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/l2tp_ipsec_driver.cc b/l2tp_ipsec_driver.cc
index ba7525e..8a0fdcb 100644
--- a/l2tp_ipsec_driver.cc
+++ b/l2tp_ipsec_driver.cc
@@ -46,7 +46,8 @@
   { flimflam::kL2tpIpsecCaCertNssProperty, 0 },
   { flimflam::kL2tpIpsecClientCertIdProperty, 0 },
   { flimflam::kL2tpIpsecClientCertSlotProperty, 0 },
-  { flimflam::kL2tpIpsecPasswordProperty, Property::kCredential },
+  { flimflam::kL2tpIpsecPasswordProperty,
+    Property::kCredential | Property::kWriteOnly },
   { flimflam::kL2tpIpsecPinProperty, Property::kCredential },
   { flimflam::kL2tpIpsecPskProperty, Property::kCredential },
   { flimflam::kL2tpIpsecUserProperty, 0 },
diff --git a/l2tp_ipsec_driver_unittest.cc b/l2tp_ipsec_driver_unittest.cc
index ba21cf0..bd72f76 100644
--- a/l2tp_ipsec_driver_unittest.cc
+++ b/l2tp_ipsec_driver_unittest.cc
@@ -464,6 +464,7 @@
     EXPECT_FALSE(props.LookupBool(flimflam::kPassphraseRequiredProperty, true));
     EXPECT_FALSE(
         props.LookupBool(flimflam::kL2tpIpsecPskRequiredProperty, true));
+    EXPECT_FALSE(props.ContainsString(flimflam::kL2tpIpsecPasswordProperty));
   }
 }
 
diff --git a/openvpn_driver.cc b/openvpn_driver.cc
index cb92e28..125372c 100644
--- a/openvpn_driver.cc
+++ b/openvpn_driver.cc
@@ -81,8 +81,9 @@
   { flimflam::kOpenVPNKeyDirectionProperty, 0 },
   { flimflam::kOpenVPNNsCertTypeProperty, 0 },
   { flimflam::kOpenVPNOTPProperty,
-    Property::kEphemeral | Property::kCredential | Property::kWriteOnly},
-  { flimflam::kOpenVPNPasswordProperty, Property::kCredential },
+    Property::kEphemeral | Property::kCredential | Property::kWriteOnly },
+  { flimflam::kOpenVPNPasswordProperty,
+    Property::kCredential | Property::kWriteOnly },
   { flimflam::kOpenVPNPinProperty, Property::kCredential },
   { flimflam::kOpenVPNPortProperty, 0 },
   { flimflam::kOpenVPNProtoProperty, 0 },
diff --git a/openvpn_driver_unittest.cc b/openvpn_driver_unittest.cc
index 51f0b4c..697d458 100644
--- a/openvpn_driver_unittest.cc
+++ b/openvpn_driver_unittest.cc
@@ -727,6 +727,7 @@
         inspector.GetKeyValueStoreProperty(
             flimflam::kProviderProperty, &props));
     EXPECT_FALSE(props.LookupBool(flimflam::kPassphraseRequiredProperty, true));
+    EXPECT_FALSE(props.ContainsString(flimflam::kOpenVPNPasswordProperty));
   }
 }