| 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 "net/android/network_library.h" | 5 #include "net/android/network_library.h" |
| 6 | 6 |
| 7 #include "base/android/context_utils.h" | |
| 8 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
| 9 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
| 10 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
| 11 #include "base/android/scoped_java_ref.h" | 10 #include "base/android/scoped_java_ref.h" |
| 12 #include "base/logging.h" | 11 #include "base/logging.h" |
| 13 #include "jni/AndroidNetworkLibrary_jni.h" | 12 #include "jni/AndroidNetworkLibrary_jni.h" |
| 14 #include "net/dns/dns_protocol.h" | 13 #include "net/dns/dns_protocol.h" |
| 15 | 14 |
| 16 using base::android::AttachCurrentThread; | 15 using base::android::AttachCurrentThread; |
| 17 using base::android::ConvertJavaStringToUTF8; | 16 using base::android::ConvertJavaStringToUTF8; |
| 18 using base::android::ConvertUTF8ToJavaString; | 17 using base::android::ConvertUTF8ToJavaString; |
| 19 using base::android::GetApplicationContext; | |
| 20 using base::android::ScopedJavaLocalRef; | 18 using base::android::ScopedJavaLocalRef; |
| 21 using base::android::ToJavaArrayOfByteArray; | 19 using base::android::ToJavaArrayOfByteArray; |
| 22 using base::android::ToJavaByteArray; | 20 using base::android::ToJavaByteArray; |
| 23 | 21 |
| 24 namespace net { | 22 namespace net { |
| 25 namespace android { | 23 namespace android { |
| 26 | 24 |
| 27 void VerifyX509CertChain(const std::vector<std::string>& cert_chain, | 25 void VerifyX509CertChain(const std::vector<std::string>& cert_chain, |
| 28 const std::string& auth_type, | 26 const std::string& auth_type, |
| 29 const std::string& host, | 27 const std::string& host, |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 | 64 |
| 67 bool StoreKeyPair(const uint8_t* public_key, | 65 bool StoreKeyPair(const uint8_t* public_key, |
| 68 size_t public_len, | 66 size_t public_len, |
| 69 const uint8_t* private_key, | 67 const uint8_t* private_key, |
| 70 size_t private_len) { | 68 size_t private_len) { |
| 71 JNIEnv* env = AttachCurrentThread(); | 69 JNIEnv* env = AttachCurrentThread(); |
| 72 ScopedJavaLocalRef<jbyteArray> public_array = | 70 ScopedJavaLocalRef<jbyteArray> public_array = |
| 73 ToJavaByteArray(env, public_key, public_len); | 71 ToJavaByteArray(env, public_key, public_len); |
| 74 ScopedJavaLocalRef<jbyteArray> private_array = | 72 ScopedJavaLocalRef<jbyteArray> private_array = |
| 75 ToJavaByteArray(env, private_key, private_len); | 73 ToJavaByteArray(env, private_key, private_len); |
| 76 jboolean ret = Java_AndroidNetworkLibrary_storeKeyPair( | 74 jboolean ret = |
| 77 env, GetApplicationContext(), public_array, private_array); | 75 Java_AndroidNetworkLibrary_storeKeyPair(env, public_array, private_array); |
| 78 LOG_IF(WARNING, !ret) << | 76 LOG_IF(WARNING, !ret) << |
| 79 "Call to Java_AndroidNetworkLibrary_storeKeyPair failed"; | 77 "Call to Java_AndroidNetworkLibrary_storeKeyPair failed"; |
| 80 return ret; | 78 return ret; |
| 81 } | 79 } |
| 82 | 80 |
| 83 bool IsCleartextPermitted(const std::string& host) { | 81 bool IsCleartextPermitted(const std::string& host) { |
| 84 JNIEnv* env = AttachCurrentThread(); | 82 JNIEnv* env = AttachCurrentThread(); |
| 85 ScopedJavaLocalRef<jstring> host_string = ConvertUTF8ToJavaString(env, host); | 83 ScopedJavaLocalRef<jstring> host_string = ConvertUTF8ToJavaString(env, host); |
| 86 return Java_AndroidNetworkLibrary_isCleartextPermitted(env, host_string); | 84 return Java_AndroidNetworkLibrary_isCleartextPermitted(env, host_string); |
| 87 } | 85 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 103 | 101 |
| 104 if (!ret.obj()) | 102 if (!ret.obj()) |
| 105 return false; | 103 return false; |
| 106 *result = ConvertJavaStringToUTF8(ret); | 104 *result = ConvertJavaStringToUTF8(ret); |
| 107 return true; | 105 return true; |
| 108 } | 106 } |
| 109 | 107 |
| 110 std::string GetTelephonyNetworkCountryIso() { | 108 std::string GetTelephonyNetworkCountryIso() { |
| 111 return base::android::ConvertJavaStringToUTF8( | 109 return base::android::ConvertJavaStringToUTF8( |
| 112 Java_AndroidNetworkLibrary_getNetworkCountryIso( | 110 Java_AndroidNetworkLibrary_getNetworkCountryIso( |
| 113 base::android::AttachCurrentThread(), | 111 base::android::AttachCurrentThread())); |
| 114 base::android::GetApplicationContext())); | |
| 115 } | 112 } |
| 116 | 113 |
| 117 std::string GetTelephonyNetworkOperator() { | 114 std::string GetTelephonyNetworkOperator() { |
| 118 return base::android::ConvertJavaStringToUTF8( | 115 return base::android::ConvertJavaStringToUTF8( |
| 119 Java_AndroidNetworkLibrary_getNetworkOperator( | 116 Java_AndroidNetworkLibrary_getNetworkOperator( |
| 120 base::android::AttachCurrentThread(), | 117 base::android::AttachCurrentThread())); |
| 121 base::android::GetApplicationContext())); | |
| 122 } | 118 } |
| 123 | 119 |
| 124 std::string GetTelephonySimOperator() { | 120 std::string GetTelephonySimOperator() { |
| 125 return base::android::ConvertJavaStringToUTF8( | 121 return base::android::ConvertJavaStringToUTF8( |
| 126 Java_AndroidNetworkLibrary_getSimOperator( | 122 Java_AndroidNetworkLibrary_getSimOperator( |
| 127 base::android::AttachCurrentThread(), | 123 base::android::AttachCurrentThread())); |
| 128 base::android::GetApplicationContext())); | |
| 129 } | 124 } |
| 130 | 125 |
| 131 bool GetIsRoaming() { | 126 bool GetIsRoaming() { |
| 132 return Java_AndroidNetworkLibrary_getIsRoaming( | 127 return Java_AndroidNetworkLibrary_getIsRoaming( |
| 133 base::android::AttachCurrentThread(), | 128 base::android::AttachCurrentThread()); |
| 134 base::android::GetApplicationContext()); | |
| 135 } | 129 } |
| 136 | 130 |
| 137 bool GetIsCaptivePortal() { | 131 bool GetIsCaptivePortal() { |
| 138 return Java_AndroidNetworkLibrary_getIsCaptivePortal( | 132 return Java_AndroidNetworkLibrary_getIsCaptivePortal( |
| 139 base::android::AttachCurrentThread(), | 133 base::android::AttachCurrentThread()); |
| 140 base::android::GetApplicationContext()); | |
| 141 } | 134 } |
| 142 | 135 |
| 143 std::string GetWifiSSID() { | 136 std::string GetWifiSSID() { |
| 144 return base::android::ConvertJavaStringToUTF8( | 137 return base::android::ConvertJavaStringToUTF8( |
| 145 Java_AndroidNetworkLibrary_getWifiSSID( | 138 Java_AndroidNetworkLibrary_getWifiSSID( |
| 146 base::android::AttachCurrentThread(), | 139 base::android::AttachCurrentThread())); |
| 147 base::android::GetApplicationContext())); | |
| 148 } | 140 } |
| 149 | 141 |
| 150 void GetDnsServers(std::vector<IPEndPoint>* dns_servers) { | 142 void GetDnsServers(std::vector<IPEndPoint>* dns_servers) { |
| 151 JNIEnv* env = AttachCurrentThread(); | 143 JNIEnv* env = AttachCurrentThread(); |
| 152 std::vector<std::string> dns_servers_strings; | 144 std::vector<std::string> dns_servers_strings; |
| 153 base::android::JavaArrayOfByteArrayToStringVector( | 145 base::android::JavaArrayOfByteArrayToStringVector( |
| 154 env, Java_AndroidNetworkLibrary_getDnsServers( | 146 env, Java_AndroidNetworkLibrary_getDnsServers(env).obj(), |
| 155 env, base::android::GetApplicationContext()) | |
| 156 .obj(), | |
| 157 &dns_servers_strings); | 147 &dns_servers_strings); |
| 158 for (const std::string& dns_address_string : dns_servers_strings) { | 148 for (const std::string& dns_address_string : dns_servers_strings) { |
| 159 IPAddress dns_address( | 149 IPAddress dns_address( |
| 160 reinterpret_cast<const uint8_t*>(dns_address_string.c_str()), | 150 reinterpret_cast<const uint8_t*>(dns_address_string.c_str()), |
| 161 dns_address_string.size()); | 151 dns_address_string.size()); |
| 162 IPEndPoint dns_server(dns_address, dns_protocol::kDefaultPort); | 152 IPEndPoint dns_server(dns_address, dns_protocol::kDefaultPort); |
| 163 dns_servers->push_back(dns_server); | 153 dns_servers->push_back(dns_server); |
| 164 } | 154 } |
| 165 } | 155 } |
| 166 | 156 |
| 167 } // namespace android | 157 } // namespace android |
| 168 } // namespace net | 158 } // namespace net |
| OLD | NEW |