blob: 1aee26bdde7b10747aff6d381a4591ff61d7cfb3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
/*
* Copyright (C) 2019 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.
* 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.
*/
package android.net;
import android.net.ResolverOptionsParcel;
import android.net.resolv.aidl.DohParamsParcel;
/**
* Configuration for a resolver parameters.
*
* {@hide}
*/
@JavaDerive(equals=true, toString=true)
parcelable ResolverParamsParcel {
/**
* The network ID of the network for which information should be configured.
*/
int netId;
/**
* Sample lifetime in seconds.
*/
int sampleValiditySeconds;
/**
* Use to judge if the server is considered broken.
*/
int successThreshold;
/**
* Min. # samples.
*/
int minSamples;
/**
* Max # samples.
*/
int maxSamples;
/**
* Retransmission interval in milliseconds.
*/
int baseTimeoutMsec;
/**
* Number of retries.
*/
int retryCount;
/**
* The DNS servers to configure for the network.
*/
@utf8InCpp String[] servers;
/**
* The search domains to configure.
*/
@utf8InCpp String[] domains;
/**
* The TLS subject name to require for all servers, or empty if there is none.
*/
@utf8InCpp String tlsName;
/**
* The DNS servers to configure for strict mode Private DNS.
*/
@utf8InCpp String[] tlsServers;
/**
* An array containing TLS public key fingerprints (pins) of which each server must match
* at least one, or empty if there are no pinned keys.
*/
// DEPRECATED:Superseded by caCertificate below.
@utf8InCpp String[] tlsFingerprints = {};
/**
* Certificate authority that signed the certificate; only used by DNS-over-TLS tests.
*
*/
@utf8InCpp String caCertificate = "";
/**
* The timeout for the connection attempt to a Private DNS server.
* It's initialized to 0 to use the predefined default value.
* Setting a non-zero value to it takes no effect anymore. The timeout is configurable only
* by the experiement flag.
*/
int tlsConnectTimeoutMs = 0;
/**
* Knobs for OEM to control alternative behavior.
*/
@nullable
ResolverOptionsParcel resolverOptions;
/**
* The transport types associated to a given network.
* The valid value is defined in one of the IDnsResolver.TRANSPORT_* constants.
* If there are multiple transport types but can't be identified to a
* reasonable network type by DnsResolver, it would be considered as unknown.
*/
int[] transportTypes = {};
/**
* Whether the network is metered or not.
*/
boolean meteredNetwork = false;
/**
* Information about DNS-over-HTTPS servers to use
*/
@nullable
DohParamsParcel dohParams;
}
|