OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser/chromeos/options/vpn_config_view.h" | 5 #include "chrome/browser/chromeos/options/vpn_config_view.h" |
6 | 6 |
7 #include "ash/system/chromeos/network/network_connect.h" | 7 #include "ash/system/chromeos/network/network_connect.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 server_ca_cert_combobox_->selected_index() : 0; | 446 server_ca_cert_combobox_->selected_index() : 0; |
447 if (index == 0) { | 447 if (index == 0) { |
448 // First item is "Default". | 448 // First item is "Default". |
449 return std::string(); | 449 return std::string(); |
450 } else { | 450 } else { |
451 int cert_index = index - 1; | 451 int cert_index = index - 1; |
452 return CertLibrary::Get()->GetServerCACertPEMAt(cert_index); | 452 return CertLibrary::Get()->GetServerCACertPEMAt(cert_index); |
453 } | 453 } |
454 } | 454 } |
455 | 455 |
456 const std::string VPNConfigView::GetUserCertID() const { | 456 void VPNConfigView::SetUserCertProperties( |
| 457 chromeos::client_cert::ConfigType client_cert_type, |
| 458 base::DictionaryValue* properties) const { |
457 if (!HaveUserCerts()) { | 459 if (!HaveUserCerts()) { |
458 return std::string(); // "None installed" | 460 // No certificate selected or not required. |
| 461 chromeos::client_cert::SetEmptyShillProperties( |
| 462 chromeos::client_cert::CONFIG_TYPE_EAP, properties); |
459 } else { | 463 } else { |
460 // Certificates are listed in the order they appear in the model. | 464 // Certificates are listed in the order they appear in the model. |
461 int index = user_cert_combobox_ ? user_cert_combobox_->selected_index() : 0; | 465 int index = user_cert_combobox_ ? user_cert_combobox_->selected_index() : 0; |
462 return CertLibrary::Get()->GetUserCertPkcs11IdAt(index); | 466 int slot_id = -1; |
| 467 const std::string pkcs11_id = |
| 468 CertLibrary::Get()->GetUserCertPkcs11IdAt(index, &slot_id); |
| 469 chromeos::client_cert::SetShillProperties( |
| 470 client_cert_type, slot_id, pkcs11_id, properties); |
463 } | 471 } |
464 } | 472 } |
465 | 473 |
466 bool VPNConfigView::GetSaveCredentials() const { | 474 bool VPNConfigView::GetSaveCredentials() const { |
467 return save_credentials_checkbox_->checked(); | 475 return save_credentials_checkbox_->checked(); |
468 } | 476 } |
469 | 477 |
470 int VPNConfigView::GetProviderTypeIndex() const { | 478 int VPNConfigView::GetProviderTypeIndex() const { |
471 if (provider_type_combobox_) | 479 if (provider_type_combobox_) |
472 return provider_type_combobox_->selected_index(); | 480 return provider_type_combobox_->selected_index(); |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
830 break; | 838 break; |
831 } | 839 } |
832 case PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT: { | 840 case PROVIDER_TYPE_INDEX_L2TP_IPSEC_USER_CERT: { |
833 std::string ca_cert_pem = GetServerCACertPEM(); | 841 std::string ca_cert_pem = GetServerCACertPEM(); |
834 if (!ca_cert_pem.empty()) { | 842 if (!ca_cert_pem.empty()) { |
835 base::ListValue* pem_list = new base::ListValue; | 843 base::ListValue* pem_list = new base::ListValue; |
836 pem_list->AppendString(ca_cert_pem); | 844 pem_list->AppendString(ca_cert_pem); |
837 properties->SetWithoutPathExpansion( | 845 properties->SetWithoutPathExpansion( |
838 shill::kL2tpIpsecCaCertPemProperty, pem_list); | 846 shill::kL2tpIpsecCaCertPemProperty, pem_list); |
839 } | 847 } |
840 properties->SetStringWithoutPathExpansion( | 848 SetUserCertProperties(client_cert::CONFIG_TYPE_IPSEC, properties); |
841 shill::kL2tpIpsecClientCertIdProperty, GetUserCertID()); | |
842 if (!group_name.empty()) { | 849 if (!group_name.empty()) { |
843 properties->SetStringWithoutPathExpansion( | 850 properties->SetStringWithoutPathExpansion( |
844 shill::kL2tpIpsecTunnelGroupProperty, GetGroupName()); | 851 shill::kL2tpIpsecTunnelGroupProperty, GetGroupName()); |
845 } | 852 } |
846 if (!user_name.empty()) { | 853 if (!user_name.empty()) { |
847 properties->SetStringWithoutPathExpansion( | 854 properties->SetStringWithoutPathExpansion( |
848 shill::kL2tpIpsecUserProperty, user_name); | 855 shill::kL2tpIpsecUserProperty, user_name); |
849 } | 856 } |
850 if (!user_passphrase.empty()) { | 857 if (!user_passphrase.empty()) { |
851 properties->SetStringWithoutPathExpansion( | 858 properties->SetStringWithoutPathExpansion( |
852 shill::kL2tpIpsecPasswordProperty, user_passphrase); | 859 shill::kL2tpIpsecPasswordProperty, user_passphrase); |
853 } | 860 } |
854 break; | 861 break; |
855 } | 862 } |
856 case PROVIDER_TYPE_INDEX_OPEN_VPN: { | 863 case PROVIDER_TYPE_INDEX_OPEN_VPN: { |
857 std::string ca_cert_pem = GetServerCACertPEM(); | 864 std::string ca_cert_pem = GetServerCACertPEM(); |
858 if (!ca_cert_pem.empty()) { | 865 if (!ca_cert_pem.empty()) { |
859 base::ListValue* pem_list = new base::ListValue; | 866 base::ListValue* pem_list = new base::ListValue; |
860 pem_list->AppendString(ca_cert_pem); | 867 pem_list->AppendString(ca_cert_pem); |
861 properties->SetWithoutPathExpansion( | 868 properties->SetWithoutPathExpansion( |
862 shill::kOpenVPNCaCertPemProperty, pem_list); | 869 shill::kOpenVPNCaCertPemProperty, pem_list); |
863 } | 870 } |
864 properties->SetStringWithoutPathExpansion( | 871 SetUserCertProperties(client_cert::CONFIG_TYPE_OPENVPN, properties); |
865 shill::kOpenVPNClientCertIdProperty, GetUserCertID()); | |
866 properties->SetStringWithoutPathExpansion( | 872 properties->SetStringWithoutPathExpansion( |
867 shill::kOpenVPNUserProperty, GetUsername()); | 873 shill::kOpenVPNUserProperty, GetUsername()); |
868 if (!user_passphrase.empty()) { | 874 if (!user_passphrase.empty()) { |
869 properties->SetStringWithoutPathExpansion( | 875 properties->SetStringWithoutPathExpansion( |
870 shill::kOpenVPNPasswordProperty, user_passphrase); | 876 shill::kOpenVPNPasswordProperty, user_passphrase); |
871 } | 877 } |
872 std::string otp = GetOTP(); | 878 std::string otp = GetOTP(); |
873 if (!otp.empty()) { | 879 if (!otp.empty()) { |
874 properties->SetStringWithoutPathExpansion( | 880 properties->SetStringWithoutPathExpansion( |
875 shill::kOpenVPNOTPProperty, otp); | 881 shill::kOpenVPNOTPProperty, otp); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1060 property_ui_data->ParseOncProperty( | 1066 property_ui_data->ParseOncProperty( |
1061 onc_source, | 1067 onc_source, |
1062 onc, | 1068 onc, |
1063 base::StringPrintf("%s.%s.%s", | 1069 base::StringPrintf("%s.%s.%s", |
1064 ::onc::network_config::kVPN, | 1070 ::onc::network_config::kVPN, |
1065 dict_key.c_str(), | 1071 dict_key.c_str(), |
1066 key.c_str())); | 1072 key.c_str())); |
1067 } | 1073 } |
1068 | 1074 |
1069 } // namespace chromeos | 1075 } // namespace chromeos |
OLD | NEW |