diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-06-29 01:14:34 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-06-29 01:14:34 +0000 |
commit | 7655181e22bb39a0e78b5cf6ddcaea15167cd5f7 (patch) | |
tree | 06b0dcd4d7369d86b06d5ac78b0addcda47fcd10 | |
parent | 50568c714d67f98e7c8097c2d3441599b12adbd2 (diff) | |
parent | f97518f0176ce35777ef3c5b70d6ea58f8e0e7f2 (diff) | |
download | IPsec-7655181e22bb39a0e78b5cf6ddcaea15167cd5f7.tar.gz |
Snap for 7501202 from f97518f0176ce35777ef3c5b70d6ea58f8e0e7f2 to sc-d2-release
Change-Id: Ia33980578a7345de518502458ce7180a7376fcb4
14 files changed, 804 insertions, 283 deletions
diff --git a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb new file mode 100644 index 0000000..f479b07 --- /dev/null +++ b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb @@ -0,0 +1,13 @@ +drops { + android_build_drop { + build_id: "7481421" + target: "mainline_modules-user" + source_file: "mainline-sdks/ipsec-module-sdk-current.zip" + } + dest_file: "current/current.zip" + version: "" + version_group: "" + git_project: "platform/prebuilts/module_sdk/IPsec" + git_branch: "sc-dev" + transform: TRANSFORM_UNZIP +} diff --git a/1/Android.bp.disabled b/1/Android.bp index 9a04723..9a04723 100644 --- a/1/Android.bp.disabled +++ b/1/Android.bp diff --git a/current/Android.bp b/current/Android.bp index b20be47..bc11e2f 100644 --- a/current/Android.bp +++ b/current/Android.bp @@ -1,37 +1,115 @@ - +// This is auto-generated. DO NOT EDIT. package { + // A default list here prevents the license LSC from adding its own list which would + // be unnecessary as every module in the sdk already has its own licenses property. default_applicable_licenses: ["Android-Apache-2.0"], } +prebuilt_bootclasspath_fragment { + name: "ipsec-module-sdk_com.android.ipsec-bootclasspath-fragment@current", + sdk_member_name: "com.android.ipsec-bootclasspath-fragment", + visibility: ["//visibility:public"], + apex_available: ["com.android.ipsec"], + licenses: ["ipsec-module-sdk_Android-Apache-2.0@current"], + contents: ["ipsec-module-sdk_android.net.ipsec.ike@current"], +} + +prebuilt_bootclasspath_fragment { + name: "com.android.ipsec-bootclasspath-fragment", + prefer: false, + visibility: ["//visibility:public"], + apex_available: ["com.android.ipsec"], + licenses: ["ipsec-module-sdk_Android-Apache-2.0"], + contents: ["android.net.ipsec.ike"], +} + +java_sdk_library_import { + name: "ipsec-module-sdk_android.net.ipsec.ike@current", + sdk_member_name: "android.net.ipsec.ike", + visibility: ["//visibility:public"], + apex_available: [ + "com.android.ipsec", + "test_com.android.ipsec", + ], + licenses: ["ipsec-module-sdk_Android-Apache-2.0@current"], + shared_library: true, + compile_dex: true, + public: { + jars: ["sdk_library/public/android.net.ipsec.ike-stubs.jar"], + stub_srcs: ["sdk_library/public/android.net.ipsec.ike.srcjar"], + current_api: "sdk_library/public/android.net.ipsec.ike.txt", + removed_api: "sdk_library/public/android.net.ipsec.ike-removed.txt", + sdk_version: "module_current", + }, + system: { + jars: ["sdk_library/system/android.net.ipsec.ike-stubs.jar"], + stub_srcs: ["sdk_library/system/android.net.ipsec.ike.srcjar"], + current_api: "sdk_library/system/android.net.ipsec.ike.txt", + removed_api: "sdk_library/system/android.net.ipsec.ike-removed.txt", + sdk_version: "module_current", + }, + module_lib: { + jars: ["sdk_library/module-lib/android.net.ipsec.ike-stubs.jar"], + stub_srcs: ["sdk_library/module-lib/android.net.ipsec.ike.srcjar"], + current_api: "sdk_library/module-lib/android.net.ipsec.ike.txt", + removed_api: "sdk_library/module-lib/android.net.ipsec.ike-removed.txt", + sdk_version: "module_current", + }, +} + java_sdk_library_import { name: "android.net.ipsec.ike", - owner: "google", prefer: false, - shared_library: true, + visibility: ["//visibility:public"], apex_available: [ "com.android.ipsec", "test_com.android.ipsec", ], + licenses: ["ipsec-module-sdk_Android-Apache-2.0"], + shared_library: true, + compile_dex: true, public: { - jars: ["sdk_library/public/android.net.ipsec.ike.jar"], + jars: ["sdk_library/public/android.net.ipsec.ike-stubs.jar"], stub_srcs: ["sdk_library/public/android.net.ipsec.ike.srcjar"], current_api: "sdk_library/public/android.net.ipsec.ike.txt", removed_api: "sdk_library/public/android.net.ipsec.ike-removed.txt", sdk_version: "module_current", }, system: { - jars: ["sdk_library/system/android.net.ipsec.ike.jar"], + jars: ["sdk_library/system/android.net.ipsec.ike-stubs.jar"], stub_srcs: ["sdk_library/system/android.net.ipsec.ike.srcjar"], current_api: "sdk_library/system/android.net.ipsec.ike.txt", removed_api: "sdk_library/system/android.net.ipsec.ike-removed.txt", sdk_version: "module_current", }, module_lib: { - jars: ["sdk_library/module_lib/android.net.ipsec.ike.jar"], - stub_srcs: ["sdk_library/module_lib/android.net.ipsec.ike.srcjar"], - current_api: "sdk_library/module_lib/android.net.ipsec.ike.txt", - removed_api: "sdk_library/module_lib/android.net.ipsec.ike-removed.txt", + jars: ["sdk_library/module-lib/android.net.ipsec.ike-stubs.jar"], + stub_srcs: ["sdk_library/module-lib/android.net.ipsec.ike.srcjar"], + current_api: "sdk_library/module-lib/android.net.ipsec.ike.txt", + removed_api: "sdk_library/module-lib/android.net.ipsec.ike-removed.txt", sdk_version: "module_current", }, } + +license { + name: "ipsec-module-sdk_Android-Apache-2.0@current", + sdk_member_name: "Android-Apache-2.0", + visibility: ["//visibility:private"], + license_kinds: ["SPDX-license-identifier-Apache-2.0"], + license_text: ["licenses/build/soong/licenses/LICENSE"], +} + +license { + name: "ipsec-module-sdk_Android-Apache-2.0", + visibility: ["//visibility:private"], + license_kinds: ["SPDX-license-identifier-Apache-2.0"], + license_text: ["licenses/build/soong/licenses/LICENSE"], +} + +sdk_snapshot { + name: "ipsec-module-sdk@current", + visibility: ["//visibility:public"], + bootclasspath_fragments: ["ipsec-module-sdk_com.android.ipsec-bootclasspath-fragment@current"], + java_sdk_libs: ["ipsec-module-sdk_android.net.ipsec.ike@current"], +} diff --git a/current/licenses/build/soong/licenses/LICENSE b/current/licenses/build/soong/licenses/LICENSE new file mode 100644 index 0000000..dae0406 --- /dev/null +++ b/current/licenses/build/soong/licenses/LICENSE @@ -0,0 +1,214 @@ + + Copyright (c) The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/current/sdk_library/module-lib/android.net.ipsec.ike-removed.txt b/current/sdk_library/module-lib/android.net.ipsec.ike-removed.txt new file mode 100644 index 0000000..d802177 --- /dev/null +++ b/current/sdk_library/module-lib/android.net.ipsec.ike-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/current/sdk_library/module-lib/android.net.ipsec.ike-stubs.jar b/current/sdk_library/module-lib/android.net.ipsec.ike-stubs.jar Binary files differnew file mode 100644 index 0000000..378bd74 --- /dev/null +++ b/current/sdk_library/module-lib/android.net.ipsec.ike-stubs.jar diff --git a/current/sdk_library/module-lib/android.net.ipsec.ike.srcjar b/current/sdk_library/module-lib/android.net.ipsec.ike.srcjar Binary files differnew file mode 100644 index 0000000..b6bfb15 --- /dev/null +++ b/current/sdk_library/module-lib/android.net.ipsec.ike.srcjar diff --git a/current/sdk_library/module-lib/android.net.ipsec.ike.txt b/current/sdk_library/module-lib/android.net.ipsec.ike.txt new file mode 100644 index 0000000..d802177 --- /dev/null +++ b/current/sdk_library/module-lib/android.net.ipsec.ike.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/current/sdk_library/public/android.net.ipsec.ike-stubs.jar b/current/sdk_library/public/android.net.ipsec.ike-stubs.jar Binary files differnew file mode 100644 index 0000000..75df459 --- /dev/null +++ b/current/sdk_library/public/android.net.ipsec.ike-stubs.jar diff --git a/current/sdk_library/public/android.net.ipsec.ike.srcjar b/current/sdk_library/public/android.net.ipsec.ike.srcjar Binary files differindex a9fed69..045663e 100644 --- a/current/sdk_library/public/android.net.ipsec.ike.srcjar +++ b/current/sdk_library/public/android.net.ipsec.ike.srcjar diff --git a/current/sdk_library/public/android.net.ipsec.ike.txt b/current/sdk_library/public/android.net.ipsec.ike.txt index d802177..fb5b1f9 100644 --- a/current/sdk_library/public/android.net.ipsec.ike.txt +++ b/current/sdk_library/public/android.net.ipsec.ike.txt @@ -1 +1,420 @@ // Signature format: 2.0 +package android.net.eap { + + public final class EapSessionConfig { + method @Nullable public android.net.eap.EapSessionConfig.EapAkaConfig getEapAkaConfig(); + method @Nullable public android.net.eap.EapSessionConfig.EapAkaPrimeConfig getEapAkaPrimeConfig(); + method @NonNull public byte[] getEapIdentity(); + method @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2Config(); + method @Nullable public android.net.eap.EapSessionConfig.EapSimConfig getEapSimConfig(); + method @Nullable public android.net.eap.EapSessionConfig.EapTtlsConfig getEapTtlsConfig(); + } + + public static final class EapSessionConfig.Builder { + ctor public EapSessionConfig.Builder(); + method @NonNull public android.net.eap.EapSessionConfig build(); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaPrimeConfig(int, int, @NonNull String, boolean); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapIdentity(@NonNull byte[]); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapMsChapV2Config(@NonNull String, @NonNull String); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapSimConfig(int, int); + method @NonNull public android.net.eap.EapSessionConfig.Builder setEapTtlsConfig(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig); + } + + public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method public int getAppType(); + method public int getSubId(); + } + + public static class EapSessionConfig.EapAkaPrimeConfig extends android.net.eap.EapSessionConfig.EapAkaConfig { + method public boolean allowsMismatchedNetworkNames(); + method @NonNull public String getNetworkName(); + } + + public abstract static class EapSessionConfig.EapMethodConfig { + method public int getMethodType(); + field public static final int EAP_TYPE_AKA = 23; // 0x17 + field public static final int EAP_TYPE_AKA_PRIME = 50; // 0x32 + field public static final int EAP_TYPE_MSCHAP_V2 = 26; // 0x1a + field public static final int EAP_TYPE_SIM = 18; // 0x12 + field public static final int EAP_TYPE_TTLS = 21; // 0x15 + } + + public static class EapSessionConfig.EapMsChapV2Config extends android.net.eap.EapSessionConfig.EapMethodConfig { + method @NonNull public String getPassword(); + method @NonNull public String getUsername(); + } + + public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method public int getAppType(); + method public int getSubId(); + } + + public static class EapSessionConfig.EapTtlsConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method @NonNull public android.net.eap.EapSessionConfig getInnerEapSessionConfig(); + method @Nullable public java.security.cert.X509Certificate getServerCaCert(); + } + +} + +package android.net.ipsec.ike { + + public final class ChildSaProposal extends android.net.ipsec.ike.SaProposal { + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms(); + } + + public static final class ChildSaProposal.Builder { + ctor public ChildSaProposal.Builder(); + method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addDhGroup(int); + method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addEncryptionAlgorithm(int, int); + method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addIntegrityAlgorithm(int); + method @NonNull public android.net.ipsec.ike.ChildSaProposal build(); + } + + public interface ChildSessionCallback { + method public void onClosed(); + method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public void onIpSecTransformCreated(@NonNull android.net.IpSecTransform, int); + method public void onIpSecTransformDeleted(@NonNull android.net.IpSecTransform, int); + method public void onOpened(@NonNull android.net.ipsec.ike.ChildSessionConfiguration); + } + + public final class ChildSessionConfiguration { + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors(); + } + + public static final class ChildSessionConfiguration.Builder { + ctor public ChildSessionConfiguration.Builder(@NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>, @NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration build(); + } + + public abstract class ChildSessionParams { + method @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getChildSaProposals(); + method @IntRange(from=0x12c, to=0x3840) public int getHardLifetimeSeconds(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors(); + method @IntRange(from=0x78, to=0x3840) public int getSoftLifetimeSeconds(); + } + + public final class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeDerAsn1DnIdentification(@NonNull javax.security.auth.x500.X500Principal); + field @NonNull public final javax.security.auth.x500.X500Principal derAsn1Dn; + } + + public class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeFqdnIdentification(@NonNull String); + field @NonNull public final String fqdn; + } + + public abstract class IkeIdentification { + } + + public final class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeIpv4AddrIdentification(@NonNull java.net.Inet4Address); + field @NonNull public final java.net.Inet4Address ipv4Address; + } + + public class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeIpv6AddrIdentification(@NonNull java.net.Inet6Address); + field @NonNull public final java.net.Inet6Address ipv6Address; + } + + public final class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeKeyIdIdentification(@NonNull byte[]); + field @NonNull public final byte[] keyId; + } + + public final class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification { + ctor public IkeRfc822AddrIdentification(@NonNull String); + field @NonNull public final String rfc822Name; + } + + public final class IkeSaProposal extends android.net.ipsec.ike.SaProposal { + method @NonNull public java.util.List<java.lang.Integer> getPseudorandomFunctions(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedPseudorandomFunctions(); + } + + public static final class IkeSaProposal.Builder { + ctor public IkeSaProposal.Builder(); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addDhGroup(int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addEncryptionAlgorithm(int, int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addIntegrityAlgorithm(int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addPseudorandomFunction(int); + method @NonNull public android.net.ipsec.ike.IkeSaProposal build(); + } + + public final class IkeSession implements java.lang.AutoCloseable { + ctor public IkeSession(@NonNull android.content.Context, @NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.net.ipsec.ike.IkeSessionCallback, @NonNull android.net.ipsec.ike.ChildSessionCallback); + method public void close(); + method public void closeChildSession(@NonNull android.net.ipsec.ike.ChildSessionCallback); + method public void finalize(); + method public void kill(); + method public void openChildSession(@NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull android.net.ipsec.ike.ChildSessionCallback); + } + + public interface IkeSessionCallback { + method public void onClosed(); + method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public void onOpened(@NonNull android.net.ipsec.ike.IkeSessionConfiguration); + } + + public final class IkeSessionConfiguration { + method @NonNull public android.net.ipsec.ike.IkeSessionConnectionInfo getIkeSessionConnectionInfo(); + method @NonNull public String getRemoteApplicationVersion(); + method @NonNull public java.util.List<byte[]> getRemoteVendorIds(); + method public boolean isIkeExtensionEnabled(int); + field public static final int EXTENSION_TYPE_FRAGMENTATION = 1; // 0x1 + field public static final int EXTENSION_TYPE_MOBIKE = 2; // 0x2 + } + + public static final class IkeSessionConfiguration.Builder { + ctor public IkeSessionConfiguration.Builder(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addIkeExtension(int); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addRemoteVendorId(@NonNull byte[]); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration build(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearIkeExtensions(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteApplicationVersion(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteVendorIds(); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder setRemoteApplicationVersion(@NonNull String); + } + + public final class IkeSessionConnectionInfo { + ctor public IkeSessionConnectionInfo(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network); + method @NonNull public java.net.InetAddress getLocalAddress(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public java.net.InetAddress getRemoteAddress(); + } + + public final class IkeSessionParams { + method @IntRange(from=0x14, to=0x708) public int getDpdDelaySeconds(); + method @IntRange(from=0x12c, to=0x15180) public int getHardLifetimeSeconds(); + method @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getIkeSaProposals(); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getLocalAuthConfig(); + method @NonNull public android.net.ipsec.ike.IkeIdentification getLocalIdentification(); + method @IntRange(from=0xa, to=0xe10) public int getNattKeepAliveDelaySeconds(); + method @Nullable public android.net.Network getNetwork(); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getRemoteAuthConfig(); + method @NonNull public android.net.ipsec.ike.IkeIdentification getRemoteIdentification(); + method @NonNull public int[] getRetransmissionTimeoutsMillis(); + method @NonNull public String getServerHostname(); + method @IntRange(from=0x78, to=0x15180) public int getSoftLifetimeSeconds(); + method public boolean hasIkeOption(int); + field public static final int IKE_OPTION_ACCEPT_ANY_REMOTE_ID = 0; // 0x0 + field public static final int IKE_OPTION_EAP_ONLY_AUTH = 1; // 0x1 + field public static final int IKE_OPTION_FORCE_PORT_4500 = 3; // 0x3 + field public static final int IKE_OPTION_MOBIKE = 2; // 0x2 + } + + public static final class IkeSessionParams.Builder { + ctor public IkeSessionParams.Builder(); + ctor public IkeSessionParams.Builder(@NonNull android.net.ipsec.ike.IkeSessionParams); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeOption(int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal); + method @NonNull public android.net.ipsec.ike.IkeSessionParams build(); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder removeIkeOption(int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.util.List<java.security.cert.X509Certificate>, @NonNull java.security.PrivateKey); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthEap(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthPsk(@NonNull byte[]); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDpdDelaySeconds(@IntRange(from=0x14, to=0x708) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x15180) int, @IntRange(from=0x78, to=0x15180) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLocalIdentification(@NonNull android.net.ipsec.ike.IkeIdentification); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNattKeepAliveDelaySeconds(@IntRange(from=0xa, to=0xe10) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNetwork(@Nullable android.net.Network); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRemoteIdentification(@NonNull android.net.ipsec.ike.IkeIdentification); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRetransmissionTimeoutsMillis(@NonNull int[]); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setServerHostname(@NonNull String); + } + + public abstract static class IkeSessionParams.IkeAuthConfig { + } + + public static class IkeSessionParams.IkeAuthDigitalSignLocalConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @NonNull public java.security.cert.X509Certificate getClientEndCertificate(); + method @NonNull public java.util.List<java.security.cert.X509Certificate> getIntermediateCertificates(); + method @NonNull public java.security.PrivateKey getPrivateKey(); + } + + public static class IkeSessionParams.IkeAuthDigitalSignRemoteConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @Nullable public java.security.cert.X509Certificate getRemoteCaCert(); + } + + public static class IkeSessionParams.IkeAuthEapConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @NonNull public android.net.eap.EapSessionConfig getEapConfig(); + } + + public static class IkeSessionParams.IkeAuthPskConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { + method @NonNull public byte[] getPsk(); + } + + public final class IkeTrafficSelector { + ctor public IkeTrafficSelector(int, int, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress); + field public final int endPort; + field @NonNull public final java.net.InetAddress endingAddress; + field public final int startPort; + field @NonNull public final java.net.InetAddress startingAddress; + } + + public final class IkeTunnelConnectionParams { + ctor public IkeTunnelConnectionParams(@NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.TunnelModeChildSessionParams); + method @NonNull public android.net.ipsec.ike.IkeSessionParams getIkeSessionParams(); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams getTunnelModeChildSessionParams(); + } + + public abstract class SaProposal { + method @NonNull public java.util.List<java.lang.Integer> getDhGroups(); + method @NonNull public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getEncryptionAlgorithms(); + method @NonNull public java.util.List<java.lang.Integer> getIntegrityAlgorithms(); + method @NonNull public static java.util.Set<java.lang.Integer> getSupportedDhGroups(); + field public static final int DH_GROUP_1024_BIT_MODP = 2; // 0x2 + field public static final int DH_GROUP_1536_BIT_MODP = 5; // 0x5 + field public static final int DH_GROUP_2048_BIT_MODP = 14; // 0xe + field public static final int DH_GROUP_3072_BIT_MODP = 15; // 0xf + field public static final int DH_GROUP_4096_BIT_MODP = 16; // 0x10 + field public static final int DH_GROUP_CURVE_25519 = 31; // 0x1f + field public static final int DH_GROUP_NONE = 0; // 0x0 + field public static final int ENCRYPTION_ALGORITHM_3DES = 3; // 0x3 + field public static final int ENCRYPTION_ALGORITHM_AES_CBC = 12; // 0xc + field public static final int ENCRYPTION_ALGORITHM_AES_CTR = 13; // 0xd + field public static final int ENCRYPTION_ALGORITHM_AES_GCM_12 = 19; // 0x13 + field public static final int ENCRYPTION_ALGORITHM_AES_GCM_16 = 20; // 0x14 + field public static final int ENCRYPTION_ALGORITHM_AES_GCM_8 = 18; // 0x12 + field public static final int ENCRYPTION_ALGORITHM_CHACHA20_POLY1305 = 28; // 0x1c + field public static final int INTEGRITY_ALGORITHM_AES_CMAC_96 = 8; // 0x8 + field public static final int INTEGRITY_ALGORITHM_AES_XCBC_96 = 5; // 0x5 + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96 = 2; // 0x2 + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128 = 12; // 0xc + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192 = 13; // 0xd + field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256 = 14; // 0xe + field public static final int INTEGRITY_ALGORITHM_NONE = 0; // 0x0 + field public static final int KEY_LEN_AES_128 = 128; // 0x80 + field public static final int KEY_LEN_AES_192 = 192; // 0xc0 + field public static final int KEY_LEN_AES_256 = 256; // 0x100 + field public static final int KEY_LEN_UNUSED = 0; // 0x0 + field public static final int PSEUDORANDOM_FUNCTION_AES128_CMAC = 8; // 0x8 + field public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC = 4; // 0x4 + field public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1 = 2; // 0x2 + field public static final int PSEUDORANDOM_FUNCTION_SHA2_256 = 5; // 0x5 + field public static final int PSEUDORANDOM_FUNCTION_SHA2_384 = 6; // 0x6 + field public static final int PSEUDORANDOM_FUNCTION_SHA2_512 = 7; // 0x7 + } + + public final class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams { + } + + public static final class TransportModeChildSessionParams.Builder { + ctor public TransportModeChildSessionParams.Builder(); + ctor public TransportModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TransportModeChildSessionParams); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams build(); + method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int); + } + + public final class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams { + method @NonNull public java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest> getConfigurationRequests(); + } + + public static final class TunnelModeChildSessionParams.Builder { + ctor public TunnelModeChildSessionParams.Builder(); + ctor public TunnelModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TunnelModeChildSessionParams); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet4Address); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet6Address, int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest(int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDnsServerRequest(int); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams build(); + method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int); + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + method @Nullable public java.net.Inet4Address getAddress(); + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Netmask extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv6Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + method @Nullable public java.net.Inet6Address getAddress(); + method public int getPrefixLength(); + } + + public static interface TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + + public static interface TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + } + +} + +package android.net.ipsec.ike.exceptions { + + public abstract class IkeException extends java.lang.Exception { + } + + public final class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException { + ctor public IkeInternalException(@NonNull Throwable); + ctor public IkeInternalException(@NonNull String, @NonNull Throwable); + } + + public final class IkeNetworkLostException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException { + ctor public IkeNetworkLostException(@NonNull android.net.Network); + method @NonNull public android.net.Network getNetwork(); + } + + public abstract class IkeNonProtocolException extends android.net.ipsec.ike.exceptions.IkeException { + } + + public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException { + method public int getErrorType(); + field public static final int ERROR_TYPE_AUTHENTICATION_FAILED = 24; // 0x18 + field public static final int ERROR_TYPE_CHILD_SA_NOT_FOUND = 44; // 0x2c + field public static final int ERROR_TYPE_FAILED_CP_REQUIRED = 37; // 0x25 + field public static final int ERROR_TYPE_INTERNAL_ADDRESS_FAILURE = 36; // 0x24 + field public static final int ERROR_TYPE_INVALID_IKE_SPI = 4; // 0x4 + field public static final int ERROR_TYPE_INVALID_KE_PAYLOAD = 17; // 0x11 + field public static final int ERROR_TYPE_INVALID_MAJOR_VERSION = 5; // 0x5 + field public static final int ERROR_TYPE_INVALID_MESSAGE_ID = 9; // 0x9 + field public static final int ERROR_TYPE_INVALID_SELECTORS = 39; // 0x27 + field public static final int ERROR_TYPE_INVALID_SYNTAX = 7; // 0x7 + field public static final int ERROR_TYPE_NO_ADDITIONAL_SAS = 35; // 0x23 + field public static final int ERROR_TYPE_NO_PROPOSAL_CHOSEN = 14; // 0xe + field public static final int ERROR_TYPE_SINGLE_PAIR_REQUIRED = 34; // 0x22 + field public static final int ERROR_TYPE_TEMPORARY_FAILURE = 43; // 0x2b + field public static final int ERROR_TYPE_TS_UNACCEPTABLE = 38; // 0x26 + field public static final int ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD = 1; // 0x1 + } + + public final class InvalidKeException extends android.net.ipsec.ike.exceptions.IkeProtocolException { + ctor public InvalidKeException(int); + method public int getDhGroup(); + } + + public final class InvalidMajorVersionException extends android.net.ipsec.ike.exceptions.IkeProtocolException { + ctor public InvalidMajorVersionException(byte); + method public byte getMajorVersion(); + } + + public final class InvalidSelectorsException extends android.net.ipsec.ike.exceptions.IkeProtocolException { + ctor public InvalidSelectorsException(int, @NonNull byte[]); + method @NonNull public byte[] getIpSecPacketInfo(); + method public int getIpSecSpi(); + } + +} + diff --git a/current/sdk_library/system/android.net.ipsec.ike-stubs.jar b/current/sdk_library/system/android.net.ipsec.ike-stubs.jar Binary files differnew file mode 100644 index 0000000..378bd74 --- /dev/null +++ b/current/sdk_library/system/android.net.ipsec.ike-stubs.jar diff --git a/current/sdk_library/system/android.net.ipsec.ike.srcjar b/current/sdk_library/system/android.net.ipsec.ike.srcjar Binary files differindex f1cf4a6..b6bfb15 100644 --- a/current/sdk_library/system/android.net.ipsec.ike.srcjar +++ b/current/sdk_library/system/android.net.ipsec.ike.srcjar diff --git a/current/sdk_library/system/android.net.ipsec.ike.txt b/current/sdk_library/system/android.net.ipsec.ike.txt index d42f8c0..d2ffd43 100644 --- a/current/sdk_library/system/android.net.ipsec.ike.txt +++ b/current/sdk_library/system/android.net.ipsec.ike.txt @@ -2,202 +2,78 @@ package android.net.eap { public final class EapSessionConfig { - method @Nullable public android.net.eap.EapSessionConfig.EapAkaConfig getEapAkaConfig(); - method @Nullable public android.net.eap.EapSessionConfig.EapAkaPrimeConfig getEapAkaPrimeConfig(); - method @NonNull public byte[] getEapIdentity(); - method @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig(); - method @Nullable public android.net.eap.EapSessionConfig.EapSimConfig getEapSimConfig(); + method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig(); } - public static final class EapSessionConfig.Builder { - ctor public EapSessionConfig.Builder(); - method @NonNull public android.net.eap.EapSessionConfig build(); - method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int); - method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaPrimeConfig(int, int, @NonNull String, boolean); - method @NonNull public android.net.eap.EapSessionConfig.Builder setEapIdentity(@NonNull byte[]); - method @NonNull public android.net.eap.EapSessionConfig.Builder setEapMsChapV2Config(@NonNull String, @NonNull String); - method @NonNull public android.net.eap.EapSessionConfig.Builder setEapSimConfig(int, int); - } - - public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapUiccConfig { - } - - public static class EapSessionConfig.EapAkaPrimeConfig extends android.net.eap.EapSessionConfig.EapAkaConfig { - method public boolean allowsMismatchedNetworkNames(); - method @NonNull public String getNetworkName(); - } - - public abstract static class EapSessionConfig.EapMethodConfig { - method public int getMethodType(); - } - - public static class EapSessionConfig.EapMsChapV2Config extends android.net.eap.EapSessionConfig.EapMethodConfig { - method @NonNull public String getPassword(); - method @NonNull public String getUsername(); - } - - public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapUiccConfig { - } - - public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { - method public int getAppType(); - method public int getSubId(); + @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig { + method @Deprecated public int getAppType(); + method @Deprecated public int getSubId(); } } package android.net.ipsec.ike { - public final class ChildSaProposal extends android.net.ipsec.ike.SaProposal { - } - - public static final class ChildSaProposal.Builder { - ctor public ChildSaProposal.Builder(); - method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addDhGroup(int); - method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addEncryptionAlgorithm(int, int); - method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addIntegrityAlgorithm(int); - method @NonNull public android.net.ipsec.ike.ChildSaProposal build(); - } - public interface ChildSessionCallback { - method public void onClosed(); - method public void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException); - method public void onIpSecTransformCreated(@NonNull android.net.IpSecTransform, int); - method public void onIpSecTransformDeleted(@NonNull android.net.IpSecTransform, int); - method public void onOpened(@NonNull android.net.ipsec.ike.ChildSessionConfiguration); + method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform); } public final class ChildSessionConfiguration { - method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors(); method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses(); method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers(); method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers(); method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets(); - method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors(); } - public abstract class ChildSessionParams { - method @IntRange(from=0x12c, to=0x3840) public int getHardLifetimeSeconds(); - method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors(); - method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors(); - method @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals(); - method @IntRange(from=0x78, to=0x3840) public int getSoftLifetimeSeconds(); + public static final class ChildSessionConfiguration.Builder { + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses(); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers(); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers(); + method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets(); } - public final class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification { - ctor public IkeDerAsn1DnIdentification(@NonNull javax.security.auth.x500.X500Principal); - field @NonNull public final javax.security.auth.x500.X500Principal derAsn1Dn; - } - - public class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification { - ctor public IkeFqdnIdentification(@NonNull String); - field @NonNull public final String fqdn; - } - - public abstract class IkeIdentification { - } - - public final class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification { - ctor public IkeIpv4AddrIdentification(@NonNull java.net.Inet4Address); - field @NonNull public final java.net.Inet4Address ipv4Address; - } - - public class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification { - ctor public IkeIpv6AddrIdentification(@NonNull java.net.Inet6Address); - field @NonNull public final java.net.Inet6Address ipv6Address; - } - - public final class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification { - ctor public IkeKeyIdIdentification(@NonNull byte[]); - field @NonNull public final byte[] keyId; - } - - public final class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification { - ctor public IkeRfc822AddrIdentification(@NonNull String); - field @NonNull public final String rfc822Name; - } - - public final class IkeSaProposal extends android.net.ipsec.ike.SaProposal { - method @NonNull public java.util.List<java.lang.Integer> getPseudorandomFunctions(); - } - - public static final class IkeSaProposal.Builder { - ctor public IkeSaProposal.Builder(); - method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addDhGroup(int); - method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addEncryptionAlgorithm(int, int); - method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addIntegrityAlgorithm(int); - method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addPseudorandomFunction(int); - method @NonNull public android.net.ipsec.ike.IkeSaProposal build(); + public abstract class ChildSessionParams { + method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals(); } public final class IkeSession implements java.lang.AutoCloseable { - ctor public IkeSession(@NonNull android.content.Context, @NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.net.ipsec.ike.IkeSessionCallback, @NonNull android.net.ipsec.ike.ChildSessionCallback); - method public void close(); - method public void closeChildSession(@NonNull android.net.ipsec.ike.ChildSessionCallback); - method public void kill(); - method public void openChildSession(@NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull android.net.ipsec.ike.ChildSessionCallback); + method public void setNetwork(@NonNull android.net.Network); } public interface IkeSessionCallback { - method public void onClosed(); - method public void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException); - method public void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException); - method public void onOpened(@NonNull android.net.ipsec.ike.IkeSessionConfiguration); + method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException); + method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException); + method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo); } public final class IkeSessionConfiguration { - method @NonNull public android.net.ipsec.ike.IkeSessionConnectionInfo getIkeSessionConnectionInfo(); method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers(); - method @NonNull public String getRemoteApplicationVersion(); - method @NonNull public java.util.List<byte[]> getRemoteVendorIds(); - method public boolean isIkeExtensionEnabled(int); - field public static final int EXTENSION_TYPE_FRAGMENTATION = 1; // 0x1 - field public static final int EXTENSION_TYPE_MOBIKE = 2; // 0x2 } - public final class IkeSessionConnectionInfo { - method @NonNull public java.net.InetAddress getLocalAddress(); - method @NonNull public android.net.Network getNetwork(); - method @NonNull public java.net.InetAddress getRemoteAddress(); + public static final class IkeSessionConfiguration.Builder { + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress); + method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers(); } public final class IkeSessionParams { method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests(); - method @IntRange(from=0x14, to=0x708) public int getDpdDelaySeconds(); - method @IntRange(from=0x12c, to=0x15180) public int getHardLifetimeSeconds(); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getLocalAuthConfig(); - method @NonNull public android.net.ipsec.ike.IkeIdentification getLocalIdentification(); - method @NonNull public android.net.Network getNetwork(); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getRemoteAuthConfig(); - method @NonNull public android.net.ipsec.ike.IkeIdentification getRemoteIdentification(); - method public int[] getRetransmissionTimeoutsMillis(); - method @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals(); - method @NonNull public String getServerHostname(); - method @IntRange(from=0x78, to=0x15180) public int getSoftLifetimeSeconds(); - method public boolean hasIkeOption(int); - field public static final int IKE_OPTION_ACCEPT_ANY_REMOTE_ID = 0; // 0x0 - field public static final int IKE_OPTION_EAP_ONLY_AUTH = 1; // 0x1 + method @IntRange(from=0x0, to=0x3f) public int getDscp(); + method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension(); + method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals(); } public static final class IkeSessionParams.Builder { - ctor public IkeSessionParams.Builder(@NonNull android.content.Context); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeOption(int); + ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context); method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress); method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal); - method @NonNull public android.net.ipsec.ike.IkeSessionParams build(); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder removeIkeOption(int); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.util.List<java.security.cert.X509Certificate>, @NonNull java.security.PrivateKey); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthEap(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthPsk(@NonNull byte[]); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDpdDelaySeconds(@IntRange(from=0x14, to=0x708) int); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x15180) int, @IntRange(from=0x78, to=0x15180) int); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLocalIdentification(@NonNull android.net.ipsec.ike.IkeIdentification); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNetwork(@NonNull android.net.Network); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRemoteIdentification(@NonNull android.net.ipsec.ike.IkeIdentification); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRetransmissionTimeoutsMillis(@NonNull int[]); - method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setServerHostname(@NonNull String); + method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int); + method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension); } public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest { @@ -208,150 +84,69 @@ package android.net.ipsec.ike { method @Nullable public java.net.Inet6Address getAddress(); } - public abstract static class IkeSessionParams.IkeAuthConfig { - } - - public static class IkeSessionParams.IkeAuthDigitalSignLocalConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { - method @NonNull public java.security.cert.X509Certificate getClientEndCertificate(); - method @NonNull public java.util.List<java.security.cert.X509Certificate> getIntermediateCertificates(); - method @NonNull public java.security.PrivateKey getPrivateKey(); - } - - public static class IkeSessionParams.IkeAuthDigitalSignRemoteConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { - method @Nullable public java.security.cert.X509Certificate getRemoteCaCert(); - } - - public static class IkeSessionParams.IkeAuthEapConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { - method @NonNull public android.net.eap.EapSessionConfig getEapConfig(); - } - - public static class IkeSessionParams.IkeAuthPskConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig { - method @NonNull public byte[] getPsk(); - } - public static interface IkeSessionParams.IkeConfigRequest { } - public final class IkeTrafficSelector { - ctor public IkeTrafficSelector(int, int, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress); - field public final int endPort; - field @NonNull public final java.net.InetAddress endingAddress; - field public final int startPort; - field @NonNull public final java.net.InetAddress startingAddress; - } - - public abstract class SaProposal { - method @NonNull public java.util.List<java.lang.Integer> getDhGroups(); - method @NonNull public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getEncryptionAlgorithms(); - method @NonNull public java.util.List<java.lang.Integer> getIntegrityAlgorithms(); - field public static final int DH_GROUP_1024_BIT_MODP = 2; // 0x2 - field public static final int DH_GROUP_2048_BIT_MODP = 14; // 0xe - field public static final int DH_GROUP_NONE = 0; // 0x0 - field public static final int ENCRYPTION_ALGORITHM_3DES = 3; // 0x3 - field public static final int ENCRYPTION_ALGORITHM_AES_CBC = 12; // 0xc - field public static final int ENCRYPTION_ALGORITHM_AES_GCM_12 = 19; // 0x13 - field public static final int ENCRYPTION_ALGORITHM_AES_GCM_16 = 20; // 0x14 - field public static final int ENCRYPTION_ALGORITHM_AES_GCM_8 = 18; // 0x12 - field public static final int INTEGRITY_ALGORITHM_AES_XCBC_96 = 5; // 0x5 - field public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96 = 2; // 0x2 - field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128 = 12; // 0xc - field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192 = 13; // 0xd - field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256 = 14; // 0xe - field public static final int INTEGRITY_ALGORITHM_NONE = 0; // 0x0 - field public static final int KEY_LEN_AES_128 = 128; // 0x80 - field public static final int KEY_LEN_AES_192 = 192; // 0xc0 - field public static final int KEY_LEN_AES_256 = 256; // 0x100 - field public static final int KEY_LEN_UNUSED = 0; // 0x0 - field public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC = 4; // 0x4 - field public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1 = 2; // 0x2 - field public static final int PSEUDORANDOM_FUNCTION_SHA2_256 = 5; // 0x5 - field public static final int PSEUDORANDOM_FUNCTION_SHA2_384 = 6; // 0x6 - field public static final int PSEUDORANDOM_FUNCTION_SHA2_512 = 7; // 0x7 - } - - public final class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams { - } - public static final class TransportModeChildSessionParams.Builder { - ctor public TransportModeChildSessionParams.Builder(); - method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); - method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); - method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); - method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams build(); - method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int); - } - - public final class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams { - method @NonNull public java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest> getConfigurationRequests(); + method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); } public static final class TunnelModeChildSessionParams.Builder { - ctor public TunnelModeChildSessionParams.Builder(); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(int); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet4Address); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet6Address, int); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest(int); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDnsServerRequest(int); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams build(); - method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int); + method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); } - public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { - method @Nullable public java.net.Inet4Address getAddress(); - } +} - public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { - } +package android.net.ipsec.ike.exceptions { - public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException { + method @Nullable public byte[] getErrorData(); } - public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Netmask extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { - } +} - public static interface TunnelModeChildSessionParams.ConfigRequestIpv6Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { - method @Nullable public java.net.Inet6Address getAddress(); - method public int getPrefixLength(); - } +package android.net.ipsec.ike.ike3gpp { - public static interface TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData { + ctor public Ike3gppBackoffTimer(byte, int); + method public int getBackoffCause(); + method public byte getBackoffTimer(); + method public int getDataType(); + field public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904 + field public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a } - public static interface TunnelModeChildSessionParams.TunnelModeChildConfigRequest { + public abstract class Ike3gppData { + method public abstract int getDataType(); + field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2 + field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1 } -} + public final class Ike3gppExtension { + ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener(); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams(); + } -package android.net.ipsec.ike.exceptions { + public static interface Ike3gppExtension.Ike3gppDataListener { + method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>); + } - public abstract class IkeException extends java.lang.Exception { + public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData { + ctor public Ike3gppN1ModeInformation(@NonNull byte[]); + method public int getDataType(); + method @NonNull public byte[] getSnssai(); } - public final class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeException { + public final class Ike3gppParams { + method public byte getPduSessionId(); + field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0 } - public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException { - method @Nullable public byte[] getErrorData(); - method public int getErrorType(); - field public static final int ERROR_TYPE_AUTHENTICATION_FAILED = 24; // 0x18 - field public static final int ERROR_TYPE_CHILD_SA_NOT_FOUND = 44; // 0x2c - field public static final int ERROR_TYPE_FAILED_CP_REQUIRED = 37; // 0x25 - field public static final int ERROR_TYPE_INTERNAL_ADDRESS_FAILURE = 36; // 0x24 - field public static final int ERROR_TYPE_INVALID_IKE_SPI = 4; // 0x4 - field public static final int ERROR_TYPE_INVALID_KE_PAYLOAD = 17; // 0x11 - field public static final int ERROR_TYPE_INVALID_MAJOR_VERSION = 5; // 0x5 - field public static final int ERROR_TYPE_INVALID_MESSAGE_ID = 9; // 0x9 - field public static final int ERROR_TYPE_INVALID_SELECTORS = 39; // 0x27 - field public static final int ERROR_TYPE_INVALID_SYNTAX = 7; // 0x7 - field public static final int ERROR_TYPE_NO_ADDITIONAL_SAS = 35; // 0x23 - field public static final int ERROR_TYPE_NO_PROPOSAL_CHOSEN = 14; // 0xe - field public static final int ERROR_TYPE_SINGLE_PAIR_REQUIRED = 34; // 0x22 - field public static final int ERROR_TYPE_TEMPORARY_FAILURE = 43; // 0x2b - field public static final int ERROR_TYPE_TS_UNACCEPTABLE = 38; // 0x26 - field public static final int ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD = 1; // 0x1 + public static final class Ike3gppParams.Builder { + ctor public Ike3gppParams.Builder(); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build(); + method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte); } } |