diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2021-06-15 01:09:26 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2021-06-15 01:09:26 +0000 |
commit | ce4096db0b1df044236e76d8592aec5aeba385b5 (patch) | |
tree | 7428e49cf0a1ce89ebb23ee3593e35d29f844ef5 | |
parent | bbe27cf7bfdee38a5e2f5ded40c64cae17c6dac9 (diff) | |
parent | 56c58c1be24685043c77cf6b8b6b426b06ee08ac (diff) | |
download | IPsec-ce4096db0b1df044236e76d8592aec5aeba385b5.tar.gz |
Snap for 7455929 from 56c58c1be24685043c77cf6b8b6b426b06ee08ac to sc-d2-release
Change-Id: I19ad1f8630627c69628e228c7749f628ccd81cc3
-rw-r--r-- | 1/Android.bp.disabled | 65 | ||||
-rw-r--r-- | 1/licenses/build/soong/licenses/LICENSE | 214 | ||||
-rw-r--r-- | 1/sdk_library/module-lib/android.net.ipsec.ike-removed.txt | 1 | ||||
-rw-r--r-- | 1/sdk_library/module-lib/android.net.ipsec.ike-stubs.jar | bin | 0 -> 50130 bytes | |||
-rw-r--r-- | 1/sdk_library/module-lib/android.net.ipsec.ike.srcjar | bin | 0 -> 33328 bytes | |||
-rw-r--r-- | 1/sdk_library/module-lib/android.net.ipsec.ike.txt | 1 | ||||
-rw-r--r-- | 1/sdk_library/public/android.net.ipsec.ike-removed.txt | 1 | ||||
-rw-r--r-- | 1/sdk_library/public/android.net.ipsec.ike-stubs.jar | bin | 0 -> 41721 bytes | |||
-rw-r--r-- | 1/sdk_library/public/android.net.ipsec.ike.srcjar | bin | 0 -> 46248 bytes | |||
-rw-r--r-- | 1/sdk_library/public/android.net.ipsec.ike.txt | 420 | ||||
-rw-r--r-- | 1/sdk_library/system/android.net.ipsec.ike-removed.txt | 1 | ||||
-rw-r--r-- | 1/sdk_library/system/android.net.ipsec.ike-stubs.jar | bin | 0 -> 50130 bytes | |||
-rw-r--r-- | 1/sdk_library/system/android.net.ipsec.ike.srcjar | bin | 0 -> 33328 bytes | |||
-rw-r--r-- | 1/sdk_library/system/android.net.ipsec.ike.txt | 153 |
14 files changed, 856 insertions, 0 deletions
diff --git a/1/Android.bp.disabled b/1/Android.bp.disabled new file mode 100644 index 0000000..9a04723 --- /dev/null +++ b/1/Android.bp.disabled @@ -0,0 +1,65 @@ +// 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@1", + sdk_member_name: "com.android.ipsec-bootclasspath-fragment", + visibility: ["//visibility:public"], + apex_available: ["com.android.ipsec"], + licenses: ["ipsec-module-sdk_Android-Apache-2.0@1"], + contents: ["ipsec-module-sdk_android.net.ipsec.ike@1"], +} + +java_sdk_library_import { + name: "ipsec-module-sdk_android.net.ipsec.ike@1", + 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@1"], + 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", + }, +} + +license { + name: "ipsec-module-sdk_Android-Apache-2.0@1", + 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"], +} + +sdk_snapshot { + name: "ipsec-module-sdk@1", + visibility: ["//visibility:public"], + bootclasspath_fragments: ["ipsec-module-sdk_com.android.ipsec-bootclasspath-fragment@1"], + java_sdk_libs: ["ipsec-module-sdk_android.net.ipsec.ike@1"], +} diff --git a/1/licenses/build/soong/licenses/LICENSE b/1/licenses/build/soong/licenses/LICENSE new file mode 100644 index 0000000..dae0406 --- /dev/null +++ b/1/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/1/sdk_library/module-lib/android.net.ipsec.ike-removed.txt b/1/sdk_library/module-lib/android.net.ipsec.ike-removed.txt new file mode 100644 index 0000000..d802177 --- /dev/null +++ b/1/sdk_library/module-lib/android.net.ipsec.ike-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/1/sdk_library/module-lib/android.net.ipsec.ike-stubs.jar b/1/sdk_library/module-lib/android.net.ipsec.ike-stubs.jar Binary files differnew file mode 100644 index 0000000..378bd74 --- /dev/null +++ b/1/sdk_library/module-lib/android.net.ipsec.ike-stubs.jar diff --git a/1/sdk_library/module-lib/android.net.ipsec.ike.srcjar b/1/sdk_library/module-lib/android.net.ipsec.ike.srcjar Binary files differnew file mode 100644 index 0000000..b6bfb15 --- /dev/null +++ b/1/sdk_library/module-lib/android.net.ipsec.ike.srcjar diff --git a/1/sdk_library/module-lib/android.net.ipsec.ike.txt b/1/sdk_library/module-lib/android.net.ipsec.ike.txt new file mode 100644 index 0000000..d802177 --- /dev/null +++ b/1/sdk_library/module-lib/android.net.ipsec.ike.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/1/sdk_library/public/android.net.ipsec.ike-removed.txt b/1/sdk_library/public/android.net.ipsec.ike-removed.txt new file mode 100644 index 0000000..d802177 --- /dev/null +++ b/1/sdk_library/public/android.net.ipsec.ike-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/1/sdk_library/public/android.net.ipsec.ike-stubs.jar b/1/sdk_library/public/android.net.ipsec.ike-stubs.jar Binary files differnew file mode 100644 index 0000000..75df459 --- /dev/null +++ b/1/sdk_library/public/android.net.ipsec.ike-stubs.jar diff --git a/1/sdk_library/public/android.net.ipsec.ike.srcjar b/1/sdk_library/public/android.net.ipsec.ike.srcjar Binary files differnew file mode 100644 index 0000000..045663e --- /dev/null +++ b/1/sdk_library/public/android.net.ipsec.ike.srcjar diff --git a/1/sdk_library/public/android.net.ipsec.ike.txt b/1/sdk_library/public/android.net.ipsec.ike.txt new file mode 100644 index 0000000..fb5b1f9 --- /dev/null +++ b/1/sdk_library/public/android.net.ipsec.ike.txt @@ -0,0 +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/1/sdk_library/system/android.net.ipsec.ike-removed.txt b/1/sdk_library/system/android.net.ipsec.ike-removed.txt new file mode 100644 index 0000000..d802177 --- /dev/null +++ b/1/sdk_library/system/android.net.ipsec.ike-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/1/sdk_library/system/android.net.ipsec.ike-stubs.jar b/1/sdk_library/system/android.net.ipsec.ike-stubs.jar Binary files differnew file mode 100644 index 0000000..378bd74 --- /dev/null +++ b/1/sdk_library/system/android.net.ipsec.ike-stubs.jar diff --git a/1/sdk_library/system/android.net.ipsec.ike.srcjar b/1/sdk_library/system/android.net.ipsec.ike.srcjar Binary files differnew file mode 100644 index 0000000..b6bfb15 --- /dev/null +++ b/1/sdk_library/system/android.net.ipsec.ike.srcjar diff --git a/1/sdk_library/system/android.net.ipsec.ike.txt b/1/sdk_library/system/android.net.ipsec.ike.txt new file mode 100644 index 0000000..d2ffd43 --- /dev/null +++ b/1/sdk_library/system/android.net.ipsec.ike.txt @@ -0,0 +1,153 @@ +// Signature format: 2.0 +package android.net.eap { + + public final class EapSessionConfig { + method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig(); + } + + @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 interface ChildSessionCallback { + 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.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(); + } + + 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 abstract class ChildSessionParams { + method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals(); + } + + public final class IkeSession implements java.lang.AutoCloseable { + method public void setNetwork(@NonNull android.net.Network); + } + + public interface IkeSessionCallback { + 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 java.util.List<java.net.InetAddress> getPcscfServers(); + } + + 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=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 @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 @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 { + method @Nullable public java.net.Inet4Address getAddress(); + } + + public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest { + method @Nullable public java.net.Inet6Address getAddress(); + } + + public static interface IkeSessionParams.IkeConfigRequest { + } + + public static final class TransportModeChildSessionParams.Builder { + method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + } + + public static final class TunnelModeChildSessionParams.Builder { + method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal); + } + +} + +package android.net.ipsec.ike.exceptions { + + public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException { + method @Nullable public byte[] getErrorData(); + } + +} + +package android.net.ipsec.ike.ike3gpp { + + 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 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(); + } + + public static interface Ike3gppExtension.Ike3gppDataListener { + method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>); + } + + 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 Ike3gppParams { + method public byte getPduSessionId(); + field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0 + } + + 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); + } + +} + |