shill: Add support for connecting to PSK networks
BUG=chromium-os:21293
TEST=unittest + 2 new autotests to network_WiFiSecMat (021WPAasPSK and 022RSNasPSK)
Change-Id: Id727ca761f4457b134504fd05d5692915ab3c9eb
Reviewed-on: https://gerrit.chromium.org/gerrit/11030
Commit-Ready: Gaurav Shah <gauravsh@chromium.org>
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Tested-by: Gaurav Shah <gauravsh@chromium.org>
diff --git a/wifi_service.cc b/wifi_service.cc
index 6b6f095..618f40a 100644
--- a/wifi_service.cc
+++ b/wifi_service.cc
@@ -200,7 +200,13 @@
if (security_ == flimflam::kSecurity8021x) {
NOTIMPLEMENTED();
} else if (security_ == flimflam::kSecurityPsk) {
- NOTIMPLEMENTED();
+ const string psk_proto = StringPrintf("%s %s",
+ wpa_supplicant::kSecurityModeWPA,
+ wpa_supplicant::kSecurityModeRSN);
+ params[wpa_supplicant::kPropertySecurityProtocol].writer().
+ append_string(psk_proto.c_str());
+ params[wpa_supplicant::kPropertyPreSharedKey].writer().
+ append_string(passphrase_.c_str());
} else if (security_ == flimflam::kSecurityRsn) {
params[wpa_supplicant::kPropertySecurityProtocol].writer().
append_string(wpa_supplicant::kSecurityModeRSN);
@@ -214,9 +220,9 @@
} else if (security_ == flimflam::kSecurityWep) {
NOTIMPLEMENTED();
} else if (security_ == flimflam::kSecurityNone) {
- // nothing special to do here
+ // Nothing special to do here.
} else {
- LOG(ERROR) << "can't connect. unsupported security method " << security_;
+ LOG(ERROR) << "Can't connect. Unsupported security method " << security_;
}
params[wpa_supplicant::kPropertyKeyManagement].writer().