| 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 |