Offset 1, 2 lines modified | Offset 1, 2 lines modified | ||
00000000:·0a11·636f·6d2e·616e·6472·6f69·642e·6970··..com.android.ip | 00000000:·0a11·636f·6d2e·616e·6472·6f69·642e·6970··..com.android.ip | ||
00000010:·7365·6310· | 00000010:·7365·6310·9c9f·cb98·01···················sec...... |
Offset 1, 4 lines modified | Offset 1, 4 lines modified | ||
1 | Zip·file·size:·62 | 1 | Zip·file·size:·623325·bytes,·number·of·entries:·2 |
2 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF | 2 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF |
3 | -rw-r--r--··2.0·unx···62 | 3 | -rw-r--r--··2.0·unx···623040·b-·stor·08-Jan-01·00:00·classes.dex |
4 | 2·files,·62 | 4 | 2·files,·623085·bytes·uncompressed,·623087·bytes·compressed:··0.0% |
Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
1 | Zip·file·size:·11 | 1 | Zip·file·size:·1179171·bytes,·number·of·entries:·577 |
2 | ?rwxrwxr-x··2.0·unx·······86·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$1.class | 2 | ?rwxrwxr-x··2.0·unx·······86·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$1.class |
3 | ?rwxrwxr-x··2.0·unx·····2693·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$Builder.class | 3 | ?rwxrwxr-x··2.0·unx·····2693·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$Builder.class |
4 | ?rwxrwxr-x··2.0·unx······149·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$EapMethodConfig$EapMethod.class | 4 | ?rwxrwxr-x··2.0·unx······149·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$EapMethodConfig$EapMethod.class |
5 | ?rwxrwxr-x··2.0·unx·····2637·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$EapMethodConfig.class | 5 | ?rwxrwxr-x··2.0·unx·····2637·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$EapMethodConfig.class |
6 | ?rwxrwxr-x··2.0·unx·····5061·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig.class | 6 | ?rwxrwxr-x··2.0·unx·····5061·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig.class |
7 | ?rwxrwxr-x··2.0·unx······675·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSaProposal$$ExternalSyntheticLambda1.class | 7 | ?rwxrwxr-x··2.0·unx······675·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSaProposal$$ExternalSyntheticLambda1.class |
8 | ?rwxrwxr-x··2.0·unx······592·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionCallback.class | 8 | ?rwxrwxr-x··2.0·unx······592·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionCallback.class |
Offset 33, 15 lines modified | Offset 33, 15 lines modified | ||
33 | ?rwxrwxr-x··2.0·unx····13589·b-·defN·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams.class | 33 | ?rwxrwxr-x··2.0·unx····13589·b-·defN·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams.class |
34 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$IpProtocolId.class | 34 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$IpProtocolId.class |
35 | ?rwxrwxr-x··2.0·unx······151·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$TrafficSelectorType.class | 35 | ?rwxrwxr-x··2.0·unx······151·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$TrafficSelectorType.class |
36 | ?rwxrwxr-x··2.0·unx·····7262·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector.class | 36 | ?rwxrwxr-x··2.0·unx·····7262·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector.class |
37 | ?rwxrwxr-x··2.0·unx·····1142·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTunnelConnectionParams.class | 37 | ?rwxrwxr-x··2.0·unx·····1142·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTunnelConnectionParams.class |
38 | ?rwxrwxr-x··2.0·unx······558·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$$ExternalSyntheticLambda1.class | 38 | ?rwxrwxr-x··2.0·unx······558·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$$ExternalSyntheticLambda1.class |
39 | ?rwxrwxr-x··2.0·unx······558·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$$ExternalSyntheticLambda2.class | 39 | ?rwxrwxr-x··2.0·unx······558·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$$ExternalSyntheticLambda2.class |
40 | ?rwxrwxr-x··2.0·unx·····2 | 40 | ?rwxrwxr-x··2.0·unx·····2647·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$Builder.class |
41 | ?rwxrwxr-x··2.0·unx······131·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$DhGroup.class | 41 | ?rwxrwxr-x··2.0·unx······131·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$DhGroup.class |
42 | ?rwxrwxr-x··2.0·unx······143·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$EncryptionAlgorithm.class | 42 | ?rwxrwxr-x··2.0·unx······143·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$EncryptionAlgorithm.class |
43 | ?rwxrwxr-x··2.0·unx······142·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$IntegrityAlgorithm.class | 43 | ?rwxrwxr-x··2.0·unx······142·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$IntegrityAlgorithm.class |
44 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$PseudorandomFunction.class | 44 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal$PseudorandomFunction.class |
45 | ?rwxrwxr-x··2.0·unx····10920·b-·defN·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal.class | 45 | ?rwxrwxr-x··2.0·unx····10920·b-·defN·80-Jan-01·00:00·android/net/ipsec/ike/SaProposal.class |
46 | ?rwxrwxr-x··2.0·unx······107·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/TransportModeChildSessionParams$1.class | 46 | ?rwxrwxr-x··2.0·unx······107·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/TransportModeChildSessionParams$1.class |
47 | ?rwxrwxr-x··2.0·unx······104·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/TunnelModeChildSessionParams$1.class | 47 | ?rwxrwxr-x··2.0·unx······104·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/TunnelModeChildSessionParams$1.class |
Offset 147, 16 lines modified | Offset 147, 16 lines modified | ||
147 | ?rwxrwxr-x··2.0·unx······931·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$MobikeRekeyChildLocalCreate$$ExternalSyntheticLambda0.class | 147 | ?rwxrwxr-x··2.0·unx······931·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$MobikeRekeyChildLocalCreate$$ExternalSyntheticLambda0.class |
148 | ?rwxrwxr-x··2.0·unx·····1119·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$OnIpSecSaPairCreatedRunnable.class | 148 | ?rwxrwxr-x··2.0·unx·····1119·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$OnIpSecSaPairCreatedRunnable.class |
149 | ?rwxrwxr-x··2.0·unx·····1119·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$OnIpSecSaPairDeletedRunnable.class | 149 | ?rwxrwxr-x··2.0·unx·····1119·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$OnIpSecSaPairDeletedRunnable.class |
150 | ?rwxrwxr-x··2.0·unx······357·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedRequest.class | 150 | ?rwxrwxr-x··2.0·unx······357·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedRequest.class |
151 | ?rwxrwxr-x··2.0·unx······317·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedResponse.class | 151 | ?rwxrwxr-x··2.0·unx······317·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedResponse.class |
152 | ?rwxrwxr-x··2.0·unx······807·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate$$ExternalSyntheticLambda0.class | 152 | ?rwxrwxr-x··2.0·unx······807·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate$$ExternalSyntheticLambda0.class |
153 | ?rwxrwxr-x··2.0·unx······794·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteDelete$$ExternalSyntheticLambda0.class | 153 | ?rwxrwxr-x··2.0·unx······794·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteDelete$$ExternalSyntheticLambda0.class |
154 | ?rwxrwxr-x··2.0·unx······6 | 154 | ?rwxrwxr-x··2.0·unx······643·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper.class |
155 | ?rwxrwxr-x··2.0·unx·····12 | 155 | ?rwxrwxr-x··2.0·unx·····1285·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory.class |
156 | ?rwxrwxr-x··2.0·unx·····3409·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeDhParams.class | 156 | ?rwxrwxr-x··2.0·unx·····3409·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeDhParams.class |
157 | ?rwxrwxr-x··2.0·unx······729·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory.class | 157 | ?rwxrwxr-x··2.0·unx······729·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory.class |
158 | ?rwxrwxr-x··2.0·unx······113·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$1.class | 158 | ?rwxrwxr-x··2.0·unx······113·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$1.class |
159 | ?rwxrwxr-x··2.0·unx······240·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$IProcedureConsumer.class | 159 | ?rwxrwxr-x··2.0·unx······240·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$IProcedureConsumer.class |
160 | ?rwxrwxr-x··2.0·unx·····1902·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest.class | 160 | ?rwxrwxr-x··2.0·unx·····1902·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest.class |
161 | ?rwxrwxr-x··2.0·unx·····1063·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestComparator.class | 161 | ?rwxrwxr-x··2.0·unx·····1063·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestComparator.class |
162 | ?rwxrwxr-x··2.0·unx·····2041·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory.class | 162 | ?rwxrwxr-x··2.0·unx·····2041·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory.class |
Offset 184, 29 lines modified | Offset 184, 29 lines modified | ||
184 | ?rwxrwxr-x··2.0·unx·····5222·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSocket.class | 184 | ?rwxrwxr-x··2.0·unx·····5222·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSocket.class |
185 | ?rwxrwxr-x··2.0·unx······781·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSocketConfig.class | 185 | ?rwxrwxr-x··2.0·unx······781·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSocketConfig.class |
186 | ?rwxrwxr-x··2.0·unx·····1823·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler.class | 186 | ?rwxrwxr-x··2.0·unx·····1823·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler.class |
187 | ?rwxrwxr-x··2.0·unx·····1636·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ChildSaRecordConfig.class | 187 | ?rwxrwxr-x··2.0·unx·····1636·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ChildSaRecordConfig.class |
188 | ?rwxrwxr-x··2.0·unx······441·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IIpSecTransformHelper.class | 188 | ?rwxrwxr-x··2.0·unx······441·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IIpSecTransformHelper.class |
189 | ?rwxrwxr-x··2.0·unx······944·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ISaRecordHelper.class | 189 | ?rwxrwxr-x··2.0·unx······944·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ISaRecordHelper.class |
190 | ?rwxrwxr-x··2.0·unx······927·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IkeSaRecordConfig.class | 190 | ?rwxrwxr-x··2.0·unx······927·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IkeSaRecordConfig.class |
191 | ?rwxrwxr-x··2.0·unx·····17 | 191 | ?rwxrwxr-x··2.0·unx·····1743·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler.class |
192 | ?rwxrwxr-x··2.0·unx·····3041·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord.class | 192 | ?rwxrwxr-x··2.0·unx·····3041·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord.class |
193 | ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/annotations/PolicyDirection.class | 193 | ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/annotations/PolicyDirection.class |
194 | ?rwxrwxr-x··2.0·unx·····2962·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/crypto/AesXCbcImpl.class | 194 | ?rwxrwxr-x··2.0·unx·····2962·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/crypto/AesXCbcImpl.class |
195 | ?rwxrwxr-x··2.0·unx······591·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/crypto/IkeCrypto.class | 195 | ?rwxrwxr-x··2.0·unx······591·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/crypto/IkeCrypto.class |
196 | ?rwxrwxr-x··2.0·unx······685·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppBackoffTimerUtils.class | 196 | ?rwxrwxr-x··2.0·unx······685·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppBackoffTimerUtils.class |
197 | ?rwxrwxr-x··2.0·unx······662·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExchangeBase$$ExternalSyntheticLambda0.class | 197 | ?rwxrwxr-x··2.0·unx······662·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExchangeBase$$ExternalSyntheticLambda0.class |
198 | ?rwxrwxr-x··2.0·unx·····1962·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExchangeBase.class | 198 | ?rwxrwxr-x··2.0·unx·····1962·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExchangeBase.class |
199 | ?rwxrwxr-x··2.0·unx·····3635·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange.class | 199 | ?rwxrwxr-x··2.0·unx·····3635·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange.class |
200 | ?rwxrwxr-x··2.0·unx·····1088·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppN1ModeUtils.class | 200 | ?rwxrwxr-x··2.0·unx·····1088·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppN1ModeUtils.class |
201 | ?rwxrwxr-x··2.0·unx······120·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$1.class | ||
201 | ?rwxrwxr-x··2.0·unx······208·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$HardwareKeepaliveCallback.class | 202 | ?rwxrwxr-x··2.0·unx······208·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$HardwareKeepaliveCallback.class |
202 | ?rwxrwxr-x··2.0·unx·····146 | 203 | ?rwxrwxr-x··2.0·unx·····1646·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$MySocketKeepaliveCb.class |
203 | ?rwxrwxr-x··2.0·unx······750·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive$Dependencies.class | ||
204 | ?rwxrwxr-x··2.0·unx······187·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive$NattKeepalive.class | 204 | ?rwxrwxr-x··2.0·unx······187·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive$NattKeepalive.class |
205 | ?rwxrwxr-x··2.0·unx····· | 205 | ?rwxrwxr-x··2.0·unx·····2252·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive.class |
206 | ?rwxrwxr-x··2.0·unx······173·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayload$SignatureAlgo.class | 206 | ?rwxrwxr-x··2.0·unx······173·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayload$SignatureAlgo.class |
207 | ?rwxrwxr-x··2.0·unx······159·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthPayload$AuthMethod.class | 207 | ?rwxrwxr-x··2.0·unx······159·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthPayload$AuthMethod.class |
208 | ?rwxrwxr-x··2.0·unx······168·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeCertPayload$CertificateEncoding.class | 208 | ?rwxrwxr-x··2.0·unx······168·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeCertPayload$CertificateEncoding.class |
209 | ?rwxrwxr-x··2.0·unx······161·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeConfigPayload$ConfigAttr.class | 209 | ?rwxrwxr-x··2.0·unx······161·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeConfigPayload$ConfigAttr.class |
210 | ?rwxrwxr-x··2.0·unx·····5579·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeConfigPayload$ConfigAttribute.class | 210 | ?rwxrwxr-x··2.0·unx·····5579·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeConfigPayload$ConfigAttribute.class |
211 | ?rwxrwxr-x··2.0·unx······161·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeConfigPayload$ConfigType.class | 211 | ?rwxrwxr-x··2.0·unx······161·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeConfigPayload$ConfigType.class |
212 | ?rwxrwxr-x··2.0·unx·····4707·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBody.class | 212 | ?rwxrwxr-x··2.0·unx·····4707·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeEncryptedPayloadBody.class |
Offset 236, 32 lines modified | Offset 236, 27 lines modified | ||
236 | ?rwxrwxr-x··2.0·unx······212·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/net/IkeNetworkUpdater.class | 236 | ?rwxrwxr-x··2.0·unx······212·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/net/IkeNetworkUpdater.class |
237 | ?rwxrwxr-x··2.0·unx······618·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader$$ExternalSyntheticLambda0.class | 237 | ?rwxrwxr-x··2.0·unx······618·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader$$ExternalSyntheticLambda0.class |
238 | ?rwxrwxr-x··2.0·unx······517·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader$$ExternalSyntheticLambda1.class | 238 | ?rwxrwxr-x··2.0·unx······517·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader$$ExternalSyntheticLambda1.class |
239 | ?rwxrwxr-x··2.0·unx······516·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader$$ExternalSyntheticLambda2.class | 239 | ?rwxrwxr-x··2.0·unx······516·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader$$ExternalSyntheticLambda2.class |
240 | ?rwxrwxr-x··2.0·unx·····3729·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader.class | 240 | ?rwxrwxr-x··2.0·unx·····3729·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/FdEventsReader.class |
241 | ?rwxrwxr-x··2.0·unx·····2667·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/HexDump.class | 241 | ?rwxrwxr-x··2.0·unx·····2667·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/HexDump.class |
242 | ?rwxrwxr-x··2.0·unx······314·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IState.class | 242 | ?rwxrwxr-x··2.0·unx······314·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IState.class |
243 | ?rwxrwxr-x··2.0·unx······103·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeAlarm$1.class | ||
244 | ?rwxrwxr-x··2.0·unx·····1028·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeAlarm$Dependencies.class | ||
245 | ?rwxrwxr-x··2.0·unx······551·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig.class | ||
246 | ?rwxrwxr-x··2.0·unx·····2009·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeAlarm.class | ||
247 | ?rwxrwxr-x··2.0·unx·····2724·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeAlarmReceiver.class | 243 | ?rwxrwxr-x··2.0·unx·····2724·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeAlarmReceiver.class |
248 | ?rwxrwxr-x··2.0·unx·····1712·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeCertUtils.class | 244 | ?rwxrwxr-x··2.0·unx·····1712·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeCertUtils.class |
249 | ?rwxrwxr-x··2.0·unx·····1707·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex.class | 245 | ?rwxrwxr-x··2.0·unx·····1707·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex.class |
250 | ?rwxrwxr-x··2.0·unx·····1685·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeSpiGenerator.class | 246 | ?rwxrwxr-x··2.0·unx·····1685·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IkeSpiGenerator.class |
251 | ?rwxrwxr-x··2.0·unx·····1024·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator.class | 247 | ?rwxrwxr-x··2.0·unx·····1024·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator.class |
252 | ?rwxrwxr-x··2.0·unx·····1 | 248 | ?rwxrwxr-x··2.0·unx·····1144·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/Retransmitter.class |
253 | ?rwxrwxr-x··2.0·unx······107·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$1.class | 249 | ?rwxrwxr-x··2.0·unx······107·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$1.class |
254 | ?rwxrwxr-x··2.0·unx·····2546·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$LogRec.class | 250 | ?rwxrwxr-x··2.0·unx·····2546·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$LogRec.class |
255 | ?rwxrwxr-x··2.0·unx·····2330·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$LogRecords.class | 251 | ?rwxrwxr-x··2.0·unx·····2330·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$LogRecords.class |
256 | ?rwxrwxr-x··2.0·unx······838·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler$$ExternalSyntheticLambda0.class | 252 | ?rwxrwxr-x··2.0·unx······838·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler$$ExternalSyntheticLambda0.class |
257 | ?rwxrwxr-x··2.0·unx·····1173·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler$StateInfo.class | 253 | ?rwxrwxr-x··2.0·unx·····1173·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler$StateInfo.class |
258 | ?rwxrwxr-x··2.0·unx····14626·b-·defN·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler.class | 254 | ?rwxrwxr-x··2.0·unx····14626·b-·defN·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler.class |
259 | ?rwxrwxr-x··2.0·unx····11980·b-·defN·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine.class | 255 | ?rwxrwxr-x··2.0·unx····11980·b-·defN·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine.class |
260 | ?rwxrwxr-x··2.0·unx·····2383·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/WakeupMessage.class | ||
261 | ?rwxrwxr-x··2.0·unx······278·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/crypto/Digest.class | 256 | ?rwxrwxr-x··2.0·unx······278·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/crypto/Digest.class |
262 | ?rwxrwxr-x··2.0·unx······157·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/crypto/digests/EncodableDigest.class | 257 | ?rwxrwxr-x··2.0·unx······157·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/crypto/digests/EncodableDigest.class |
263 | ?rwxrwxr-x··2.0·unx······263·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Memoable.class | 258 | ?rwxrwxr-x··2.0·unx······263·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Memoable.class |
264 | ?rwxrwxr-x··2.0·unx·····3226·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Pack.class | 259 | ?rwxrwxr-x··2.0·unx·····3226·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Pack.class |
265 | ?rwxrwxr-x··2.0·unx······776·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/BigIntegerUtils.class | 260 | ?rwxrwxr-x··2.0·unx······776·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/BigIntegerUtils.class |
266 | ?rwxrwxr-x··2.0·unx·····2886·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/Log.class | 261 | ?rwxrwxr-x··2.0·unx·····2886·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/Log.class |
267 | ?rwxrwxr-x··2.0·unx······378·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/SimpleStateMachine$SimpleState.class | 262 | ?rwxrwxr-x··2.0·unx······378·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/SimpleStateMachine$SimpleState.class |
Offset 357, 38 lines modified | Offset 352, 38 lines modified | ||
357 | ?rwxrwxr-x··2.0·unx·····1496·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData$EapSimTypeDataDecoder.class | 352 | ?rwxrwxr-x··2.0·unx·····1496·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData$EapSimTypeDataDecoder.class |
358 | ?rwxrwxr-x··2.0·unx·····2935·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData.class | 353 | ?rwxrwxr-x··2.0·unx·····2935·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData.class |
359 | ?rwxrwxr-x··2.0·unx·····1033·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/ttls/EapTtlsTypeData$EapTtlsAcknowledgement.class | 354 | ?rwxrwxr-x··2.0·unx·····1033·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/ttls/EapTtlsTypeData$EapTtlsAcknowledgement.class |
360 | ?rwxrwxr-x··2.0·unx·····2469·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapMethodStateMachine$EapMethodState.class | 355 | ?rwxrwxr-x··2.0·unx·····2469·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapMethodStateMachine$EapMethodState.class |
361 | ?rwxrwxr-x··2.0·unx·····1524·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapMethodStateMachine.class | 356 | ?rwxrwxr-x··2.0·unx·····1524·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapMethodStateMachine.class |
362 | ?rwxrwxr-x··2.0·unx·····4551·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapStateMachine$EapState.class | 357 | ?rwxrwxr-x··2.0·unx·····4551·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapStateMachine$EapState.class |
363 | ?rwxrwxr-x··2.0·unx·····3724·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapStateMachine.class | 358 | ?rwxrwxr-x··2.0·unx·····3724·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapStateMachine.class |
364 | ?rwxrwxr-x··2.0·unx····· | 359 | ?rwxrwxr-x··2.0·unx·····2924·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/AbstractSessionStateMachine.class |
365 | ?rwxrwxr-x··2.0·unx······343·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedCreateResponse.class | 360 | ?rwxrwxr-x··2.0·unx······343·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedCreateResponse.class |
366 | ?rwxrwxr-x··2.0·unx·····15 | 361 | ?rwxrwxr-x··2.0·unx·····1542·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$ChildSessionFactoryHelper.class |
367 | ?rwxrwxr-x··2.0·unx·····1258·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest.class | 362 | ?rwxrwxr-x··2.0·unx·····1258·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest.class |
368 | ?rwxrwxr-x··2.0·unx······900·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$IkeLocalRequest.class | 363 | ?rwxrwxr-x··2.0·unx······900·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$IkeLocalRequest.class |
369 | ?rwxrwxr-x··2.0·unx······688·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0.class | 364 | ?rwxrwxr-x··2.0·unx······688·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0.class |
370 | ?rwxrwxr-x··2.0·unx·····2052·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildSessionSmCallback.class | 365 | ?rwxrwxr-x··2.0·unx·····2052·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildSessionSmCallback.class |
371 | ?rwxrwxr-x··2.0·unx·····1243·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback.class | 366 | ?rwxrwxr-x··2.0·unx·····1243·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback.class |
372 | ?rwxrwxr-x··2.0·unx·····20 | 367 | ?rwxrwxr-x··2.0·unx·····2077·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit$UnencryptedRetransmitter.class |
373 | ?rwxrwxr-x··2.0·unx·····2 | 368 | ?rwxrwxr-x··2.0·unx·····2023·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$EncryptedRetransmitter.class |
374 | ?rwxrwxr-x··2.0·unx·····1329·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler$PacketReceiver.class | 369 | ?rwxrwxr-x··2.0·unx·····1329·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler$PacketReceiver.class |
375 | ?rwxrwxr-x··2.0·unx·····3667·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpEncapSocket.class | 370 | ?rwxrwxr-x··2.0·unx·····3667·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpEncapSocket.class |
376 | ?rwxrwxr-x··2.0·unx······712·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpSocket$PacketReceiver.class | 371 | ?rwxrwxr-x··2.0·unx······712·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpSocket$PacketReceiver.class |
377 | ?rwxrwxr-x··2.0·unx·····3126·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpSocket.class | 372 | ?rwxrwxr-x··2.0·unx·····3126·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeUdpSocket.class |
... Open expanded diff ... |
Offset 591, 21 lines modified | Offset 591, 21 lines modified | ||
591 | Filename:·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange.class | 591 | Filename:·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange.class |
592 | Comment:· | 592 | Comment:· |
593 | Filename:·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppN1ModeUtils.class | 593 | Filename:·com/android/internal/net/ipsec/ike/ike3gpp/Ike3gppN1ModeUtils.class |
594 | Comment:· | 594 | Comment:· |
595 | Filename:·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$ | 595 | Filename:·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$1.class |
596 | Comment:· | 596 | Comment:· |
597 | Filename:·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$ | 597 | Filename:·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$HardwareKeepaliveCallback.class |
598 | Comment:· | 598 | Comment:· |
599 | Filename:·com/android/internal/net/ipsec/ike/keepalive/ | 599 | Filename:·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$MySocketKeepaliveCb.class |
600 | Comment:· | 600 | Comment:· |
601 | Filename:·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive$NattKeepalive.class | 601 | Filename:·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive$NattKeepalive.class |
602 | Comment:· | 602 | Comment:· |
603 | Filename:·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive.class | 603 | Filename:·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive.class |
604 | Comment:· | 604 | Comment:· |
Offset 717, 26 lines modified | Offset 717, 14 lines modified | ||
717 | Filename:·com/android/internal/net/ipsec/ike/utils/HexDump.class | 717 | Filename:·com/android/internal/net/ipsec/ike/utils/HexDump.class |
718 | Comment:· | 718 | Comment:· |
719 | Filename:·com/android/internal/net/ipsec/ike/utils/IState.class | 719 | Filename:·com/android/internal/net/ipsec/ike/utils/IState.class |
720 | Comment:· | 720 | Comment:· |
721 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarm$1.class | ||
722 | Comment:· | ||
723 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarm$Dependencies.class | ||
724 | Comment:· | ||
725 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig.class | ||
726 | Comment:· | ||
727 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarm.class | ||
728 | Comment:· | ||
729 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarmReceiver.class | 721 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarmReceiver.class |
730 | Comment:· | 722 | Comment:· |
731 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeCertUtils.class | 723 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeCertUtils.class |
732 | Comment:· | 724 | Comment:· |
733 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex.class | 725 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex.class |
Offset 768, 17 lines modified | Offset 756, 14 lines modified | ||
768 | Filename:·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler.class | 756 | Filename:·com/android/internal/net/ipsec/ike/utils/StateMachine$SmHandler.class |
769 | Comment:· | 757 | Comment:· |
770 | Filename:·com/android/internal/net/ipsec/ike/utils/StateMachine.class | 758 | Filename:·com/android/internal/net/ipsec/ike/utils/StateMachine.class |
771 | Comment:· | 759 | Comment:· |
772 | Filename:·com/android/internal/net/ipsec/ike/utils/WakeupMessage.class | ||
773 | Comment:· | ||
774 | Filename:·com/android/internal/net/org/bouncycastle/crypto/Digest.class | 760 | Filename:·com/android/internal/net/org/bouncycastle/crypto/Digest.class |
775 | Comment:· | 761 | Comment:· |
776 | Filename:·com/android/internal/net/org/bouncycastle/crypto/digests/EncodableDigest.class | 762 | Filename:·com/android/internal/net/org/bouncycastle/crypto/digests/EncodableDigest.class |
777 | Comment:· | 763 | Comment:· |
778 | Filename:·com/android/internal/net/org/bouncycastle/util/Memoable.class | 764 | Filename:·com/android/internal/net/org/bouncycastle/util/Memoable.class |
Offset 1263, 20 lines modified | Offset 1248, 14 lines modified | ||
1263 | Filename:·com/android/internal/net/ipsec/ike/net/IkeSpecificNetworkCallback.class | 1248 | Filename:·com/android/internal/net/ipsec/ike/net/IkeSpecificNetworkCallback.class |
1264 | Comment:· | 1249 | Comment:· |
1265 | Filename:·com/android/internal/net/ipsec/ike/testmode/DeterministicSecureRandom.class | 1250 | Filename:·com/android/internal/net/ipsec/ike/testmode/DeterministicSecureRandom.class |
1266 | Comment:· | 1251 | Comment:· |
1267 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmWithListener.class | ||
1268 | Comment:· | ||
1269 | Filename:·com/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmWithPendingIntent.class | ||
1270 | Comment:· | ||
1271 | Filename:·com/android/internal/net/ipsec/ike/utils/PacketReader.class | 1252 | Filename:·com/android/internal/net/ipsec/ike/utils/PacketReader.class |
1272 | Comment:· | 1253 | Comment:· |
1273 | Filename:·com/android/internal/net/ipsec/ike/utils/RandomnessFactory.class | 1254 | Filename:·com/android/internal/net/ipsec/ike/utils/RandomnessFactory.class |
1274 | Comment:· | 1255 | Comment:· |
1275 | Filename:·com/android/internal/net/ipsec/ike/utils/State.class | 1256 | Filename:·com/android/internal/net/ipsec/ike/utils/State.class |
Offset 1, 12 lines modified | Offset 1, 11 lines modified | ||
1 | package·android.net.ipsec.ike; | 1 | package·android.net.ipsec.ike; |
2 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$IntegrityTransform; | 2 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$IntegrityTransform; |
3 | import·com.android.internal.net.utils.build.SdkLevel; | ||
4 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$EncryptionTransform; | 3 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$EncryptionTransform; |
5 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$DhGroupTransform; | 4 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$DhGroupTransform; |
6 | import·java.util.LinkedHashSet; | 5 | import·java.util.LinkedHashSet; |
7 | public·abstract·class·SaProposal$Builder | 6 | public·abstract·class·SaProposal$Builder |
8 | { | 7 | { |
9 | ····protected·static·final·String·ERROR_TAG·=·"Invalid·SA·Proposal:·"; | 8 | ····protected·static·final·String·ERROR_TAG·=·"Invalid·SA·Proposal:·"; |
Offset 53, 15 lines modified | Offset 52, 15 lines modified | ||
53 | ············return·(IkeSaPayload$EncryptionTransform[])mProposedEncryptAlgos.toArray(new·IkeSaPayload$EncryptionTransform[mProposedEncryptAlgos.size()]); | 52 | ············return·(IkeSaPayload$EncryptionTransform[])mProposedEncryptAlgos.toArray(new·IkeSaPayload$EncryptionTransform[mProposedEncryptAlgos.size()]); |
54 | ········} | 53 | ········} |
55 | ········throw·new·IllegalArgumentException("Invalid·SA·Proposal:·Encryption·algorithm·must·be·proposed."); | 54 | ········throw·new·IllegalArgumentException("Invalid·SA·Proposal:·Encryption·algorithm·must·be·proposed."); |
56 | ····} | 55 | ····} |
57 | ···· | 56 | ···· |
58 | ····protected·void·validateAndAddEncryptAlgo(final·int·n,·final·int·n2,·final·boolean·b)·{ | 57 | ····protected·void·validateAndAddEncryptAlgo(final·int·n,·final·int·n2,·final·boolean·b)·{ |
59 | ········final·IkeSaPayload$EncryptionTransform·e·=·new·IkeSaPayload$EncryptionTransform(n,·n2); | 58 | ········final·IkeSaPayload$EncryptionTransform·e·=·new·IkeSaPayload$EncryptionTransform(n,·n2); |
60 | ········if·( | 59 | ········if·(b·&&·!ChildSaProposal.getSupportedEncryptionAlgorithms().contains(n))·{ |
61 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 60 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
62 | ············sb.append("Unsupported·encryption·algorithm·"); | 61 | ············sb.append("Unsupported·encryption·algorithm·"); |
63 | ············sb.append(n); | 62 | ············sb.append(n); |
64 | ············throw·new·IllegalArgumentException(sb.toString()); | 63 | ············throw·new·IllegalArgumentException(sb.toString()); |
65 | ········} | 64 | ········} |
66 | ········final·boolean·aead·=·isAead(n); | 65 | ········final·boolean·aead·=·isAead(n); |
67 | ········if·(!this.mProposedEncryptAlgos.isEmpty()·&&·(this.mHasAead·^·aead))·{ | 66 | ········if·(!this.mProposedEncryptAlgos.isEmpty()·&&·(this.mHasAead·^·aead))·{ |
Offset 70, 15 lines modified | Offset 69, 15 lines modified | ||
70 | ········if·(aead)·{ | 69 | ········if·(aead)·{ |
71 | ············this.mHasAead·=·true; | 70 | ············this.mHasAead·=·true; |
72 | ········} | 71 | ········} |
73 | ········this.mProposedEncryptAlgos.add(e); | 72 | ········this.mProposedEncryptAlgos.add(e); |
74 | ····} | 73 | ····} |
75 | ···· | 74 | ···· |
76 | ····protected·void·validateAndAddIntegrityAlgo(final·int·n,·final·boolean·b)·{ | 75 | ····protected·void·validateAndAddIntegrityAlgo(final·int·n,·final·boolean·b)·{ |
77 | ········if·( | 76 | ········if·(b·&&·!ChildSaProposal.getSupportedIntegrityAlgorithms().contains(n))·{ |
78 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 77 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
79 | ············sb.append("Unsupported·integrity·algorithm·"); | 78 | ············sb.append("Unsupported·integrity·algorithm·"); |
80 | ············sb.append(n); | 79 | ············sb.append(n); |
81 | ············throw·new·IllegalArgumentException(sb.toString()); | 80 | ············throw·new·IllegalArgumentException(sb.toString()); |
82 | ········} | 81 | ········} |
83 | ········this.mProposedIntegrityAlgos.add(new·IkeSaPayload$IntegrityTransform(n)); | 82 | ········this.mProposedIntegrityAlgos.add(new·IkeSaPayload$IntegrityTransform(n)); |
84 | ····} | 83 | ····} |
Offset 2, 15 lines modified | Offset 2, 15 lines modified | ||
2 | package·com.android.internal.net.ipsec.ike; | 2 | package·com.android.internal.net.ipsec.ike; |
3 | import·android.net.ipsec.ike.ChildSessionCallback; | 3 | import·android.net.ipsec.ike.ChildSessionCallback; |
4 | import·java.util.concurrent.Executor; | 4 | import·java.util.concurrent.Executor; |
5 | import·android.net.ipsec.ike.ChildSessionParams; | 5 | import·android.net.ipsec.ike.ChildSessionParams; |
6 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; | 6 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; |
7 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; | 7 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; |
8 | import·android. | 8 | import·android.app.AlarmManager; |
9 | import·android.content.Context; | 9 | import·android.content.Context; |
10 | import·android.os.Looper; | 10 | import·android.os.Looper; |
11 | interface·ChildSessionStateMachineFactory$IChildSessionFactoryHelper | 11 | interface·ChildSessionStateMachineFactory$IChildSessionFactoryHelper |
12 | { | 12 | { |
13 | ····ChildSessionStateMachine·makeChildSessionStateMachine(final·Looper·p0,·final·Context·p1,·final·int·p2,·final· | 13 | ····ChildSessionStateMachine·makeChildSessionStateMachine(final·Looper·p0,·final·Context·p1,·final·int·p2,·final·AlarmManager·p3,·final·RandomnessFactory·p4,·final·IpSecSpiGenerator·p5,·final·ChildSessionParams·p6,·final·Executor·p7,·final·ChildSessionCallback·p8,·final·ChildSessionStateMachine$IChildSessionSmCallback·p9); |
14 | } | 14 | } |
Offset 2, 27 lines modified | Offset 2, 27 lines modified | ||
2 | package·com.android.internal.net.ipsec.ike; | 2 | package·com.android.internal.net.ipsec.ike; |
3 | import·android.net.ipsec.ike.ChildSessionCallback; | 3 | import·android.net.ipsec.ike.ChildSessionCallback; |
4 | import·java.util.concurrent.Executor; | 4 | import·java.util.concurrent.Executor; |
5 | import·android.net.ipsec.ike.ChildSessionParams; | 5 | import·android.net.ipsec.ike.ChildSessionParams; |
6 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; | 6 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; |
7 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; | 7 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; |
8 | import·android. | 8 | import·android.app.AlarmManager; |
9 | import·android.content.Context; | 9 | import·android.content.Context; |
10 | import·android.os.Looper; | 10 | import·android.os.Looper; |
11 | final·class·ChildSessionStateMachineFactory | 11 | final·class·ChildSessionStateMachineFactory |
12 | { | 12 | { |
13 | ····private·static·ChildSessionStateMachineFactory$IChildSessionFactoryHelper·sChildSessionHelper; | 13 | ····private·static·ChildSessionStateMachineFactory$IChildSessionFactoryHelper·sChildSessionHelper; |
14 | ···· | 14 | ···· |
15 | ····static·{ | 15 | ····static·{ |
16 | ········ChildSessionStateMachineFactory.sChildSessionHelper·=·(ChildSessionStateMachineFactory$IChildSessionFactoryHelper)new·ChildSessionStateMachineFactory$ChildSessionFactoryHelper(); | 16 | ········ChildSessionStateMachineFactory.sChildSessionHelper·=·(ChildSessionStateMachineFactory$IChildSessionFactoryHelper)new·ChildSessionStateMachineFactory$ChildSessionFactoryHelper(); |
17 | ····} | 17 | ····} |
18 | ···· | 18 | ···· |
19 | ····static·ChildSessionStateMachine·makeChildSessionStateMachine(final·Looper·looper,·final·Context·context,·final·int·n,·final· | 19 | ····static·ChildSessionStateMachine·makeChildSessionStateMachine(final·Looper·looper,·final·Context·context,·final·int·n,·final·AlarmManager·alarmManager,·final·RandomnessFactory·randomnessFactory,·final·IpSecSpiGenerator·ipSecSpiGenerator,·final·ChildSessionParams·childSessionParams,·final·Executor·executor,·final·ChildSessionCallback·childSessionCallback,·final·ChildSessionStateMachine$IChildSessionSmCallback·childSessionStateMachine$IChildSessionSmCallback)·{ |
20 | ········return·ChildSessionStateMachineFactory.sChildSessionHelper.makeChildSessionStateMachine(looper,·context,·n,· | 20 | ········return·ChildSessionStateMachineFactory.sChildSessionHelper.makeChildSessionStateMachine(looper,·context,·n,·alarmManager,·randomnessFactory,·ipSecSpiGenerator,·childSessionParams,·executor,·childSessionCallback,·childSessionStateMachine$IChildSessionSmCallback); |
21 | ····} | 21 | ····} |
22 | ···· | 22 | ···· |
23 | ····static·void·setChildSessionFactoryHelper(final·ChildSessionStateMachineFactory$IChildSessionFactoryHelper·sChildSessionHelper)·{ | 23 | ····static·void·setChildSessionFactoryHelper(final·ChildSessionStateMachineFactory$IChildSessionFactoryHelper·sChildSessionHelper)·{ |
24 | ········ChildSessionStateMachineFactory.sChildSessionHelper·=·sChildSessionHelper; | 24 | ········ChildSessionStateMachineFactory.sChildSessionHelper·=·sChildSessionHelper; |
25 | ····} | 25 | ····} |
26 | } | 26 | } |
Offset 1, 42 lines modified | Offset 1, 51 lines modified | ||
1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
2 | import·com.android.internal.net.utils.Log; | 2 | import·com.android.internal.net.utils.Log; |
3 | import·android.os.SystemClock; | ||
3 | import·android.net.ipsec.ike.IkeManager; | 4 | import·android.net.ipsec.ike.IkeManager; |
4 | import·com.android.internal.net.ipsec.ike.utils.IkeAlarm$IkeAlarmConfig; | ||
5 | import· | 5 | import·android.app.PendingIntent; |
6 | import·android.app.AlarmManager; | ||
6 | class·SaRecord$SaLifetimeAlarmScheduler | 7 | class·SaRecord$SaLifetimeAlarmScheduler |
7 | { | 8 | { |
8 | ····private·final· | 9 | ····private·final·AlarmManager·mAlarmManager; |
9 | ····private·final·long·mDeleteDelayMs; | 10 | ····private·final·long·mDeleteDelayMs; |
10 | ····private·final· | 11 | ····private·final·PendingIntent·mDeleteSaIntent; |
11 | ····private·final·long·mRekeyDelayMs; | 12 | ····private·final·long·mRekeyDelayMs; |
13 | ····private·final·PendingIntent·mRekeySaIntent; | ||
12 | ···· | 14 | ···· |
13 | ····SaRecord$SaLifetimeAlarmScheduler(final·IkeAlarm$IkeAlarmConfig·ikeAlarm$IkeAlarmConfig,·final·IkeAlarm$IkeAlarmConfig·ikeAlarm$IkeAlarmConfig2)·{ | ||
14 | ········this.mDeleteDelayMs·=·ikeAlarm$IkeAlarmConfig.delayMs; | ||
15 | ········this.mRekeyDelayMs·=·ikeAlarm$IkeAlarmConfig2.delayMs; | ||
16 | ········this.mDeleteAlarm·=·IkeAlarm.newExactAlarm(ikeAlarm$IkeAlarmConfig); | ||
17 | ········ | 15 | ····SaRecord$SaLifetimeAlarmScheduler(final·long·mDeleteDelayMs,·final·long·mRekeyDelayMs,·final·PendingIntent·mDeleteSaIntent,·final·PendingIntent·mRekeySaIntent,·final·AlarmManager·mAlarmManager)·{ |
16 | ········this.mDeleteDelayMs·=·mDeleteDelayMs; | ||
17 | ········this.mRekeyDelayMs·=·mRekeyDelayMs; | ||
18 | ········this.mAlarmManager·=·mAlarmManager; | ||
19 | ········this.mDeleteSaIntent·=·mDeleteSaIntent; | ||
20 | ········this.mRekeySaIntent·=·mRekeySaIntent; | ||
18 | ····} | 21 | ····} |
19 | ···· | 22 | ···· |
20 | ····public·void·cancelLifetimeExpiryAlarm(final·String·s)·{ | 23 | ····public·void·cancelLifetimeExpiryAlarm(final·String·s)·{ |
24 | ········this.mAlarmManager.cancel(this.mDeleteSaIntent); | ||
25 | ········this.mAlarmManager.cancel(this.mRekeySaIntent); | ||
21 | ········this.mDelete | 26 | ········this.mDeleteSaIntent.cancel(); |
22 | ········this.mRekey | 27 | ········this.mRekeySaIntent.cancel(); |
23 | ········IkeManager.getIkeLog().d(s,·"Hard·and·soft·lifetime·alarm·cancelled"); | 28 | ········IkeManager.getIkeLog().d(s,·"Hard·and·soft·lifetime·alarm·cancelled"); |
24 | ····} | 29 | ····} |
25 | ···· | 30 | ···· |
26 | ····public·void·rescheduleRekey(final·long·n)·{ | 31 | ····public·void·rescheduleRekey(final·long·n)·{ |
27 | ········this.m | 32 | ········this.mAlarmManager.setExactAndAllowWhileIdle(2,·SystemClock.elapsedRealtime()·+·n,·this.mRekeySaIntent); |
28 | ····} | 33 | ····} |
29 | ···· | 34 | ···· |
30 | ····public·void·scheduleLifetimeExpiryAlarm(final·String·s)·{ | 35 | ····public·void·scheduleLifetimeExpiryAlarm(final·String·s)·{ |
31 | ········this.mDeleteAlarm.schedule(); | ||
32 | ········ | 36 | ········final·AlarmManager·mAlarmManager·=·this.mAlarmManager; |
37 | ········final·long·n·=·SystemClock.elapsedRealtime()·+·this.mDeleteDelayMs; | ||
38 | ········final·PendingIntent·mDeleteSaIntent·=·this.mDeleteSaIntent; | ||
39 | ········final·int·n2·=·2; | ||
40 | ········mAlarmManager.setExact(n2,·n,·mDeleteSaIntent); | ||
41 | ········this.mAlarmManager.setExactAndAllowWhileIdle(n2,·SystemClock.elapsedRealtime()·+·this.mRekeyDelayMs,·this.mRekeySaIntent); | ||
33 | ········final·Log·ikeLog·=·IkeManager.getIkeLog(); | 42 | ········final·Log·ikeLog·=·IkeManager.getIkeLog(); |
34 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 43 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
35 | ········sb.append("Lifetime·alarm·set:·Hard·lifetime·("); | 44 | ········sb.append("Lifetime·alarm·set:·Hard·lifetime·("); |
36 | ········sb.append(this.mDeleteDelayMs); | 45 | ········sb.append(this.mDeleteDelayMs); |
37 | ········sb.append("ms)·Soft·lifetime·("); | 46 | ········sb.append("ms)·Soft·lifetime·("); |
38 | ········sb.append(this.mRekeyDelayMs); | 47 | ········sb.append(this.mRekeyDelayMs); |
39 | ········sb.append("ms)"); | 48 | ········sb.append("ms)"); |
Offset 5, 38 lines modified | Offset 5, 38 lines modified | ||
5 | import·android.net.ipsec.ike.IkeManager; | 5 | import·android.net.ipsec.ike.IkeManager; |
6 | import·android.net.SocketKeepalive$Callback; | 6 | import·android.net.SocketKeepalive$Callback; |
7 | class·HardwareKeepaliveImpl$MySocketKeepaliveCb·extends·SocketKeepalive$Callback | 7 | class·HardwareKeepaliveImpl$MySocketKeepaliveCb·extends·SocketKeepalive$Callback |
8 | { | 8 | { |
9 | ····final·/*·synthetic·*/·HardwareKeepaliveImpl·this$0; | 9 | ····final·/*·synthetic·*/·HardwareKeepaliveImpl·this$0; |
10 | ···· | 10 | ···· |
11 | ····HardwareKeepaliveImpl$MySocketKeepaliveCb(final·HardwareKeepaliveImpl·this$0)·{ | 11 | ····private·HardwareKeepaliveImpl$MySocketKeepaliveCb(final·HardwareKeepaliveImpl·this$0)·{ |
12 | ········this.this$0·=·this$0; | 12 | ········this.this$0·=·this$0; |
13 | ····} | 13 | ····} |
14 | ···· | 14 | ···· |
15 | ····public·void·onError(final·int·i)·{ | 15 | ····public·void·onError(final·int·i)·{ |
16 | ········final·Log·ikeLog·=·IkeManager.getIkeLog(); | 16 | ········final·Log·ikeLog·=·IkeManager.getIkeLog(); |
17 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 17 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
18 | ········sb.append("Hardware·offload·failed·on·error:·"); | 18 | ········sb.append("Hardware·offload·failed·on·error:·"); |
19 | ········sb.append(i); | 19 | ········sb.append(i); |
20 | ········ikeLog.d("HardwareKeepaliveImpl",·sb.toString()); | 20 | ········ikeLog.d("HardwareKeepaliveImpl",·sb.toString()); |
21 | ········switch·(i)·{ | 21 | ········switch·(i)·{ |
22 | ············default:·{ | 22 | ············default:·{ |
23 | ················HardwareKeepaliveImpl.access$ | 23 | ················HardwareKeepaliveImpl.access$100(this.this$0).onNetworkError(); |
24 | ············} | 24 | ············} |
25 | ············case·-26: | 25 | ············case·-26: |
26 | ············case·-25: | 26 | ············case·-25: |
27 | ············case·-24: | 27 | ············case·-24: |
28 | ············case·-23: | 28 | ············case·-23: |
29 | ············case·-22: | 29 | ············case·-22: |
30 | ············case·-21: | ||
30 | ············case·-20:·{ | 31 | ············case·-20:·{ |
31 | ················HardwareKeepaliveImpl.access$ | 32 | ················HardwareKeepaliveImpl.access$100(this.this$0).onNetworkError(); |
32 | ············} | 33 | ············} |
33 | ············case·-32: | 34 | ············case·-32: |
34 | ············case·-31: | 35 | ············case·-31: |
35 | ············case·-30: | 36 | ············case·-30:·{ |
36 | ············case·-21:·{ | ||
37 | ················HardwareKeepaliveImpl.access$ | 37 | ················HardwareKeepaliveImpl.access$100(this.this$0).onHardwareOffloadError(); |
38 | ············} | 38 | ············} |
39 | ········} | 39 | ········} |
40 | ····} | 40 | ····} |
41 | } | 41 | } |
Offset 1, 35 lines modified | Offset 1, 25 lines modified | ||
1 | package·com.android.internal.net.ipsec.ike.keepalive; | 1 | package·com.android.internal.net.ipsec.ike.keepalive; |
2 | import·android.net.ipsec.ike.IkeManager; | 2 | import·android.net.ipsec.ike.IkeManager; |
3 | import· | 3 | import·android.app.PendingIntent; |
4 | import·android.net.Network; | 4 | import·android.net.Network; |
5 | import·android.net.IpSecManager$UdpEncapsulationSocket; | 5 | import·android.net.IpSecManager$UdpEncapsulationSocket; |
6 | import·java.net.Inet4Address; | 6 | import·java.net.Inet4Address; |
7 | import·android.net.ConnectivityManager; | 7 | import·android.net.ConnectivityManager; |
8 | import·android.content.Context; | 8 | import·android.content.Context; |
9 | public·class·IkeNattKeepalive | 9 | public·class·IkeNattKeepalive |
10 | { | 10 | { |
11 | ····private·static·final·String·TAG·=·"IkeNattKeepalive"; | 11 | ····private·static·final·String·TAG·=·"IkeNattKeepalive"; |
12 | ····private·final·IkeNattKeepalive$Dependencies·mDeps; | ||
13 | ····private·IkeNattKeepalive$NattKeepalive·mNattKeepalive; | 12 | ····private·IkeNattKeepalive$NattKeepalive·mNattKeepalive; |
14 | ···· | 13 | ···· |
15 | ····public·IkeNattKeepalive(final·Context·context,·final·ConnectivityManager·connectivityManager,·final·int·n,·final·Inet4Address·inet4Address,·final·Inet4Address·inet4Address2,·final·IpSecManager$UdpEncapsulationSocket·ipSecManager$UdpEncapsulationSocket,·final·Network·network,·final· | 14 | ····public·IkeNattKeepalive(final·Context·context,·final·ConnectivityManager·connectivityManager,·final·int·n,·final·Inet4Address·inet4Address,·final·Inet4Address·inet4Address2,·final·IpSecManager$UdpEncapsulationSocket·ipSecManager$UdpEncapsulationSocket,·final·Network·network,·final·PendingIntent·pendingIntent)·{ |
16 | ········this(context,·connectivityManager,·n,·inet4Address,·inet4Address2,·ipSecManager$UdpEncapsulationSocket,·network,·ikeAlarm$IkeAlarmConfig,·new·IkeNattKeepalive$Dependencies()); | ||
17 | ····} | ||
18 | ···· | ||
19 | ····IkeNattKeepalive(final·Context·context,·final·ConnectivityManager·connectivityManager,·final·int·n,·final·Inet4Address·inet4Address,·final·Inet4Address·inet4Address2,·final·IpSecManager$UdpEncapsulationSocket·ipSecManager$UdpEncapsulationSocket,·final·Network·network,·final·IkeAlarm$IkeAlarmConfig·ikeAlarm$IkeAlarmConfig,·final·IkeNattKeepalive$Dependencies·mDeps)·{ | ||
20 | ········final·HardwareKeepaliveImpl·hardwareKeepaliveImpl·=·new(com.android.internal.net.ipsec.ike.keepalive.HardwareKeepaliveImpl.class); | ||
21 | ········final·IkeNattKeepalive$HardwareKeepaliveCb·ikeNattKeepalive$HardwareKeepaliveCb·=·new·IkeNattKeepalive$HardwareKeepaliveCb(this,·context,·inet4Address2,·ipSecManager$UdpEncapsulationSocket,·ikeAlarm$IkeAlarmConfig); | ||
22 | ········final·HardwareKeepaliveImpl·mNattKeepalive·=·hardwareKeepaliveImpl; | ||
23 | ········new·HardwareKeepaliveImpl(context,·connectivityManager,·n,·inet4Address,·inet4Address2,·ipSecManager$UdpEncapsulationSocket,·network,·(HardwareKeepaliveImpl$HardwareKeepaliveCallback) | 15 | ········this.mNattKeepalive·=·(IkeNattKeepalive$NattKeepalive)new·HardwareKeepaliveImpl(context,·connectivityManager,·n,·inet4Address,·inet4Address2,·ipSecManager$UdpEncapsulationSocket,·network,·(HardwareKeepaliveImpl$HardwareKeepaliveCallback)new·IkeNattKeepalive$HardwareKeepaliveCb(this,·context,·n,·inet4Address2,·ipSecManager$UdpEncapsulationSocket,·pendingIntent)); |
24 | ········this.mNattKeepalive·=·(IkeNattKeepalive$NattKeepalive)mNattKeepalive; | ||
25 | ········this.mDeps·=·mDeps; | ||
26 | ····} | 16 | ····} |
27 | ···· | 17 | ···· |
28 | ····public·void·onAlarmFired()·{ | 18 | ····public·void·onAlarmFired()·{ |
29 | ········this.mNattKeepalive.onAlarmFired(); | 19 | ········this.mNattKeepalive.onAlarmFired(); |
30 | ····} | 20 | ····} |
31 | ···· | 21 | ···· |
32 | ····public·void·start()·{ | 22 | ····public·void·start()·{ |
Offset 21, 26 lines modified | Offset 21, 27 lines modified | ||
21 | ····public·IkeMessage·getMessage()·{ | 21 | ····public·IkeMessage·getMessage()·{ |
22 | ········return·this.mRetransmitMsg; | 22 | ········return·this.mRetransmitMsg; |
23 | ····} | 23 | ····} |
24 | ···· | 24 | ···· |
25 | ····protected·abstract·void·handleRetransmissionFailure(); | 25 | ····protected·abstract·void·handleRetransmissionFailure(); |
26 | ···· | 26 | ···· |
27 | ····public·void·retransmit()·{ | 27 | ····public·void·retransmit()·{ |
28 | ········final·IkeMessage·mRetransmitMsg·=·this.mRetransmitMsg; | ||
28 | ········if·( | 29 | ········if·(mRetransmitMsg·==·null)·{ |
29 | ············return; | 30 | ············return; |
30 | ········} | 31 | ········} |
31 | ········if·(this.mRetransmitCount·>=·this.mRetransmissionTimeouts.length)·{ | 32 | ········if·(this.mRetransmitCount·>=·this.mRetransmissionTimeouts.length)·{ |
32 | ············this.handleRetransmissionFailure(); | 33 | ············this.handleRetransmissionFailure(); |
33 | ············return; | 34 | ············return; |
34 | ········} | 35 | ········} |
35 | ········this.send(); | 36 | ········this.send(mRetransmitMsg); |
36 | ········final·long·n·=·(long)this.mRetransmissionTimeouts[this.mRetransmitCount++]; | 37 | ········final·long·n·=·(long)this.mRetransmissionTimeouts[this.mRetransmitCount++]; |
37 | ········final·Handler·mHandler·=·this.mHandler; | 38 | ········final·Handler·mHandler·=·this.mHandler; |
38 | ········mHandler.sendMessageDelayed(mHandler.obtainMessage(308,·(Object)this),·n); | 39 | ········mHandler.sendMessageDelayed(mHandler.obtainMessage(308,·(Object)this),·n); |
39 | ····} | 40 | ····} |
40 | ···· | 41 | ···· |
41 | ····protected·abstract·void·send(); | 42 | ····protected·abstract·void·send(final·IkeMessage·p0); |
42 | ···· | 43 | ···· |
43 | ····public·void·stopRetransmitting()·{ | 44 | ····public·void·stopRetransmitting()·{ |
44 | ········this.mHandler.removeMessages(308,·(Object)this); | 45 | ········this.mHandler.removeMessages(308,·(Object)this); |
45 | ····} | 46 | ····} |
46 | } | 47 | } |
Offset 9, 64 lines modified | Offset 9, 54 lines modified | ||
9 | import·com.android.internal.net.ipsec.ike.utils.StateMachine; | 9 | import·com.android.internal.net.ipsec.ike.utils.StateMachine; |
10 | abstract·class·AbstractSessionStateMachine·extends·StateMachine | 10 | abstract·class·AbstractSessionStateMachine·extends·StateMachine |
11 | { | 11 | { |
12 | ····protected·static·final·int·CMD_CATEGORY_SIZE·=·100; | 12 | ····protected·static·final·int·CMD_CATEGORY_SIZE·=·100; |
13 | ····protected·static·final·int·CMD_CHILD_LOCAL_REQUEST_BASE·=·0; | 13 | ····protected·static·final·int·CMD_CHILD_LOCAL_REQUEST_BASE·=·0; |
14 | ····static·final·int·CMD_FORCE_TRANSITION·=·201; | 14 | ····static·final·int·CMD_FORCE_TRANSITION·=·201; |
15 | ····protected·static·final·int·CMD_GENERIC_BASE·=·200; | ||
16 | ····static·final·int·CMD_KILL_SESSION·=·202; | ||
17 | ····static·final·int·CMD_LOCAL_REQUEST_CREATE_CHILD·=·1; | 15 | ····static·final·int·CMD_LOCAL_REQUEST_CREATE_CHILD·=·1; |
18 | ····static·final·int·CMD_LOCAL_REQUEST_DELETE_CHILD·=·2; | 16 | ····static·final·int·CMD_LOCAL_REQUEST_DELETE_CHILD·=·2; |
19 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_CHILD·=·3; | 17 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_CHILD·=·3; |
20 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_CHILD_MOBIKE·=·4; | 18 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_CHILD_MOBIKE·=·4; |
21 | ····protected·static·final·int·CMD_PRIVATE_BASE·=·300; | 19 | ····protected·static·final·int·CMD_PRIVATE_BASE·=·300; |
22 | ····private·static·final·int·CMD_SHARED_BASE·=·0; | 20 | ····private·static·final·int·CMD_SHARED_BASE·=·0; |
21 | ····protected·static·final·int·CMD_TEST_BASE·=·200; | ||
23 | ····protected·static·final·int·CMD_TIMEOUT_BASE·=·100; | 22 | ····protected·static·final·int·CMD_TIMEOUT_BASE·=·100; |
24 | ····static·final·long·REKEY_DELETE_TIMEOUT_MS·=·0L; | 23 | ····static·final·long·REKEY_DELETE_TIMEOUT_MS·=·0L; |
25 | ····static·final·long·RETRY_INTERVAL_MS·=·0L; | 24 | ····static·final·long·RETRY_INTERVAL_MS·=·0L; |
26 | ····protected·static·final·SparseArray·SHARED_CMD_TO_STR; | 25 | ····protected·static·final·SparseArray·SHARED_CMD_TO_STR; |
27 | ····static·final·int·TIMEOUT_REKEY_REMOTE_DELETE·=·101; | 26 | ····static·final·int·TIMEOUT_REKEY_REMOTE_DELETE·=·101; |
28 | ····private·volatile·boolean·mIsClosing; | ||
29 | ····private·final·String·mLogTag; | 27 | ····private·final·String·mLogTag; |
30 | ····protected·final·Executor·mUserCbExecutor; | 28 | ····protected·final·Executor·mUserCbExecutor; |
31 | ···· | 29 | ···· |
32 | ····static·{ | 30 | ····static·{ |
33 | ········final·SparseArray·shared_CMD_TO_STR·=·new·SparseArray(); | 31 | ········final·SparseArray·shared_CMD_TO_STR·=·new·SparseArray(); |
34 | ········(SHARED_CMD_TO_STR·=·shared_CMD_TO_STR).put(1,·(Object)"Create·Child"); | 32 | ········(SHARED_CMD_TO_STR·=·shared_CMD_TO_STR).put(1,·(Object)"Create·Child"); |
35 | ········shared_CMD_TO_STR.put(2,·(Object)"Delete·Child"); | 33 | ········shared_CMD_TO_STR.put(2,·(Object)"Delete·Child"); |
36 | ········shared_CMD_TO_STR.put(3,·(Object)"Rekey·Child"); | 34 | ········shared_CMD_TO_STR.put(3,·(Object)"Rekey·Child"); |
37 | ········shared_CMD_TO_STR.put(4,·(Object)"Rekey·Child·(MOBIKE)"); | 35 | ········shared_CMD_TO_STR.put(4,·(Object)"Rekey·Child·(MOBIKE)"); |
38 | ········shared_CMD_TO_STR.put(202,·(Object)"Kill·session"); | ||
39 | ········shared_CMD_TO_STR.put(101,·(Object)"Timout·rekey·remote·delete"); | 36 | ········shared_CMD_TO_STR.put(101,·(Object)"Timout·rekey·remote·delete"); |
40 | ········shared_CMD_TO_STR.put(201,·(Object)"Force·transition"); | 37 | ········shared_CMD_TO_STR.put(201,·(Object)"Force·transition"); |
41 | ····} | 38 | ····} |
42 | ···· | 39 | ···· |
43 | ····protected·AbstractSessionStateMachine(final·String·mLogTag,·final·Looper·looper,·final·Executor·mUserCbExecutor)·{ | 40 | ····protected·AbstractSessionStateMachine(final·String·mLogTag,·final·Looper·looper,·final·Executor·mUserCbExecutor)·{ |
44 | ········super(mLogTag,·looper); | 41 | ········super(mLogTag,·looper); |
45 | ········this.mIsClosing·=·false; | ||
46 | ········this.mLogTag·=·mLogTag; | 42 | ········this.mLogTag·=·mLogTag; |
47 | ········this.mUserCbExecutor·=·mUserCbExecutor; | 43 | ········this.mUserCbExecutor·=·mUserCbExecutor; |
48 | ····} | 44 | ····} |
49 | ···· | 45 | ···· |
50 | ····protected·void·executeUserCallback(final·Runnable·runnable)·{ | 46 | ····protected·void·executeUserCallback(final·Runnable·runnable)·{ |
51 | ········try·{ | 47 | ········try·{ |
52 | ············this.mUserCbExecutor.execute(runnable); | 48 | ············this.mUserCbExecutor.execute(runnable); |
53 | ········} | 49 | ········} |
54 | ········catch·(Exception·ex)·{ | 50 | ········catch·(Exception·ex)·{ |
55 | ············this.logd("Callback·execution·failed",·ex); | 51 | ············this.logd("Callback·execution·failed",·ex); |
56 | ········} | 52 | ········} |
57 | ····} | 53 | ····} |
58 | ···· | 54 | ···· |
59 | ····public·void·killSession()·{ | ||
60 | ········this.log("killSession"); | ||
61 | ········this.mIsClosing·=·true; | ||
62 | ········this.sendMessage(202); | ||
63 | ····} | ||
64 | ···· | ||
65 | ····protected·void·log(final·String·s)·{ | 55 | ····protected·void·log(final·String·s)·{ |
66 | ········IkeManager.getIkeLog().d(this.mLogTag,·s); | 56 | ········IkeManager.getIkeLog().d(this.mLogTag,·s); |
67 | ····} | 57 | ····} |
68 | ···· | 58 | ···· |
69 | ····protected·void·logWtf(final·String·s)·{ | 59 | ····protected·void·logWtf(final·String·s)·{ |
70 | ········IkeManager.getIkeLog().wtf(this.mLogTag,·s); | 60 | ········IkeManager.getIkeLog().wtf(this.mLogTag,·s); |
71 | ····} | 61 | ····} |
Offset 3, 19 lines modified | Offset 3, 19 lines modified | ||
3 | import·android.net.IpSecManager; | 3 | import·android.net.IpSecManager; |
4 | import·android.net.ipsec.ike.ChildSessionCallback; | 4 | import·android.net.ipsec.ike.ChildSessionCallback; |
5 | import·java.util.concurrent.Executor; | 5 | import·java.util.concurrent.Executor; |
6 | import·android.net.ipsec.ike.ChildSessionParams; | 6 | import·android.net.ipsec.ike.ChildSessionParams; |
7 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; | 7 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; |
8 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; | 8 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; |
9 | import·android. | 9 | import·android.app.AlarmManager; |
10 | import·android.content.Context; | 10 | import·android.content.Context; |
11 | import·android.os.Looper; | 11 | import·android.os.Looper; |
12 | class·ChildSessionStateMachineFactory$ChildSessionFactoryHelper·implements·ChildSessionStateMachineFactory$IChildSessionFactoryHelper | 12 | class·ChildSessionStateMachineFactory$ChildSessionFactoryHelper·implements·ChildSessionStateMachineFactory$IChildSessionFactoryHelper |
13 | { | 13 | { |
14 | ····public·ChildSessionStateMachine·makeChildSessionStateMachine(final·Looper·looper,·final·Context·context,·final·int·n,·final· | 14 | ····public·ChildSessionStateMachine·makeChildSessionStateMachine(final·Looper·looper,·final·Context·context,·final·int·n,·final·AlarmManager·alarmManager,·final·RandomnessFactory·randomnessFactory,·final·IpSecSpiGenerator·ipSecSpiGenerator,·final·ChildSessionParams·childSessionParams,·final·Executor·executor,·final·ChildSessionCallback·childSessionCallback,·final·ChildSessionStateMachine$IChildSessionSmCallback·childSessionStateMachine$IChildSessionSmCallback)·{ |
15 | ········final·ChildSessionStateMachine·childSessionStateMachine·=·new·ChildSessionStateMachine(looper,·context,·n,· | 15 | ········final·ChildSessionStateMachine·childSessionStateMachine·=·new·ChildSessionStateMachine(looper,·context,·n,·alarmManager,·randomnessFactory,·(IpSecManager)context.getSystemService("ipsec"),·ipSecSpiGenerator,·childSessionParams,·executor,·childSessionCallback,·childSessionStateMachine$IChildSessionSmCallback); |
16 | ········childSessionStateMachine.start(); | 16 | ········childSessionStateMachine.start(); |
17 | ········return·childSessionStateMachine; | 17 | ········return·childSessionStateMachine; |
18 | ····} | 18 | ····} |
19 | } | 19 | } |
Offset 3, 25 lines modified | Offset 3, 23 lines modified | ||
3 | import·java.io.IOException; | 3 | import·java.io.IOException; |
4 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; | 4 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; |
5 | import·com.android.internal.net.ipsec.ike.utils.Retransmitter; | 5 | import·com.android.internal.net.ipsec.ike.utils.Retransmitter; |
6 | class·IkeSessionStateMachine$CreateIkeLocalIkeInit$UnencryptedRetransmitter·extends·Retransmitter | 6 | class·IkeSessionStateMachine$CreateIkeLocalIkeInit$UnencryptedRetransmitter·extends·Retransmitter |
7 | { | 7 | { |
8 | ····private·final·byte[]·mIkePacket; | ||
9 | ····final·/*·synthetic·*/·IkeSessionStateMachine$CreateIkeLocalIkeInit·this$1; | 8 | ····final·/*·synthetic·*/·IkeSessionStateMachine$CreateIkeLocalIkeInit·this$1; |
10 | ···· | 9 | ···· |
11 | ····private·IkeSessionStateMachine$CreateIkeLocalIkeInit$UnencryptedRetransmitter(final·IkeSessionStateMachine$CreateIkeLocalIkeInit·this$1,·final·IkeMessage·ikeMessage)·{ | 10 | ····private·IkeSessionStateMachine$CreateIkeLocalIkeInit$UnencryptedRetransmitter(final·IkeSessionStateMachine$CreateIkeLocalIkeInit·this$1,·final·IkeMessage·ikeMessage)·{ |
12 | ········this.this$1·=·this$1; | 11 | ········this.this$1·=·this$1; |
13 | ········super(this$1.this$0.getHandler(),·ikeMessage,·this$1.this$0.mIkeSessionParams.getRetransmissionTimeoutsMillis()); | 12 | ········super(this$1.this$0.getHandler(),·ikeMessage,·this$1.this$0.mIkeSessionParams.getRetransmissionTimeoutsMillis()); |
14 | ········this.mIkePacket·=·ikeMessage.encode(); | ||
15 | ········this.retransmit(); | 13 | ········this.retransmit(); |
16 | ····} | 14 | ····} |
17 | ···· | 15 | ···· |
18 | ····public·void·handleRetransmissionFailure()·{ | 16 | ····public·void·handleRetransmissionFailure()·{ |
19 | ········IkeSessionStateMachine.access$1000(this.this$1.this$0,·(Exception)new·IOException("Retransmitting·IKE·INIT·request·failure")); | 17 | ········IkeSessionStateMachine.access$1000(this.this$1.this$0,·(Exception)new·IOException("Retransmitting·IKE·INIT·request·failure")); |
20 | ····} | 18 | ····} |
21 | ···· | 19 | ···· |
22 | ····public·void·send()·{ | 20 | ····public·void·send(final·IkeMessage·ikeMessage)·{ |
23 | ········this.this$1.this$0.mIkeSocket.sendIkePacket( | 21 | ········this.this$1.this$0.mIkeSocket.sendIkePacket(ikeMessage.encode(),·this.this$1.this$0.mRemoteAddress); |
24 | ····} | 22 | ····} |
25 | } | 23 | } |
Offset 3, 29 lines modified | Offset 3, 29 lines modified | ||
3 | import·java.io.IOException; | 3 | import·java.io.IOException; |
4 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; | 4 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; |
5 | import·com.android.internal.net.ipsec.ike.utils.Retransmitter; | 5 | import·com.android.internal.net.ipsec.ike.utils.Retransmitter; |
6 | class·IkeSessionStateMachine$EncryptedRetransmitter·extends·Retransmitter | 6 | class·IkeSessionStateMachine$EncryptedRetransmitter·extends·Retransmitter |
7 | { | 7 | { |
8 | ····private·final· | 8 | ····private·final·SaRecord$IkeSaRecord·mIkeSaRecord; |
9 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; | 9 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; |
10 | ···· | 10 | ···· |
11 | ····private·IkeSessionStateMachine$EncryptedRetransmitter(final·IkeSessionStateMachine·this$0,·final·SaRecord$IkeSaRecord· | 11 | ····private·IkeSessionStateMachine$EncryptedRetransmitter(final·IkeSessionStateMachine·this$0,·final·SaRecord$IkeSaRecord·mIkeSaRecord,·final·IkeMessage·ikeMessage)·{ |
12 | ········this.this$0·=·this$0; | 12 | ········this.this$0·=·this$0; |
13 | ········super(this$0.getHandler(),·ikeMessage,·this$0.mIkeSessionParams.getRetransmissionTimeoutsMillis()); | 13 | ········super(this$0.getHandler(),·ikeMessage,·this$0.mIkeSessionParams.getRetransmissionTimeoutsMillis()); |
14 | ········this.mIke | 14 | ········this.mIkeSaRecord·=·mIkeSaRecord; |
15 | ········this.retransmit(); | 15 | ········this.retransmit(); |
16 | ····} | 16 | ····} |
17 | ···· | 17 | ···· |
18 | ····IkeSessionStateMachine$EncryptedRetransmitter(final·IkeSessionStateMachine·ikeSessionStateMachine,·final·IkeMessage·ikeMessage)·{ | 18 | ····IkeSessionStateMachine$EncryptedRetransmitter(final·IkeSessionStateMachine·ikeSessionStateMachine,·final·IkeMessage·ikeMessage)·{ |
19 | ········this(ikeSessionStateMachine,·ikeSessionStateMachine.mCurrentIkeSaRecord,·ikeMessage); | 19 | ········this(ikeSessionStateMachine,·ikeSessionStateMachine.mCurrentIkeSaRecord,·ikeMessage); |
20 | ····} | 20 | ····} |
21 | ···· | 21 | ···· |
22 | ····public·void·handleRetransmissionFailure()·{ | 22 | ····public·void·handleRetransmissionFailure()·{ |
23 | ········IkeSessionStateMachine.access$1000(this.this$0,·(Exception)new·IOException("Retransmitting·failure")); | 23 | ········IkeSessionStateMachine.access$1000(this.this$0,·(Exception)new·IOException("Retransmitting·failure")); |
24 | ····} | 24 | ····} |
25 | ···· | 25 | ···· |
26 | ····public·void·send()·{ | ||
27 | ···· | 26 | ····public·void·send(final·IkeMessage·ikeMessage)·{ |
27 | ········this.this$0.sendEncryptedIkeMessage(this.mIkeSaRecord,·ikeMessage); | ||
28 | ····} | 28 | ····} |
29 | } | 29 | } |
Offset 18, 15 lines modified | Offset 18, 15 lines modified | ||
18 | ····private·final·HardwareKeepaliveImpl$HardwareKeepaliveCallback·mHardwareKeepaliveCb; | 18 | ····private·final·HardwareKeepaliveImpl$HardwareKeepaliveCallback·mHardwareKeepaliveCb; |
19 | ····private·final·int·mKeepaliveDelaySeconds; | 19 | ····private·final·int·mKeepaliveDelaySeconds; |
20 | ····private·final·SocketKeepalive·mSocketKeepalive; | 20 | ····private·final·SocketKeepalive·mSocketKeepalive; |
21 | ···· | 21 | ···· |
22 | ····public·HardwareKeepaliveImpl(final·Context·context,·final·ConnectivityManager·connectivityManager,·final·int·mKeepaliveDelaySeconds,·final·Inet4Address·inet4Address,·final·Inet4Address·inet4Address2,·final·IpSecManager$UdpEncapsulationSocket·ipSecManager$UdpEncapsulationSocket,·final·Network·network,·final·HardwareKeepaliveImpl$HardwareKeepaliveCallback·mHardwareKeepaliveCb)·{ | 22 | ····public·HardwareKeepaliveImpl(final·Context·context,·final·ConnectivityManager·connectivityManager,·final·int·mKeepaliveDelaySeconds,·final·Inet4Address·inet4Address,·final·Inet4Address·inet4Address2,·final·IpSecManager$UdpEncapsulationSocket·ipSecManager$UdpEncapsulationSocket,·final·Network·network,·final·HardwareKeepaliveImpl$HardwareKeepaliveCallback·mHardwareKeepaliveCb)·{ |
23 | ········this.mKeepaliveDelaySeconds·=·mKeepaliveDelaySeconds; | 23 | ········this.mKeepaliveDelaySeconds·=·mKeepaliveDelaySeconds; |
24 | ········this.mHardwareKeepaliveCb·=·mHardwareKeepaliveCb; | 24 | ········this.mHardwareKeepaliveCb·=·mHardwareKeepaliveCb; |
25 | ········this.mSocketKeepalive·=·connectivityManager.createSocketKeepalive(network,·ipSecManager$UdpEncapsulationSocket,·(InetAddress)inet4Address,·(InetAddress)inet4Address2,·(Executor)Executors.newSingleThreadExecutor(),·(SocketKeepalive$Callback)new·HardwareKeepaliveImpl$MySocketKeepaliveCb(this)); | 25 | ········this.mSocketKeepalive·=·connectivityManager.createSocketKeepalive(network,·ipSecManager$UdpEncapsulationSocket,·(InetAddress)inet4Address,·(InetAddress)inet4Address2,·(Executor)Executors.newSingleThreadExecutor(),·(SocketKeepalive$Callback)new·HardwareKeepaliveImpl$MySocketKeepaliveCb(this,·(HardwareKeepaliveImpl$1)null)); |
26 | ····} | 26 | ····} |
27 | ···· | 27 | ···· |
28 | ····public·void·onAlarmFired()·{ | 28 | ····public·void·onAlarmFired()·{ |
29 | ····} | 29 | ····} |
30 | ···· | 30 | ···· |
31 | ····public·void·start()·{ | 31 | ····public·void·start()·{ |
32 | ········this.mSocketKeepalive.start(this.mKeepaliveDelaySeconds); | 32 | ········this.mSocketKeepalive.start(this.mKeepaliveDelaySeconds); |
Offset 1, 37 lines modified | Offset 1, 38 lines modified | ||
1 | package·com.android.internal.net.ipsec.ike.keepalive; | 1 | package·com.android.internal.net.ipsec.ike.keepalive; |
2 | import·android.net.ipsec.ike.IkeManager; | 2 | import·android.net.ipsec.ike.IkeManager; |
3 | import·android.net.IpSecManager$UdpEncapsulationSocket; | 3 | import·android.net.IpSecManager$UdpEncapsulationSocket; |
4 | import· | 4 | import·android.app.PendingIntent; |
5 | import·java.net.Inet4Address; | 5 | import·java.net.Inet4Address; |
6 | import·android.content.Context; | 6 | import·android.content.Context; |
7 | class·IkeNattKeepalive$HardwareKeepaliveCb·implements·HardwareKeepaliveImpl$HardwareKeepaliveCallback | 7 | class·IkeNattKeepalive$HardwareKeepaliveCb·implements·HardwareKeepaliveImpl$HardwareKeepaliveCallback |
8 | { | 8 | { |
9 | ····private·final·Context·mContext; | 9 | ····private·final·Context·mContext; |
10 | ····private·final·Inet4Address·mDest; | 10 | ····private·final·Inet4Address·mDest; |
11 | ····private·final· | 11 | ····private·final·PendingIntent·mKeepAliveAlarmIntent; |
12 | ····private·final·int·mKeepaliveDelaySeconds; | ||
12 | ····private·final·IpSecManager$UdpEncapsulationSocket·mSocket; | 13 | ····private·final·IpSecManager$UdpEncapsulationSocket·mSocket; |
13 | ····final·/*·synthetic·*/·IkeNattKeepalive·this$0; | 14 | ····final·/*·synthetic·*/·IkeNattKeepalive·this$0; |
14 | ···· | 15 | ···· |
15 | ····IkeNattKeepalive$HardwareKeepaliveCb(final·IkeNattKeepalive·this$0,·final·Context·mContext,·final·Inet4Address·mDest,·final·IpSecManager$UdpEncapsulationSocket·mSocket,·final· | 16 | ····IkeNattKeepalive$HardwareKeepaliveCb(final·IkeNattKeepalive·this$0,·final·Context·mContext,·final·int·mKeepaliveDelaySeconds,·final·Inet4Address·mDest,·final·IpSecManager$UdpEncapsulationSocket·mSocket,·final·PendingIntent·mKeepAliveAlarmIntent)·{ |
16 | ········this.this$0·=·this$0; | 17 | ········this.this$0·=·this$0; |
17 | ········this.mContext·=·mContext; | 18 | ········this.mContext·=·mContext; |
19 | ········this.mKeepaliveDelaySeconds·=·mKeepaliveDelaySeconds; | ||
18 | ········this.mDest·=·mDest; | 20 | ········this.mDest·=·mDest; |
19 | ········this.mSocket·=·mSocket; | 21 | ········this.mSocket·=·mSocket; |
20 | ········this.m | 22 | ········this.mKeepAliveAlarmIntent·=·mKeepAliveAlarmIntent; |
21 | ····} | 23 | ····} |
22 | ···· | 24 | ···· |
23 | ····public·void·onHardwareOffloadError()·{ | 25 | ····public·void·onHardwareOffloadError()·{ |
24 | ········IkeManager.getIkeLog().d("IkeNattKeepalive",·"Switch·to·software·keepalive"); | 26 | ········IkeManager.getIkeLog().d("IkeNattKeepalive",·"Switch·to·software·keepalive"); |
25 | ········IkeNattKeepalive.access$000(this.this$0).stop(); | 27 | ········IkeNattKeepalive.access$000(this.this$0).stop(); |
28 | ········IkeNattKeepalive.access$002(this.this$0,·(IkeNattKeepalive$NattKeepalive)new·SoftwareKeepaliveImpl(this.mContext,·this.mKeepaliveDelaySeconds,·this.mDest,·this.mSocket,·this.mKeepAliveAlarmIntent)); | ||
26 | ········final·IkeNattKeepalive·this$0·=·this.this$0; | ||
27 | ········IkeNattKeepalive.access$002(this$0,·(IkeNattKeepalive$NattKeepalive)IkeNattKeepalive.access$100(this$0).createSoftwareKeepaliveImpl(this.mContext,·this.mDest,·this.mSocket,·this.mIkeAlarmConfig)); | ||
28 | ········IkeNattKeepalive.access$000(this.this$0).start(); | 29 | ········IkeNattKeepalive.access$000(this.this$0).start(); |
29 | ····} | 30 | ····} |
30 | ···· | 31 | ···· |
31 | ····public·void·onNetworkError()·{ | 32 | ····public·void·onNetworkError()·{ |
32 | ········this.this$0.stop(); | 33 | ········this.this$0.stop(); |
33 | ····} | 34 | ····} |
34 | } | 35 | } |
Offset 1, 85 lines modified | Offset 1, 85 lines modified | ||
1 | package·com.android.internal.net.ipsec.ike.keepalive; | 1 | package·com.android.internal.net.ipsec.ike.keepalive; |
2 | import·java.io.FileDescriptor; | ||
3 | import·com.android.internal.net.utils.Log; | 2 | import·com.android.internal.net.utils.Log; |
3 | import·java.io.FileDescriptor; | ||
4 | import·android.os.SystemClock; | ||
4 | import·java.net.SocketException; | 5 | import·java.net.SocketException; |
5 | import·android.system.ErrnoException; | 6 | import·android.system.ErrnoException; |
7 | import·android.net.ipsec.ike.IkeManager; | ||
6 | import·java.net.InetAddress; | 8 | import·java.net.InetAddress; |
7 | import·android.system.Os; | 9 | import·android.system.Os; |
8 | import·java.nio.ByteBuffer; | 10 | import·java.nio.ByteBuffer; |
11 | import·java.util.concurrent.TimeUnit; | ||
9 | import·android.net.ipsec.ike.IkeManager; | ||
10 | import·com.android.internal.net.ipsec.ike.utils.IkeAlarm$IkeAlarmConfig; | ||
11 | import·android.content.Context; | 12 | import·android.content.Context; |
12 | import·android.net.IpSecManager$UdpEncapsulationSocket; | 13 | import·android.net.IpSecManager$UdpEncapsulationSocket; |
13 | import· | 14 | import·android.app.PendingIntent; |
14 | import·java.net.Inet4Address; | 15 | import·java.net.Inet4Address; |
16 | import·android.app.AlarmManager; | ||
15 | public·final·class·SoftwareKeepaliveImpl·implements·IkeNattKeepalive$NattKeepalive | 17 | public·final·class·SoftwareKeepaliveImpl·implements·IkeNattKeepalive$NattKeepalive |
16 | { | 18 | { |
17 | ····private·static·final·byte[]·NATT_KEEPALIVE_PAYLOAD; | 19 | ····private·static·final·byte[]·NATT_KEEPALIVE_PAYLOAD; |
18 | ····private·static·final·String·TAG·=·"SoftwareKeepaliveImpl"; | 20 | ····private·static·final·String·TAG·=·"SoftwareKeepaliveImpl"; |
21 | ····private·final·AlarmManager·mAlarmMgr; | ||
19 | ····private·final·Inet4Address·mDestAddress; | 22 | ····private·final·Inet4Address·mDestAddress; |
20 | ····private·final· | 23 | ····private·final·long·mKeepaliveDelayMs; |
24 | ····private·final·PendingIntent·mKeepaliveIntent; | ||
21 | ····private·final·IpSecManager$UdpEncapsulationSocket·mSocket; | 25 | ····private·final·IpSecManager$UdpEncapsulationSocket·mSocket; |
22 | ···· | 26 | ···· |
23 | ····static·{ | 27 | ····static·{ |
24 | ········NATT_KEEPALIVE_PAYLOAD·=·new·byte[]·{·-1·}; | 28 | ········NATT_KEEPALIVE_PAYLOAD·=·new·byte[]·{·-1·}; |
25 | ····} | 29 | ····} |
26 | ···· | 30 | ···· |
27 | ····public·SoftwareKeepaliveImpl(final·Context·context,·final·Inet4Address·mDestAddress,·final·IpSecManager$UdpEncapsulationSocket·mSocket,·final· | 31 | ····public·SoftwareKeepaliveImpl(final·Context·context,·final·int·n,·final·Inet4Address·mDestAddress,·final·IpSecManager$UdpEncapsulationSocket·mSocket,·final·PendingIntent·mKeepaliveIntent)·{ |
32 | ········this.mKeepaliveDelayMs·=·TimeUnit.SECONDS.toMillis(n); | ||
28 | ········this.mSocket·=·mSocket; | 33 | ········this.mSocket·=·mSocket; |
34 | ········this.mAlarmMgr·=·(AlarmManager)context.getSystemService("alarm"); | ||
29 | ········this.mDestAddress·=·mDestAddress; | 35 | ········this.mDestAddress·=·mDestAddress; |
30 | ········this.m | 36 | ········this.mKeepaliveIntent·=·mKeepaliveIntent; |
31 | ····} | 37 | ····} |
32 | ···· | 38 | ···· |
33 | ····private·void·sendKeepaliveAndScheduleNext()·{ | 39 | ····private·void·sendKeepaliveAndScheduleNext()·{ |
34 | ········final·Log·ikeLog·=·IkeManager.getIkeLog(); | ||
35 | ········final·StringBuilder·sb·=·new·StringBuilder(); | ||
36 | ········sb.append("Send·keepalive·to·"); | ||
37 | ········sb.append(this.mDestAddress.getHostAddress()); | ||
38 | ········final·String·string·=·sb.toString(); | ||
39 | ········final·String·s·=·"SoftwareKeepaliveImpl"; | ||
40 | ········ikeLog.d(s,·string); | ||
41 | ········try·{ | 40 | ········try·{ |
42 | ············final·IpSecManager$UdpEncapsulationSocket·mSocket·=·this.mSocket; | 41 | ············final·IpSecManager$UdpEncapsulationSocket·mSocket·=·this.mSocket; |
43 | ············try·{ | 42 | ············try·{ |
44 | ················final·FileDescriptor·fileDescriptor·=·mSocket.getFileDescriptor(); | 43 | ················final·FileDescriptor·fileDescriptor·=·mSocket.getFileDescriptor(); |
45 | ················try·{ | 44 | ················try·{ |
46 | ····················final·byte[]·natt_KEEPALIVE_PAYLOAD·=·SoftwareKeepaliveImpl.NATT_KEEPALIVE_PAYLOAD; | 45 | ····················final·byte[]·natt_KEEPALIVE_PAYLOAD·=·SoftwareKeepaliveImpl.NATT_KEEPALIVE_PAYLOAD; |
47 | ····················try·{ | 46 | ····················try·{ |
48 | ························Os.sendto(fileDescriptor,·ByteBuffer.wrap(natt_KEEPALIVE_PAYLOAD),·0,·(InetAddress)this.mDestAddress,·4500); | 47 | ························Os.sendto(fileDescriptor,·ByteBuffer.wrap(natt_KEEPALIVE_PAYLOAD),·0,·(InetAddress)this.mDestAddress,·4500); |
49 | ····················} | 48 | ····················} |
50 | ····················catch·(ErrnoException·|·SocketException·ex)·{ | 49 | ····················catch·(ErrnoException·|·SocketException·ex)·{ |
51 | ························final·Object·o2; | 50 | ························final·Object·o2; |
52 | ························final·Object·o·=·o2; | 51 | ························final·Object·o·=·o2; |
53 | ························final·Log·ikeLog | 52 | ························final·Log·ikeLog·=·IkeManager.getIkeLog(); |
54 | ························final·StringBuilder·sb | 53 | ························final·StringBuilder·sb·=·new·StringBuilder(); |
55 | ························sb | 54 | ························sb.append("Failed·to·keepalive·packet·to·"); |
56 | ························sb | 55 | ························sb.append(this.mDestAddress.getHostAddress()); |
57 | ························ikeLog | 56 | ························ikeLog.i("SoftwareKeepaliveImpl",·sb.toString(),·(Throwable)o); |
58 | ····················} | 57 | ····················} |
59 | ················} | 58 | ················} |
60 | ················catch·(ErrnoException·ex2)·{} | 59 | ················catch·(ErrnoException·ex2)·{} |
61 | ················catch·(SocketException·ex3)·{} | 60 | ················catch·(SocketException·ex3)·{} |
62 | ············} | 61 | ············} |
63 | ············catch·(ErrnoException·ex4)·{} | 62 | ············catch·(ErrnoException·ex4)·{} |
64 | ············catch·(SocketException·ex5)·{} | 63 | ············catch·(SocketException·ex5)·{} |
65 | ········} | 64 | ········} |
66 | ········catch·(ErrnoException·ex6)·{} | 65 | ········catch·(ErrnoException·ex6)·{} |
67 | ········catch·(SocketException·ex7)·{} | 66 | ········catch·(SocketException·ex7)·{} |
68 | ········this.mIke | 67 | ········this.mAlarmMgr.setExactAndAllowWhileIdle(2,·SystemClock.elapsedRealtime()·+·this.mKeepaliveDelayMs,·this.mKeepaliveIntent); |
69 | ····} | 68 | ····} |
70 | ···· | 69 | ···· |
71 | ····public·void·onAlarmFired()·{ | 70 | ····public·void·onAlarmFired()·{ |
72 | ········this.sendKeepaliveAndScheduleNext(); | 71 | ········this.sendKeepaliveAndScheduleNext(); |
73 | ····} | 72 | ····} |
74 | ···· | 73 | ···· |
75 | ····public·void·start()·{ | 74 | ····public·void·start()·{ |
76 | ········this.sendKeepaliveAndScheduleNext(); | 75 | ········this.sendKeepaliveAndScheduleNext(); |
77 | ····} | 76 | ····} |
78 | ···· | 77 | ···· |
79 | ····public·void·stop()·{ | 78 | ····public·void·stop()·{ |
80 | ········this.m | 79 | ········this.mAlarmMgr.cancel(this.mKeepaliveIntent); |
80 | ········this.mKeepaliveIntent.cancel(); | ||
81 | ····} | 81 | ····} |
82 | } | 82 | } |
Offset 1, 33 lines modified | Offset 1, 22 lines modified | ||
1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
2 | import·android.util.SparseArray; | ||
2 | import·android.os.Message; | 3 | import·android.os.Message; |
3 | import·com.android.internal.net.ipsec.ike.utils.State; | 4 | import·com.android.internal.net.ipsec.ike.utils.State; |
4 | public·abstract·class·AbstractSessionStateMachine$ExceptionHandlerBase·extends·State | 5 | public·abstract·class·AbstractSessionStateMachine$ExceptionHandlerBase·extends·State |
5 | { | 6 | { |
6 | ····final·/*·synthetic·*/·AbstractSessionStateMachine·this$0; | 7 | ····final·/*·synthetic·*/·AbstractSessionStateMachine·this$0; |
7 | ···· | 8 | ···· |
8 | ····protected·AbstractSessionStateMachine$ExceptionHandlerBase(final·AbstractSessionStateMachine·this$0)·{ | 9 | ····protected·AbstractSessionStateMachine$ExceptionHandlerBase(final·AbstractSessionStateMachine·this$0)·{ |
9 | ········this.this$0·=·this$0; | 10 | ········this.this$0·=·this$0; |
10 | ····} | 11 | ····} |
11 | ···· | 12 | ···· |
12 | ····private·String·getCmdStr(final·int·i)·{ | ||
13 | ········final·String·s·=·(String)AbstractSessionStateMachine.SHARED_CMD_TO_STR.get(i); | ||
14 | ········if·(s·!=·null)·{ | ||
15 | ············return·s; | ||
16 | ········} | ||
17 | ········final·String·cmdString·=·this.getCmdString(i); | ||
18 | ········if·(cmdString·!=·null)·{ | ||
19 | ············return·cmdString; | ||
20 | ········} | ||
21 | ········return·Integer.toString(i); | ||
22 | ····} | ||
23 | ···· | ||
24 | ····protected·abstract·void·cleanUpAndQuit(final·RuntimeException·p0); | 13 | ····protected·abstract·void·cleanUpAndQuit(final·RuntimeException·p0); |
25 | ···· | 14 | ···· |
26 | ····public·final·void·enter()·{ | 15 | ····public·final·void·enter()·{ |
27 | ········try·{ | 16 | ········try·{ |
28 | ············this.enterState(); | 17 | ············this.enterState(); |
29 | ········} | 18 | ········} |
30 | ········catch·(RuntimeException·ex)·{ | 19 | ········catch·(RuntimeException·ex)·{ |
Offset 49, 54 lines modified | Offset 38, 52 lines modified | ||
49 | ···· | 38 | ···· |
50 | ····protected·void·exitState()·{ | 39 | ····protected·void·exitState()·{ |
51 | ····} | 40 | ····} |
52 | ···· | 41 | ···· |
53 | ····protected·abstract·String·getCmdString(final·int·p0); | 42 | ····protected·abstract·String·getCmdString(final·int·p0); |
54 | ···· | 43 | ···· |
55 | ····public·final·boolean·processMessage(final·Message·message)·{ | 44 | ····public·final·boolean·processMessage(final·Message·message)·{ |
56 | ········final·boolean·b·=·true; | ||
57 | ········try·{ | 45 | ········try·{ |
58 | ············final·AbstractSessionStateMachine | 46 | ············final·SparseArray·shared_CMD_TO_STR·=·AbstractSessionStateMachine.SHARED_CMD_TO_STR; |
59 | ············try·{ | 47 | ············try·{ |
60 | ················Label_0112:·{ | ||
61 | ····················if·(!AbstractSessionStateMachine.access$000(this$0)·||·message.what·==·202)·{ | ||
62 | ·················· | 48 | ················final·Object·value·=·shared_CMD_TO_STR.get(message.what); |
49 | ················try·{ | ||
50 | ····················String·cmdString·=·(String)value; | ||
51 | ····················if·(cmdString·==·null)·{ | ||
52 | ························cmdString·=·this.getCmdString(message.what); | ||
63 | ····················} | 53 | ····················} |
54 | ····················Label_0092:·{ | ||
55 | ························if·(cmdString·==·null)·{ | ||
56 | ····························break·Label_0092; | ||
57 | ························} | ||
64 | ····················final·AbstractSessionStateMachine·this$ | 58 | ························final·AbstractSessionStateMachine·this$0·=·this.this$0; |
65 | ····················try·{ | ||
66 | ························try·{ | 59 | ························try·{ |
67 | ····························final·StringBuilder·sb·=·new·StringBuilder(); | ||
68 | ····························sb.append("Ignore·"); | ||
69 | ····························sb.append(this.getCmdStr(message.what)); | ||
70 | ····························sb.append("·since·this·session·is·going·to·be·closed"); | ||
71 | ····························this$2.logd(sb.toString()); | ||
72 | ····························return·b; | ||
73 | ····························final·AbstractSessionStateMachine·this$3·=·this.this$0; | ||
74 | ····························try·{ | 60 | ····························try·{ |
61 | ································final·StringBuilder·sb·=·new·StringBuilder(); | ||
62 | ································sb.append("processStateMessage:·"); | ||
63 | ································final·StringBuilder·sb2·=·sb; | ||
75 | ································try·{ | 64 | ································try·{ |
76 | ····································final·StringBuilder·sb2·=·new·StringBuilder(); | ||
77 | ····································sb2.append( | 65 | ····································sb2.append(cmdString); |
78 | ····································sb2.append(this.getCmdStr(message.what)); | ||
79 | ····································this$ | 66 | ····································this$0.logd(sb.toString()); |
80 | ····································try·{ | 67 | ····································try·{ |
81 | ········································return·this.processStateMessage(message); | 68 | ········································return·this.processStateMessage(message); |
82 | ····································} | 69 | ····································} |
83 | ····································catch·(RuntimeException·ex)·{ | 70 | ····································catch·(RuntimeException·ex)·{ |
84 | ········································this.cleanUpAndQuit(ex); | 71 | ········································this.cleanUpAndQuit(ex); |
85 | ········································return· | 72 | ········································return·true; |
86 | ····································} | 73 | ····································} |
87 | ································} | 74 | ································} |
88 | ································catch·(RuntimeException·ex2)·{} | 75 | ································catch·(RuntimeException·ex2)·{} |
89 | ····························} | 76 | ····························} |
90 | ····························catch·(RuntimeException·ex3)·{} | 77 | ····························catch·(RuntimeException·ex3)·{} |
91 | ························} | 78 | ························} |
92 | ························catch·(RuntimeException·ex4)·{} | 79 | ························catch·(RuntimeException·ex4)·{} |
93 | ····················} | 80 | ····················} |
94 | ····················catch·(RuntimeException·ex5)·{} | ||
95 | ················} | 81 | ················} |
82 | ················catch·(RuntimeException·ex5)·{} | ||
96 | ············} | 83 | ············} |
97 | ············catch·(RuntimeException·ex6)·{} | 84 | ············catch·(RuntimeException·ex6)·{} |
98 | ········} | 85 | ········} |
99 | ········catch·(RuntimeException·ex7)·{} | 86 | ········catch·(RuntimeException·ex7)·{} |
100 | ····} | 87 | ····} |
101 | ···· | 88 | ···· |
102 | ····protected·boolean·processStateMessage(final·Message·message)·{ | 89 | ····protected·boolean·processStateMessage(final·Message·message)·{ |
Offset 7, 15 lines modified | Offset 7, 14 lines modified | ||
7 | import·com.android.internal.net.ipsec.ike.message.IkePayload; | 7 | import·com.android.internal.net.ipsec.ike.message.IkePayload; |
8 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload; | 8 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload; |
9 | import·java.util.List; | 9 | import·java.util.List; |
10 | import·android.net.ipsec.ike.exceptions.IkeInternalException; | 10 | import·android.net.ipsec.ike.exceptions.IkeInternalException; |
11 | import·android.net.ipsec.ike.exceptions.IkeException; | 11 | import·android.net.ipsec.ike.exceptions.IkeException; |
12 | import·android.os.Bundle; | 12 | import·android.os.Bundle; |
13 | import·android.os.Message; | 13 | import·android.os.Message; |
14 | import·com.android.internal.net.ipsec.ike.utils.IkeAlarm$IkeAlarmConfig; | ||
15 | import·java.util.Iterator; | 14 | import·java.util.Iterator; |
16 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$DhGroupTransform; | 15 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$DhGroupTransform; |
17 | import·java.util.Collection; | 16 | import·java.util.Collection; |
18 | import·java.util.Arrays; | 17 | import·java.util.Arrays; |
19 | import·android.net.ipsec.ike.SaProposal; | 18 | import·android.net.ipsec.ike.SaProposal; |
20 | import·java.util.LinkedHashSet; | 19 | import·java.util.LinkedHashSet; |
21 | import·java.util.concurrent.Executor; | 20 | import·java.util.concurrent.Executor; |
Offset 25, 49 lines modified | Offset 24, 50 lines modified | ||
25 | import·android.net.ipsec.ike.ChildSaProposal; | 24 | import·android.net.ipsec.ike.ChildSaProposal; |
26 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; | 25 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; |
27 | import·android.net.ipsec.ike.IkeTrafficSelector; | 26 | import·android.net.ipsec.ike.IkeTrafficSelector; |
28 | import·java.net.InetAddress; | 27 | import·java.net.InetAddress; |
29 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; | 28 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; |
30 | import·android.net.IpSecManager; | 29 | import·android.net.IpSecManager; |
31 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacPrf; | 30 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacPrf; |
32 | import·android.os.Handler; | ||
33 | import·android.content.Context; | 31 | import·android.content.Context; |
34 | import·com.android.internal.net.ipsec.ike.utils.State; | 32 | import·com.android.internal.net.ipsec.ike.utils.State; |
35 | import·android.net.ipsec.ike.ChildSessionParams; | 33 | import·android.net.ipsec.ike.ChildSessionParams; |
36 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity; | 34 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity; |
37 | import·com.android.internal.net.ipsec.ike.crypto.IkeCipher; | 35 | import·com.android.internal.net.ipsec.ike.crypto.IkeCipher; |
36 | import·android.app.AlarmManager; | ||
38 | import·android.util.SparseArray; | 37 | import·android.util.SparseArray; |
39 | public·class·ChildSessionStateMachine·extends·AbstractSessionStateMachine | 38 | public·class·ChildSessionStateMachine·extends·AbstractSessionStateMachine |
40 | { | 39 | { |
41 | ····private·static·final·int·CMD_GENERAL_BASE·=·300; | 40 | ····private·static·final·int·CMD_GENERAL_BASE·=·300; |
42 | ····private·static·final·int·CMD_HANDLE_FIRST_CHILD_EXCHANGE·=·301; | 41 | ····private·static·final·int·CMD_HANDLE_FIRST_CHILD_EXCHANGE·=·301; |
43 | ····private·static·final·int·CMD_HANDLE_RECEIVED_REQUEST·=·302; | 42 | ····private·static·final·int·CMD_HANDLE_RECEIVED_REQUEST·=·302; |
44 | ····private·static·final·int·CMD_HANDLE_RECEIVED_RESPONSE·=·303; | 43 | ····private·static·final·int·CMD_HANDLE_RECEIVED_RESPONSE·=·303; |
44 | ····private·static·final·int·CMD_KILL_SESSION·=·304; | ||
45 | ····private·static·final·SparseArray·CMD_TO_STR; | 45 | ····private·static·final·SparseArray·CMD_TO_STR; |
46 | ····private·static·final·int·CREATE_STATUS_CHILD_ERROR_INVALID_MSG·=·1; | 46 | ····private·static·final·int·CREATE_STATUS_CHILD_ERROR_INVALID_MSG·=·1; |
47 | ····private·static·final·int·CREATE_STATUS_CHILD_ERROR_RCV_NOTIFY·=·2; | 47 | ····private·static·final·int·CREATE_STATUS_CHILD_ERROR_RCV_NOTIFY·=·2; |
48 | ····private·static·final·int·CREATE_STATUS_OK·=·0; | 48 | ····private·static·final·int·CREATE_STATUS_OK·=·0; |
49 | ····private·static·final·int·SPI_NOT_REGISTERED·=·0; | 49 | ····private·static·final·int·SPI_NOT_REGISTERED·=·0; |
50 | ····private·static·final·String·TAG·=·"ChildSessionStateMachine"; | 50 | ····private·static·final·String·TAG·=·"ChildSessionStateMachine"; |
51 | ····private·final·AlarmManager·mAlarmManager; | ||
51 | ····IkeCipher·mChildCipher; | 52 | ····IkeCipher·mChildCipher; |
52 | ····IkeMacIntegrity·mChildIntegrity; | 53 | ····IkeMacIntegrity·mChildIntegrity; |
53 | ····SaRecord$ChildSaRecord·mChildSaRecordSurviving; | 54 | ····SaRecord$ChildSaRecord·mChildSaRecordSurviving; |
54 | ····final·ChildSessionParams·mChildSessionParams; | 55 | ····final·ChildSessionParams·mChildSessionParams; |
55 | ····private·final·ChildSessionStateMachine$IChildSessionSmCallback·mChildSmCallback; | 56 | ····private·final·ChildSessionStateMachine$IChildSessionSmCallback·mChildSmCallback; |
56 | ····final·State·mClosedAndAwaitResponse; | 57 | ····final·State·mClosedAndAwaitResponse; |
57 | ····private·final·Context·mContext; | 58 | ····private·final·Context·mContext; |
58 | ····final·State·mCreateChildLocalCreate; | 59 | ····final·State·mCreateChildLocalCreate; |
59 | ····SaRecord$ChildSaRecord·mCurrentChildSaRecord; | 60 | ····SaRecord$ChildSaRecord·mCurrentChildSaRecord; |
60 | ····final·State·mDeleteChildLocalDelete; | 61 | ····final·State·mDeleteChildLocalDelete; |
61 | ····final·State·mDeleteChildRemoteDelete; | 62 | ····final·State·mDeleteChildRemoteDelete; |
62 | ····final·State·mIdle; | 63 | ····final·State·mIdle; |
63 | ····final·State·mIdleWithDeferredRequest; | 64 | ····final·State·mIdleWithDeferredRequest; |
64 | ····int·mIkeDhGroup; | 65 | ····int·mIkeDhGroup; |
65 | ····private·final·Handler·mIkeHandler; | ||
66 | ····IkeMacPrf·mIkePrf; | 66 | ····IkeMacPrf·mIkePrf; |
67 | ····private·final·int·mIkeSessionId; | 67 | ····private·final·int·mIkeSessionId; |
68 | ····final·State·mInitial; | 68 | ····final·State·mInitial; |
69 | ····private·final·IpSecManager·mIpSecManager; | 69 | ····private·final·IpSecManager·mIpSecManager; |
70 | ····private·final·IpSecSpiGenerator·mIpSecSpiGenerator; | 70 | ····private·final·IpSecSpiGenerator·mIpSecSpiGenerator; |
71 | ····boolean·mIsFirstChild; | 71 | ····boolean·mIsFirstChild; |
72 | ····final·State·mKillChildSessionParent; | 72 | ····final·State·mKillChildSessionParent; |
Offset 90, 17 lines modified | Offset 90, 18 lines modified | ||
90 | ····private·final·ChildSessionCallback·mUserCallback; | 90 | ····private·final·ChildSessionCallback·mUserCallback; |
91 | ···· | 91 | ···· |
92 | ····static·{ | 92 | ····static·{ |
93 | ········final·SparseArray·cmd_TO_STR·=·new·SparseArray(); | 93 | ········final·SparseArray·cmd_TO_STR·=·new·SparseArray(); |
94 | ········(CMD_TO_STR·=·cmd_TO_STR).put(301,·(Object)"Handle·First·Child"); | 94 | ········(CMD_TO_STR·=·cmd_TO_STR).put(301,·(Object)"Handle·First·Child"); |
95 | ········cmd_TO_STR.put(302,·(Object)"Rcv·request"); | 95 | ········cmd_TO_STR.put(302,·(Object)"Rcv·request"); |
96 | ········cmd_TO_STR.put(303,·(Object)"Rcv·response"); | 96 | ········cmd_TO_STR.put(303,·(Object)"Rcv·response"); |
97 | ········cmd_TO_STR.put(304,·(Object)"Kill·session"); | ||
97 | ····} | 98 | ····} |
98 | ···· | 99 | ···· |
99 | ····ChildSessionStateMachine(final·Looper·looper,·final·Context·mContext,·final·int·mIkeSessionId,·final· | 100 | ····ChildSessionStateMachine(final·Looper·looper,·final·Context·mContext,·final·int·mIkeSessionId,·final·AlarmManager·mAlarmManager,·final·RandomnessFactory·mRandomFactory,·final·IpSecManager·mIpSecManager,·final·IpSecSpiGenerator·mIpSecSpiGenerator,·final·ChildSessionParams·mChildSessionParams,·final·Executor·executor,·final·ChildSessionCallback·mUserCallback,·final·ChildSessionStateMachine$IChildSessionSmCallback·mChildSmCallback)·{ |
100 | ········super("ChildSessionStateMachine",·looper,·executor); | 101 | ········super("ChildSessionStateMachine",·looper,·executor); |
101 | ········this.mLocalRequestFactory·=·new·IkeLocalRequestScheduler$LocalRequestFactory(); | 102 | ········this.mLocalRequestFactory·=·new·IkeLocalRequestScheduler$LocalRequestFactory(); |
102 | ········final·ChildSessionStateMachine$KillChildSessionParent·mKillChildSessionParent·=·new·ChildSessionStateMachine$KillChildSessionParent(this,·(ChildSessionStateMachine$1)null); | 103 | ········final·ChildSessionStateMachine$KillChildSessionParent·mKillChildSessionParent·=·new·ChildSessionStateMachine$KillChildSessionParent(this,·(ChildSessionStateMachine$1)null); |
103 | ········this.mKillChildSessionParent·=·(State)mKillChildSessionParent; | 104 | ········this.mKillChildSessionParent·=·(State)mKillChildSessionParent; |
104 | ········final·ChildSessionStateMachine$Initial·childSessionStateMachine$Initial·=·new·ChildSessionStateMachine$Initial(this); | 105 | ········final·ChildSessionStateMachine$Initial·childSessionStateMachine$Initial·=·new·ChildSessionStateMachine$Initial(this); |
105 | ········this.mInitial·=·(State)childSessionStateMachine$Initial; | 106 | ········this.mInitial·=·(State)childSessionStateMachine$Initial; |
106 | ········final·ChildSessionStateMachine$CreateChildLocalCreate·mCreateChildLocalCreate·=·new·ChildSessionStateMachine$CreateChildLocalCreate(this); | 107 | ········final·ChildSessionStateMachine$CreateChildLocalCreate·mCreateChildLocalCreate·=·new·ChildSessionStateMachine$CreateChildLocalCreate(this); |
Offset 123, 15 lines modified | Offset 124, 15 lines modified | ||
123 | ········this.mRekeyChildRemoteCreate·=·(State)mRekeyChildRemoteCreate; | 124 | ········this.mRekeyChildRemoteCreate·=·(State)mRekeyChildRemoteCreate; |
124 | ········final·ChildSessionStateMachine$RekeyChildLocalDelete·mRekeyChildLocalDelete·=·new·ChildSessionStateMachine$RekeyChildLocalDelete(this); | 125 | ········final·ChildSessionStateMachine$RekeyChildLocalDelete·mRekeyChildLocalDelete·=·new·ChildSessionStateMachine$RekeyChildLocalDelete(this); |
125 | ········this.mRekeyChildLocalDelete·=·(State)mRekeyChildLocalDelete; | 126 | ········this.mRekeyChildLocalDelete·=·(State)mRekeyChildLocalDelete; |
126 | ········final·ChildSessionStateMachine$RekeyChildRemoteDelete·mRekeyChildRemoteDelete·=·new·ChildSessionStateMachine$RekeyChildRemoteDelete(this); | 127 | ········final·ChildSessionStateMachine$RekeyChildRemoteDelete·mRekeyChildRemoteDelete·=·new·ChildSessionStateMachine$RekeyChildRemoteDelete(this); |
127 | ········this.mRekeyChildRemoteDelete·=·(State)mRekeyChildRemoteDelete; | 128 | ········this.mRekeyChildRemoteDelete·=·(State)mRekeyChildRemoteDelete; |
128 | ········this.mContext·=·mContext; | 129 | ········this.mContext·=·mContext; |
129 | ········this.mIkeSessionId·=·mIkeSessionId; | 130 | ········this.mIkeSessionId·=·mIkeSessionId; |
130 | ········this.m | 131 | ········this.mAlarmManager·=·mAlarmManager; |
131 | ········this.mRandomFactory·=·mRandomFactory; | 132 | ········this.mRandomFactory·=·mRandomFactory; |
132 | ········this.mIpSecManager·=·mIpSecManager; | 133 | ········this.mIpSecManager·=·mIpSecManager; |
133 | ········this.mIpSecSpiGenerator·=·mIpSecSpiGenerator; | 134 | ········this.mIpSecSpiGenerator·=·mIpSecSpiGenerator; |
134 | ········this.mChildSessionParams·=·mChildSessionParams; | 135 | ········this.mChildSessionParams·=·mChildSessionParams; |
135 | ········this.mUserCallback·=·mUserCallback; | 136 | ········this.mUserCallback·=·mUserCallback; |
136 | ········this.mChildSmCallback·=·mChildSmCallback; | 137 | ········this.mChildSmCallback·=·mChildSmCallback; |
137 | ········this.addState((State)mKillChildSessionParent); | 138 | ········this.addState((State)mKillChildSessionParent); |
Offset 163, 17 lines modified | Offset 164, 15 lines modified | ||
163 | ········} | 164 | ········} |
164 | ········final·IkeSaPayload$DhGroupTransform[]·array·=·new·IkeSaPayload$DhGroupTransform[set.size()]; | 165 | ········final·IkeSaPayload$DhGroupTransform[]·array·=·new·IkeSaPayload$DhGroupTransform[set.size()]; |
165 | ········set.toArray(array); | 166 | ········set.toArray(array); |
166 | ········return·new·ChildSaProposal(this.mSaProposal.getEncryptionTransforms(),·this.mSaProposal.getIntegrityTransforms(),·array,·this.mSaProposal.getEsnTransforms()); | 167 | ········return·new·ChildSaProposal(this.mSaProposal.getEncryptionTransforms(),·this.mSaProposal.getIntegrityTransforms(),·array,·this.mSaProposal.getEsnTransforms()); |
167 | ····} | 168 | ····} |
168 | ···· | 169 | ···· |
169 | ····private·SaRecord$SaLifetimeAlarmScheduler·buildSaLifetimeAlarmSched(final·int·n)·{ | 170 | ····private·SaRecord$SaLifetimeAlarmScheduler·buildSaLifetimeAlarmSched(final·int·n)·{ |
171 | ········return·new·SaRecord$SaLifetimeAlarmScheduler(this.mChildSessionParams.getHardLifetimeMsInternal(),·this.mChildSessionParams.getSoftLifetimeMsInternal(),·IkeSessionStateMachine.buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_DELETE_CHILD",·this.getIntentIdentifier(n),·this.getIntentIkeSmMsg(2,·n)),·IkeSessionStateMachine.buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_REKEY_CHILD",·this.getIntentIdentifier(n),·this.getIntentIkeSmMsg(3,·n)),·this.mAlarmManager); | ||
170 | ········final·Message·intentIkeSmMsg·=·this.getIntentIkeSmMsg(2,·n); | ||
171 | ········final·Message·intentIkeSmMsg2·=·this.getIntentIkeSmMsg(3,·n); | ||
172 | ········return·new·SaRecord$SaLifetimeAlarmScheduler(new·IkeAlarm$IkeAlarmConfig(this.mContext,·"IkeAlarmReceiver.ACTION_DELETE_CHILD",·this.mChildSessionParams.getHardLifetimeMsInternal(),·IkeSessionStateMachine.buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_DELETE_CHILD",·this.getIntentIdentifier(n),·intentIkeSmMsg),·intentIkeSmMsg),·new·IkeAlarm$IkeAlarmConfig(this.mContext,·"IkeAlarmReceiver.ACTION_REKEY_CHILD",·this.mChildSessionParams.getSoftLifetimeMsInternal(),·IkeSessionStateMachine.buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_REKEY_CHILD",·this.getIntentIdentifier(n),·intentIkeSmMsg2),·intentIkeSmMsg2)); | ||
173 | ····} | 172 | ····} |
174 | ···· | 173 | ···· |
175 | ····private·void·closeAllSaRecords(final·boolean·b)·{ | 174 | ····private·void·closeAllSaRecords(final·boolean·b)·{ |
176 | ········this.closeChildSaRecord(this.mCurrentChildSaRecord,·b); | 175 | ········this.closeChildSaRecord(this.mCurrentChildSaRecord,·b); |
177 | ········this.closeChildSaRecord(this.mLocalInitNewChildSaRecord,·b); | 176 | ········this.closeChildSaRecord(this.mLocalInitNewChildSaRecord,·b); |
178 | ········this.closeChildSaRecord(this.mRemoteInitNewChildSaRecord,·b); | 177 | ········this.closeChildSaRecord(this.mRemoteInitNewChildSaRecord,·b); |
179 | ········this.mCurrentChildSaRecord·=·null; | 178 | ········this.mCurrentChildSaRecord·=·null; |
Offset 209, 15 lines modified | Offset 208, 15 lines modified | ||
209 | ········sb.append(i); | 208 | ········sb.append(i); |
210 | ········return·sb.toString(); | 209 | ········return·sb.toString(); |
211 | ····} | 210 | ····} |
212 | ···· | 211 | ···· |
... Open expanded diff ... |
Offset 19, 15 lines modified | Offset 19, 14 lines modified | ||
19 | import·java.io.IOException; | 19 | import·java.io.IOException; |
20 | import·android.system.ErrnoException; | 20 | import·android.system.ErrnoException; |
21 | import·android.net.ipsec.ike.exceptions.InvalidSyntaxException; | 21 | import·android.net.ipsec.ike.exceptions.InvalidSyntaxException; |
22 | import·android.os.Parcelable; | 22 | import·android.os.Parcelable; |
23 | import·android.os.Bundle; | 23 | import·android.os.Bundle; |
24 | import·android.content.Intent; | 24 | import·android.content.Intent; |
25 | import·android.app.PendingIntent; | 25 | import·android.app.PendingIntent; |
26 | import·com.android.internal.net.ipsec.ike.utils.IkeAlarm$IkeAlarmConfig; | ||
27 | import·java.net.Inet4Address; | 26 | import·java.net.Inet4Address; |
28 | import·com.android.internal.net.ipsec.ike.message.IkeNotifyPayload; | 27 | import·com.android.internal.net.ipsec.ike.message.IkeNotifyPayload; |
29 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; | 28 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; |
30 | import·android.os.Message; | 29 | import·android.os.Message; |
31 | import·android.os.PowerManager; | 30 | import·android.os.PowerManager; |
32 | import·java.util.HashSet; | 31 | import·java.util.HashSet; |
33 | import·android.content.BroadcastReceiver; | 32 | import·android.content.BroadcastReceiver; |
Offset 86, 27 lines modified | Offset 85, 28 lines modified | ||
86 | ····static·final·int·CMD_EAP_OUTBOUND_MSG_READY·=·310; | 85 | ····static·final·int·CMD_EAP_OUTBOUND_MSG_READY·=·310; |
87 | ····static·final·int·CMD_EAP_START_EAP_AUTH·=·309; | 86 | ····static·final·int·CMD_EAP_START_EAP_AUTH·=·309; |
88 | ····static·final·int·CMD_EXECUTE_LOCAL_REQ·=·307; | 87 | ····static·final·int·CMD_EXECUTE_LOCAL_REQ·=·307; |
89 | ····static·final·int·CMD_FORCE_TRANSITION·=·399; | 88 | ····static·final·int·CMD_FORCE_TRANSITION·=·399; |
90 | ····private·static·final·int·CMD_GENERAL_BASE·=·300; | 89 | ····private·static·final·int·CMD_GENERAL_BASE·=·300; |
91 | ····static·final·int·CMD_HANDLE_FIRST_CHILD_NEGOTIATION·=·306; | 90 | ····static·final·int·CMD_HANDLE_FIRST_CHILD_NEGOTIATION·=·306; |
92 | ····static·final·int·CMD_IKE_LOCAL_REQUEST_BASE·=·400; | 91 | ····static·final·int·CMD_IKE_LOCAL_REQUEST_BASE·=·400; |
92 | ····static·final·int·CMD_KILL_SESSION·=·317; | ||
93 | ····static·final·int·CMD_LOCAL_REQUEST_CREATE_IKE·=·401; | 93 | ····static·final·int·CMD_LOCAL_REQUEST_CREATE_IKE·=·401; |
94 | ····static·final·int·CMD_LOCAL_REQUEST_DELETE_IKE·=·402; | 94 | ····static·final·int·CMD_LOCAL_REQUEST_DELETE_IKE·=·402; |
95 | ····static·final·int·CMD_LOCAL_REQUEST_DPD·=·405; | 95 | ····static·final·int·CMD_LOCAL_REQUEST_DPD·=·405; |
96 | ····static·final·int·CMD_LOCAL_REQUEST_INFO·=·404; | 96 | ····static·final·int·CMD_LOCAL_REQUEST_INFO·=·404; |
97 | ····static·final·int·CMD_LOCAL_REQUEST_MOBIKE·=·406; | 97 | ····static·final·int·CMD_LOCAL_REQUEST_MOBIKE·=·406; |
98 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_IKE·=·403; | 98 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_IKE·=·403; |
99 | ····static·final·int·CMD_OUTBOUND_CHILD_PAYLOADS_READY·=·304; | 99 | ····static·final·int·CMD_OUTBOUND_CHILD_PAYLOADS_READY·=·304; |
100 | ····static·final·int·CMD_RECEIVE_IKE_PACKET·=·301; | 100 | ····static·final·int·CMD_RECEIVE_IKE_PACKET·=·301; |
101 | ····static·final·int·CMD_RECEIVE_PACKET_INVALID_IKE_SPI·=·302; | 101 | ····static·final·int·CMD_RECEIVE_PACKET_INVALID_IKE_SPI·=·302; |
102 | ····static·final·int·CMD_RECEIVE_REQUEST_FOR_CHILD·=·303; | 102 | ····static·final·int·CMD_RECEIVE_REQUEST_FOR_CHILD·=·303; |
103 | ····public·static·final·int·CMD_RETRANSMIT·=·308; | 103 | ····public·static·final·int·CMD_RETRANSMIT·=·308; |
104 | ····static·final·int·CMD_SEND_KEEPALIVE·=·316; | 104 | ····static·final·int·CMD_SEND_KEEPALIVE·=·316; |
105 | ····static·final·int·CMD_SET_NETWORK·=·31 | 105 | ····static·final·int·CMD_SET_NETWORK·=·318; |
106 | ····private·static·final·SparseArray·CMD_TO_STR; | 106 | ····private·static·final·SparseArray·CMD_TO_STR; |
107 | ····static·final·int·DEFAULT_FRAGMENT_SIZE·=·1280; | 107 | ····static·final·int·DEFAULT_FRAGMENT_SIZE·=·1280; |
108 | ····public·static·final·SparseArray·EXCHANGE_SUBTYPE_TO_STRING; | 108 | ····public·static·final·SparseArray·EXCHANGE_SUBTYPE_TO_STRING; |
109 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_CREATE_CHILD·=·3; | 109 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_CREATE_CHILD·=·3; |
110 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_DELETE_CHILD·=·5; | 110 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_DELETE_CHILD·=·5; |
111 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_DELETE_IKE·=·4; | 111 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_DELETE_IKE·=·4; |
112 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_GENERIC_INFO·=·8; | 112 | ····public·static·final·int·IKE_EXCHANGE_SUBTYPE_GENERIC_INFO·=·8; |
Offset 237, 15 lines modified | Offset 237, 15 lines modified | ||
237 | ········cmd_TO_STR.put(308,·(Object)"Retransmit"); | 237 | ········cmd_TO_STR.put(308,·(Object)"Retransmit"); |
238 | ········cmd_TO_STR.put(309,·(Object)"Start·EAP"); | 238 | ········cmd_TO_STR.put(309,·(Object)"Start·EAP"); |
239 | ········cmd_TO_STR.put(310,·(Object)"EAP·outbound·msg·ready"); | 239 | ········cmd_TO_STR.put(310,·(Object)"EAP·outbound·msg·ready"); |
240 | ········cmd_TO_STR.put(311,·(Object)"EAP·errored"); | 240 | ········cmd_TO_STR.put(311,·(Object)"EAP·errored"); |
241 | ········cmd_TO_STR.put(312,·(Object)"EAP·failed"); | 241 | ········cmd_TO_STR.put(312,·(Object)"EAP·failed"); |
242 | ········cmd_TO_STR.put(314,·(Object)"Finish·EAP"); | 242 | ········cmd_TO_STR.put(314,·(Object)"Finish·EAP"); |
243 | ········cmd_TO_STR.put(315,·(Object)"Alarm·Fired"); | 243 | ········cmd_TO_STR.put(315,·(Object)"Alarm·Fired"); |
244 | ········cmd_TO_STR.put(31 | 244 | ········cmd_TO_STR.put(318,·(Object)"Update·underlying·Network"); |
245 | ········cmd_TO_STR.put(401,·(Object)"Create·IKE"); | 245 | ········cmd_TO_STR.put(401,·(Object)"Create·IKE"); |
246 | ········cmd_TO_STR.put(402,·(Object)s); | 246 | ········cmd_TO_STR.put(402,·(Object)s); |
247 | ········cmd_TO_STR.put(403,·(Object)s2); | 247 | ········cmd_TO_STR.put(403,·(Object)s2); |
248 | ········cmd_TO_STR.put(404,·(Object)"Info"); | 248 | ········cmd_TO_STR.put(404,·(Object)"Info"); |
249 | ········cmd_TO_STR.put(405,·(Object)"DPD"); | 249 | ········cmd_TO_STR.put(405,·(Object)"DPD"); |
250 | ········cmd_TO_STR.put(406,·(Object)"MOBIKE·migration·event"); | 250 | ········cmd_TO_STR.put(406,·(Object)"MOBIKE·migration·event"); |
251 | ····} | 251 | ····} |
Offset 415, 18 lines modified | Offset 415, 15 lines modified | ||
415 | ····private·static·void·addNatDetectionPayloadsToList(final·List·list,·final·InetAddress·inetAddress,·final·InetAddress·inetAddress2,·final·int·n,·final·int·n2,·final·long·n3,·final·long·n4)·{ | 415 | ····private·static·void·addNatDetectionPayloadsToList(final·List·list,·final·InetAddress·inetAddress,·final·InetAddress·inetAddress2,·final·int·n,·final·int·n2,·final·long·n3,·final·long·n4)·{ |
416 | ········list.add(new·IkeNotifyPayload(16388,·IkeNotifyPayload.generateNatDetectionData(n3,·n4,·inetAddress,·n))); | 416 | ········list.add(new·IkeNotifyPayload(16388,·IkeNotifyPayload.generateNatDetectionData(n3,·n4,·inetAddress,·n))); |
417 | ········list.add(new·IkeNotifyPayload(16389,·IkeNotifyPayload.generateNatDetectionData(n3,·n4,·inetAddress2,·n2))); | 417 | ········list.add(new·IkeNotifyPayload(16389,·IkeNotifyPayload.generateNatDetectionData(n3,·n4,·inetAddress2,·n2))); |
418 | ····} | 418 | ····} |
419 | ···· | 419 | ···· |
420 | ····private·IkeNattKeepalive·buildAndStartNattKeepalive()·{ | 420 | ····private·IkeNattKeepalive·buildAndStartNattKeepalive()·{ |
421 | ········if·(this.mIkeSocket·instanceof·IkeUdpEncapSocket)·{ | 421 | ········if·(this.mIkeSocket·instanceof·IkeUdpEncapSocket)·{ |
422 | ············final·IkeNattKeepalive·ikeNattKeepalive·=·new·IkeNattKeepalive(this.mContext,·this.mConnectivityManager,·this.mIkeSessionParams.getNattKeepAliveDelaySeconds(),·(Inet4Address)this.mLocalAddress,·(Inet4Address)this.mRemoteAddress,·((IkeUdpEncapSocket)this.mIkeSocket).getUdpEncapsulationSocket(),·this.mIkeSocket.getIkeSocketConfig().getNetwork(),·buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_KEEPALIVE",·this.getIntentIdentifier(),·this.obtainMessage(315,·this.mIkeSessionId,·316))); | ||
422 | ············final·Message·obtainMessage·=·this.obtainMessage(315,·this.mIkeSessionId,·316); | ||
423 | ············final·PendingIntent·buildIkeAlarmIntent·=·buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_KEEPALIVE",·this.getIntentIdentifier(),·obtainMessage); | ||
424 | ············final·int·nattKeepAliveDelaySeconds·=·this.mIkeSessionParams.getNattKeepAliveDelaySeconds(); | ||
425 | ············final·IkeNattKeepalive·ikeNattKeepalive·=·new·IkeNattKeepalive(this.mContext,·this.mConnectivityManager,·nattKeepAliveDelaySeconds,·this.mLocalAddress,·this.mRemoteAddress,·((IkeUdpEncapSocket)this.mIkeSocket).getUdpEncapsulationSocket(),·this.mIkeSocket.getIkeSocketConfig().getNetwork(),·new·IkeAlarm$IkeAlarmConfig(this.mContext,·"IkeAlarmReceiver.ACTION_KEEPALIVE",·TimeUnit.SECONDS.toMillis(nattKeepAliveDelaySeconds),·buildIkeAlarmIntent,·obtainMessage)); | ||
426 | ············ikeNattKeepalive.start(); | 423 | ············ikeNattKeepalive.start(); |
427 | ············return·ikeNattKeepalive; | 424 | ············return·ikeNattKeepalive; |
428 | ········} | 425 | ········} |
429 | ········throw·new·IllegalStateException("Cannot·start·NAT-T·keepalive·when·IKE·Session·is·not·using·UDP·Encap·socket"); | 426 | ········throw·new·IllegalStateException("Cannot·start·NAT-T·keepalive·when·IKE·Session·is·not·using·UDP·Encap·socket"); |
430 | ····} | 427 | ····} |
431 | ···· | 428 | ···· |
432 | ····static·PendingIntent·buildIkeAlarmIntent(final·Context·context,·final·String·s,·final·String·identifier,·final·Message·message)·{ | 429 | ····static·PendingIntent·buildIkeAlarmIntent(final·Context·context,·final·String·s,·final·String·identifier,·final·Message·message)·{ |
Offset 683, 20 lines modified | Offset 680, 14 lines modified | ||
683 | ········throw·new·IOException(sb3.toString()); | 680 | ········throw·new·IOException(sb3.toString()); |
684 | ····} | 681 | ····} |
685 | ···· | 682 | ···· |
686 | ····private·void·scheduleRetry(final·IkeLocalRequestScheduler$LocalRequest·ikeLocalRequestScheduler$LocalRequest)·{ | 683 | ····private·void·scheduleRetry(final·IkeLocalRequestScheduler$LocalRequest·ikeLocalRequestScheduler$LocalRequest)·{ |
687 | ········this.sendMessageDelayed(ikeLocalRequestScheduler$LocalRequest.procedureType,·(Object)ikeLocalRequestScheduler$LocalRequest,·IkeSessionStateMachine.RETRY_INTERVAL_MS); | 684 | ········this.sendMessageDelayed(ikeLocalRequestScheduler$LocalRequest.procedureType,·(Object)ikeLocalRequestScheduler$LocalRequest,·IkeSessionStateMachine.RETRY_INTERVAL_MS); |
688 | ····} | 685 | ····} |
689 | ···· | 686 | ···· |
690 | ····private·void·sendEncryptedIkePackets(final·byte[][]·array)·{ | ||
691 | ········for·(int·length·=·array.length,·i·=·0;·i·<·length;·++i)·{ | ||
692 | ············this.mIkeSocket.sendIkePacket(array[i],·this.mRemoteAddress); | ||
693 | ········} | ||
694 | ····} | ||
695 | ···· | ||
696 | ····private·void·setRemoteAddress()·{ | 687 | ····private·void·setRemoteAddress()·{ |
697 | ········final·LinkProperties·linkProperties·=·this.mConnectivityManager.getLinkProperties(this.mNetwork); | 688 | ········final·LinkProperties·linkProperties·=·this.mConnectivityManager.getLinkProperties(this.mNetwork); |
698 | ········if·(!this.mRemoteAddressesV6.isEmpty()·&&·linkProperties.hasGlobalIpv6Address())·{ | 689 | ········if·(!this.mRemoteAddressesV6.isEmpty()·&&·linkProperties.hasGlobalIpv6Address())·{ |
699 | ············this.mRemoteAddress·=·this.mRemoteAddressesV6.get(0); | 690 | ············this.mRemoteAddress·=·this.mRemoteAddressesV6.get(0); |
700 | ········} | 691 | ········} |
701 | ········else·{ | 692 | ········else·{ |
702 | ············if·(this.mRemoteAddressesV4.isEmpty())·{ | 693 | ············if·(this.mRemoteAddressesV4.isEmpty())·{ |
Offset 761, 17 lines modified | Offset 752, 15 lines modified | ||
761 | ····} | 752 | ····} |
762 | ···· | 753 | ···· |
763 | ····IkeMessage·buildEncryptedNotificationMessage(final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord,·final·IkeInformationalPayload[]·a,·final·int·n,·final·boolean·b,·final·int·n2)·{ | 754 | ····IkeMessage·buildEncryptedNotificationMessage(final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord,·final·IkeInformationalPayload[]·a,·final·int·n,·final·boolean·b,·final·int·n2)·{ |
764 | ········return·new·IkeMessage(new·IkeHeader(saRecord$IkeSaRecord.getInitiatorSpi(),·saRecord$IkeSaRecord.getResponderSpi(),·46,·n,·b,·saRecord$IkeSaRecord.isLocalInit,·n2),·(List)Arrays.asList(a)); | 755 | ········return·new·IkeMessage(new·IkeHeader(saRecord$IkeSaRecord.getInitiatorSpi(),·saRecord$IkeSaRecord.getResponderSpi(),·46,·n,·b,·saRecord$IkeSaRecord.isLocalInit,·n2),·(List)Arrays.asList(a)); |
765 | ····} | 756 | ····} |
766 | ···· | 757 | ···· |
767 | ····SaRecord$SaLifetimeAlarmScheduler·buildSaLifetimeAlarmScheduler(final·long·n)·{ | 758 | ····SaRecord$SaLifetimeAlarmScheduler·buildSaLifetimeAlarmScheduler(final·long·n)·{ |
759 | ········return·new·SaRecord$SaLifetimeAlarmScheduler(this.mIkeSessionParams.getHardLifetimeMsInternal(),·this.mIkeSessionParams.getSoftLifetimeMsInternal(),·buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_DELETE_IKE",·this.getIntentIdentifier(n),·this.getIntentIkeSmMsg(402,·n)),·buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_REKEY_IKE",·this.getIntentIdentifier(n),·this.getIntentIkeSmMsg(403,·n)),·this.mAlarmManager); | ||
768 | ········final·Message·intentIkeSmMsg·=·this.getIntentIkeSmMsg(402,·n); | ||
769 | ········final·Message·intentIkeSmMsg2·=·this.getIntentIkeSmMsg(403,·n); | ||
770 | ········return·new·SaRecord$SaLifetimeAlarmScheduler(new·IkeAlarm$IkeAlarmConfig(this.mContext,·"IkeAlarmReceiver.ACTION_DELETE_IKE",·this.mIkeSessionParams.getHardLifetimeMsInternal(),·buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_DELETE_IKE",·this.getIntentIdentifier(n),·intentIkeSmMsg),·intentIkeSmMsg),·new·IkeAlarm$IkeAlarmConfig(this.mContext,·"IkeAlarmReceiver.ACTION_REKEY_IKE",·this.mIkeSessionParams.getSoftLifetimeMsInternal(),·buildIkeAlarmIntent(this.mContext,·"IkeAlarmReceiver.ACTION_REKEY_IKE",·this.getIntentIdentifier(n),·intentIkeSmMsg2),·intentIkeSmMsg2)); | ||
771 | ····} | 760 | ····} |
772 | ···· | 761 | ···· |
773 | ····public·void·closeChildSession(final·ChildSessionCallback·childSessionCallback)·{ | 762 | ····public·void·closeChildSession(final·ChildSessionCallback·childSessionCallback)·{ |
774 | ········if·(childSessionCallback·==·null)·{ | 763 | ········if·(childSessionCallback·==·null)·{ |
775 | ············throw·new·IllegalArgumentException("Child·Session·Callback·must·be·provided"); | 764 | ············throw·new·IllegalArgumentException("Child·Session·Callback·must·be·provided"); |
776 | ········} | 765 | ········} |
777 | ········if·(this.hasChildSessionCallback(childSessionCallback))·{ | 766 | ········if·(this.hasChildSessionCallback(childSessionCallback))·{ |
Offset 785, 14 lines modified | Offset 774, 18 lines modified | ||
785 | ···· | 774 | ···· |
786 | ····public·void·closeSession()·{ | 775 | ····public·void·closeSession()·{ |
787 | ········final·IkeLocalRequestScheduler$LocalRequestFactory·mLocalRequestFactory·=·this.mLocalRequestFactory; | 776 | ········final·IkeLocalRequestScheduler$LocalRequestFactory·mLocalRequestFactory·=·this.mLocalRequestFactory; |
788 | ········final·int·n·=·402; | 777 | ········final·int·n·=·402; |
789 | ········this.sendMessage(n,·(Object)mLocalRequestFactory.getIkeLocalRequest(n)); | 778 | ········this.sendMessage(n,·(Object)mLocalRequestFactory.getIkeLocalRequest(n)); |
790 | ····} | 779 | ····} |
... Open expanded diff ... |
Offset 13, 15 lines modified | Offset 13, 15 lines modified | ||
13 | ····} | 13 | ····} |
14 | ···· | 14 | ···· |
15 | ····public·boolean·processStateMessage(final·Message·message)·{ | 15 | ····public·boolean·processStateMessage(final·Message·message)·{ |
16 | ········switch·(message.what)·{ | 16 | ········switch·(message.what)·{ |
17 | ············default:·{ | 17 | ············default:·{ |
18 | ················return·false; | 18 | ················return·false; |
19 | ············} | 19 | ············} |
20 | ············case· | 20 | ············case·304:·{ |
21 | ················this.this$0.executeUserCallback((Runnable)new·ChildSessionStateMachine$KillChildSessionParent$$ExternalSyntheticLambda0(this)); | 21 | ················this.this$0.executeUserCallback((Runnable)new·ChildSessionStateMachine$KillChildSessionParent$$ExternalSyntheticLambda0(this)); |
22 | ················ChildSessionStateMachine.access$300(this.this$0,·false); | 22 | ················ChildSessionStateMachine.access$300(this.this$0,·false); |
23 | ················this.this$0.quitNow(); | 23 | ················this.this$0.quitNow(); |
24 | ················return·true; | 24 | ················return·true; |
25 | ············} | 25 | ············} |
26 | ········} | 26 | ········} |
27 | ····} | 27 | ····} |
Offset 13, 15 lines modified | Offset 13, 15 lines modified | ||
13 | ····} | 13 | ····} |
14 | ···· | 14 | ···· |
15 | ····public·boolean·processStateMessage(final·Message·message)·{ | 15 | ····public·boolean·processStateMessage(final·Message·message)·{ |
16 | ········switch·(message.what)·{ | 16 | ········switch·(message.what)·{ |
17 | ············default:·{ | 17 | ············default:·{ |
18 | ················return·false; | 18 | ················return·false; |
19 | ············} | 19 | ············} |
20 | ············case· | 20 | ············case·317:·{ |
21 | ················IkeSessionStateMachine.access$000(this.this$0,·false); | 21 | ················IkeSessionStateMachine.access$000(this.this$0,·false); |
22 | ················this.this$0.executeUserCallback((Runnable)new·IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0(this)); | 22 | ················this.this$0.executeUserCallback((Runnable)new·IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0(this)); |
23 | ················this.this$0.quitNow(); | 23 | ················this.this$0.quitNow(); |
24 | ················return·true; | 24 | ················return·true; |
25 | ············} | 25 | ············} |
26 | ········} | 26 | ········} |
27 | ····} | 27 | ····} |
Offset 32, 24 lines modified | Offset 32, 24 lines modified | ||
32 | ················sb.append("Invalid·alarm·action:·"); | 32 | ················sb.append("Invalid·alarm·action:·"); |
33 | ················sb.append(message.arg2); | 33 | ················sb.append(message.arg2); |
34 | ················this$0.logWtf(sb.toString()); | 34 | ················this$0.logWtf(sb.toString()); |
35 | ············} | 35 | ············} |
36 | ············case·402: | 36 | ············case·402: |
37 | ············case·403: | 37 | ············case·403: |
38 | ············case·405:·{ | 38 | ············case·405:·{ |
39 | ················this.enqueueLocalRequestSynchronously((IkeLocalRequestScheduler$LocalRequest)IkeSessionStateMachine.access$1 | 39 | ················this.enqueueLocalRequestSynchronously((IkeLocalRequestScheduler$LocalRequest)IkeSessionStateMachine.access$1800(this.this$0).getIkeLocalRequest(message.arg2,·((Bundle)message.obj).getLong("BUNDLE_KEY_IKE_REMOTE_SPI"))); |
40 | ············} | 40 | ············} |
41 | ············case·316:·{ | 41 | ············case·316:·{ |
42 | ················if·(this.this$0.mIkeNattKeepalive·!=·null)·{ | 42 | ················if·(this.this$0.mIkeNattKeepalive·!=·null)·{ |
43 | ····················this.this$0.mIkeNattKeepalive.onAlarmFired(); | 43 | ····················this.this$0.mIkeNattKeepalive.onAlarmFired(); |
44 | ················} | 44 | ················} |
45 | ············} | 45 | ············} |
46 | ············case·2: | 46 | ············case·2: |
47 | ············case·3:·{ | 47 | ············case·3:·{ |
48 | ················this.enqueueLocalRequestSynchronously((IkeLocalRequestScheduler$LocalRequest)IkeSessionStateMachine.access$1 | 48 | ················this.enqueueLocalRequestSynchronously((IkeLocalRequestScheduler$LocalRequest)IkeSessionStateMachine.access$1800(this.this$0).getChildLocalRequest(message.arg2,·((Bundle)message.obj).getInt("BUNDLE_KEY_CHILD_REMOTE_SPI"))); |
49 | ············} | 49 | ············} |
50 | ········} | 50 | ········} |
51 | ····} | 51 | ····} |
52 | ···· | 52 | ···· |
53 | ····protected·void·handleLocalRequest(final·int·n,·final·IkeLocalRequestScheduler$LocalRequest·ikeLocalRequestScheduler$LocalRequest)·{ | 53 | ····protected·void·handleLocalRequest(final·int·n,·final·IkeLocalRequestScheduler$LocalRequest·ikeLocalRequestScheduler$LocalRequest)·{ |
54 | ········switch·(n)·{ | 54 | ········switch·(n)·{ |
55 | ············default:·{ | 55 | ············default:·{ |
Offset 42, 22 lines modified | Offset 42, 22 lines modified | ||
42 | ············} | 42 | ············} |
43 | ········} | 43 | ········} |
44 | ········return·false; | 44 | ········return·false; |
45 | ····} | 45 | ····} |
46 | ···· | 46 | ···· |
47 | ····protected·SaRecord$IkeSaRecord·getIkeSaRecordForPacket(final·IkeHeader·ikeHeader)·{ | 47 | ····protected·SaRecord$IkeSaRecord·getIkeSaRecordForPacket(final·IkeHeader·ikeHeader)·{ |
48 | ········if·(ikeHeader.fromIkeInitiator)·{ | 48 | ········if·(ikeHeader.fromIkeInitiator)·{ |
49 | ············return·(SaRecord$IkeSaRecord)IkeSessionStateMachine.access$1 | 49 | ············return·(SaRecord$IkeSaRecord)IkeSessionStateMachine.access$1900(this.this$0).get(ikeHeader.ikeResponderSpi); |
50 | ········} | 50 | ········} |
51 | ········return·(SaRecord$IkeSaRecord)IkeSessionStateMachine.access$1 | 51 | ········return·(SaRecord$IkeSaRecord)IkeSessionStateMachine.access$1900(this.this$0).get(ikeHeader.ikeInitiatorSpi); |
52 | ····} | 52 | ····} |
53 | ···· | 53 | ···· |
54 | ····protected·List·handle3gppRespAndExtractNonError3gppPayloads(final·int·n,·final·List·list)·{ | 54 | ····protected·List·handle3gppRespAndExtractNonError3gppPayloads(final·int·n,·final·List·list)·{ |
55 | ········final·List·extract3gppResponsePayloads·=·IkeSessionStateMachine.access$2 | 55 | ········final·List·extract3gppResponsePayloads·=·IkeSessionStateMachine.access$2200(this.this$0).extract3gppResponsePayloads(n,·list); |
56 | ········IkeSessionStateMachine.access$2 | 56 | ········IkeSessionStateMachine.access$2200(this.this$0).handle3gppResponsePayloads(n,·extract3gppResponsePayloads); |
57 | ········final·ArrayList<Object>·list2·=·new·ArrayList<Object>(); | 57 | ········final·ArrayList<Object>·list2·=·new·ArrayList<Object>(); |
58 | ········for·(final·IkePayload·ikePayload·:·extract3gppResponsePayloads)·{ | 58 | ········for·(final·IkePayload·ikePayload·:·extract3gppResponsePayloads)·{ |
59 | ············if·(ikePayload·instanceof·IkeNotifyPayload·&&·((IkeNotifyPayload)ikePayload).isErrorNotify())·{ | 59 | ············if·(ikePayload·instanceof·IkeNotifyPayload·&&·((IkeNotifyPayload)ikePayload).isErrorNotify())·{ |
60 | ················list2.add(ikePayload); | 60 | ················list2.add(ikePayload); |
61 | ············} | 61 | ············} |
62 | ········} | 62 | ········} |
63 | ········extract3gppResponsePayloads.removeAll(list2); | 63 | ········extract3gppResponsePayloads.removeAll(list2); |
Offset 246, 15 lines modified | Offset 246, 15 lines modified | ||
246 | ····················ikeSaRecordForPacket.incrementLocalRequestMessageId(); | 246 | ····················ikeSaRecordForPacket.incrementLocalRequestMessageId(); |
247 | ····················ikeSaRecordForPacket.resetCollectedFragments(b2); | 247 | ····················ikeSaRecordForPacket.resetCollectedFragments(b2); |
248 | ····················final·IkeMessage$DecodeResultOk·ikeMessage$DecodeResultOk·=·(IkeMessage$DecodeResultOk)decode; | 248 | ····················final·IkeMessage$DecodeResultOk·ikeMessage$DecodeResultOk·=·(IkeMessage$DecodeResultOk)decode; |
249 | ····················if·(this.isTempFailure(ikeMessage$DecodeResultOk.ikeMessage))·{ | 249 | ····················if·(this.isTempFailure(ikeMessage$DecodeResultOk.ikeMessage))·{ |
250 | ························this.handleTempFailure(); | 250 | ························this.handleTempFailure(); |
251 | ····················} | 251 | ····················} |
252 | ····················else·{ | 252 | ····················else·{ |
253 | ························IkeSessionStateMachine.access$ | 253 | ························IkeSessionStateMachine.access$2000(this.this$0).reset(); |
254 | ····················} | 254 | ····················} |
255 | ····················this.handleResponseIkeMessage(ikeMessage$DecodeResultOk.ikeMessage); | 255 | ····················this.handleResponseIkeMessage(ikeMessage$DecodeResultOk.ikeMessage); |
256 | ····················break; | 256 | ····················break; |
257 | ················} | 257 | ················} |
258 | ············} | 258 | ············} |
259 | ········} | 259 | ········} |
260 | ········else·{ | 260 | ········else·{ |
Offset 341, 31 lines modified | Offset 341, 31 lines modified | ||
341 | ····························final·StringBuilder·sb13·=·new·StringBuilder(); | 341 | ····························final·StringBuilder·sb13·=·new·StringBuilder(); |
342 | ····························sb13.append(str); | 342 | ····························sb13.append(str); |
343 | ····························sb13.append("Received·DPD·request"); | 343 | ····························sb13.append("Received·DPD·request"); |
344 | ····························this$10.logd(sb13.toString()); | 344 | ····························this$10.logd(sb13.toString()); |
345 | ····························this.this$0.sendEncryptedIkeMessage(ikeSaRecordForPacket,·this.this$0.buildEncryptedInformationalMessage(ikeSaRecordForPacket,·new·IkeInformationalPayload[0],·true,·ikeHeader.messageId)); | 345 | ····························this.this$0.sendEncryptedIkeMessage(ikeSaRecordForPacket,·this.this$0.buildEncryptedInformationalMessage(ikeSaRecordForPacket,·new·IkeInformationalPayload[0],·true,·ikeHeader.messageId)); |
346 | ····························break; | 346 | ····························break; |
347 | ························} | 347 | ························} |
348 | ························final·int·access$2 | 348 | ························final·int·access$2100·=·IkeSessionStateMachine.access$2100(ikeMessage); |
349 | ························final·IkeSessionStateMachine·this$11·=·this.this$0; | 349 | ························final·IkeSessionStateMachine·this$11·=·this.this$0; |
350 | ························final·StringBuilder·sb14·=·new·StringBuilder(); | 350 | ························final·StringBuilder·sb14·=·new·StringBuilder(); |
351 | ························sb14.append(str); | 351 | ························sb14.append(str); |
352 | ························sb14.append("Request·exchange·subtype:·"); | 352 | ························sb14.append("Request·exchange·subtype:·"); |
353 | ························sb14.append((String)IkeSessionStateMachine.EXCHANGE_SUBTYPE_TO_STRING.get(access$2 | 353 | ························sb14.append((String)IkeSessionStateMachine.EXCHANGE_SUBTYPE_TO_STRING.get(access$2100)); |
354 | ························this$11.logd(sb14.toString()); | 354 | ························this$11.logd(sb14.toString()); |
355 | ························if·(access$2 | 355 | ························if·(access$2100·!=·0·&&·access$2100·!=·1·&&·access$2100·!=·2)·{ |
356 | ····························this.handleRequestIkeMessage(ikeMessage,·access$2 | 356 | ····························this.handleRequestIkeMessage(ikeMessage,·access$2100,·message); |
357 | ····························break; | 357 | ····························break; |
358 | ························} | 358 | ························} |
359 | ························final·IkeSessionStateMachine·this$12·=·this.this$0; | 359 | ························final·IkeSessionStateMachine·this$12·=·this.this$0; |
360 | ························this$12.buildAndSendErrorNotificationResponse(this$12.mCurrentIkeSaRecord,·ikeHeader.messageId,·7); | 360 | ························this$12.buildAndSendErrorNotificationResponse(this$12.mCurrentIkeSaRecord,·ikeHeader.messageId,·7); |
361 | ························final·IkeSessionStateMachine·this$13·=·this.this$0; | 361 | ························final·IkeSessionStateMachine·this$13·=·this.this$0; |
362 | ························final·StringBuilder·sb15·=·new·StringBuilder(); | 362 | ························final·StringBuilder·sb15·=·new·StringBuilder(); |
363 | ························sb15.append("Cannot·handle·message·with·invalid·or·unexpected·IkeExchangeSubType:·"); | 363 | ························sb15.append("Cannot·handle·message·with·invalid·or·unexpected·IkeExchangeSubType:·"); |
364 | ························sb15.append(access$2 | 364 | ························sb15.append(access$2100); |
365 | ························IkeSessionStateMachine.access$1000(this$13,·(Exception)new·InvalidSyntaxException(sb15.toString())); | 365 | ························IkeSessionStateMachine.access$1000(this$13,·(Exception)new·InvalidSyntaxException(sb15.toString())); |
366 | ····················} | 366 | ····················} |
367 | ················} | 367 | ················} |
368 | ············} | 368 | ············} |
369 | ········} | 369 | ········} |
370 | ····} | 370 | ····} |
371 | ···· | 371 | ···· |
Offset 411, 15 lines modified | Offset 411, 15 lines modified | ||
411 | ················} | 411 | ················} |
412 | ················return·false; | 412 | ················return·false; |
413 | ············} | 413 | ············} |
414 | ············case·399:·{ | 414 | ············case·399:·{ |
415 | ················this.this$0.transitionTo((IState)(State)message.obj); | 415 | ················this.this$0.transitionTo((IState)(State)message.obj); |
416 | ················return·b; | 416 | ················return·b; |
417 | ············} | 417 | ············} |
418 | ············case·31 | 418 | ············case·318:·{ |
419 | ················this.this$0.onUnderlyingNetworkUpdated((Network)message.obj); | 419 | ················this.this$0.onUnderlyingNetworkUpdated((Network)message.obj); |
420 | ················return·b; | 420 | ················return·b; |
421 | ············} | 421 | ············} |
422 | ············case·315:·{ | 422 | ············case·315:·{ |
423 | ················this.handleFiredAlarm(message); | 423 | ················this.handleFiredAlarm(message); |
424 | ················return·b; | 424 | ················return·b; |
425 | ············} | 425 | ············} |
Offset 1, 21 lines modified | Offset 1, 21 lines modified | ||
1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
2 | import·android.net.Network; | 2 | import·android.net.Network; |
3 | import·com.android.internal.net.ipsec.ike.utils.State; | 3 | import·com.android.internal.net.ipsec.ike.utils.State; |
4 | import· | 4 | import·android.os.SystemClock; |
5 | import·java.util.concurrent.TimeUnit; | 5 | import·java.util.concurrent.TimeUnit; |
6 | import·com.android.internal.net.ipsec.ike.utils.IState; | 6 | import·com.android.internal.net.ipsec.ike.utils.IState; |
7 | import·android.os.Message; | 7 | import·android.os.Message; |
8 | import· | 8 | import·android.app.PendingIntent; |
9 | class·IkeSessionStateMachine$Idle·extends·IkeSessionStateMachine$LocalRequestQueuer | 9 | class·IkeSessionStateMachine$Idle·extends·IkeSessionStateMachine$LocalRequestQueuer |
10 | { | 10 | { |
11 | ····private· | 11 | ····private·PendingIntent·mDpdIntent; |
12 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; | 12 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; |
13 | ···· | 13 | ···· |
14 | ····IkeSessionStateMachine$Idle(final·IkeSessionStateMachine·this$0)·{ | 14 | ····IkeSessionStateMachine$Idle(final·IkeSessionStateMachine·this$0)·{ |
15 | ········this.this$0·=·this$0; | 15 | ········this.this$0·=·this$0; |
16 | ········super(this$0,·(IkeSessionStateMachine$1)null); | 16 | ········super(this$0,·(IkeSessionStateMachine$1)null); |
17 | ····} | 17 | ····} |
18 | ···· | 18 | ···· |
Offset 84, 32 lines modified | Offset 84, 31 lines modified | ||
84 | ········return·false; | 84 | ········return·false; |
85 | ····} | 85 | ····} |
86 | ···· | 86 | ···· |
87 | ····public·void·enterState()·{ | 87 | ····public·void·enterState()·{ |
88 | ········if·(!IkeSessionStateMachine.access$1200(this.this$0).readyForNextProcedure())·{ | 88 | ········if·(!IkeSessionStateMachine.access$1200(this.this$0).readyForNextProcedure())·{ |
89 | ············IkeSessionStateMachine.access$1300(this.this$0).release(); | 89 | ············IkeSessionStateMachine.access$1300(this.this$0).release(); |
90 | ········} | 90 | ········} |
91 | ········if·(this.mDpdIntent·==·null)·{ | ||
92 | ············final·long·remoteSpi·=·this.this$0.mCurrentIkeSaRecord.getRemoteSpi(); | ||
93 | ············this.mDpdIntent·=·IkeSessionStateMachine.buildIkeAlarmIntent(IkeSessionStateMachine.access$1400(this.this$0),·"IkeAlarmReceiver.ACTION_DPD",·IkeSessionStateMachine.access$1500(this.this$0,·remoteSpi),·IkeSessionStateMachine.access$1600(this.this$0,·405,·remoteSpi)); | ||
94 | ········} | ||
91 | ········final·long·millis·=·TimeUnit.SECONDS.toMillis(this.this$0.mIkeSessionParams.getDpdDelaySeconds()); | 95 | ········final·long·millis·=·TimeUnit.SECONDS.toMillis(this.this$0.mIkeSessionParams.getDpdDelaySeconds()); |
96 | ········IkeSessionStateMachine.access$1700(this.this$0).setExactAndAllowWhileIdle(2,·SystemClock.elapsedRealtime()·+·millis,·this.mDpdIntent); | ||
92 | ········final·long·remoteSpi·=·this.this$0.mCurrentIkeSaRecord.getRemoteSpi(); | ||
93 | ········final·Message·access$1400·=·IkeSessionStateMachine.access$1400(this.this$0,·405,·remoteSpi); | ||
94 | ········(this.mDpdAlarm·=·IkeAlarm.newExactAndAllowWhileIdleAlarm(new·IkeAlarm$IkeAlarmConfig(IkeSessionStateMachine.access$1500(this.this$0),·"IkeAlarmReceiver.ACTION_DPD",·millis,·IkeSessionStateMachine.buildIkeAlarmIntent(IkeSessionStateMachine.access$1500(this.this$0),·"IkeAlarmReceiver.ACTION_DPD",·IkeSessionStateMachine.access$1600(this.this$0,·remoteSpi),·access$1400),·access$1400))).schedule(); | ||
95 | ········final·IkeSessionStateMachine·this$0·=·this.this$0; | 97 | ········final·IkeSessionStateMachine·this$0·=·this.this$0; |
96 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 98 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
97 | ········sb.append("DPD·Alarm·scheduled·with·DPD·delay:·"); | 99 | ········sb.append("DPD·Alarm·scheduled·with·DPD·delay:·"); |
98 | ········sb.append(millis); | 100 | ········sb.append(millis); |
99 | ········sb.append("ms"); | 101 | ········sb.append("ms"); |
100 | ········this$0.logd(sb.toString()); | 102 | ········this$0.logd(sb.toString()); |
101 | ····} | 103 | ····} |
102 | ···· | 104 | ···· |
103 | ····protected·void·exitState()·{ | 105 | ····protected·void·exitState()·{ |
106 | ········IkeSessionStateMachine.access$1700(this.this$0).cancel(this.mDpdIntent); | ||
104 | ········final·IkeAlarm·mDpdAlarm·=·this.mDpdAlarm; | ||
105 | ········if·(mDpdAlarm·!=·null)·{ | ||
106 | ············mDpdAlarm.cancel(); | ||
107 | ········ | 107 | ········this.this$0.logd("DPD·Alarm·canceled"); |
108 | ········} | ||
109 | ········IkeSessionStateMachine.access$1300(this.this$0).acquire(); | 108 | ········IkeSessionStateMachine.access$1300(this.this$0).acquire(); |
110 | ····} | 109 | ····} |
111 | ···· | 110 | ···· |
112 | ····public·boolean·processStateMessage(final·Message·message)·{ | 111 | ····public·boolean·processStateMessage(final·Message·message)·{ |
113 | ········final·int·what·=·message.what; | 112 | ········final·int·what·=·message.what; |
114 | ········final·boolean·b·=·true; | 113 | ········final·boolean·b·=·true; |
115 | ········switch·(what)·{ | 114 | ········switch·(what)·{ |
Offset 121, 33 lines modified | Offset 120, 33 lines modified | ||
121 | ················} | 120 | ················} |
122 | ················return·false; | 121 | ················return·false; |
123 | ············} | 122 | ············} |
124 | ············case·399:·{ | 123 | ············case·399:·{ |
125 | ················this.this$0.transitionTo((IState)(State)message.obj); | 124 | ················this.this$0.transitionTo((IState)(State)message.obj); |
126 | ················return·b; | 125 | ················return·b; |
127 | ············} | 126 | ············} |
128 | ············case·31 | 127 | ············case·318:·{ |
129 | ················this.this$0.onUnderlyingNetworkUpdated((Network)message.obj); | 128 | ················this.this$0.onUnderlyingNetworkUpdated((Network)message.obj); |
130 | ················return·b; | 129 | ················return·b; |
131 | ············} | 130 | ············} |
131 | ············case·317:·{ | ||
132 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; | ||
133 | ················this$0.sendEncryptedIkeMessage(this.buildIkeDeleteReq(this$0.mCurrentIkeSaRecord)); | ||
134 | ················return·false; | ||
135 | ············} | ||
132 | ············case·315:·{ | 136 | ············case·315:·{ |
133 | ················this.handleFiredAlarm(message); | 137 | ················this.handleFiredAlarm(message); |
134 | ················return·b; | 138 | ················return·b; |
135 | ············} | 139 | ············} |
136 | ············case·307:·{ | 140 | ············case·307:·{ |
137 | ················this.executeLocalRequest((IkeLocalRequestScheduler$LocalRequest)message.obj,·message); | 141 | ················this.executeLocalRequest((IkeLocalRequestScheduler$LocalRequest)message.obj,·message); |
138 | ················return·b; | 142 | ················return·b; |
139 | ············} | 143 | ············} |
140 | ············case·301:·{ | 144 | ············case·301:·{ |
141 | ················this.this$0.deferMessage(message); | 145 | ················this.this$0.deferMessage(message); |
142 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; | ||
143 | ················this$0.transitionTo((IState)this$0.mReceiving); | ||
144 | ················return·b; | ||
145 | ············} | ||
146 | ············case·202:·{ | ||
147 | ················final·IkeSessionStateMachine·this$2·=·this.this$0; | 146 | ················final·IkeSessionStateMachine·this$2·=·this.this$0; |
148 | ················this$2. | 147 | ················this$2.transitionTo((IState)this$2.mReceiving); |
149 | ················return· | 148 | ················return·b; |
150 | ············} | 149 | ············} |
151 | ········} | 150 | ········} |
152 | ····} | 151 | ····} |
153 | } | 152 | } |
Offset 615, 15 lines modified | Offset 615, 15 lines modified | ||
615 | ····} | 615 | ····} |
616 | ···· | 616 | ···· |
617 | ····public·boolean·processStateMessage(final·Message·message)·{ | 617 | ····public·boolean·processStateMessage(final·Message·message)·{ |
618 | ········switch·(message.what)·{ | 618 | ········switch·(message.what)·{ |
619 | ············default:·{ | 619 | ············default:·{ |
620 | ················return·super.processStateMessage(message); | 620 | ················return·super.processStateMessage(message); |
621 | ············} | 621 | ············} |
622 | ············case·31 | 622 | ············case·318:·{ |
623 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; | 623 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; |
624 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 624 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
625 | ················sb.append("Received·SET_NETWORK·cmd·in·"); | 625 | ················sb.append("Received·SET_NETWORK·cmd·in·"); |
626 | ················sb.append(this.this$0.getCurrentState().getName()); | 626 | ················sb.append(this.this$0.getCurrentState().getName()); |
627 | ················this$0.logWtf(sb.toString()); | 627 | ················this$0.logWtf(sb.toString()); |
628 | ················return·false; | 628 | ················return·false; |
629 | ············} | 629 | ············} |
Offset 351, 24 lines modified | Offset 351, 31 lines modified | ||
351 | ········final·LinkedList·list2·=·new·LinkedList(); | 351 | ········final·LinkedList·list2·=·new·LinkedList(); |
352 | ········list2.addAll(ikeMessage.ikePayloadList); | 352 | ········list2.addAll(ikeMessage.ikePayloadList); |
353 | ········list2.removeAll(list); | 353 | ········list2.removeAll(list); |
354 | ········this.mChildInLocalProcedure.receiveResponse(ikeMessage.ikeHeader.exchangeType,·(List)list2); | 354 | ········this.mChildInLocalProcedure.receiveResponse(ikeMessage.ikeHeader.exchangeType,·(List)list2); |
355 | ····} | 355 | ····} |
356 | ···· | 356 | ···· |
357 | ····protected·void·handleTempFailure()·{ | 357 | ····protected·void·handleTempFailure()·{ |
358 | ········IkeSessionStateMachine.access$ | 358 | ········IkeSessionStateMachine.access$2000(this.this$0).handleTempFailure(); |
359 | ····} | 359 | ····} |
360 | ···· | 360 | ···· |
361 | ····public·boolean·processStateMessage(final·Message·message)·{ | 361 | ····public·boolean·processStateMessage(final·Message·message)·{ |
362 | ········final·int·what·=·message.what; | 362 | ········final·int·what·=·message.what; |
363 | ········final·boolean·b·=·true; | 363 | ········final·boolean·b·=·true; |
364 | ········switch·(what)·{ | 364 | ········switch·(what)·{ |
365 | ············default:·{ | 365 | ············default:·{ |
366 | ················return·super.processStateMessage(message); | 366 | ················return·super.processStateMessage(message); |
367 | ············} | 367 | ············} |
368 | ············case·317:·{ | ||
369 | ················if·(this.mChildInLocalProcedure·==·null)·{ | ||
370 | ····················final·IkeSessionStateMachine·this$0·=·this.this$0; | ||
371 | ····················this$0.sendEncryptedIkeMessage(this.buildIkeDeleteReq(this$0.mCurrentIkeSaRecord)); | ||
372 | ················} | ||
373 | ················return·false; | ||
374 | ············} | ||
368 | ············case·307:·{ | 375 | ············case·307:·{ |
369 | ················this.executeLocalRequest((IkeLocalRequestScheduler$ChildLocalRequest)message.obj); | 376 | ················this.executeLocalRequest((IkeLocalRequestScheduler$ChildLocalRequest)message.obj); |
370 | ················return·b; | 377 | ················return·b; |
371 | ············} | 378 | ············} |
372 | ············case·306:·{ | 379 | ············case·306:·{ |
373 | ················final·IkeSessionStateMachine$FirstChildNegotiationData·ikeSessionStateMachine$FirstChildNegotiationData·=·(IkeSessionStateMachine$FirstChildNegotiationData)message.obj; | 380 | ················final·IkeSessionStateMachine$FirstChildNegotiationData·ikeSessionStateMachine$FirstChildNegotiationData·=·(IkeSessionStateMachine$FirstChildNegotiationData)message.obj; |
374 | ················final·ChildSessionStateMachine·childSession·=·this.getChildSession(ikeSessionStateMachine$FirstChildNegotiationData.childSessionCallback); | 381 | ················final·ChildSessionStateMachine·childSession·=·this.getChildSession(ikeSessionStateMachine$FirstChildNegotiationData.childSessionCallback); |
Offset 402, 21 lines modified | Offset 409, 14 lines modified | ||
402 | ················} | 409 | ················} |
403 | ················return·b; | 410 | ················return·b; |
404 | ············} | 411 | ············} |
405 | ············case·303:·{ | 412 | ············case·303:·{ |
406 | ················this.handleRequestIkeMessage(message.obj,·message.arg1,·(Message)null); | 413 | ················this.handleRequestIkeMessage(message.obj,·message.arg1,·(Message)null); |
407 | ················return·b; | 414 | ················return·b; |
408 | ············} | 415 | ············} |
409 | ············case·202:·{ | ||
410 | ················if·(this.mChildInLocalProcedure·==·null)·{ | ||
411 | ····················final·IkeSessionStateMachine·this$0·=·this.this$0; | ||
412 | ····················this$0.sendEncryptedIkeMessage(this.buildIkeDeleteReq(this$0.mCurrentIkeSaRecord)); | ||
413 | ················} | ||
414 | ················return·false; | ||
415 | ············} | ||
416 | ········} | 416 | ········} |
417 | ····} | 417 | ····} |
418 | ···· | 418 | ···· |
419 | ····protected·void·triggerRetransmit()·{ | 419 | ····protected·void·triggerRetransmit()·{ |
420 | ········this.mRetransmitter.retransmit(); | 420 | ········this.mRetransmitter.retransmit(); |
421 | ····} | 421 | ····} |
422 | } | 422 | } |
Offset 64, 17 lines modified | Offset 64, 17 lines modified | ||
64 | ········} | 64 | ········} |
65 | ····} | 65 | ····} |
66 | ···· | 66 | ···· |
67 | ····private·void·migrateAllChildSAs()·{ | 67 | ····private·void·migrateAllChildSAs()·{ |
68 | ········for·(int·i·=·0;·i·<·IkeSessionStateMachine.access$200(this.this$0).size();·++i)·{ | 68 | ········for·(int·i·=·0;·i·<·IkeSessionStateMachine.access$200(this.this$0).size();·++i)·{ |
69 | ············final·int·key·=·IkeSessionStateMachine.access$200(this.this$0).keyAt(i); | 69 | ············final·int·key·=·IkeSessionStateMachine.access$200(this.this$0).keyAt(i); |
70 | ············final·IkeSessionStateMachine·this$0·=·this.this$0; | 70 | ············final·IkeSessionStateMachine·this$0·=·this.this$0; |
71 | ············final·IkeLocalRequestScheduler$LocalRequestFactory·access$1 | 71 | ············final·IkeLocalRequestScheduler$LocalRequestFactory·access$1800·=·IkeSessionStateMachine.access$1800(this$0); |
72 | ············final·int·n·=·4; | 72 | ············final·int·n·=·4; |
73 | ············this$0.sendMessage(n,·(Object)access$1 | 73 | ············this$0.sendMessage(n,·(Object)access$1800.getChildLocalRequest(n,·key)); |
74 | ········} | 74 | ········} |
75 | ····} | 75 | ····} |
76 | ···· | 76 | ···· |
77 | ····private·boolean·needNatDetection()·{ | 77 | ····private·boolean·needNatDetection()·{ |
78 | ········final·boolean·b·=·this.this$0.mRemoteAddress·instanceof·Inet4Address; | 78 | ········final·boolean·b·=·this.this$0.mRemoteAddress·instanceof·Inet4Address; |
79 | ········boolean·b2·=·false; | 79 | ········boolean·b2·=·false; |
80 | ········final·boolean·b3·=·true; | 80 | ········final·boolean·b3·=·true; |
Offset 148, 15 lines modified | Offset 148, 15 lines modified | ||
148 | ········} | 148 | ········} |
149 | ········list.addAll((Collection<?>)ChildSessionStateMachine$CreateChildSaHelper.getInitChildCreateReqPayloads(this.this$0.mRandomFactory,·IkeSessionStateMachine.access$3700(this.this$0),·this.this$0.mLocalAddress,·IkeSessionStateMachine.access$3200(this.this$0),·(boolean)(n·!=·0))); | 149 | ········list.addAll((Collection<?>)ChildSessionStateMachine$CreateChildSaHelper.getInitChildCreateReqPayloads(this.this$0.mRandomFactory,·IkeSessionStateMachine.access$3700(this.this$0),·this.this$0.mLocalAddress,·IkeSessionStateMachine.access$3200(this.this$0),·(boolean)(n·!=·0))); |
150 | ········final·ArrayList<IkeConfigPayload$ConfigAttributeAppVersion>·list2·=·new·ArrayList<IkeConfigPayload$ConfigAttributeAppVersion>(); | 150 | ········final·ArrayList<IkeConfigPayload$ConfigAttributeAppVersion>·list2·=·new·ArrayList<IkeConfigPayload$ConfigAttributeAppVersion>(); |
151 | ········list2.addAll((Collection<?>)Arrays.asList((Object[])ChildSessionStateMachine$CreateChildSaHelper.getConfigAttributes(IkeSessionStateMachine.access$3200(this.this$0)))); | 151 | ········list2.addAll((Collection<?>)Arrays.asList((Object[])ChildSessionStateMachine$CreateChildSaHelper.getConfigAttributes(IkeSessionStateMachine.access$3200(this.this$0)))); |
152 | ········list2.addAll((Collection<?>)Arrays.asList((Object[])this.this$0.mIkeSessionParams.getConfigurationAttributesInternal())); | 152 | ········list2.addAll((Collection<?>)Arrays.asList((Object[])this.this$0.mIkeSessionParams.getConfigurationAttributesInternal())); |
153 | ········list2.add(new·IkeConfigPayload$ConfigAttributeAppVersion()); | 153 | ········list2.add(new·IkeConfigPayload$ConfigAttributeAppVersion()); |
154 | ········list.add(new·IkeConfigPayload(false,·(List)list2)); | 154 | ········list.add(new·IkeConfigPayload(false,·(List)list2)); |
155 | ········list.addAll((Collection<?>)IkeSessionStateMachine.access$2 | 155 | ········list.addAll((Collection<?>)IkeSessionStateMachine.access$2200(this.this$0).getRequestPayloads(n2)); |
156 | ········return·this.buildIkeAuthReqMessage((List)list); | 156 | ········return·this.buildIkeAuthReqMessage((List)list); |
157 | ····} | 157 | ····} |
158 | ···· | 158 | ···· |
159 | ····private·void·validateIkeAuthResp(final·IkeMessage·ikeMessage)·{ | 159 | ····private·void·validateIkeAuthResp(final·IkeMessage·ikeMessage)·{ |
160 | ········IkeAuthPayload·ikeAuthPayload·=·null; | 160 | ········IkeAuthPayload·ikeAuthPayload·=·null; |
161 | ········final·LinkedList<IkeCertPayload>·list·=·new·LinkedList<IkeCertPayload>(); | 161 | ········final·LinkedList<IkeCertPayload>·list·=·new·LinkedList<IkeCertPayload>(); |
162 | ········final·List·handle3gppRespAndExtractNonError3gppPayloads·=·this.handle3gppRespAndExtractNonError3gppPayloads(2,·ikeMessage.ikePayloadList); | 162 | ········final·List·handle3gppRespAndExtractNonError3gppPayloads·=·this.handle3gppRespAndExtractNonError3gppPayloads(2,·ikeMessage.ikePayloadList); |
Offset 359, 15 lines modified | Offset 359, 15 lines modified | ||
359 | ····} | 359 | ····} |
360 | ···· | 360 | ···· |
361 | ····public·boolean·processStateMessage(final·Message·message)·{ | 361 | ····public·boolean·processStateMessage(final·Message·message)·{ |
362 | ········switch·(message.what)·{ | 362 | ········switch·(message.what)·{ |
363 | ············default:·{ | 363 | ············default:·{ |
364 | ················return·super.processStateMessage(message); | 364 | ················return·super.processStateMessage(message); |
365 | ············} | 365 | ············} |
366 | ············case·31 | 366 | ············case·318:·{ |
367 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; | 367 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; |
368 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 368 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
369 | ················sb.append("Received·SET_NETWORK·cmd·in·"); | 369 | ················sb.append("Received·SET_NETWORK·cmd·in·"); |
370 | ················sb.append(this.this$0.getCurrentState().getName()); | 370 | ················sb.append(this.this$0.getCurrentState().getName()); |
371 | ················this$0.logWtf(sb.toString()); | 371 | ················this$0.logWtf(sb.toString()); |
372 | ················return·false; | 372 | ················return·false; |
373 | ············} | 373 | ············} |
Offset 4, 16 lines modified | Offset 4, 16 lines modified | ||
4 | import·java.util.Arrays; | 4 | import·java.util.Arrays; |
5 | import·com.android.internal.net.ipsec.ike.utils.IState; | 5 | import·com.android.internal.net.ipsec.ike.utils.IState; |
6 | import·android.os.Message; | 6 | import·android.os.Message; |
7 | import·java.util.Iterator; | 7 | import·java.util.Iterator; |
8 | import·java.util.List; | 8 | import·java.util.List; |
9 | import·com.android.internal.net.ipsec.ike.message.IkeHeader; | 9 | import·com.android.internal.net.ipsec.ike.message.IkeHeader; |
10 | import·com.android.internal.net.ipsec.ike.utils.Retransmitter; | 10 | import·com.android.internal.net.ipsec.ike.utils.Retransmitter; |
11 | import·android.net.ipsec.ike.exceptions.IkeProtocolException; | ||
12 | import·android.net.ipsec.ike.exceptions.AuthenticationFailedException; | 11 | import·android.net.ipsec.ike.exceptions.AuthenticationFailedException; |
12 | import·android.net.ipsec.ike.exceptions.IkeProtocolException; | ||
13 | import·com.android.internal.net.ipsec.ike.message.IkeNotifyPayload; | 13 | import·com.android.internal.net.ipsec.ike.message.IkeNotifyPayload; |
14 | import·com.android.internal.net.ipsec.ike.message.IkeEapPayload; | 14 | import·com.android.internal.net.ipsec.ike.message.IkeEapPayload; |
15 | import·com.android.internal.net.ipsec.ike.message.IkePayload; | 15 | import·com.android.internal.net.ipsec.ike.message.IkePayload; |
16 | import·java.util.Collection; | 16 | import·java.util.Collection; |
17 | import·java.util.ArrayList; | 17 | import·java.util.ArrayList; |
18 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; | 18 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; |
19 | import·android.net.ipsec.ike.exceptions.InvalidSyntaxException; | 19 | import·android.net.ipsec.ike.exceptions.InvalidSyntaxException; |
Offset 28, 15 lines modified | Offset 28, 15 lines modified | ||
28 | ···· | 28 | ···· |
29 | ····IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap(final·IkeSessionStateMachine·this$0)·{ | 29 | ····IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap(final·IkeSessionStateMachine·this$0)·{ |
30 | ········this.this$0·=·this$0; | 30 | ········this.this$0·=·this$0; |
31 | ········super(this$0); | 31 | ········super(this$0); |
32 | ····} | 32 | ····} |
33 | ···· | 33 | ···· |
34 | ····public·void·enterState()·{ | 34 | ····public·void·enterState()·{ |
35 | ········this.mEapAuthenticator·=·IkeSessionStateMachine.access$3900(this.this$0).newEapAuthenticator(this.this$0.getHandler().getLooper(),·(IEapCallback)new·IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback(this,·(IkeSessionStateMachine$1)null),·IkeSessionStateMachine.access$1 | 35 | ········this.mEapAuthenticator·=·IkeSessionStateMachine.access$3900(this.this$0).newEapAuthenticator(this.this$0.getHandler().getLooper(),·(IEapCallback)new·IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback(this,·(IkeSessionStateMachine$1)null),·IkeSessionStateMachine.access$1400(this.this$0),·((IkeSessionParams$IkeAuthEapConfig)this.this$0.mIkeSessionParams.getLocalAuthConfig()).mEapConfig,·this.this$0.mRandomFactory); |
36 | ····} | 36 | ····} |
37 | ···· | 37 | ···· |
38 | ····protected·void·handleResponseGenericProcessError(final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord,·final·InvalidSyntaxException·ex)·{ | 38 | ····protected·void·handleResponseGenericProcessError(final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord,·final·InvalidSyntaxException·ex)·{ |
39 | ········this.mRetransmitter.stopRetransmitting(); | 39 | ········this.mRetransmitter.stopRetransmitting(); |
40 | ········IkeSessionStateMachine.access$1000(this.this$0,·(Exception)ex); | 40 | ········IkeSessionStateMachine.access$1000(this.this$0,·(Exception)ex); |
41 | ····} | 41 | ····} |
42 | ···· | 42 | ···· |
Offset 102, 21 lines modified | Offset 102, 19 lines modified | ||
102 | ························································································try·{ | 102 | ························································································try·{ |
103 | ····························································································final·StringBuilder·sb2·=·new·StringBuilder(); | 103 | ····························································································final·StringBuilder·sb2·=·new·StringBuilder(); |
104 | ····························································································sb2.append("Received·unexpected·payload·in·IKE·AUTH·response.·Payload·type:·"); | 104 | ····························································································sb2.append("Received·unexpected·payload·in·IKE·AUTH·response.·Payload·type:·"); |
105 | ····························································································sb2.append(ikePayload.payloadType); | 105 | ····························································································sb2.append(ikePayload.payloadType); |
106 | ····························································································final·IkeSessionStateMachine·this$0; | 106 | ····························································································final·IkeSessionStateMachine·this$0; |
107 | ····························································································this$0.logw(sb2.toString()); | 107 | ····························································································this$0.logw(sb2.toString()); |
108 | ····························································································continue; | 108 | ····························································································continue; |
109 | ····························································································//·iftrue(Label_0354:,·ikeEapPayload·==·null) | ||
109 | ····························································································final·EapAuthenticator·mEapAuthenticator·=·this.mEapAuthenticator; | 110 | ····························································································final·EapAuthenticator·mEapAuthenticator·=·this.mEapAuthenticator; |
110 | ····························································································try·{ | 111 | ····························································································try·{ |
111 | ································································································mEapAuthenticator.processEapMessage(ikeEapPayload.eapMessage); | 112 | ································································································mEapAuthenticator.processEapMessage(ikeEapPayload.eapMessage); |
112 | ································································································return; | 113 | ································································································return; |
113 | ································································································Label_0354:·{ | ||
114 | ····································································································throw·new·AuthenticationFailedException("EAP·Payload·is·missing."); | ||
115 | ································································································} | ||
116 | ································································································try·{ | 114 | ································································································try·{ |
117 | ····································································································try·{ | 115 | ····································································································try·{ |
118 | ········································································································final·StringBuilder·sb3·=·new·StringBuilder(); | 116 | ········································································································final·StringBuilder·sb3·=·new·StringBuilder(); |
119 | ········································································································sb3.append("Expected·EXCHANGE_TYPE_IKE_AUTH·but·received:·"); | 117 | ········································································································sb3.append("Expected·EXCHANGE_TYPE_IKE_AUTH·but·received:·"); |
120 | ········································································································final·StringBuilder·sb4·=·sb3; | 118 | ········································································································final·StringBuilder·sb4·=·sb3; |
121 | ········································································································try·{ | 119 | ········································································································try·{ |
122 | ············································································································sb4.append(exchangeType); | 120 | ············································································································sb4.append(exchangeType); |
Offset 125, 18 lines modified | Offset 123, 20 lines modified | ||
125 | ········································································································catch·(IkeProtocolException·ex)·{ | 123 | ········································································································catch·(IkeProtocolException·ex)·{ |
126 | ············································································································IkeSessionStateMachine.access$1000(this.this$0,·(Exception)ex); | 124 | ············································································································IkeSessionStateMachine.access$1000(this.this$0,·(Exception)ex); |
127 | ········································································································} | 125 | ········································································································} |
128 | ····································································································} | 126 | ····································································································} |
129 | ····································································································catch·(IkeProtocolException·ex2)·{} | 127 | ····································································································catch·(IkeProtocolException·ex2)·{} |
130 | ································································································} | 128 | ································································································} |
131 | ································································································catch·(IkeProtocolException·ex3)·{} | 129 | ································································································catch·(IkeProtocolException·ex3)·{} |
130 | ································································································Label_0354:·{ | ||
131 | ····································································································throw·new·AuthenticationFailedException("EAP·Payload·is·missing."); | ||
132 | ································································································} | ||
132 | ····························································································} | 133 | ····························································································} |
133 | ····························································································catch·(IkeProtocolException·ex4)·{} | 134 | ····························································································catch·(IkeProtocolException·ex4)·{} |
134 | ························································································} | 135 | ························································································} |
135 | ························································································//·iftrue(Label_0354:,·ikeEapPayload·==·null) | ||
136 | ························································································catch·(IkeProtocolException·ex5)·{} | 136 | ························································································catch·(IkeProtocolException·ex5)·{} |
137 | ····················································································} | 137 | ····················································································} |
138 | ····················································································catch·(IkeProtocolException·ex6)·{} | 138 | ····················································································catch·(IkeProtocolException·ex6)·{} |
139 | ················································································} | 139 | ················································································} |
140 | ················································································catch·(IkeProtocolException·ex7)·{} | 140 | ················································································catch·(IkeProtocolException·ex7)·{} |
141 | ············································································} | 141 | ············································································} |
142 | ············································································catch·(IkeProtocolException·ex8)·{} | 142 | ············································································catch·(IkeProtocolException·ex8)·{} |
Offset 173, 15 lines modified | Offset 173, 15 lines modified | ||
173 | ····public·boolean·processStateMessage(final·Message·message)·{ | 173 | ····public·boolean·processStateMessage(final·Message·message)·{ |
174 | ········final·int·what·=·message.what; | 174 | ········final·int·what·=·message.what; |
175 | ········final·int·n·=·1; | 175 | ········final·int·n·=·1; |
176 | ········switch·(what)·{ | 176 | ········switch·(what)·{ |
177 | ············default:·{ | 177 | ············default:·{ |
178 | ················return·super.processStateMessage(message); | 178 | ················return·super.processStateMessage(message); |
179 | ············} | 179 | ············} |
180 | ············case·31 | 180 | ············case·318:·{ |
181 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; | 181 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; |
182 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 182 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
183 | ················sb.append("Received·SET_NETWORK·cmd·in·"); | 183 | ················sb.append("Received·SET_NETWORK·cmd·in·"); |
184 | ················sb.append(this.this$0.getCurrentState().getName()); | 184 | ················sb.append(this.this$0.getCurrentState().getName()); |
185 | ················this$0.logWtf(sb.toString()); | 185 | ················this$0.logWtf(sb.toString()); |
186 | ················return·false; | 186 | ················return·false; |
187 | ············} | 187 | ············} |
Offset 135, 15 lines modified | Offset 135, 15 lines modified | ||
135 | ····} | 135 | ····} |
136 | ···· | 136 | ···· |
137 | ····public·boolean·processStateMessage(final·Message·message)·{ | 137 | ····public·boolean·processStateMessage(final·Message·message)·{ |
138 | ········switch·(message.what)·{ | 138 | ········switch·(message.what)·{ |
139 | ············default:·{ | 139 | ············default:·{ |
140 | ················return·super.processStateMessage(message); | 140 | ················return·super.processStateMessage(message); |
141 | ············} | 141 | ············} |
142 | ············case·31 | 142 | ············case·318:·{ |
143 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; | 143 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; |
144 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 144 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
145 | ················sb.append("Received·SET_NETWORK·cmd·in·"); | 145 | ················sb.append("Received·SET_NETWORK·cmd·in·"); |
146 | ················sb.append(this.this$0.getCurrentState().getName()); | 146 | ················sb.append(this.this$0.getCurrentState().getName()); |
147 | ················this$0.logWtf(sb.toString()); | 147 | ················this$0.logWtf(sb.toString()); |
148 | ················return·false; | 148 | ················return·false; |
149 | ············} | 149 | ············} |
Offset 215, 15 lines modified | Offset 215, 14 lines modified | ||
215 | ················} | 215 | ················} |
216 | ················catch·(IOException·ex73)·{} | 216 | ················catch·(IOException·ex73)·{} |
217 | ················catch·(GeneralSecurityException·ex74)·{} | 217 | ················catch·(GeneralSecurityException·ex74)·{} |
218 | ················catch·(IkeProtocolException·ex75)·{} | 218 | ················catch·(IkeProtocolException·ex75)·{} |
219 | ············} | 219 | ············} |
220 | ············case·4:·{ | 220 | ············case·4:·{ |
221 | ················this.handleDeleteSessionRequest(ikeMessage); | 221 | ················this.handleDeleteSessionRequest(ikeMessage); |
222 | ················this.mProcedureFinished·=·false; | ||
223 | ············} | 222 | ············} |
224 | ············case·3: | 223 | ············case·3: |
225 | ············case·5: | 224 | ············case·5: |
226 | ············case·7:·{ | 225 | ············case·7:·{ |
227 | ················final·IkeSessionStateMachine·this$10·=·this.this$0; | 226 | ················final·IkeSessionStateMachine·this$10·=·this.this$0; |
228 | ················this$10.deferMessage(this$10.obtainMessage(303,·n,·0,·(Object)ikeMessage)); | 227 | ················this$10.deferMessage(this$10.obtainMessage(303,·n,·0,·(Object)ikeMessage)); |
229 | ················final·IkeSessionStateMachine·this$11·=·this.this$0; | 228 | ················final·IkeSessionStateMachine·this$11·=·this.this$0; |
Offset 132, 15 lines modified | Offset 132, 15 lines modified | ||
132 | ········} | 132 | ········} |
133 | ········catch·(GeneralSecurityException·ex15)·{} | 133 | ········catch·(GeneralSecurityException·ex15)·{} |
134 | ········catch·(IOException·ex16)·{} | 134 | ········catch·(IOException·ex16)·{} |
135 | ········catch·(IkeProtocolException·ex17)·{} | 135 | ········catch·(IkeProtocolException·ex17)·{} |
136 | ····} | 136 | ····} |
137 | ···· | 137 | ···· |
138 | ····protected·void·handleTempFailure()·{ | 138 | ····protected·void·handleTempFailure()·{ |
139 | ········IkeSessionStateMachine.access$ | 139 | ········IkeSessionStateMachine.access$2000(this.this$0).handleTempFailure(); |
140 | ········this.this$0.mCurrentIkeSaRecord.rescheduleRekey(AbstractSessionStateMachine.RETRY_INTERVAL_MS); | 140 | ········this.this$0.mCurrentIkeSaRecord.rescheduleRekey(AbstractSessionStateMachine.RETRY_INTERVAL_MS); |
141 | ····} | 141 | ····} |
142 | ···· | 142 | ···· |
143 | ····protected·void·triggerRetransmit()·{ | 143 | ····protected·void·triggerRetransmit()·{ |
144 | ········this.mRetransmitter.retransmit(); | 144 | ········this.mRetransmitter.retransmit(); |
145 | ····} | 145 | ····} |
146 | } | 146 | } |
Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
1 | ··Size:·62 | 1 | ··Size:·623325····» Blocks:·1224·······IO·Block:·4096···regular·file |
2 | Links:·1 | 2 | Links:·1 |
3 | Access:·(0644/-rw-r--r--)··Uid:·(·1001/·····dev)···Gid:·(·1001/·····dev) | 3 | Access:·(0644/-rw-r--r--)··Uid:·(·1001/·····dev)···Gid:·(·1001/·····dev) |
4 | Modify:·1970-01-01·00:00:00.000000000·+0000 | 4 | Modify:·1970-01-01·00:00:00.000000000·+0000 |