| 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·80c6·868f·01···················sec...... |
| Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
| 1 | Zip·file·size:·49 | 1 | Zip·file·size:·495621·bytes,·number·of·entries:·6 |
| 2 | -rw----·····2.0·fat···49 | 2 | -rw----·····2.0·fat···493664·b-·stor·08-Jan-01·00:00·classes.dex |
| 3 | -rw----·····2.0·fat·····2565·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine.uau | 3 | -rw----·····2.0·fat·····2565·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/StateMachine.uau |
| 4 | -rw----·····2.0·fat······703·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/State.uau | 4 | -rw----·····2.0·fat······703·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/State.uau |
| 5 | -rw----·····2.0·fat······200·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IState.uau | 5 | -rw----·····2.0·fat······200·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/IState.uau |
| 6 | -rw----·····2.0·fat······821·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/HexDump.uau | 6 | -rw----·····2.0·fat······821·b-·defN·08-Jan-01·00:00·com/android/internal/net/ipsec/ike/utils/HexDump.uau |
| 7 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF | 7 | -rw----·····2.0·fat·······45·b-·defN·08-Jan-01·00:00·META-INF/MANIFEST.MF |
| 8 | 6·files,· | 8 | 6·files,·497998·bytes·uncompressed,·494658·bytes·compressed:··0.7% |
| Offset 1, 27 lines modified | Offset 1, 27 lines modified | ||
| 1 | Zip·file·size:·953 | 1 | Zip·file·size:·953496·bytes,·number·of·entries:·471 |
| 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····· | 3 | ?rwxrwxr-x··2.0·unx·····1863·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$Builder.class |
| 4 | ?rwxrwxr-x··2.0·unx······3 | 4 | ?rwxrwxr-x··2.0·unx······319·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$EapMethodConfig.class |
| 5 | ?rwxrwxr-x··2.0·unx····· | 5 | ?rwxrwxr-x··2.0·unx·····1818·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig.class |
| 6 | ?rwxrwxr-x··2.0·unx······381·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionCallback.class | 6 | ?rwxrwxr-x··2.0·unx······381·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionCallback.class |
| 7 | ?rwxrwxr-x··2.0·unx·····3804·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionConfiguration.class | 7 | ?rwxrwxr-x··2.0·unx·····3804·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionConfiguration.class |
| 8 | ?rwxrwxr-x··2.0·unx·····1512·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionParams$Builder.class | 8 | ?rwxrwxr-x··2.0·unx·····1512·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionParams$Builder.class |
| 9 | ?rwxrwxr-x··2.0·unx·····3279·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionParams.class | 9 | ?rwxrwxr-x··2.0·unx·····3279·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSessionParams.class |
| 10 | ?rwxrwxr-x··2.0·unx······137·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIdentification$IdType.class | 10 | ?rwxrwxr-x··2.0·unx······137·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIdentification$IdType.class |
| 11 | ?rwxrwxr-x··2.0·unx·····2519·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIdentification.class | 11 | ?rwxrwxr-x··2.0·unx·····2519·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIdentification.class |
| 12 | ?rwxrwxr-x··2.0·unx······679·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeManager.class | 12 | ?rwxrwxr-x··2.0·unx······679·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeManager.class |
| 13 | ?rwxrwxr-x··2.0·unx······389·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSession$IkeThreadHolder.class | 13 | ?rwxrwxr-x··2.0·unx······389·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSession$IkeThreadHolder.class |
| 14 | ?rwxrwxr-x··2.0·unx·····2965·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSession.class | 14 | ?rwxrwxr-x··2.0·unx·····2965·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSession.class |
| 15 | ?rwxrwxr-x··2.0·unx······353·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionCallback.class | 15 | ?rwxrwxr-x··2.0·unx······353·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionCallback.class |
| 16 | ?rwxrwxr-x··2.0·unx······150·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionConfiguration$ExtensionType.class | 16 | ?rwxrwxr-x··2.0·unx······150·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionConfiguration$ExtensionType.class |
| 17 | ?rwxrwxr-x··2.0·unx·····3276·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionConfiguration.class | 17 | ?rwxrwxr-x··2.0·unx·····3276·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionConfiguration.class |
| 18 | ?rwxrwxr-x··2.0·unx······809·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionConnectionInfo.class | 18 | ?rwxrwxr-x··2.0·unx······809·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionConnectionInfo.class |
| 19 | ?rwxrwxr-x··2.0·unx·······92·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$1.class | 19 | ?rwxrwxr-x··2.0·unx·······92·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$1.class |
| 20 | ?rwxrwxr-x··2.0·unx·····82 | 20 | ?rwxrwxr-x··2.0·unx·····8292·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$Builder.class |
| 21 | ?rwxrwxr-x··2.0·unx······215·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeAuthConfig.class | 21 | ?rwxrwxr-x··2.0·unx······215·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeAuthConfig.class |
| 22 | ?rwxrwxr-x··2.0·unx······143·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeAuthMethod.class | 22 | ?rwxrwxr-x··2.0·unx······143·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeAuthMethod.class |
| 23 | ?rwxrwxr-x··2.0·unx······107·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeConfigRequest.class | 23 | ?rwxrwxr-x··2.0·unx······107·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeConfigRequest.class |
| 24 | ?rwxrwxr-x··2.0·unx······139·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeOption.class | 24 | ?rwxrwxr-x··2.0·unx······139·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams$IkeOption.class |
| 25 | ?rwxrwxr-x··2.0·unx·····5264·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams.class | 25 | ?rwxrwxr-x··2.0·unx·····5264·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeSessionParams.class |
| 26 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$IpProtocolId.class | 26 | ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$IpProtocolId.class |
| 27 | ?rwxrwxr-x··2.0·unx······151·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$TrafficSelectorType.class | 27 | ?rwxrwxr-x··2.0·unx······151·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeTrafficSelector$TrafficSelectorType.class |
| Offset 90, 37 lines modified | Offset 90, 37 lines modified | ||
| 90 | ?rwxrwxr-x··2.0·unx······156·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$RadioPowerState.class | 90 | ?rwxrwxr-x··2.0·unx······156·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$RadioPowerState.class |
| 91 | ?rwxrwxr-x··2.0·unx······159·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$SimActivationState.class | 91 | ?rwxrwxr-x··2.0·unx······159·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$SimActivationState.class |
| 92 | ?rwxrwxr-x··2.0·unx······151·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$SrvccState.class | 92 | ?rwxrwxr-x··2.0·unx······151·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$SrvccState.class |
| 93 | ?rwxrwxr-x··2.0·unx······152·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$UiccAppType.class | 93 | ?rwxrwxr-x··2.0·unx······152·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation$UiccAppType.class |
| 94 | ?rwxrwxr-x··2.0·unx······164·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation.class | 94 | ?rwxrwxr-x··2.0·unx······164·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/telephony/Annotation.class |
| 95 | ?rwxrwxr-x··2.0·unx······216·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/annotation/StringDef.class | 95 | ?rwxrwxr-x··2.0·unx······216·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/annotation/StringDef.class |
| 96 | ?rwxrwxr-x··2.0·unx······899·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$CreateChildLocalCreateBase$9C8S9YHYzXbb21utbW7cF0L3KFY.class | 96 | ?rwxrwxr-x··2.0·unx······899·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$CreateChildLocalCreateBase$9C8S9YHYzXbb21utbW7cF0L3KFY.class |
| 97 | ?rwxrwxr-x··2.0·unx······6 | 97 | ?rwxrwxr-x··2.0·unx······684·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$DeleteChildLocalDelete$o2cc8NqceQHiF_X42Fs4ScsYhCE.class |
| 98 | ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$DeleteResponderBase$kXXwTwd54XRXFdZcprROzNxHtJc.class | 98 | ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$DeleteResponderBase$kXXwTwd54XRXFdZcprROzNxHtJc.class |
| 99 | ?rwxrwxr-x··2.0·unx······779·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$ExceptionHandler$ApVli3rC5W95jlgLs3HPsR1LBEM.class | 99 | ?rwxrwxr-x··2.0·unx······779·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$ExceptionHandler$ApVli3rC5W95jlgLs3HPsR1LBEM.class |
| 100 | ?rwxrwxr-x··2.0·unx······609·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$Initial$zo2pCCjf5hLMUs65h2Ea9EZ73Gg.class | 100 | ?rwxrwxr-x··2.0·unx······609·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$Initial$zo2pCCjf5hLMUs65h2Ea9EZ73Gg.class |
| 101 | ?rwxrwxr-x··2.0·unx······684·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$KillChildSessionParent$ZXvK0sNU1qSs_39VwSGi8NuHqoo.class | 101 | ?rwxrwxr-x··2.0·unx······684·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$KillChildSessionParent$ZXvK0sNU1qSs_39VwSGi8NuHqoo.class |
| 102 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildDeleteBase$Y2yNtni6CM5-5fYnbFnYz1PhlBY.class | 102 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildDeleteBase$Y2yNtni6CM5-5fYnbFnYz1PhlBY.class |
| 103 | ?rwxrwxr-x··2.0·unx······679·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildLocalCreate$85x2FHArZphLM3GqWb-PGtCmRLs.class | 103 | ?rwxrwxr-x··2.0·unx······679·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildLocalCreate$85x2FHArZphLM3GqWb-PGtCmRLs.class |
| 104 | ?rwxrwxr-x··2.0·unx······689·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildRemoteCreate$BvKP1VnMOcBMBZHNByoxwBT_lmw.class | 104 | ?rwxrwxr-x··2.0·unx······689·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildRemoteCreate$BvKP1VnMOcBMBZHNByoxwBT_lmw.class |
| 105 | ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildRemoteDelete$1PP4OjMu8YHWlhjwfszTo2Dtpvw.class | 105 | ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$RekeyChildRemoteDelete$1PP4OjMu8YHWlhjwfszTo2Dtpvw.class |
| 106 | ?rwxrwxr-x··2.0·unx······758·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$fj5HjMkYL9LI2Jciou5i_5DRqLU.class | 106 | ?rwxrwxr-x··2.0·unx······758·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$fj5HjMkYL9LI2Jciou5i_5DRqLU.class |
| 107 | ?rwxrwxr-x··2.0·unx······791·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$mErLkI1UjYedc9M4FwAuIDrpLMI.class | 107 | ?rwxrwxr-x··2.0·unx······791·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$mErLkI1UjYedc9M4FwAuIDrpLMI.class |
| 108 | ?rwxrwxr-x··2.0·unx······551·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$BAksnzZH2AsVquH9BidMGGxQPQM.class | ||
| 108 | ?rwxrwxr-x··2.0·unx······878·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$CreateIkeLocalIkeAuthBase$NbEMFnsyQpTsAyO1RG_ocg8WQFo.class | 109 | ?rwxrwxr-x··2.0·unx······878·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$CreateIkeLocalIkeAuthBase$NbEMFnsyQpTsAyO1RG_ocg8WQFo.class |
| 109 | ?rwxrwxr-x··2.0·unx······669·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteIkeLocalDelete$Es1P0WM2e2cngQgYj1VIRU2jafY.class | 110 | ?rwxrwxr-x··2.0·unx······669·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteIkeLocalDelete$Es1P0WM2e2cngQgYj1VIRU2jafY.class |
| 110 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteResponderBase$ynG77acJP9tnd-qaJpP6zlS96eM.class | 111 | ?rwxrwxr-x··2.0·unx······666·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteResponderBase$ynG77acJP9tnd-qaJpP6zlS96eM.class |
| 112 | ?rwxrwxr-x··2.0·unx······746·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$EHNQHV8HW3rN9r42jJ5rxf5oj0k.class | ||
| 111 | ?rwxrwxr-x··2.0·unx······769·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$ExceptionHandler$42p5GOxZvhO6CPImvBSK8oNgEXY.class | 113 | ?rwxrwxr-x··2.0·unx······769·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$ExceptionHandler$42p5GOxZvhO6CPImvBSK8oNgEXY.class |
| 112 | ?rwxrwxr-x··2.0·unx······664·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$KillIkeSessionParent$3LbihrnOLMWqiI-LVGa8MlrNU6g.class | ||
| 113 | ?rwxrwxr-x··2.0·unx······746·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$RohWmHxyX3v6P8JUk7rJfgwUDRQ.class | ||
| 114 | ?rwxrwxr-x··2.0·unx······757·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$TempFailureHandler$ocekyFmflp54BEiAKSZ8FT7CPWs.class | 114 | ?rwxrwxr-x··2.0·unx······757·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$TempFailureHandler$ocekyFmflp54BEiAKSZ8FT7CPWs.class |
| 115 | ?rwxrwxr-x··2.0·unx······532·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSocket$3CVdim87Jee72T7qGHdF9eqUHUk.class | 115 | ?rwxrwxr-x··2.0·unx······532·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSocket$3CVdim87Jee72T7qGHdF9eqUHUk.class |
| 116 | ?rwxrwxr-x··2.0·unx······480·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSocket$vvxpSQB_pDFQsnT5QzGY10aIGZY.class | 116 | ?rwxrwxr-x··2.0·unx······480·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSocket$vvxpSQB_pDFQsnT5QzGY10aIGZY.class |
| 117 | ?rwxrwxr-x··2.0·unx······113·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$1.class | 117 | ?rwxrwxr-x··2.0·unx······113·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$1.class |
| 118 | ?rwxrwxr-x··2.0·unx·····1279·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.class | 118 | ?rwxrwxr-x··2.0·unx·····1279·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.class |
| 119 | ?rwxrwxr-x··2.0·unx····122 | 119 | ?rwxrwxr-x··2.0·unx····12217·b-·defN·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildSaHelper.class |
| 120 | ?rwxrwxr-x··2.0·unx······163·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateStatus.class | 120 | ?rwxrwxr-x··2.0·unx······163·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateStatus.class |
| 121 | ?rwxrwxr-x··2.0·unx······722·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback.class | 121 | ?rwxrwxr-x··2.0·unx······722·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback.class |
| 122 | ?rwxrwxr-x··2.0·unx······357·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedRequest.class | 122 | ?rwxrwxr-x··2.0·unx······357·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedRequest.class |
| 123 | ?rwxrwxr-x··2.0·unx······317·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedResponse.class | 123 | ?rwxrwxr-x··2.0·unx······317·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedResponse.class |
| 124 | ?rwxrwxr-x··2.0·unx······643·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper.class | 124 | ?rwxrwxr-x··2.0·unx······643·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper.class |
| 125 | ?rwxrwxr-x··2.0·unx·····1285·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory.class | 125 | ?rwxrwxr-x··2.0·unx·····1285·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory.class |
| 126 | ?rwxrwxr-x··2.0·unx·····2981·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeDhParams.class | 126 | ?rwxrwxr-x··2.0·unx·····2981·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/IkeDhParams.class |
| Offset 140, 16 lines modified | Offset 140, 16 lines modified | ||
| 140 | ?rwxrwxr-x··2.0·unx·····1636·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ChildSaRecordConfig.class | 140 | ?rwxrwxr-x··2.0·unx·····1636·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ChildSaRecordConfig.class |
| 141 | ?rwxrwxr-x··2.0·unx······441·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IIpSecTransformHelper.class | 141 | ?rwxrwxr-x··2.0·unx······441·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IIpSecTransformHelper.class |
| 142 | ?rwxrwxr-x··2.0·unx······944·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ISaRecordHelper.class | 142 | ?rwxrwxr-x··2.0·unx······944·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$ISaRecordHelper.class |
| 143 | ?rwxrwxr-x··2.0·unx······927·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IkeSaRecordConfig.class | 143 | ?rwxrwxr-x··2.0·unx······927·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$IkeSaRecordConfig.class |
| 144 | ?rwxrwxr-x··2.0·unx·····1743·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler.class | 144 | ?rwxrwxr-x··2.0·unx·····1743·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler.class |
| 145 | ?rwxrwxr-x··2.0·unx·····3043·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord.class | 145 | ?rwxrwxr-x··2.0·unx·····3043·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/SaRecord.class |
| 146 | ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/annotations/PolicyDirection.class | 146 | ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/annotations/PolicyDirection.class |
| 147 | ?rwxrwxr-x··2.0·unx····· | 147 | ?rwxrwxr-x··2.0·unx·····3471·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/crypto/AesXCbcImpl.class |
| 148 | ?rwxrwxr-x··2.0·unx······5 | 148 | ?rwxrwxr-x··2.0·unx······528·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/crypto/IkeCrypto.class |
| 149 | ?rwxrwxr-x··2.0·unx······120·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$1.class | 149 | ?rwxrwxr-x··2.0·unx······120·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$1.class |
| 150 | ?rwxrwxr-x··2.0·unx······208·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$HardwareKeepaliveCallback.class | 150 | ?rwxrwxr-x··2.0·unx······208·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$HardwareKeepaliveCallback.class |
| 151 | ?rwxrwxr-x··2.0·unx·····1646·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$MySocketKeepaliveCb.class | 151 | ?rwxrwxr-x··2.0·unx·····1646·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/HardwareKeepaliveImpl$MySocketKeepaliveCb.class |
| 152 | ?rwxrwxr-x··2.0·unx······187·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive$NattKeepalive.class | 152 | ?rwxrwxr-x··2.0·unx······187·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive$NattKeepalive.class |
| 153 | ?rwxrwxr-x··2.0·unx·····2184·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive.class | 153 | ?rwxrwxr-x··2.0·unx·····2184·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive.class |
| 154 | ?rwxrwxr-x··2.0·unx······173·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayload$SignatureAlgo.class | 154 | ?rwxrwxr-x··2.0·unx······173·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthDigitalSignPayload$SignatureAlgo.class |
| 155 | ?rwxrwxr-x··2.0·unx······159·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthPayload$AuthMethod.class | 155 | ?rwxrwxr-x··2.0·unx······159·b-·stor·80-Jan-01·00:00·com/android/internal/net/ipsec/ike/message/IkeAuthPayload$AuthMethod.class |
| Offset 201, 16 lines modified | Offset 201, 16 lines modified | ||
| 201 | ?rwxrwxr-x··2.0·unx······157·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/crypto/digests/EncodableDigest.class | 201 | ?rwxrwxr-x··2.0·unx······157·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/crypto/digests/EncodableDigest.class |
| 202 | ?rwxrwxr-x··2.0·unx······263·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Memoable.class | 202 | ?rwxrwxr-x··2.0·unx······263·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Memoable.class |
| 203 | ?rwxrwxr-x··2.0·unx·····2635·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Pack.class | 203 | ?rwxrwxr-x··2.0·unx·····2635·b-·stor·80-Jan-01·00:00·com/android/internal/net/org/bouncycastle/util/Pack.class |
| 204 | ?rwxrwxr-x··2.0·unx······776·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/BigIntegerUtils.class | 204 | ?rwxrwxr-x··2.0·unx······776·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/BigIntegerUtils.class |
| 205 | ?rwxrwxr-x··2.0·unx·····2886·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/Log.class | 205 | ?rwxrwxr-x··2.0·unx·····2886·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/Log.class |
| 206 | ?rwxrwxr-x··2.0·unx······378·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/SimpleStateMachine$SimpleState.class | 206 | ?rwxrwxr-x··2.0·unx······378·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/SimpleStateMachine$SimpleState.class |
| 207 | ?rwxrwxr-x··2.0·unx·····1018·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/SimpleStateMachine.class | 207 | ?rwxrwxr-x··2.0·unx·····1018·b-·stor·80-Jan-01·00:00·com/android/internal/net/utils/SimpleStateMachine.class |
| 208 | ?rwxrwxr-x··2.0·unx······ | 208 | ?rwxrwxr-x··2.0·unx······583·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$EapMsChapV2Config.class |
| 209 | ?rwxrwxr-x··2.0·unx······51 | 209 | ?rwxrwxr-x··2.0·unx······514·b-·stor·80-Jan-01·00:00·android/net/eap/EapSessionConfig$EapUiccConfig.class |
| 210 | ?rwxrwxr-x··2.0·unx·····2411·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSaProposal$Builder.class | 210 | ?rwxrwxr-x··2.0·unx·····2411·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSaProposal$Builder.class |
| 211 | ?rwxrwxr-x··2.0·unx·····2723·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSaProposal.class | 211 | ?rwxrwxr-x··2.0·unx·····2723·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/ChildSaProposal.class |
| 212 | ?rwxrwxr-x··2.0·unx·····1666·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeDerAsn1DnIdentification.class | 212 | ?rwxrwxr-x··2.0·unx·····1666·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeDerAsn1DnIdentification.class |
| 213 | ?rwxrwxr-x··2.0·unx·····1643·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeFqdnIdentification.class | 213 | ?rwxrwxr-x··2.0·unx·····1643·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeFqdnIdentification.class |
| 214 | ?rwxrwxr-x··2.0·unx·····1447·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIpv4AddrIdentification.class | 214 | ?rwxrwxr-x··2.0·unx·····1447·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIpv4AddrIdentification.class |
| 215 | ?rwxrwxr-x··2.0·unx·····1452·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIpv6AddrIdentification.class | 215 | ?rwxrwxr-x··2.0·unx·····1452·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeIpv6AddrIdentification.class |
| 216 | ?rwxrwxr-x··2.0·unx·····1041·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeKeyIdIdentification.class | 216 | ?rwxrwxr-x··2.0·unx·····1041·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/IkeKeyIdIdentification.class |
| Offset 235, 15 lines modified | Offset 235, 15 lines modified | ||
| 235 | ?rwxrwxr-x··2.0·unx·····1447·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/TunnelModeChildSessionParams.class | 235 | ?rwxrwxr-x··2.0·unx·····1447·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/TunnelModeChildSessionParams.class |
| 236 | ?rwxrwxr-x··2.0·unx······307·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/exceptions/IkeInternalException.class | 236 | ?rwxrwxr-x··2.0·unx······307·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/exceptions/IkeInternalException.class |
| 237 | ?rwxrwxr-x··2.0·unx·····3037·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/exceptions/IkeProtocolException.class | 237 | ?rwxrwxr-x··2.0·unx·····3037·b-·stor·80-Jan-01·00:00·android/net/ipsec/ike/exceptions/IkeProtocolException.class |
| 238 | ?rwxrwxr-x··2.0·unx······594·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/-$$Lambda$EapAuthenticator$HA9jfdUtGvhnVzPbL9fo0aCWlgU.class | 238 | ?rwxrwxr-x··2.0·unx······594·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/-$$Lambda$EapAuthenticator$HA9jfdUtGvhnVzPbL9fo0aCWlgU.class |
| 239 | ?rwxrwxr-x··2.0·unx······266·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/EapResult$EapError.class | 239 | ?rwxrwxr-x··2.0·unx······266·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/EapResult$EapError.class |
| 240 | ?rwxrwxr-x··2.0·unx······186·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/EapResult$EapFailure.class | 240 | ?rwxrwxr-x··2.0·unx······186·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/EapResult$EapFailure.class |
| 241 | ?rwxrwxr-x··2.0·unx······901·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/EapResult$EapResponse.class | 241 | ?rwxrwxr-x··2.0·unx······901·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/EapResult$EapResponse.class |
| 242 | ?rwxrwxr-x··2.0·unx····· | 242 | ?rwxrwxr-x··2.0·unx······389·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/EapResult$EapSuccess.class |
| 243 | ?rwxrwxr-x··2.0·unx·····1243·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/crypto/HmacSha256ByteSigner.class | 243 | ?rwxrwxr-x··2.0·unx·····1243·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/crypto/HmacSha256ByteSigner.class |
| 244 | ?rwxrwxr-x··2.0·unx······335·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/EapInvalidPacketLengthException.class | 244 | ?rwxrwxr-x··2.0·unx······335·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/EapInvalidPacketLengthException.class |
| 245 | ?rwxrwxr-x··2.0·unx······512·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/InvalidEapCodeException.class | 245 | ?rwxrwxr-x··2.0·unx······512·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/InvalidEapCodeException.class |
| 246 | ?rwxrwxr-x··2.0·unx······450·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/UnsupportedEapTypeException.class | 246 | ?rwxrwxr-x··2.0·unx······450·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/UnsupportedEapTypeException.class |
| 247 | ?rwxrwxr-x··2.0·unx······374·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.class | 247 | ?rwxrwxr-x··2.0·unx······374·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/simaka/EapAkaInvalidAuthenticationResponse.class |
| 248 | ?rwxrwxr-x··2.0·unx······368·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.class | 248 | ?rwxrwxr-x··2.0·unx······368·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/simaka/EapSimAkaInvalidAtPaddingException.class |
| 249 | ?rwxrwxr-x··2.0·unx······362·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/simaka/EapSimInvalidAtRandException.class | 249 | ?rwxrwxr-x··2.0·unx······362·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/exceptions/simaka/EapSimInvalidAtRandException.class |
| Offset 275, 17 lines modified | Offset 275, 17 lines modified | ||
| 275 | ?rwxrwxr-x··2.0·unx·····1593·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAkaAttribute$AtSelectedVersion.class | 275 | ?rwxrwxr-x··2.0·unx·····1593·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAkaAttribute$AtSelectedVersion.class |
| 276 | ?rwxrwxr-x··2.0·unx·····1544·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAkaAttribute$AtVersionList.class | 276 | ?rwxrwxr-x··2.0·unx·····1544·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAkaAttribute$AtVersionList.class |
| 277 | ?rwxrwxr-x··2.0·unx······639·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAkaAttribute$EapSimAkaUnsupportedAttribute.class | 277 | ?rwxrwxr-x··2.0·unx······639·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAkaAttribute$EapSimAkaUnsupportedAttribute.class |
| 278 | ?rwxrwxr-x··2.0·unx·····1450·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAttributeFactory.class | 278 | ?rwxrwxr-x··2.0·unx·····1450·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimAttributeFactory.class |
| 279 | ?rwxrwxr-x··2.0·unx·····1422·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData$EapSimTypeDataDecoder.class | 279 | ?rwxrwxr-x··2.0·unx·····1422·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData$EapSimTypeDataDecoder.class |
| 280 | ?rwxrwxr-x··2.0·unx·····2746·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData.class | 280 | ?rwxrwxr-x··2.0·unx·····2746·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/message/simaka/EapSimTypeData.class |
| 281 | ?rwxrwxr-x··2.0·unx·····2469·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapMethodStateMachine$EapMethodState.class | 281 | ?rwxrwxr-x··2.0·unx·····2469·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapMethodStateMachine$EapMethodState.class |
| 282 | ?rwxrwxr-x··2.0·unx·····1 | 282 | ?rwxrwxr-x··2.0·unx·····1426·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapMethodStateMachine.class |
| 283 | ?rwxrwxr-x··2.0·unx·····45 | 283 | ?rwxrwxr-x··2.0·unx·····4528·b-·stor·80-Jan-01·00:00·com/android/internal/net/eap/statemachine/EapStateMachine$EapState.class |
| ... Open expanded diff ... | |||
| Offset 279, 15 lines modified | Offset 279, 15 lines modified | ||
| 279 | Filename:·com/android/internal/net/ipsec/annotation/StringDef.class | 279 | Filename:·com/android/internal/net/ipsec/annotation/StringDef.class |
| 280 | Comment:· | 280 | Comment:· |
| 281 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$CreateChildLocalCreateBase$9C8S9YHYzXbb21utbW7cF0L3KFY.class | 281 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$CreateChildLocalCreateBase$9C8S9YHYzXbb21utbW7cF0L3KFY.class |
| 282 | Comment:· | 282 | Comment:· |
| 283 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$Delete | 283 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$DeleteChildLocalDelete$o2cc8NqceQHiF_X42Fs4ScsYhCE.class |
| 284 | Comment:· | 284 | Comment:· |
| 285 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$DeleteResponderBase$kXXwTwd54XRXFdZcprROzNxHtJc.class | 285 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$DeleteResponderBase$kXXwTwd54XRXFdZcprROzNxHtJc.class |
| 286 | Comment:· | 286 | Comment:· |
| 287 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$ExceptionHandler$ApVli3rC5W95jlgLs3HPsR1LBEM.class | 287 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$ExceptionHandler$ApVli3rC5W95jlgLs3HPsR1LBEM.class |
| 288 | Comment:· | 288 | Comment:· |
| Offset 312, 30 lines modified | Offset 312, 30 lines modified | ||
| 312 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$fj5HjMkYL9LI2Jciou5i_5DRqLU.class | 312 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$fj5HjMkYL9LI2Jciou5i_5DRqLU.class |
| 313 | Comment:· | 313 | Comment:· |
| 314 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$mErLkI1UjYedc9M4FwAuIDrpLMI.class | 314 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$ChildSessionStateMachine$mErLkI1UjYedc9M4FwAuIDrpLMI.class |
| 315 | Comment:· | 315 | Comment:· |
| 316 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$BAksnzZH2AsVquH9BidMGGxQPQM.class | ||
| 317 | Comment:· | ||
| 316 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$CreateIkeLocalIkeAuthBase$NbEMFnsyQpTsAyO1RG_ocg8WQFo.class | 318 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$CreateIkeLocalIkeAuthBase$NbEMFnsyQpTsAyO1RG_ocg8WQFo.class |
| 317 | Comment:· | 319 | Comment:· |
| 318 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteIkeLocalDelete$Es1P0WM2e2cngQgYj1VIRU2jafY.class | 320 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteIkeLocalDelete$Es1P0WM2e2cngQgYj1VIRU2jafY.class |
| 319 | Comment:· | 321 | Comment:· |
| 320 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteResponderBase$ynG77acJP9tnd-qaJpP6zlS96eM.class | 322 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$DeleteResponderBase$ynG77acJP9tnd-qaJpP6zlS96eM.class |
| 321 | Comment:· | 323 | Comment:· |
| 322 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$E | 324 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$EHNQHV8HW3rN9r42jJ5rxf5oj0k.class |
| 323 | Comment:· | ||
| 324 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$KillIkeSessionParent$3LbihrnOLMWqiI-LVGa8MlrNU6g.class | ||
| 325 | Comment:· | 325 | Comment:· |
| 326 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$ | 326 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$ExceptionHandler$42p5GOxZvhO6CPImvBSK8oNgEXY.class |
| 327 | Comment:· | 327 | Comment:· |
| 328 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$TempFailureHandler$ocekyFmflp54BEiAKSZ8FT7CPWs.class | 328 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSessionStateMachine$TempFailureHandler$ocekyFmflp54BEiAKSZ8FT7CPWs.class |
| 329 | Comment:· | 329 | Comment:· |
| 330 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSocket$3CVdim87Jee72T7qGHdF9eqUHUk.class | 330 | Filename:·com/android/internal/net/ipsec/ike/-$$Lambda$IkeSocket$3CVdim87Jee72T7qGHdF9eqUHUk.class |
| 331 | Comment:· | 331 | Comment:· |
| Offset 1290, 17 lines modified | Offset 1290, 14 lines modified | ||
| 1290 | Filename:·com/android/internal/net/eap/crypto/Fips186_2Prf$Sha1_186_2_FunctionG.class | 1290 | Filename:·com/android/internal/net/eap/crypto/Fips186_2Prf$Sha1_186_2_FunctionG.class |
| 1291 | Comment:· | 1291 | Comment:· |
| 1292 | Filename:·com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachine.class | 1292 | Filename:·com/android/internal/net/eap/statemachine/EapAkaPrimeMethodStateMachine.class |
| 1293 | Comment:· | 1293 | Comment:· |
| 1294 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ClosedAndAwaitResponse.class | ||
| 1295 | Comment:· | ||
| 1296 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreateBase.class | 1294 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreateBase.class |
| 1297 | Comment:· | 1295 | Comment:· |
| 1298 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$DeleteResponderBase.class | 1296 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$DeleteResponderBase.class |
| 1299 | Comment:· | 1297 | Comment:· |
| 1300 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$Idle.class | 1298 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$Idle.class |
| Offset 1311, 17 lines modified | Offset 1308, 14 lines modified | ||
| 1311 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.class | 1308 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.class |
| 1312 | Comment:· | 1309 | Comment:· |
| 1313 | Filename:·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial.class | 1310 | Filename:·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial.class |
| 1314 | Comment:· | 1311 | Comment:· |
| 1315 | Filename:·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent.class | ||
| 1316 | Comment:· | ||
| 1317 | Filename:·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$LocalRequestQueuer.class | 1312 | Filename:·com/android/internal/net/ipsec/ike/IkeSessionStateMachine$LocalRequestQueuer.class |
| 1318 | Comment:· | 1313 | Comment:· |
| 1319 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate.class | 1314 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate.class |
| 1320 | Comment:· | 1315 | Comment:· |
| 1321 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$DeleteBase.class | 1316 | Filename:·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$DeleteBase.class |
| Offset 1, 22 lines modified | Offset 1, 21 lines modified | ||
| 1 | package·android.net.eap; | 1 | package·android.net.eap; |
| 2 | import·java.util.Objects; | ||
| 3 | import·java.util.HashMap; | 2 | import·java.util.HashMap; |
| 4 | import·java.util.Map; | 3 | import·java.util.Map; |
| 5 | public·final·class·EapSessionConfig$Builder | 4 | public·final·class·EapSessionConfig$Builder |
| 6 | { | 5 | { |
| 7 | ····private·final·Map·mEapConfigs; | 6 | ····private·final·Map·mEapConfigs; |
| 8 | ····private·byte[]·mEapIdentity; | 7 | ····private·byte[]·mEapIdentity; |
| 9 | ···· | 8 | ···· |
| 10 | ····public·EapSessionConfig$Builder()·{ | 9 | ····public·EapSessionConfig$Builder()·{ |
| 11 | ········this.mEapConfigs·=·new·HashMap(); | 10 | ········this.mEapConfigs·=·new·HashMap(); |
| 12 | ········this.mEapIdentity·=·EapSessionConfig. | 11 | ········this.mEapIdentity·=·EapSessionConfig.DEFAULT_IDENTITY; |
| 13 | ····} | 12 | ····} |
| 14 | ···· | 13 | ···· |
| 15 | ····public·EapSessionConfig·build()·{ | 14 | ····public·EapSessionConfig·build()·{ |
| 16 | ········if·(!this.mEapConfigs.isEmpty())·{ | 15 | ········if·(!this.mEapConfigs.isEmpty())·{ |
| 17 | ············return·new·EapSessionConfig(this.mEapConfigs,·this.mEapIdentity); | 16 | ············return·new·EapSessionConfig(this.mEapConfigs,·this.mEapIdentity); |
| 18 | ········} | 17 | ········} |
| 19 | ········throw·new·IllegalStateException("Must·have·at·least·one·EAP·method·configured"); | 18 | ········throw·new·IllegalStateException("Must·have·at·least·one·EAP·method·configured"); |
| Offset 28, 17 lines modified | Offset 27, 16 lines modified | ||
| 28 | ····} | 27 | ····} |
| 29 | ···· | 28 | ···· |
| 30 | ····public·EapSessionConfig$Builder·setEapAkaPrimeConfig(final·int·n,·final·int·n2,·final·String·s,·final·boolean·b)·{ | 29 | ····public·EapSessionConfig$Builder·setEapAkaPrimeConfig(final·int·n,·final·int·n2,·final·String·s,·final·boolean·b)·{ |
| 31 | ········this.mEapConfigs.put(50,·new·EapSessionConfig$EapAkaPrimeConfig(n,·n2,·s,·b)); | 30 | ········this.mEapConfigs.put(50,·new·EapSessionConfig$EapAkaPrimeConfig(n,·n2,·s,·b)); |
| 32 | ········return·this; | 31 | ········return·this; |
| 33 | ····} | 32 | ····} |
| 34 | ···· | 33 | ···· |
| 35 | ····public·EapSessionConfig$Builder·setEapIdentity(final·byte[]· | 34 | ····public·EapSessionConfig$Builder·setEapIdentity(final·byte[]·array)·{ |
| 36 | ········Objects.requireNonNull(obj,·"eapIdentity·must·not·be·null"); | ||
| 37 | ········this.mEapIdentity·=· | 35 | ········this.mEapIdentity·=·array.clone(); |
| 38 | ········return·this; | 36 | ········return·this; |
| 39 | ····} | 37 | ····} |
| 40 | ···· | 38 | ···· |
| 41 | ····public·EapSessionConfig$Builder·setEapMsChapV2Config(final·String·s,·final·String·s2)·{ | 39 | ····public·EapSessionConfig$Builder·setEapMsChapV2Config(final·String·s,·final·String·s2)·{ |
| 42 | ········this.mEapConfigs.put(26,·new·EapSessionConfig$EapMsChapV2Config(s,·s2)); | 40 | ········this.mEapConfigs.put(26,·new·EapSessionConfig$EapMsChapV2Config(s,·s2)); |
| 43 | ········return·this; | 41 | ········return·this; |
| 44 | ····} | 42 | ····} |
| Offset 1, 19 lines modified | Offset 1, 19 lines modified | ||
| 1 | package·android.net.eap; | 1 | package·android.net.eap; |
| 2 | public·abstract·class·EapSessionConfig$EapMethodConfig | 2 | public·abstract·class·EapSessionConfig$EapMethodConfig |
| 3 | { | 3 | { |
| 4 | ····p | 4 | ····public·final·int·methodType; |
| 5 | ···· | 5 | ···· |
| 6 | ····EapSessionConfig$EapMethodConfig(final·int·m | 6 | ····EapSessionConfig$EapMethodConfig(final·int·methodType)·{ |
| 7 | ········this.m | 7 | ········this.methodType·=·methodType; |
| 8 | ····} | 8 | ····} |
| 9 | ···· | 9 | ···· |
| 10 | ····public·int·getMethodType()·{ | 10 | ····public·int·getMethodType()·{ |
| 11 | ········return·this.m | 11 | ········return·this.methodType; |
| 12 | ····} | 12 | ····} |
| 13 | ···· | 13 | ···· |
| 14 | ····public·boolean·isEapOnlySafeMethod()·{ | 14 | ····public·boolean·isEapOnlySafeMethod()·{ |
| 15 | ········return·false; | 15 | ········return·false; |
| 16 | ····} | 16 | ····} |
| 17 | } | 17 | } |
| Offset 1, 59 lines modified | Offset 1, 52 lines modified | ||
| 1 | package·android.net.eap; | 1 | package·android.net.eap; |
| 2 | import·java.util.Iterator; | 2 | import·java.util.Iterator; |
| 3 | import·java.util.Collections; | 3 | import·java.util.Collections; |
| 4 | import·java.util.Objects; | ||
| 5 | import·java.util.Map; | 4 | import·java.util.Map; |
| 6 | public·final·class·EapSessionConfig | 5 | public·final·class·EapSessionConfig |
| 7 | { | 6 | { |
| 8 | ···· | 7 | ····static·final·byte[]·DEFAULT_IDENTITY; |
| 9 | ····p | 8 | ····public·final·Map·eapConfigs; |
| 10 | ····p | 9 | ····public·final·byte[]·eapIdentity; |
| 11 | ···· | 10 | ···· |
| 12 | ····static·{ | 11 | ····static·{ |
| 13 | ········DEFAULT_IDENTITY·=·new·byte[0]; | 12 | ········DEFAULT_IDENTITY·=·new·byte[0]; |
| 14 | ····} | 13 | ····} |
| 15 | ···· | 14 | ···· |
| 16 | ····public·EapSessionConfig(final·Map·m | 15 | ····public·EapSessionConfig(final·Map·m,·final·byte[]·eapIdentity)·{ |
| 17 | ········Objects.requireNonNull(map,·"eapConfigs·must·not·be·null"); | ||
| 18 | ········Objects.requireNonNull(array,·"eapIdentity·must·not·be·null"); | ||
| 19 | ········this. | 16 | ········this.eapConfigs·=·Collections.unmodifiableMap((Map<?,·?>)m); |
| 20 | ········this. | 17 | ········this.eapIdentity·=·eapIdentity; |
| 21 | ····} | 18 | ····} |
| 22 | ···· | 19 | ···· |
| 23 | ····public·boolean·areAllMethodsEapOnlySafe()·{ | 20 | ····public·boolean·areAllMethodsEapOnlySafe()·{ |
| 24 | ········final·Iterator<Map.Entry<K,·EapSessionConfig$EapMethodConfig>>·iterator·=·this. | 21 | ········final·Iterator<Map.Entry<K,·EapSessionConfig$EapMethodConfig>>·iterator·=·this.eapConfigs.entrySet().iterator(); |
| 25 | ········while·(iterator.hasNext())·{ | 22 | ········while·(iterator.hasNext())·{ |
| 26 | ············if·(!((EapSessionConfig$EapMethodConfig)((Map.Entry<K,·EapSessionConfig$EapMethodConfig>)iterator.next()).getValue()).isEapOnlySafeMethod())·{ | 23 | ············if·(!((EapSessionConfig$EapMethodConfig)((Map.Entry<K,·EapSessionConfig$EapMethodConfig>)iterator.next()).getValue()).isEapOnlySafeMethod())·{ |
| 27 | ················return·false; | 24 | ················return·false; |
| 28 | ············} | 25 | ············} |
| 29 | ········} | 26 | ········} |
| 30 | ········return·true; | 27 | ········return·true; |
| 31 | ····} | 28 | ····} |
| 32 | ···· | 29 | ···· |
| 33 | ····public·EapSessionConfig$EapAkaConfig·getEapAkaConfig()·{ | 30 | ····public·EapSessionConfig$EapAkaConfig·getEapAkaConfig()·{ |
| 34 | ········return·this. | 31 | ········return·this.eapConfigs.get(23); |
| 35 | ····} | 32 | ····} |
| 36 | ···· | 33 | ···· |
| 37 | ····public·EapSessionConfig$EapAkaPrimeConfig·getEapAkaPrimeConfig()·{ | 34 | ····public·EapSessionConfig$EapAkaPrimeConfig·getEapAkaPrimeConfig()·{ |
| 38 | ········return·this. | 35 | ········return·this.eapConfigs.get(50); |
| 39 | ····} | ||
| 40 | ···· | ||
| 41 | ····public·Map·getEapConfigs()·{ | ||
| 42 | ········return·this.mEapConfigs; | ||
| 43 | ····} | 36 | ····} |
| 44 | ···· | 37 | ···· |
| 45 | ····public·byte[]·getEapIdentity()·{ | 38 | ····public·byte[]·getEapIdentity()·{ |
| 46 | ········return·this. | 39 | ········return·this.eapIdentity; |
| 47 | ····} | 40 | ····} |
| 48 | ···· | 41 | ···· |
| 49 | ····public·EapSessionConfig$EapMsChapV2Config·getEapMsChapV2onfig()·{ | 42 | ····public·EapSessionConfig$EapMsChapV2Config·getEapMsChapV2onfig()·{ |
| 50 | ········return·this. | 43 | ········return·this.eapConfigs.get(26); |
| 51 | ····} | 44 | ····} |
| 52 | ···· | 45 | ···· |
| 53 | ····public·EapSessionConfig$EapSimConfig·getEapSimConfig()·{ | 46 | ····public·EapSessionConfig$EapSimConfig·getEapSimConfig()·{ |
| 54 | ········return·this. | 47 | ········return·this.eapConfigs.get(18); |
| 55 | ····} | 48 | ····} |
| 56 | } | 49 | } |
| Offset 1, 13 lines modified | Offset 1, 13 lines modified | ||
| 1 | package·android.net.ipsec.ike; | 1 | package·android.net.ipsec.ike; |
| 2 | import·java.util.Objects; | 2 | import·java.util.Objects; |
| 3 | import·android.net.eap.EapSessionConfig; | 3 | import·android.net.eap.EapSessionConfig; |
| 4 | import·java.security.interfaces.RSAKey; | 4 | import·java.security.interfaces.RSAPrivateKey; |
| 5 | import·java.security.PrivateKey; | 5 | import·java.security.PrivateKey; |
| 6 | import·java.security.cert.X509Certificate; | 6 | import·java.security.cert.X509Certificate; |
| 7 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload$IkeConfigAttribute; | 7 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload$IkeConfigAttribute; |
| 8 | import·java.net.Inet6Address; | 8 | import·java.net.Inet6Address; |
| 9 | import·java.net.Inet4Address; | 9 | import·java.net.Inet4Address; |
| 10 | import·java.net.InetAddress; | 10 | import·java.net.InetAddress; |
| 11 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload$ConfigAttributeIpv6Pcscf; | 11 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload$ConfigAttributeIpv6Pcscf; |
| Offset 142, 15 lines modified | Offset 142, 15 lines modified | ||
| 142 | ········return·this.setAuthDigitalSignature(x509Certificate,·x509Certificate2,·new·LinkedList(),·privateKey); | 142 | ········return·this.setAuthDigitalSignature(x509Certificate,·x509Certificate2,·new·LinkedList(),·privateKey); |
| 143 | ····} | 143 | ····} |
| 144 | ···· | 144 | ···· |
| 145 | ····public·IkeSessionParams$Builder·setAuthDigitalSignature(final·X509Certificate·x509Certificate,·final·X509Certificate·x509Certificate2,·final·List·list,·final·PrivateKey·privateKey)·{ | 145 | ····public·IkeSessionParams$Builder·setAuthDigitalSignature(final·X509Certificate·x509Certificate,·final·X509Certificate·x509Certificate2,·final·List·list,·final·PrivateKey·privateKey)·{ |
| 146 | ········if·(x509Certificate2·==·null·||·list·==·null·||·privateKey·==·null)·{ | 146 | ········if·(x509Certificate2·==·null·||·list·==·null·||·privateKey·==·null)·{ |
| 147 | ············throw·new·NullPointerException("Required·argument·not·provided"); | 147 | ············throw·new·NullPointerException("Required·argument·not·provided"); |
| 148 | ········} | 148 | ········} |
| 149 | ········if·(privateKey·instanceof·RSAKey)·{ | 149 | ········if·(privateKey·instanceof·RSAPrivateKey)·{ |
| 150 | ············this.mLocalAuthConfig·=·(IkeSessionParams$IkeAuthConfig)new·IkeSessionParams$IkeAuthDigitalSignLocalConfig(x509Certificate2,·list,·(PrivateKey)privateKey,·(IkeSessionParams$1)null); | 150 | ············this.mLocalAuthConfig·=·(IkeSessionParams$IkeAuthConfig)new·IkeSessionParams$IkeAuthDigitalSignLocalConfig(x509Certificate2,·list,·(PrivateKey)privateKey,·(IkeSessionParams$1)null); |
| 151 | ············this.mRemoteAuthConfig·=·(IkeSessionParams$IkeAuthConfig)new·IkeSessionParams$IkeAuthDigitalSignRemoteConfig(x509Certificate,·(IkeSessionParams$1)null); | 151 | ············this.mRemoteAuthConfig·=·(IkeSessionParams$IkeAuthConfig)new·IkeSessionParams$IkeAuthDigitalSignRemoteConfig(x509Certificate,·(IkeSessionParams$1)null); |
| 152 | ············return·this; | 152 | ············return·this; |
| 153 | ········} | 153 | ········} |
| 154 | ········throw·new·IllegalArgumentException("Unsupported·private·key·type"); | 154 | ········throw·new·IllegalArgumentException("Unsupported·private·key·type"); |
| 155 | ····} | 155 | ····} |
| 156 | ···· | 156 | ···· |
| Offset 175, 20 lines modified | Offset 175, 20 lines modified | ||
| 175 | ··#169·=·Fieldref···········#164.#168·····//·com/android/internal/net/eap/EapResult$EapSuccess.msk:[B | 175 | ··#169·=·Fieldref···········#164.#168·····//·com/android/internal/net/eap/EapResult$EapSuccess.msk:[B |
| 176 | ··#170·=·Utf8···············pii | 176 | ··#170·=·Utf8···············pii |
| 177 | ··#171·=·Utf8···············(Ljava/lang/Object;)Ljava/lang/String; | 177 | ··#171·=·Utf8···············(Ljava/lang/Object;)Ljava/lang/String; |
| 178 | ··#172·=·NameAndType········#170:#171·····//·pii:(Ljava/lang/Object;)Ljava/lang/String; | 178 | ··#172·=·NameAndType········#170:#171·····//·pii:(Ljava/lang/Object;)Ljava/lang/String; |
| 179 | ··#173·=·Methodref··········#31.#172······//·com/android/internal/net/utils/Log.pii:(Ljava/lang/Object;)Ljava/lang/String; | 179 | ··#173·=·Methodref··········#31.#172······//·com/android/internal/net/utils/Log.pii:(Ljava/lang/Object;)Ljava/lang/String; |
| 180 | ··#174·=·Utf8················EMSK= | 180 | ··#174·=·Utf8················EMSK= |
| 181 | ··#175·=·String·············#174··········//··EMSK= | 181 | ··#175·=·String·············#174··········//··EMSK= |
| 182 | ··#176·=·Utf8···············emsk | ||
| 183 | ··#177·=·NameAndType········#176:#145·····//·emsk:[B | ||
| 184 | ··#178·=·Fieldref···········#164.#177·····//·com/android/internal/net/eap/EapResult$EapSuccess.emsk:[B | ||
| 185 | ··#17 | 182 | ··#176·=·Utf8···············d |
| 186 | ··#1 | 183 | ··#177·=·NameAndType········#176:#105·····//·d:(Ljava/lang/String;Ljava/lang/String;)V |
| 187 | ··#1 | 184 | ··#178·=·Methodref··········#31.#177······//·com/android/internal/net/utils/Log.d:(Ljava/lang/String;Ljava/lang/String;)V |
| 185 | ··#179·=·Utf8···············emsk | ||
| 186 | ··#180·=·NameAndType········#179:#145·····//·emsk:[B | ||
| 187 | ··#181·=·Fieldref···········#164.#180·····//·com/android/internal/net/eap/EapResult$EapSuccess.emsk:[B | ||
| 188 | ··#182·=·Utf8···············onSuccess | 188 | ··#182·=·Utf8···············onSuccess |
| 189 | ··#183·=·Utf8···············([B[B)V | 189 | ··#183·=·Utf8···············([B[B)V |
| 190 | ··#184·=·NameAndType········#182:#183·····//·onSuccess:([B[B)V | 190 | ··#184·=·NameAndType········#182:#183·····//·onSuccess:([B[B)V |
| 191 | ··#185·=·InterfaceMethodref·#116.#184·····//·com/android/internal/net/eap/IEapCallback.onSuccess:([B[B)V | 191 | ··#185·=·InterfaceMethodref·#116.#184·····//·com/android/internal/net/eap/IEapCallback.onSuccess:([B[B)V |
| 192 | ··#186·=·Utf8···············onFail | 192 | ··#186·=·Utf8···············onFail |
| 193 | ··#187·=·NameAndType········#186:#98······//·onFail:()V | 193 | ··#187·=·NameAndType········#186:#98······//·onFail:()V |
| 194 | ··#188·=·InterfaceMethodref·#116.#187·····//·com/android/internal/net/eap/IEapCallback.onFail:()V | 194 | ··#188·=·InterfaceMethodref·#116.#187·····//·com/android/internal/net/eap/IEapCallback.onFail:()V |
| Offset 603, 15 lines modified | Offset 603, 15 lines modified | ||
| 603 | ·······275:·aload·········6 | 603 | ·······275:·aload·········6 |
| 604 | ·······277:·ldc···········#175················//·String··EMSK= | 604 | ·······277:·ldc···········#175················//·String··EMSK= |
| 605 | ·······279:·invokevirtual·#129················//·Method·java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | 605 | ·······279:·invokevirtual·#129················//·Method·java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; |
| 606 | ·······282:·pop | 606 | ·······282:·pop |
| 607 | ·······283:·getstatic·····#37·················//·Field·LOG:Lcom/android/internal/net/utils/Log; | 607 | ·······283:·getstatic·····#37·················//·Field·LOG:Lcom/android/internal/net/utils/Log; |
| 608 | ·······286:·astore········7 | 608 | ·······286:·astore········7 |
| 609 | ·······288:·aload_3 | 609 | ·······288:·aload_3 |
| 610 | ·······289:·getfield······#1 | 610 | ·······289:·getfield······#169················//·Field·com/android/internal/net/eap/EapResult$EapSuccess.msk:[B |
| 611 | ·······292:·astore········8 | 611 | ·······292:·astore········8 |
| 612 | ·······294:·aload·········7 | 612 | ·······294:·aload·········7 |
| 613 | ·······296:·aload·········8 | 613 | ·······296:·aload·········8 |
| 614 | ·······298:·invokevirtual·#173················//·Method·com/android/internal/net/utils/Log.pii:(Ljava/lang/Object;)Ljava/lang/String; | 614 | ·······298:·invokevirtual·#173················//·Method·com/android/internal/net/utils/Log.pii:(Ljava/lang/Object;)Ljava/lang/String; |
| 615 | ·······301:·astore········7 | 615 | ·······301:·astore········7 |
| 616 | ·······303:·aload·········6 | 616 | ·······303:·aload·········6 |
| 617 | ·······305:·aload·········7 | 617 | ·······305:·aload·········7 |
| Offset 619, 23 lines modified | Offset 619, 23 lines modified | ||
| 619 | ·······310:·pop | 619 | ·······310:·pop |
| 620 | ·······311:·aload·········6 | 620 | ·······311:·aload·········6 |
| 621 | ·······313:·invokevirtual·#138················//·Method·java/lang/StringBuilder.toString:()Ljava/lang/String; | 621 | ·······313:·invokevirtual·#138················//·Method·java/lang/StringBuilder.toString:()Ljava/lang/String; |
| 622 | ·······316:·astore········6 | 622 | ·······316:·astore········6 |
| 623 | ·······318:·aload·········4 | 623 | ·······318:·aload·········4 |
| 624 | ·······320:·aload·········5 | 624 | ·······320:·aload·········5 |
| 625 | ·······322:·aload·········6 | 625 | ·······322:·aload·········6 |
| 626 | ·······324:·invokevirtual·#1 | 626 | ·······324:·invokevirtual·#178················//·Method·com/android/internal/net/utils/Log.d:(Ljava/lang/String;Ljava/lang/String;)V |
| 627 | ·······327:·aload_0 | 627 | ·······327:·aload_0 |
| 628 | ·······328:·getfield······#89·················//·Field·mCb:Lcom/android/internal/net/eap/IEapCallback; | 628 | ·······328:·getfield······#89·················//·Field·mCb:Lcom/android/internal/net/eap/IEapCallback; |
| 629 | ·······331:·astore········4 | 629 | ·······331:·astore········4 |
| 630 | ·······333:·aload_3 | 630 | ·······333:·aload_3 |
| 631 | ·······334:·getfield······#169················//·Field·com/android/internal/net/eap/EapResult$EapSuccess.msk:[B | 631 | ·······334:·getfield······#169················//·Field·com/android/internal/net/eap/EapResult$EapSuccess.msk:[B |
| 632 | ·······337:·astore········5 | 632 | ·······337:·astore········5 |
| 633 | ·······339:·aload_3 | 633 | ·······339:·aload_3 |
| 634 | ·······340:·getfield······#1 | 634 | ·······340:·getfield······#181················//·Field·com/android/internal/net/eap/EapResult$EapSuccess.emsk:[B |
| 635 | ·······343:·astore········6 | 635 | ·······343:·astore········6 |
| 636 | ·······345:·aload·········4 | 636 | ·······345:·aload·········4 |
| 637 | ·······347:·aload·········5 | 637 | ·······347:·aload·········5 |
| 638 | ·······349:·aload·········6 | 638 | ·······349:·aload·········6 |
| 639 | ·······351:·invokeinterface·#185,··3··········//·InterfaceMethod·com/android/internal/net/eap/IEapCallback.onSuccess:([B[B)V | 639 | ·······351:·invokeinterface·#185,··3··········//·InterfaceMethod·com/android/internal/net/eap/IEapCallback.onSuccess:([B[B)V |
| 640 | ·······356:·goto··········370 | 640 | ·······356:·goto··········370 |
| 641 | ·······359:·aload_0 | 641 | ·······359:·aload_0 |
| Offset 169, 17 lines modified | Offset 169, 14 lines modified | ||
| 169 | ················} | 169 | ················} |
| 170 | ················final·int·notifyType·=·ikeNotifyPayload.notifyType; | 170 | ················final·int·notifyType·=·ikeNotifyPayload.notifyType; |
| 171 | ················if·(notifyType·!=·16386)·{ | 171 | ················if·(notifyType·!=·16386)·{ |
| 172 | ····················if·(notifyType·==·16387)·{ | 172 | ····················if·(notifyType·==·16387)·{ |
| 173 | ························continue; | 173 | ························continue; |
| 174 | ····················} | 174 | ····················} |
| 175 | ····················if·(notifyType·!=·16391)·{ | 175 | ····················if·(notifyType·!=·16391)·{ |
| 176 | ························if·(notifyType·==·16393)·{ | ||
| 177 | ····························continue; | ||
| 178 | ························} | ||
| 179 | ························if·(notifyType·==·16394)·{ | 176 | ························if·(notifyType·==·16394)·{ |
| 180 | ····························continue; | 177 | ····························continue; |
| 181 | ························} | 178 | ························} |
| 182 | ························final·StringBuilder·sb2·=·new·StringBuilder(); | 179 | ························final·StringBuilder·sb2·=·new·StringBuilder(); |
| 183 | ························sb2.append("Received·unknown·or·unexpected·status·notifications·with·notify·type:·"); | 180 | ························sb2.append("Received·unknown·or·unexpected·status·notifications·with·notify·type:·"); |
| 184 | ························sb2.append(ikeNotifyPayload.notifyType); | 181 | ························sb2.append(ikeNotifyPayload.notifyType); |
| 185 | ························logw(sb2.toString()); | 182 | ························logw(sb2.toString()); |
| Offset 210, 17 lines modified | Offset 207, 17 lines modified | ||
| 210 | ····························try·{ | 207 | ····························try·{ |
| 211 | ································final·Object·second·=·(verifiedNegotiatedChildProposalPair·=·IkeSaPayload.getVerifiedNegotiatedChildProposalPair(ikeSaPayload3,·ikeSaPayload4,·ipSecSpiGenerator,·inetAddress)).second; | 208 | ································final·Object·second·=·(verifiedNegotiatedChildProposalPair·=·IkeSaPayload.getVerifiedNegotiatedChildProposalPair(ikeSaPayload3,·ikeSaPayload4,·ipSecSpiGenerator,·inetAddress)).second; |
| 212 | ································try·{ | 209 | ································try·{ |
| 213 | ····································final·IkeSaPayload$ChildProposal·ikeSaPayload$ChildProposal·=·(IkeSaPayload$ChildProposal)second; | 210 | ····································final·IkeSaPayload$ChildProposal·ikeSaPayload$ChildProposal·=·(IkeSaPayload$ChildProposal)second; |
| 214 | ····································try·{ | 211 | ····································try·{ |
| 215 | ········································final·ChildSaProposal·saProposal·=·ikeSaPayload$ChildProposal.saProposal; | 212 | ········································final·ChildSaProposal·saProposal·=·ikeSaPayload$ChildProposal.saProposal; |
| 216 | ········································validateKePayloads(list4,·b,·saProposal); | 213 | ········································validateKePayloads(list4,·b,·saProposal); |
| 217 | ········································Label_05 | 214 | ········································Label_0568:·{ |
| 218 | ············································if·(b2·!=·b4)·{ | 215 | ············································if·(b2·!=·b4)·{ |
| 219 | ················································break·Label_05 | 216 | ················································break·Label_0568; |
| 220 | ············································} | 217 | ············································} |
| 221 | ············································final·Pair·validateAndGetNegotiatedTsPair·=·validateAndGetNegotiatedTsPair(list,·list2); | 218 | ············································final·Pair·validateAndGetNegotiatedTsPair·=·validateAndGetNegotiatedTsPair(list,·list2); |
| 222 | ············································try·{ | 219 | ············································try·{ |
| 223 | ················································final·Object·first·=·verifiedNegotiatedChildProposalPair.first; | 220 | ················································final·Object·first·=·verifiedNegotiatedChildProposalPair.first; |
| 224 | ················································try·{ | 221 | ················································try·{ |
| 225 | ····················································final·IkeSaPayload$ChildProposal·ikeSaPayload$ChildProposal2·=·(IkeSaPayload$ChildProposal)first; | 222 | ····················································final·IkeSaPayload$ChildProposal·ikeSaPayload$ChildProposal2·=·(IkeSaPayload$ChildProposal)first; |
| 226 | ····················································try·{ | 223 | ····················································try·{ |
| Offset 1, 42 lines modified | Offset 1, 54 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike.crypto; | 1 | package·com.android.internal.net.ipsec.ike.crypto; |
| 2 | import·java.util.Arrays; | ||
| 3 | import·com.android.internal.net.ipsec.ike.utils.HexDump; | 2 | import·com.android.internal.net.ipsec.ike.utils.HexDump; |
| 4 | import·javax.crypto.ShortBufferException; | 3 | import·javax.crypto.ShortBufferException; |
| 5 | import·javax.crypto.IllegalBlockSizeException; | 4 | import·javax.crypto.IllegalBlockSizeException; |
| 6 | import·javax.crypto.BadPaddingException; | 5 | import·javax.crypto.BadPaddingException; |
| 7 | import·java.security.InvalidKeyException; | 6 | import·java.security.InvalidKeyException; |
| 8 | import·java.security.InvalidAlgorithmParameterException; | 7 | import·java.security.InvalidAlgorithmParameterException; |
| 9 | import·java.security.spec.AlgorithmParameterSpec; | 8 | import·java.security.spec.AlgorithmParameterSpec; |
| 10 | import·java.security.Key; | 9 | import·java.security.Key; |
| 11 | import·javax.crypto.spec.SecretKeySpec; | 10 | import·javax.crypto.spec.SecretKeySpec; |
| 12 | import·java.nio.ByteBuffer; | 11 | import·java.nio.ByteBuffer; |
| 13 | import·javax.crypto.spec.IvParameterSpec; | 12 | import·javax.crypto.spec.IvParameterSpec; |
| 13 | import·java.util.Collection; | ||
| 14 | import·java.util.HashSet; | ||
| 15 | import·java.util.Arrays; | ||
| 14 | import·javax.crypto.Cipher; | 16 | import·javax.crypto.Cipher; |
| 17 | import·java.util.Set; | ||
| 15 | public·class·AesXCbcImpl | 18 | public·class·AesXCbcImpl |
| 16 | { | 19 | { |
| 17 | ····private·static·final·String·AES_CBC·=·"AES/CBC/NoPadding"; | ||
| 18 | ····private·static·final·int·AES_CBC_BLOCK_LEN·=·16; | 20 | ····private·static·final·int·AES_CBC_BLOCK_LEN·=·16; |
| 19 | ····private·static·final·int·AES_CBC_IV_LEN·=·16; | 21 | ····private·static·final·int·AES_CBC_IV_LEN·=·16; |
| 20 | ····private·static·final·int·AES_XCBC_96_MAC_LEN·=·12; | 22 | ····private·static·final·int·AES_XCBC_96_MAC_LEN·=·12; |
| 21 | ····private·static·final·byte[]·E_INITIAL; | 23 | ····private·static·final·byte[]·E_INITIAL; |
| 22 | ····private·static·final·String·KEY1_SEED_HEX_STRING·=·"01010101010101010101010101010101"; | 24 | ····private·static·final·String·KEY1_SEED_HEX_STRING·=·"01010101010101010101010101010101"; |
| 23 | ····private·static·final·String·KEY2_SEED_HEX_STRING·=·"02020202020202020202020202020202"; | 25 | ····private·static·final·String·KEY2_SEED_HEX_STRING·=·"02020202020202020202020202020202"; |
| 24 | ····private·static·final·String·KEY3_SEED_HEX_STRING·=·"03030303030303030303030303030303"; | 26 | ····private·static·final·String·KEY3_SEED_HEX_STRING·=·"03030303030303030303030303030303"; |
| 27 | ····private·static·final·Set·sSupportedAlgorithms; | ||
| 25 | ····private·final·Cipher·mCipher; | 28 | ····private·final·Cipher·mCipher; |
| 26 | ···· | 29 | ···· |
| 27 | ····static·{ | 30 | ····static·{ |
| 31 | ········sSupportedAlgorithms·=·new·HashSet(Arrays.asList("AES/CBC/NoPadding",·"AES_128/CBC/NoPadding")); | ||
| 28 | ········E_INITIAL·=·new·byte[16]; | 32 | ········E_INITIAL·=·new·byte[16]; |
| 29 | ····} | 33 | ····} |
| 30 | ···· | 34 | ···· |
| 31 | ····public·AesXCbcImpl()·{ | ||
| 32 | ···· | 35 | ····public·AesXCbcImpl(final·Cipher·mCipher)·{ |
| 36 | ········final·String·algorithm·=·mCipher.getAlgorithm(); | ||
| 37 | ········if·(AesXCbcImpl.sSupportedAlgorithms.contains(algorithm))·{ | ||
| 38 | ············this.mCipher·=·mCipher; | ||
| 39 | ············return; | ||
| 40 | ········} | ||
| 41 | ········final·StringBuilder·sb·=·new·StringBuilder(); | ||
| 42 | ········sb.append("Cannot·use·AES_XCBC·for·"); | ||
| 43 | ········sb.append(algorithm); | ||
| 44 | ········throw·new·IllegalArgumentException(sb.toString()); | ||
| 33 | ····} | 45 | ····} |
| 34 | ···· | 46 | ···· |
| 35 | ····private·byte[]·encryptAesBlock(final·byte[]·key,·final·byte[]·array)·{ | 47 | ····private·byte[]·encryptAesBlock(final·byte[]·key,·final·byte[]·array)·{ |
| 36 | ········final·IvParameterSpec·params·=·new·IvParameterSpec(new·byte[16]); | 48 | ········final·IvParameterSpec·params·=·new·IvParameterSpec(new·byte[16]); |
| 37 | ········final·ByteBuffer·wrap·=·ByteBuffer.wrap(array); | 49 | ········final·ByteBuffer·wrap·=·ByteBuffer.wrap(array); |
| 38 | ········final·ByteBuffer·allocate·=·ByteBuffer.allocate(array.length); | 50 | ········final·ByteBuffer·allocate·=·ByteBuffer.allocate(array.length); |
| 39 | ········try·{ | 51 | ········try·{ |
| Offset 81, 15 lines modified | Offset 93, 15 lines modified | ||
| 81 | ········final·byte[]·array3·=·new·byte[array.length]; | 93 | ········final·byte[]·array3·=·new·byte[array.length]; |
| 82 | ········for·(int·i·=·0;·i·<·array3.length;·++i)·{ | 94 | ········for·(int·i·=·0;·i·<·array3.length;·++i)·{ |
| 83 | ············array3[i]·=·(byte)(array[i]·^·array2[i]); | 95 | ············array3[i]·=·(byte)(array[i]·^·array2[i]); |
| 84 | ········} | 96 | ········} |
| 85 | ········return·array3; | 97 | ········return·array3; |
| 86 | ····} | 98 | ····} |
| 87 | ···· | 99 | ···· |
| 88 | ····public·byte[]· | 100 | ····public·byte[]·signBytes(final·byte[]·array,·final·byte[]·array2,·final·boolean·b)·{ |
| 89 | ········final·int·blockSize·=·this.mCipher.getBlockSize(); | 101 | ········final·int·blockSize·=·this.mCipher.getBlockSize(); |
| 90 | ········final·boolean·b2·=·array2.length·%·blockSize·!=·0; | 102 | ········final·boolean·b2·=·array2.length·%·blockSize·!=·0; |
| 91 | ········byte[]·padData·=·array2; | 103 | ········byte[]·padData·=·array2; |
| 92 | ········if·(b2)·{ | 104 | ········if·(b2)·{ |
| 93 | ············padData·=·padData(array2,·blockSize); | 105 | ············padData·=·padData(array2,·blockSize); |
| 94 | ········} | 106 | ········} |
| 95 | ········final·byte[]·encryptAesBlock·=·this.encryptAesBlock(array,·HexDump.hexStringToByteArray("01010101010101010101010101010101")); | 107 | ········final·byte[]·encryptAesBlock·=·this.encryptAesBlock(array,·HexDump.hexStringToByteArray("01010101010101010101010101010101")); |
| Offset 1, 13 lines modified | Offset 1, 12 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike.crypto; | 1 | package·com.android.internal.net.ipsec.ike.crypto; |
| 2 | abstract·class·IkeCrypto | 2 | abstract·class·IkeCrypto |
| 3 | { | 3 | { |
| 4 | ····protected·static·final·String·ALGO_NAME_JCE_UNSUPPORTED·=·"ALGO_NAME_JCE_UNSUPPORTED"; | ||
| 5 | ····private·final·int·mAlgorithmId; | 4 | ····private·final·int·mAlgorithmId; |
| 6 | ····private·final·String·mAlgorithmName; | 5 | ····private·final·String·mAlgorithmName; |
| 7 | ····private·final·int·mKeyLength; | 6 | ····private·final·int·mKeyLength; |
| 8 | ···· | 7 | ···· |
| 9 | ····protected·IkeCrypto(final·int·mAlgorithmId,·final·int·mKeyLength,·final·String·mAlgorithmName)·{ | 8 | ····protected·IkeCrypto(final·int·mAlgorithmId,·final·int·mKeyLength,·final·String·mAlgorithmName)·{ |
| 10 | ········this.mAlgorithmId·=·mAlgorithmId; | 9 | ········this.mAlgorithmId·=·mAlgorithmId; |
| 11 | ········this.mKeyLength·=·mKeyLength; | 10 | ········this.mKeyLength·=·mKeyLength; |
| Offset 1, 26 lines modified | Offset 1, 26 lines modified | ||
| 1 | package·android.net.eap; | 1 | package·android.net.eap; |
| 2 | import·java.util.Objects; | ||
| 3 | public·class·EapSessionConfig$EapMsChapV2Config·extends·EapSessionConfig$EapMethodConfig | 2 | public·class·EapSessionConfig$EapMsChapV2Config·extends·EapSessionConfig$EapMethodConfig |
| 4 | { | 3 | { |
| 5 | ····p | 4 | ····public·final·String·password; |
| 6 | ····p | 5 | ····public·final·String·username; |
| 7 | ···· | 6 | ···· |
| 8 | ····public·EapSessionConfig$EapMsChapV2Config(final·String·s,·final·String·s | 7 | ····public·EapSessionConfig$EapMsChapV2Config(final·String·username,·final·String·password)·{ |
| 9 | ········super(26); | 8 | ········super(26); |
| 9 | ········if·(username·!=·null·&&·password·!=·null)·{ | ||
| 10 | ········Objects.requireNonNull(s,·"username·must·not·be·null"); | ||
| 11 | ········Objects.requireNonNull(s2,·"password·must·not·be·null"); | ||
| 12 | ········this. | 10 | ············this.username·=·username; |
| 13 | ········this. | 11 | ············this.password·=·password; |
| 12 | ············return; | ||
| 13 | ········} | ||
| 14 | ········throw·new·IllegalArgumentException("Username·or·password·was·null"); | ||
| 14 | ····} | 15 | ····} |
| 15 | ···· | 16 | ···· |
| 16 | ····public·String·getPassword()·{ | 17 | ····public·String·getPassword()·{ |
| 17 | ········return·this. | 18 | ········return·this.password; |
| 18 | ····} | 19 | ····} |
| 19 | ···· | 20 | ···· |
| 20 | ····public·String·getUsername()·{ | 21 | ····public·String·getUsername()·{ |
| 21 | ········return·this. | 22 | ········return·this.username; |
| 22 | ····} | 23 | ····} |
| 23 | } | 24 | } |
| Offset 1, 26 lines modified | Offset 1, 26 lines modified | ||
| 1 | package·android.net.eap; | 1 | package·android.net.eap; |
| 2 | public·abstract·class·EapSessionConfig$EapUiccConfig·extends·EapSessionConfig$EapMethodConfig | 2 | public·abstract·class·EapSessionConfig$EapUiccConfig·extends·EapSessionConfig$EapMethodConfig |
| 3 | { | 3 | { |
| 4 | ····p | 4 | ····public·final·int·apptype; |
| 5 | ····p | 5 | ····public·final·int·subId; |
| 6 | ···· | 6 | ···· |
| 7 | ····private·EapSessionConfig$EapUiccConfig(final·int·n,·final·int· | 7 | ····private·EapSessionConfig$EapUiccConfig(final·int·n,·final·int·subId,·final·int·apptype)·{ |
| 8 | ········super(n); | 8 | ········super(n); |
| 9 | ········this. | 9 | ········this.subId·=·subId; |
| 10 | ········this. | 10 | ········this.apptype·=·apptype; |
| 11 | ····} | 11 | ····} |
| 12 | ···· | 12 | ···· |
| 13 | ····public·int·getAppType()·{ | 13 | ····public·int·getAppType()·{ |
| 14 | ········return·this. | 14 | ········return·this.apptype; |
| 15 | ····} | 15 | ····} |
| 16 | ···· | 16 | ···· |
| 17 | ····public·int·getSubId()·{ | 17 | ····public·int·getSubId()·{ |
| 18 | ········return·this. | 18 | ········return·this.subId; |
| 19 | ····} | 19 | ····} |
| 20 | ···· | 20 | ···· |
| 21 | ····public·boolean·isEapOnlySafeMethod()·{ | 21 | ····public·boolean·isEapOnlySafeMethod()·{ |
| 22 | ········return·true; | 22 | ········return·true; |
| 23 | ····} | 23 | ····} |
| 24 | } | 24 | } |
| Offset 1, 36 lines modified | Offset 1, 17 lines modified | ||
| 1 | package·com.android.internal.net.eap; | 1 | package·com.android.internal.net.eap; |
| 2 | import·com.android.internal.net.utils.Log; | ||
| 3 | public·class·EapResult$EapSuccess·extends·EapResult | 2 | public·class·EapResult$EapSuccess·extends·EapResult |
| 4 | { | 3 | { |
| 5 | ····private·static·final·String·TAG; | ||
| 6 | ····public·final·byte[]·emsk; | 4 | ····public·final·byte[]·emsk; |
| 7 | ····public·final·byte[]·msk; | 5 | ····public·final·byte[]·msk; |
| 8 | ···· | 6 | ···· |
| 9 | ····static·{ | ||
| 10 | ········TAG·=·EapResult$EapSuccess.class.getSimpleName(); | ||
| 11 | ····} | ||
| 12 | ···· | ||
| 13 | ····public·EapResult$EapSuccess(final·byte[]·msk,·final·byte[]·emsk)·{ | 7 | ····public·EapResult$EapSuccess(final·byte[]·msk,·final·byte[]·emsk)·{ |
| 14 | ········if·(msk·!=·null·&&·emsk·!=·null)·{ | 8 | ········if·(msk·!=·null·&&·emsk·!=·null)·{ |
| 15 | ············final·int·length·=·msk.length; | ||
| 16 | ············final·int·n·=·64; | ||
| 17 | ············if·(length·<·n·||·emsk.length·<·n)·{ | ||
| 18 | ················final·Log·log·=·EapAuthenticator.LOG; | ||
| 19 | ················final·String·tag·=·EapResult$EapSuccess.TAG; | ||
| 20 | ················final·StringBuilder·sb·=·new·StringBuilder(); | ||
| 21 | ················sb.append("MSK·or·EMSK·does·not·meet·the·required·key·length:·MSK="); | ||
| 22 | ················sb.append(EapAuthenticator.LOG.pii((Object)msk)); | ||
| 23 | ················sb.append("·EMSK="); | ||
| 24 | ················sb.append(EapAuthenticator.LOG.pii((Object)emsk)); | ||
| 25 | ················log.wtf(tag,·sb.toString()); | ||
| 26 | ············} | ||
| 27 | ············this.msk·=·msk; | 9 | ············this.msk·=·msk; |
| 28 | ············this.emsk·=·emsk; | 10 | ············this.emsk·=·emsk; |
| 29 | ············return; | 11 | ············return; |
| 30 | ········} | 12 | ········} |
| 31 | ········throw·new·IllegalArgumentException("msk·and·emsk·must·not·be·null"); | 13 | ········throw·new·IllegalArgumentException("msk·and·emsk·must·not·be·null"); |
| 32 | ····} | 14 | ····} |
| 33 | } | 15 | } |
| Offset 6, 16 lines modified | Offset 6, 14 lines modified | ||
| 6 | import·com.android.internal.net.eap.EapResult; | 6 | import·com.android.internal.net.eap.EapResult; |
| 7 | import·com.android.internal.net.eap.message.EapMessage; | 7 | import·com.android.internal.net.eap.message.EapMessage; |
| 8 | import·com.android.internal.net.utils.SimpleStateMachine$SimpleState; | 8 | import·com.android.internal.net.utils.SimpleStateMachine$SimpleState; |
| 9 | import·com.android.internal.net.utils.SimpleStateMachine; | 9 | import·com.android.internal.net.utils.SimpleStateMachine; |
| 10 | public·abstract·class·EapMethodStateMachine·extends·SimpleStateMachine | 10 | public·abstract·class·EapMethodStateMachine·extends·SimpleStateMachine |
| 11 | { | 11 | { |
| 12 | ····public·static·final·int·MIN_EMSK_LEN_BYTES·=·64; | ||
| 13 | ····public·static·final·int·MIN_MSK_LEN_BYTES·=·64; | ||
| 14 | ····protected·boolean·mIsExpectingEapFailure; | 12 | ····protected·boolean·mIsExpectingEapFailure; |
| 15 | ···· | 13 | ···· |
| 16 | ····public·EapMethodStateMachine()·{ | 14 | ····public·EapMethodStateMachine()·{ |
| 17 | ········this.mIsExpectingEapFailure·=·false; | 15 | ········this.mIsExpectingEapFailure·=·false; |
| 18 | ····} | 16 | ····} |
| 19 | ···· | 17 | ···· |
| 20 | ····abstract·int·getEapMethod(); | 18 | ····abstract·int·getEapMethod(); |
| Offset 105, 15 lines modified | Offset 105, 15 lines modified | ||
| 105 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex2)); | 105 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex2)); |
| 106 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·decode); | 106 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·decode); |
| 107 | ········································································································} | 107 | ········································································································} |
| 108 | ········································································································catch·(EapSilentException·ex3)·{ | 108 | ········································································································catch·(EapSilentException·ex3)·{ |
| 109 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex3)); | 109 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex3)); |
| 110 | ········································································································} | 110 | ········································································································} |
| 111 | ········································································································catch·(UnsupportedEapTypeException·ex4)·{ | 111 | ········································································································catch·(UnsupportedEapTypeException·ex4)·{ |
| 112 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·EapMessage.getNakResponse(ex4.eapIdentifier,·(Collection)EapStateMachine.access$000(this.this$0). | 112 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·EapMessage.getNakResponse(ex4.eapIdentifier,·(Collection)EapStateMachine.access$000(this.this$0).eapConfigs.keySet())); |
| 113 | ········································································································} | 113 | ········································································································} |
| 114 | ····································································································} | 114 | ····································································································} |
| 115 | ································································································} | 115 | ································································································} |
| 116 | ································································································catch·(EapSilentException·ex5)·{} | 116 | ································································································catch·(EapSilentException·ex5)·{} |
| 117 | ································································································catch·(UnsupportedEapTypeException·ex6)·{} | 117 | ································································································catch·(UnsupportedEapTypeException·ex6)·{} |
| 118 | ····························································································} | 118 | ····························································································} |
| 119 | ····························································································catch·(EapSilentException·ex7)·{} | 119 | ····························································································catch·(EapSilentException·ex7)·{} |
| Offset 27, 17 lines modified | Offset 27, 17 lines modified | ||
| 27 | ········this.mContext·=·mContext; | 27 | ········this.mContext·=·mContext; |
| 28 | ········this.mEapSessionConfig·=·mEapSessionConfig; | 28 | ········this.mEapSessionConfig·=·mEapSessionConfig; |
| 29 | ········this.mSecureRandom·=·mSecureRandom; | 29 | ········this.mSecureRandom·=·mSecureRandom; |
| 30 | ········final·Log·log·=·EapAuthenticator.LOG; | 30 | ········final·Log·log·=·EapAuthenticator.LOG; |
| 31 | ········final·String·tag·=·EapStateMachine.TAG; | 31 | ········final·String·tag·=·EapStateMachine.TAG; |
| 32 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 32 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 33 | ········sb.append("Starting·EapStateMachine·with·EAP-Identity="); | 33 | ········sb.append("Starting·EapStateMachine·with·EAP-Identity="); |
| 34 | ········sb.append(EapAuthenticator.LOG.pii((Object)mEapSessionConfig. | 34 | ········sb.append(EapAuthenticator.LOG.pii((Object)mEapSessionConfig.eapIdentity)); |
| 35 | ········sb.append("·and·configs="); | 35 | ········sb.append("·and·configs="); |
| 36 | ········sb.append(mEapSessionConfig. | 36 | ········sb.append(mEapSessionConfig.eapConfigs.keySet()); |
| 37 | ········log.d(tag,·sb.toString()); | 37 | ········log.d(tag,·sb.toString()); |
| 38 | ········this.transitionTo((EapStateMachine$EapState)new·EapStateMachine$CreatedState(this)); | 38 | ········this.transitionTo((EapStateMachine$EapState)new·EapStateMachine$CreatedState(this)); |
| 39 | ····} | 39 | ····} |
| 40 | ···· | 40 | ···· |
| 41 | ····protected·static·EapResult·handleNotification(final·String·s,·final·EapMessage·eapMessage)·{ | 41 | ····protected·static·EapResult·handleNotification(final·String·s,·final·EapMessage·eapMessage)·{ |
| 42 | ········final·String·str·=·new·String(eapMessage.eapData.eapTypeData,·StandardCharsets.UTF_8); | 42 | ········final·String·str·=·new·String(eapMessage.eapData.eapTypeData,·StandardCharsets.UTF_8); |
| 43 | ········final·Log·log·=·EapAuthenticator.LOG; | 43 | ········final·Log·log·=·EapAuthenticator.LOG; |
| Offset 1, 84 lines modified | Offset 1, 143 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike.crypto; | 1 | package·com.android.internal.net.ipsec.ike.crypto; |
| 2 | import·java.security. | 2 | import·java.security.InvalidKeyException; |
| 3 | import·java.security.Key; | 3 | import·java.security.Key; |
| 4 | import·java.nio.ByteBuffer; | 4 | import·java.nio.ByteBuffer; |
| 5 | import·javax.crypto.spec.SecretKeySpec; | 5 | import·javax.crypto.spec.SecretKeySpec; |
| 6 | import·java.util.Arrays; | ||
| 7 | import·javax.crypto.NoSuchPaddingException; | ||
| 6 | import·java.security.NoSuchAlgorithmException; | 8 | import·java.security.NoSuchAlgorithmException; |
| 7 | import·javax.crypto.Mac; | 9 | import·javax.crypto.Mac; |
| 10 | import·javax.crypto.Cipher; | ||
| 8 | import·com.android.internal.net.crypto.KeyGenerationUtils$ByteSigner; | 11 | import·com.android.internal.net.crypto.KeyGenerationUtils$ByteSigner; |
| 9 | abstract·class·IkeMac·extends·IkeCrypto·implements·KeyGenerationUtils$ByteSigner | 12 | abstract·class·IkeMac·extends·IkeCrypto·implements·KeyGenerationUtils$ByteSigner |
| 10 | { | 13 | { |
| 14 | ····private·final·Cipher·mCipher; | ||
| 11 | ····private·final·boolean·mIs | 15 | ····private·final·boolean·mIsEncryptAlgo; |
| 12 | ····private·final·Mac·mMac; | 16 | ····private·final·Mac·mMac; |
| 13 | ···· | 17 | ···· |
| 14 | ····protected·IkeMac(final·int·n,·final·int·n2,·final·String·s,·final·boolean·mIs | 18 | ····protected·IkeMac(final·int·n,·final·int·n2,·final·String·s,·final·boolean·mIsEncryptAlgo)·{ |
| 15 | ········super(n,·n2,·s); | 19 | ········super(n,·n2,·s); |
| 16 | ········this.mIs | 20 | ········this.mIsEncryptAlgo·=·mIsEncryptAlgo; |
| 17 | ········Label_004 | 21 | ········Label_0048:·{ |
| 18 | ············if·(!mIs | 22 | ············if·(!mIsEncryptAlgo)·{ |
| 19 | ················break·Label_004 | 23 | ················break·Label_0048; |
| 20 | ············} | 24 | ············} |
| 21 | ············try·{ | 25 | ············try·{ |
| 26 | ················this.mMac·=·null; | ||
| 22 | ················final·String·algorithmName·=·this.getAlgorithmName(); | 27 | ················final·String·algorithmName·=·this.getAlgorithmName(); |
| 23 | ················try·{ | 28 | ················try·{ |
| 24 | ····················this.m | 29 | ····················this.mCipher·=·Cipher.getInstance(algorithmName); |
| 25 | ····················return; | 30 | ····················return; |
| 31 | ····················final·String·algorithmName2·=·this.getAlgorithmName(); | ||
| 32 | ····················try·{ | ||
| 33 | ························this.mMac·=·Mac.getInstance(algorithmName2); | ||
| 34 | ························try·{ | ||
| 26 | ····················this.m | 35 | ····························this.mCipher·=·null; |
| 27 | ················} | 36 | ························} |
| 28 | ················catch·(NoSuchAlgorithmException·ca | 37 | ························catch·(NoSuchAlgorithmException·|·NoSuchPaddingException·ex2)·{ |
| 38 | ····························final·NoSuchPaddingException·ex; | ||
| 39 | ····························final·NoSuchPaddingException·cause·=·ex; | ||
| 29 | ····················final·StringBuilder·sb·=·new·StringBuilder(); | 40 | ····························final·StringBuilder·sb·=·new·StringBuilder(); |
| 30 | ····················sb.append("Failed·to·construct·"); | 41 | ····························sb.append("Failed·to·construct·"); |
| 31 | ····················sb.append(this.getTypeString()); | 42 | ····························sb.append(this.getTypeString()); |
| 32 | ····················throw·new·IllegalArgumentException(sb.toString(),·cause); | 43 | ····························throw·new·IllegalArgumentException(sb.toString(),·cause); |
| 44 | ························} | ||
| 45 | ····················} | ||
| 46 | ····················catch·(NoSuchPaddingException·ex3)·{} | ||
| 33 | ················} | 47 | ················} |
| 48 | ················catch·(NoSuchAlgorithmException·ex4)·{} | ||
| 49 | ················catch·(NoSuchPaddingException·ex5)·{} | ||
| 34 | ············} | 50 | ············} |
| 35 | ············catch·(NoSuchAlgorithmException·ex)·{} | 51 | ············catch·(NoSuchAlgorithmException·ex6)·{} |
| 52 | ············catch·(NoSuchPaddingException·ex7)·{} | ||
| 36 | ········} | 53 | ········} |
| 37 | ····} | 54 | ····} |
| 38 | ···· | 55 | ···· |
| 56 | ····private·byte[]·modifyKeyIfNeeded(byte[]·original)·{ | ||
| 57 | ········final·int·length·=·original.length; | ||
| 58 | ········final·int·newLength·=·16; | ||
| 59 | ········if·(length·<·newLength)·{ | ||
| 60 | ············original·=·Arrays.copyOf(original,·newLength); | ||
| 61 | ········} | ||
| 62 | ········else·if·(original.length·>·newLength)·{ | ||
| 63 | ············original·=·new·AesXCbcImpl(this.mCipher).signBytes(new·byte[newLength],·original,·false); | ||
| 64 | ········} | ||
| 65 | ········return·original; | ||
| 66 | ····} | ||
| 67 | ···· | ||
| 39 | ····public·byte[]·signBytes( | 68 | ····public·byte[]·signBytes(byte[]·modifyKeyIfNeeded,·final·byte[]·array)·{ |
| 40 | ········try·{ | 69 | ········try·{ |
| 41 | ············Label_0 | 70 | ············Label_0157:·{ |
| 42 | ················if·(!this.mIs | 71 | ················if·(!this.mIsEncryptAlgo)·{ |
| 43 | ····················break·Label_0 | 72 | ····················break·Label_0157; |
| 44 | ················} | 73 | ················} |
| 45 | ················try·{ | ||
| 46 | ····················final·SecretKeySpec·key2·=·new·SecretKeySpec(key,·this.getAlgorithmName()); | ||
| 47 | ················ | 74 | ················final·int·algorithmId·=·this.getAlgorithmId(); |
| 75 | ················Label_0114:·{ | ||
| 76 | ····················if·(algorithmId·==·4)·{ | ||
| 77 | ························break·Label_0114; | ||
| 48 | ···················· | 78 | ····················} |
| 49 | ························this.mMac.init(key2); | ||
| 50 | ························this.mMac.update(wrap); | ||
| 51 | ···················· | 79 | ····················Label_0063:·{ |
| 80 | ························if·(algorithmId·!=·5)·{ | ||
| 81 | ····························break·Label_0063; | ||
| 82 | ························} | ||
| 52 | ························try·{ | 83 | ························try·{ |
| 53 | ····························return·m | 84 | ····························return·new·AesXCbcImpl(this.mCipher).signBytes(modifyKeyIfNeeded,·array,·true); |
| 54 | ····························try·{ | 85 | ····························try·{ |
| 55 | ································try·{ | 86 | ································try·{ |
| 56 | ····································final·StringBuilder·sb·=·new·StringBuilder(); | 87 | ····································final·StringBuilder·sb·=·new·StringBuilder(); |
| 57 | ····································sb.append("Invalid·algorithm:·"); | 88 | ····································sb.append("Invalid·algorithm:·"); |
| 89 | ····································final·StringBuilder·sb2·=·sb; | ||
| 90 | ····································try·{ | ||
| 58 | ····································sb.append( | 91 | ········································sb2.append(algorithmId); |
| 59 | ····································throw·new·IllegalStateException(sb.toString()); | 92 | ········································throw·new·IllegalStateException(sb.toString()); |
| 93 | ········································try·{ | ||
| 94 | ············································modifyKeyIfNeeded·=·this.modifyKeyIfNeeded(modifyKeyIfNeeded); | ||
| 95 | ············································try·{ | ||
| 96 | ················································return·new·AesXCbcImpl(this.mCipher).signBytes(modifyKeyIfNeeded,·array,·false); | ||
| 97 | ················································try·{ | ||
| 98 | ····················································final·SecretKeySpec·key·=·new·SecretKeySpec(modifyKeyIfNeeded,·this.getAlgorithmName()); | ||
| 99 | ····················································final·ByteBuffer·wrap·=·ByteBuffer.wrap(array); | ||
| 100 | ····················································try·{ | ||
| 101 | ························································this.mMac.init(key); | ||
| 102 | ························································this.mMac.update(wrap); | ||
| 103 | ························································final·Mac·mMac·=·this.mMac; | ||
| 104 | ························································try·{ | ||
| 105 | ····························································return·mMac.doFinal(); | ||
| 106 | ························································} | ||
| 107 | ························································catch·(InvalidKeyException·|·IllegalStateException·ex)·{ | ||
| 108 | ····························································final·Object·cause; | ||
| 109 | ····························································throw·new·IllegalArgumentException("Failed·to·generate·MAC:·",·(Throwable)cause); | ||
| 110 | ························································} | ||
| 111 | ····················································} | ||
| 112 | ····················································catch·(InvalidKeyException·ex2)·{} | ||
| 113 | ····················································catch·(IllegalStateException·ex3)·{} | ||
| 114 | ················································} | ||
| 115 | ················································catch·(IllegalStateException·ex4)·{} | ||
| 116 | ············································} | ||
| 117 | ············································catch·(InvalidKeyException·ex5)·{} | ||
| 118 | ············································catch·(IllegalStateException·ex6)·{} | ||
| 119 | ········································} | ||
| 120 | ········································catch·(InvalidKeyException·ex7)·{} | ||
| ... Open expanded diff ... | |||
| Offset 67, 24 lines modified | Offset 67, 23 lines modified | ||
| 67 | ····················sb.append("Invalid·attributes:·"); | 67 | ····················sb.append("Invalid·attributes:·"); |
| 68 | ····················sb.append(eapAkaTypeData.attributeMap.keySet()); | 68 | ····················sb.append(eapAkaTypeData.attributeMap.keySet()); |
| 69 | ····················log.e(mtag,·sb.toString()); | 69 | ····················log.e(mtag,·sb.toString()); |
| 70 | ····················return·this.this$0.buildClientErrorResponse(eapMessage.eapIdentifier,·23,·EapSimAkaAttribute$AtClientErrorCode.UNABLE_TO_PROCESS); | 70 | ····················return·this.this$0.buildClientErrorResponse(eapMessage.eapIdentifier,·23,·EapSimAkaAttribute$AtClientErrorCode.UNABLE_TO_PROCESS); |
| 71 | ················} | 71 | ················} |
| 72 | ················final·String·subscriberId·=·this.this$0.mTelephonyManager.getSubscriberId(); | 72 | ················final·String·subscriberId·=·this.this$0.mTelephonyManager.getSubscriberId(); |
| 73 | ················if·(subscriberId·==·null)·{ | 73 | ················if·(subscriberId·==·null)·{ |
| 74 | ····················final·int·subId·=·this.this$0.mEapUiccConfig.getSubId(); | ||
| 75 | ····················final·Log·log2·=·EapAuthenticator.LOG; | 74 | ····················final·Log·log2·=·EapAuthenticator.LOG; |
| 76 | ····················final·String·mtag2·=·this.mTAG; | 75 | ····················final·String·mtag2·=·this.mTAG; |
| 77 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | 76 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 78 | ····················sb2.append("Unable·to·get·IMSI·for·subId="); | 77 | ····················sb2.append("Unable·to·get·IMSI·for·subId="); |
| 79 | ····················sb2.append(subId); | 78 | ····················sb2.append(this.this$0.mEapUiccConfig.subId); |
| 80 | ····················log2.e(mtag2,·sb2.toString()); | 79 | ····················log2.e(mtag2,·sb2.toString()); |
| 81 | ····················final·StringBuilder·sb3·=·new·StringBuilder(); | 80 | ····················final·StringBuilder·sb3·=·new·StringBuilder(); |
| 82 | ····················sb3.append("IMSI·for·subId·("); | 81 | ····················sb3.append("IMSI·for·subId·("); |
| 83 | ····················sb3.append(subId); | 82 | ····················sb3.append(this.this$0.mEapUiccConfig.subId); |
| 84 | ····················sb3.append(")·not·available"); | 83 | ····················sb3.append(")·not·available"); |
| 85 | ····················return·(EapResult)new·EapResult$EapError((Exception)new·EapSimAkaIdentityUnavailableException(sb3.toString())); | 84 | ····················return·(EapResult)new·EapResult$EapError((Exception)new·EapSimAkaIdentityUnavailableException(sb3.toString())); |
| 86 | ················} | 85 | ················} |
| 87 | ················final·StringBuilder·sb4·=·new·StringBuilder(); | 86 | ················final·StringBuilder·sb4·=·new·StringBuilder(); |
| 88 | ················sb4.append(this.this$0.getIdentityPrefix()); | 87 | ················sb4.append(this.this$0.getIdentityPrefix()); |
| 89 | ················sb4.append(subscriberId); | 88 | ················sb4.append(subscriberId); |
| 90 | ················final·String·string·=·sb4.toString(); | 89 | ················final·String·string·=·sb4.toString(); |
| Offset 61, 26 lines modified | Offset 61, 26 lines modified | ||
| 61 | ········} | 61 | ········} |
| 62 | ········else·{ | 62 | ········else·{ |
| 63 | ············try·{ | 63 | ············try·{ |
| 64 | ················final·EapMsChapV2MethodStateMachine·this$2·=·this.this$0; | 64 | ················final·EapMsChapV2MethodStateMachine·this$2·=·this.this$0; |
| 65 | ················try·{ | 65 | ················try·{ |
| 66 | ····················final·EapSessionConfig$EapMsChapV2Config·access$300·=·EapMsChapV2MethodStateMachine.access$300(this$2); | 66 | ····················final·EapSessionConfig$EapMsChapV2Config·access$300·=·EapMsChapV2MethodStateMachine.access$300(this$2); |
| 67 | ····················try·{ | 67 | ····················try·{ |
| 68 | ························final·String·password·=·access$300. | 68 | ························final·String·password·=·access$300.password; |
| 69 | ························try·{ | 69 | ························try·{ |
| 70 | ····························final·byte[]·generateMsk·=·EapMsChapV2MethodStateMachine.generateMsk(password,·this.mNtResponse); | 70 | ····························final·byte[]·generateMsk·=·EapMsChapV2MethodStateMachine.generateMsk(password,·this.mNtResponse); |
| 71 | ····························try·{ | 71 | ····························try·{ |
| 72 | ································final·EapMsChapV2MethodStateMachine·this$3·=·this.this$0; | 72 | ································final·EapMsChapV2MethodStateMachine·this$3·=·this.this$0; |
| 73 | ································try·{ | 73 | ································try·{ |
| 74 | ····································try·{ | 74 | ····································try·{ |
| 75 | ········································final·EapMethodStateMachine$FinalState·eapMethodStateMachine$FinalState·=·new·EapMethodStateMachine$FinalState((EapMethodStateMachine)this.this$0); | 75 | ········································final·EapMethodStateMachine$FinalState·eapMethodStateMachine$FinalState·=·new·EapMethodStateMachine$FinalState((EapMethodStateMachine)this.this$0); |
| 76 | ········································final·EapMsChapV2MethodStateMachine·eapMsChapV2MethodStateMachine·=·this$3; | 76 | ········································final·EapMsChapV2MethodStateMachine·eapMsChapV2MethodStateMachine·=·this$3; |
| 77 | ········································try·{ | 77 | ········································try·{ |
| 78 | ············································eapMsChapV2MethodStateMachine.transitionTo((EapMethodStateMachine$EapMethodState)eapMethodStateMachine$FinalState); | 78 | ············································eapMsChapV2MethodStateMachine.transitionTo((EapMethodStateMachine$EapMethodState)eapMethodStateMachine$FinalState); |
| 79 | ············································return·(EapResult)new·EapResult$EapSuccess(generateMsk,·new·byte[ | 79 | ············································return·(EapResult)new·EapResult$EapSuccess(generateMsk,·new·byte[0]); |
| 80 | ········································} | 80 | ········································} |
| 81 | ········································catch·(GeneralSecurityException·|·UnsupportedEncodingException·ex3)·{ | 81 | ········································catch·(GeneralSecurityException·|·UnsupportedEncodingException·ex3)·{ |
| 82 | ············································final·UnsupportedEncodingException·ex2; | 82 | ············································final·UnsupportedEncodingException·ex2; |
| 83 | ············································final·UnsupportedEncodingException·ex·=·ex2; | 83 | ············································final·UnsupportedEncodingException·ex·=·ex2; |
| 84 | ············································EapAuthenticator.LOG.e(this.mTAG,·"Error·generating·MSK·for·EAP·MSCHAPv2",·(Throwable)ex); | 84 | ············································EapAuthenticator.LOG.e(this.mTAG,·"Error·generating·MSK·for·EAP·MSCHAPv2",·(Throwable)ex); |
| 85 | ············································return·(EapResult)new·EapResult$EapError((Exception)ex); | 85 | ············································return·(EapResult)new·EapResult$EapError((Exception)ex); |
| 86 | ········································} | 86 | ········································} |
| Offset 48, 39 lines modified | Offset 48, 39 lines modified | ||
| 48 | ········try·{ | 48 | ········try·{ |
| 49 | ············final·byte[]·challenge·=·eapMsChapV2TypeData$EapMsChapV2ChallengeRequest.challenge; | 49 | ············final·byte[]·challenge·=·eapMsChapV2TypeData$EapMsChapV2ChallengeRequest.challenge; |
| 50 | ············try·{ | 50 | ············try·{ |
| 51 | ················final·EapMsChapV2MethodStateMachine·this$0·=·this.this$0; | 51 | ················final·EapMsChapV2MethodStateMachine·this$0·=·this.this$0; |
| 52 | ················try·{ | 52 | ················try·{ |
| 53 | ····················final·EapSessionConfig$EapMsChapV2Config·access$300·=·EapMsChapV2MethodStateMachine.access$300(this$0); | 53 | ····················final·EapSessionConfig$EapMsChapV2Config·access$300·=·EapMsChapV2MethodStateMachine.access$300(this$0); |
| 54 | ····················try·{ | 54 | ····················try·{ |
| 55 | ························final·String·username·=·access$300. | 55 | ························final·String·username·=·access$300.username; |
| 56 | ························try·{ | 56 | ························try·{ |
| 57 | ····························final·EapMsChapV2MethodStateMachine·this$2·=·this.this$0; | 57 | ····························final·EapMsChapV2MethodStateMachine·this$2·=·this.this$0; |
| 58 | ····························try·{ | 58 | ····························try·{ |
| 59 | ································final·EapSessionConfig$EapMsChapV2Config·access$301·=·EapMsChapV2MethodStateMachine.access$300(this$2); | 59 | ································final·EapSessionConfig$EapMsChapV2Config·access$301·=·EapMsChapV2MethodStateMachine.access$300(this$2); |
| 60 | ································try·{ | 60 | ································try·{ |
| 61 | ····································final·byte[]·generateNtResponse·=·EapMsChapV2MethodStateMachine.generateNtResponse(challenge,·bytes,·username,·access$301. | 61 | ····································final·byte[]·generateNtResponse·=·EapMsChapV2MethodStateMachine.generateNtResponse(challenge,·bytes,·username,·access$301.password); |
| 62 | ····································final·Log·log2·=·EapAuthenticator.LOG; | 62 | ····································final·Log·log2·=·EapAuthenticator.LOG; |
| 63 | ····································final·String·mtag2·=·this.mTAG; | 63 | ····································final·String·mtag2·=·this.mTAG; |
| 64 | ····································final·StringBuilder·sb2·=·new·StringBuilder(); | 64 | ····································final·StringBuilder·sb2·=·new·StringBuilder(); |
| 65 | ····································sb2.append("Generating·Challenge·Response:·Username="); | 65 | ····································sb2.append("Generating·Challenge·Response:·Username="); |
| 66 | ····································sb2.append(EapAuthenticator.LOG.pii((Object)EapMsChapV2MethodStateMachine.access$300(this.this$0). | 66 | ····································sb2.append(EapAuthenticator.LOG.pii((Object)EapMsChapV2MethodStateMachine.access$300(this.this$0).username)); |
| 67 | ····································sb2.append("·Peer-Challenge="); | 67 | ····································sb2.append("·Peer-Challenge="); |
| 68 | ····································sb2.append(EapAuthenticator.LOG.pii((Object)bytes)); | 68 | ····································sb2.append(EapAuthenticator.LOG.pii((Object)bytes)); |
| 69 | ····································sb2.append("·NT-Response="); | 69 | ····································sb2.append("·NT-Response="); |
| 70 | ····································sb2.append(EapAuthenticator.LOG.pii((Object)generateNtResponse)); | 70 | ····································sb2.append(EapAuthenticator.LOG.pii((Object)generateNtResponse)); |
| 71 | ····································log2.d(mtag2,·sb2.toString()); | 71 | ····································log2.d(mtag2,·sb2.toString()); |
| 72 | ····································try·{ | 72 | ····································try·{ |
| 73 | ········································try·{ | 73 | ········································try·{ |
| 74 | ············································final·int·msChapV2Id·=·eapMsChapV2TypeData$EapMsChapV2ChallengeRequest.msChapV2Id; | 74 | ············································final·int·msChapV2Id·=·eapMsChapV2TypeData$EapMsChapV2ChallengeRequest.msChapV2Id; |
| 75 | ············································final·EapMsChapV2MethodStateMachine·this$3·=·this.this$0; | 75 | ············································final·EapMsChapV2MethodStateMachine·this$3·=·this.this$0; |
| 76 | ············································try·{ | 76 | ············································try·{ |
| 77 | ················································final·EapSessionConfig$EapMsChapV2Config·access$302·=·EapMsChapV2MethodStateMachine.access$300(this$3); | 77 | ················································final·EapSessionConfig$EapMsChapV2Config·access$302·=·EapMsChapV2MethodStateMachine.access$300(this$3); |
| 78 | ················································try·{ | 78 | ················································try·{ |
| 79 | ····················································final·String·username2·=·access$302. | 79 | ····················································final·String·username2·=·access$302.username; |
| 80 | ····················································try·{ | 80 | ····················································try·{ |
| 81 | ························································final·EapMsChapV2TypeData$EapMsChapV2ChallengeResponse·eapMsChapV2TypeData$EapMsChapV2ChallengeResponse·=·new·EapMsChapV2TypeData$EapMsChapV2ChallengeResponse(msChapV2Id,·bytes,·generateNtResponse,·0,·EapMsChapV2MethodStateMachine.usernameToBytes(username2)); | 81 | ························································final·EapMsChapV2TypeData$EapMsChapV2ChallengeResponse·eapMsChapV2TypeData$EapMsChapV2ChallengeResponse·=·new·EapMsChapV2TypeData$EapMsChapV2ChallengeResponse(msChapV2Id,·bytes,·generateNtResponse,·0,·EapMsChapV2MethodStateMachine.usernameToBytes(username2)); |
| 82 | ························································final·EapMsChapV2MethodStateMachine·this$4·=·this.this$0; | 82 | ························································final·EapMsChapV2MethodStateMachine·this$4·=·this.this$0; |
| 83 | ························································try·{ | 83 | ························································try·{ |
| 84 | ····························································try·{ | 84 | ····························································try·{ |
| 85 | ································································final·EapMsChapV2MethodStateMachine·this$5·=·this.this$0; | 85 | ································································final·EapMsChapV2MethodStateMachine·this$5·=·this.this$0; |
| 86 | ································································try·{ | 86 | ································································try·{ |
| Offset 103, 27 lines modified | Offset 103, 27 lines modified | ||
| 103 | ····························sb3.append(eapMsChapV2TypeData$EapMsChapV2SuccessRequest.message); | 103 | ····························sb3.append(eapMsChapV2TypeData$EapMsChapV2SuccessRequest.message); |
| 104 | ····························log4.d(mtag4,·sb3.toString()); | 104 | ····························log4.d(mtag4,·sb3.toString()); |
| 105 | ····························try·{ | 105 | ····························try·{ |
| 106 | ································final·EapMsChapV2MethodStateMachine·this$3·=·this.this$0; | 106 | ································final·EapMsChapV2MethodStateMachine·this$3·=·this.this$0; |
| 107 | ································try·{ | 107 | ································try·{ |
| 108 | ····································final·EapSessionConfig$EapMsChapV2Config·access$2·=·EapMsChapV2MethodStateMachine.access$300(this$3); | 108 | ····································final·EapSessionConfig$EapMsChapV2Config·access$2·=·EapMsChapV2MethodStateMachine.access$300(this$3); |
| 109 | ····································try·{ | 109 | ····································try·{ |
| 110 | ········································final·String·password·=·access$2. | 110 | ········································final·String·password·=·access$2.password; |
| 111 | ········································try·{ | 111 | ········································try·{ |
| 112 | ············································final·byte[]·mNtResponse·=·this.mNtResponse; | 112 | ············································final·byte[]·mNtResponse·=·this.mNtResponse; |
| 113 | ············································try·{ | 113 | ············································try·{ |
| 114 | ················································final·byte[]·mPeerChallenge·=·this.mPeerChallenge; | 114 | ················································final·byte[]·mPeerChallenge·=·this.mPeerChallenge; |
| 115 | ················································try·{ | 115 | ················································try·{ |
| 116 | ····················································final·byte[]·mAuthenticatorChallenge·=·this.mAuthenticatorChallenge; | 116 | ····················································final·byte[]·mAuthenticatorChallenge·=·this.mAuthenticatorChallenge; |
| 117 | ····················································try·{ | 117 | ····················································try·{ |
| 118 | ························································final·EapMsChapV2MethodStateMachine·this$4·=·this.this$0; | 118 | ························································final·EapMsChapV2MethodStateMachine·this$4·=·this.this$0; |
| 119 | ························································try·{ | 119 | ························································try·{ |
| 120 | ····························································final·EapSessionConfig$EapMsChapV2Config·access$3·=·EapMsChapV2MethodStateMachine.access$300(this$4); | 120 | ····························································final·EapSessionConfig$EapMsChapV2Config·access$3·=·EapMsChapV2MethodStateMachine.access$300(this$4); |
| 121 | ····························································try·{ | 121 | ····························································try·{ |
| 122 | ································································final·String·username·=·access$3. | 122 | ································································final·String·username·=·access$3.username; |
| 123 | ································································try·{ | 123 | ································································try·{ |
| 124 | ····································································if·(!EapMsChapV2MethodStateMachine.checkAuthenticatorResponse(password,·mNtResponse,·mPeerChallenge,·mAuthenticatorChallenge,·username,·eapMsChapV2TypeData$EapMsChapV2SuccessRequest.authBytes))·{ | 124 | ····································································if·(!EapMsChapV2MethodStateMachine.checkAuthenticatorResponse(password,·mNtResponse,·mPeerChallenge,·mAuthenticatorChallenge,·username,·eapMsChapV2TypeData$EapMsChapV2SuccessRequest.authBytes))·{ |
| 125 | ········································································EapAuthenticator.LOG.e(this.mTAG,·"Authenticator·Response·does·not·match·expected·response·value"); | 125 | ········································································EapAuthenticator.LOG.e(this.mTAG,·"Authenticator·Response·does·not·match·expected·response·value"); |
| 126 | ········································································final·EapMsChapV2MethodStateMachine·this$5·=·this.this$0; | 126 | ········································································final·EapMsChapV2MethodStateMachine·this$5·=·this.this$0; |
| 127 | ········································································this$5.transitionTo((EapMethodStateMachine$EapMethodState)new·EapMethodStateMachine$FinalState((EapMethodStateMachine)this$5)); | 127 | ········································································this$5.transitionTo((EapMethodStateMachine$EapMethodState)new·EapMethodStateMachine$FinalState((EapMethodStateMachine)this$5)); |
| 128 | ········································································return·(EapResult)new·EapResult$EapFailure(); | 128 | ········································································return·(EapResult)new·EapResult$EapFailure(); |
| 129 | ····································································} | 129 | ····································································} |
| Offset 29, 18 lines modified | Offset 29, 17 lines modified | ||
| 29 | public·class·EapMsChapV2MethodStateMachine·extends·EapMethodStateMachine | 29 | public·class·EapMsChapV2MethodStateMachine·extends·EapMethodStateMachine |
| 30 | { | 30 | { |
| 31 | ····private·static·final·int·CHALLENGE_HASH_LEN·=·8; | 31 | ····private·static·final·int·CHALLENGE_HASH_LEN·=·8; |
| 32 | ····private·static·final·byte[]·CHALLENGE_MAGIC_1; | 32 | ····private·static·final·byte[]·CHALLENGE_MAGIC_1; |
| 33 | ····private·static·final·byte[]·CHALLENGE_MAGIC_2; | 33 | ····private·static·final·byte[]·CHALLENGE_MAGIC_2; |
| 34 | ····private·static·final·String·DES_ALG·=·"DES/ECB/NoPadding"; | 34 | ····private·static·final·String·DES_ALG·=·"DES/ECB/NoPadding"; |
| 35 | ····private·static·final·String·DES_KEY_FACTORY·=·"DES"; | 35 | ····private·static·final·String·DES_KEY_FACTORY·=·"DES"; |
| 36 | ····private·static·final·int·EMSK_LEN·=·64; | ||
| 37 | ····private·static·final·int·FLAGS·=·0; | 36 | ····private·static·final·int·FLAGS·=·0; |
| 38 | ····private·static·final·int·MASTER_KEY_LEN·=·16; | 37 | ····private·static·final·int·MASTER_KEY_LEN·=·16; |
| 39 | ····private·static·final·int·MSK_LEN·=· | 38 | ····private·static·final·int·MASTER_SESSION_KEY_LEN·=·32; |
| 40 | ····private·static·final·byte[]·MSK_MAGIC_1; | 39 | ····private·static·final·byte[]·MSK_MAGIC_1; |
| 41 | ····private·static·final·byte[]·MSK_MAGIC_2; | 40 | ····private·static·final·byte[]·MSK_MAGIC_2; |
| 42 | ····private·static·final·byte[]·MSK_MAGIC_3; | 41 | ····private·static·final·byte[]·MSK_MAGIC_3; |
| 43 | ····private·static·final·int·PASSWORD_HASH_HASH_LEN·=·16; | 42 | ····private·static·final·int·PASSWORD_HASH_HASH_LEN·=·16; |
| 44 | ····private·static·final·int·PASSWORD_HASH_LEN·=·16; | 43 | ····private·static·final·int·PASSWORD_HASH_LEN·=·16; |
| 45 | ····private·static·final·int·PEER_CHALLENGE_SIZE·=·16; | 44 | ····private·static·final·int·PEER_CHALLENGE_SIZE·=·16; |
| 46 | ····private·static·final·int·RESPONSE_LEN·=·24; | 45 | ····private·static·final·int·RESPONSE_LEN·=·24; |
| Offset 425, 15 lines modified | Offset 424, 15 lines modified | ||
| 425 | ········instance.update(challengeHash); | 424 | ········instance.update(challengeHash); |
| 426 | ········instance.update(EapMsChapV2MethodStateMachine.CHALLENGE_MAGIC_2); | 425 | ········instance.update(EapMsChapV2MethodStateMachine.CHALLENGE_MAGIC_2); |
| 427 | ········return·instance.digest(); | 426 | ········return·instance.digest(); |
| 428 | ····} | 427 | ····} |
| 429 | ···· | 428 | ···· |
| 430 | ····static·byte[]·generateMsk(final·String·s,·final·byte[]·array)·{ | 429 | ····static·byte[]·generateMsk(final·String·s,·final·byte[]·array)·{ |
| 431 | ········final·byte[]·masterKey·=·getMasterKey(hashNtPasswordHash(ntPasswordHash(s)),·array); | 430 | ········final·byte[]·masterKey·=·getMasterKey(hashNtPasswordHash(ntPasswordHash(s)),·array); |
| 432 | ········final·ByteBuffer·allocate·=·ByteBuffer.allocate( | 431 | ········final·ByteBuffer·allocate·=·ByteBuffer.allocate(32); |
| 433 | ········allocate.put(getAsymmetricStartKey(masterKey,·true)); | 432 | ········allocate.put(getAsymmetricStartKey(masterKey,·true)); |
| 434 | ········allocate.put(getAsymmetricStartKey(masterKey,·false)); | 433 | ········allocate.put(getAsymmetricStartKey(masterKey,·false)); |
| 435 | ········return·allocate.array(); | 434 | ········return·allocate.array(); |
| 436 | ····} | 435 | ····} |
| 437 | ···· | 436 | ···· |
| 438 | ····static·byte[]·generateNtResponse(final·byte[]·array,·final·byte[]·array2,·final·String·s,·final·String·s2)·{ | 437 | ····static·byte[]·generateNtResponse(final·byte[]·array,·final·byte[]·array2,·final·String·s,·final·String·s2)·{ |
| 439 | ········return·challengeResponse(challengeHash(array2,·array,·s),·ntPasswordHash(s2)); | 438 | ········return·challengeResponse(challengeHash(array2,·array,·s),·ntPasswordHash(s2)); |
| Offset 65, 17 lines modified | Offset 65, 17 lines modified | ||
| 65 | ············this.mEapIdentity·=·mEapIdentity; | 65 | ············this.mEapIdentity·=·mEapIdentity; |
| 66 | ············this.mEapUiccConfig·=·mEapUiccConfig; | 66 | ············this.mEapUiccConfig·=·mEapUiccConfig; |
| 67 | ············final·Log·log·=·EapAuthenticator.LOG; | 67 | ············final·Log·log·=·EapAuthenticator.LOG; |
| 68 | ············final·String·simpleName·=·this.getClass().getSimpleName(); | 68 | ············final·String·simpleName·=·this.getClass().getSimpleName(); |
| 69 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 69 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 70 | ············sb.append(this.mEapUiccConfig.getClass().getSimpleName()); | 70 | ············sb.append(this.mEapUiccConfig.getClass().getSimpleName()); |
| 71 | ············sb.append(":·subId="); | 71 | ············sb.append(":·subId="); |
| 72 | ············sb.append(this.mEapUiccConfig. | 72 | ············sb.append(this.mEapUiccConfig.subId); |
| 73 | ············sb.append("·apptype="); | 73 | ············sb.append("·apptype="); |
| 74 | ············sb.append(this.mEapUiccConfig. | 74 | ············sb.append(this.mEapUiccConfig.apptype); |
| 75 | ············log.d(simpleName,·sb.toString()); | 75 | ············log.d(simpleName,·sb.toString()); |
| 76 | ············return; | 76 | ············return; |
| 77 | ········} | 77 | ········} |
| 78 | ········throw·new·IllegalArgumentException("EapUiccConfig·must·be·non-null"); | 78 | ········throw·new·IllegalArgumentException("EapUiccConfig·must·be·non-null"); |
| 79 | ····} | 79 | ····} |
| 80 | ···· | 80 | ···· |
| 81 | ····EapResult·buildClientErrorResponse(final·int·n,·final·int·n2,·final·EapSimAkaAttribute$AtClientErrorCode·eapSimAkaAttribute$AtClientErrorCode)·{ | 81 | ····EapResult·buildClientErrorResponse(final·int·n,·final·int·n2,·final·EapSimAkaAttribute$AtClientErrorCode·eapSimAkaAttribute$AtClientErrorCode)·{ |
| Offset 342, 15 lines modified | Offset 342, 15 lines modified | ||
| 342 | ············sb2.append(Log.byteArrayToHexString(mac)); | 342 | ············sb2.append(Log.byteArrayToHexString(mac)); |
| 343 | ············log2.e(s,·sb2.toString()); | 343 | ············log2.e(s,·sb2.toString()); |
| 344 | ········} | 344 | ········} |
| 345 | ········return·equals; | 345 | ········return·equals; |
| 346 | ····} | 346 | ····} |
| 347 | ···· | 347 | ···· |
| 348 | ····byte[]·processUiccAuthentication(final·String·s,·final·int·n,·final·byte[]·array)·{ | 348 | ····byte[]·processUiccAuthentication(final·String·s,·final·int·n,·final·byte[]·array)·{ |
| 349 | ········final·String·iccAuthentication·=·this.mTelephonyManager.getIccAuthentication(this.mEapUiccConfig. | 349 | ········final·String·iccAuthentication·=·this.mTelephonyManager.getIccAuthentication(this.mEapUiccConfig.apptype,·n,·Base64.encodeToString(array,·2)); |
| 350 | ········if·(iccAuthentication·!=·null)·{ | 350 | ········if·(iccAuthentication·!=·null)·{ |
| 351 | ············return·Base64.decode(iccAuthentication,·0); | 351 | ············return·Base64.decode(iccAuthentication,·0); |
| 352 | ········} | 352 | ········} |
| 353 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 353 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 354 | ········sb.append("UICC·authentication·failed.·Input:·"); | 354 | ········sb.append("UICC·authentication·failed.·Input:·"); |
| 355 | ········sb.append(EapAuthenticator.LOG.pii((Object)array)); | 355 | ········sb.append(EapAuthenticator.LOG.pii((Object)array)); |
| 356 | ········final·String·string·=·sb.toString(); | 356 | ········final·String·string·=·sb.toString(); |
| Offset 56, 15 lines modified | Offset 56, 15 lines modified | ||
| 56 | ············sb2.append("EAP-SIM/Identity="); | 56 | ············sb2.append("EAP-SIM/Identity="); |
| 57 | ············sb2.append(EapAuthenticator.LOG.pii((Object)string)); | 57 | ············sb2.append(EapAuthenticator.LOG.pii((Object)string)); |
| 58 | ············log.d(mtag,·sb2.toString()); | 58 | ············log.d(mtag,·sb2.toString()); |
| 59 | ············return·EapSimAkaAttribute$AtIdentity.getAtIdentity(this.mIdentity); | 59 | ············return·EapSimAkaAttribute$AtIdentity.getAtIdentity(this.mIdentity); |
| 60 | ········} | 60 | ········} |
| 61 | ········final·StringBuilder·sb3·=·new·StringBuilder(); | 61 | ········final·StringBuilder·sb3·=·new·StringBuilder(); |
| 62 | ········sb3.append("IMSI·for·subId·("); | 62 | ········sb3.append("IMSI·for·subId·("); |
| 63 | ········sb3.append(this.this$0.mEapUiccConfig. | 63 | ········sb3.append(this.this$0.mEapUiccConfig.subId); |
| 64 | ········sb3.append(")·not·available"); | 64 | ········sb3.append(")·not·available"); |
| 65 | ········throw·new·EapSimAkaIdentityUnavailableException(sb3.toString()); | 65 | ········throw·new·EapSimAkaIdentityUnavailableException(sb3.toString()); |
| 66 | ····} | 66 | ····} |
| 67 | ···· | 67 | ···· |
| 68 | ····boolean·isValidStartAttributes(final·EapSimTypeData·eapSimTypeData)·{ | 68 | ····boolean·isValidStartAttributes(final·EapSimTypeData·eapSimTypeData)·{ |
| 69 | ········final·Set·keySet·=·eapSimTypeData.attributeMap.keySet(); | 69 | ········final·Set·keySet·=·eapSimTypeData.attributeMap.keySet(); |
| 70 | ········if·(!keySet.contains(15))·{ | 70 | ········if·(!keySet.contains(15))·{ |
| Offset 135, 15 lines modified | Offset 135, 15 lines modified | ||
| 135 | ····················return·this.this$0.buildResponseMessage(n,·10,·eapMessage.eapIdentifier,·(List)list); | 135 | ····················return·this.this$0.buildResponseMessage(n,·10,·eapMessage.eapIdentifier,·(List)list); |
| 136 | ················} | 136 | ················} |
| 137 | ················catch·(EapSimAkaIdentityUnavailableException·ex)·{ | 137 | ················catch·(EapSimAkaIdentityUnavailableException·ex)·{ |
| 138 | ····················final·Log·log2·=·EapAuthenticator.LOG; | 138 | ····················final·Log·log2·=·EapAuthenticator.LOG; |
| 139 | ····················final·String·mtag2·=·this.mTAG; | 139 | ····················final·String·mtag2·=·this.mTAG; |
| 140 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); | 140 | ····················final·StringBuilder·sb2·=·new·StringBuilder(); |
| 141 | ····················sb2.append("Unable·to·get·IMSI·for·subId="); | 141 | ····················sb2.append("Unable·to·get·IMSI·for·subId="); |
| 142 | ····················sb2.append(this.this$0.mEapUiccConfig. | 142 | ····················sb2.append(this.this$0.mEapUiccConfig.subId); |
| 143 | ····················log2.e(mtag2,·sb2.toString()); | 143 | ····················log2.e(mtag2,·sb2.toString()); |
| 144 | ····················return·(EapResult)new·EapResult$EapError((Exception)ex); | 144 | ····················return·(EapResult)new·EapResult$EapError((Exception)ex); |
| 145 | ················} | 145 | ················} |
| 146 | ················catch·(EapSimAkaInvalidAttributeException·ex2)·{ | 146 | ················catch·(EapSimAkaInvalidAttributeException·ex2)·{ |
| 147 | ····················EapAuthenticator.LOG.wtf(this.mTAG,·"Exception·thrown·while·making·AtIdentity·attribute",·(Throwable)ex2); | 147 | ····················EapAuthenticator.LOG.wtf(this.mTAG,·"Exception·thrown·while·making·AtIdentity·attribute",·(Throwable)ex2); |
| 148 | ····················return·(EapResult)new·EapResult$EapError((Exception)ex2); | 148 | ····················return·(EapResult)new·EapResult$EapError((Exception)ex2); |
| 149 | ················} | 149 | ················} |
| Offset 34, 22 lines modified | Offset 34, 22 lines modified | ||
| 34 | ························sb.append("Returning·EAP-Identity:·"); | 34 | ························sb.append("Returning·EAP-Identity:·"); |
| 35 | ························final·Log·log2·=·EapAuthenticator.LOG; | 35 | ························final·Log·log2·=·EapAuthenticator.LOG; |
| 36 | ························try·{ | 36 | ························try·{ |
| 37 | ····························final·EapStateMachine·this$0·=·this.this$0; | 37 | ····························final·EapStateMachine·this$0·=·this.this$0; |
| 38 | ····························try·{ | 38 | ····························try·{ |
| 39 | ································final·EapSessionConfig·access$000·=·EapStateMachine.access$000(this$0); | 39 | ································final·EapSessionConfig·access$000·=·EapStateMachine.access$000(this$0); |
| 40 | ································try·{ | 40 | ································try·{ |
| 41 | ····································sb.append(log2.pii((Object)access$000. | 41 | ····································sb.append(log2.pii((Object)access$000.eapIdentity)); |
| 42 | ····································log.d(mtag,·sb.toString()); | 42 | ····································log.d(mtag,·sb.toString()); |
| 43 | ····································final·boolean·b·=·true; | 43 | ····································final·boolean·b·=·true; |
| 44 | ····································final·EapStateMachine·this$2·=·this.this$0; | 44 | ····································final·EapStateMachine·this$2·=·this.this$0; |
| 45 | ····································try·{ | 45 | ····································try·{ |
| 46 | ········································final·EapSessionConfig·access$2·=·EapStateMachine.access$000(this$2); | 46 | ········································final·EapSessionConfig·access$2·=·EapStateMachine.access$000(this$2); |
| 47 | ········································try·{ | 47 | ········································try·{ |
| 48 | ············································return·EapResult$EapResponse.getEapResponse(new·EapMessage(2,·i,·new·EapData((int)(b·?·1·:·0),·access$2. | 48 | ············································return·EapResult$EapResponse.getEapResponse(new·EapMessage(2,·i,·new·EapData((int)(b·?·1·:·0),·access$2.eapIdentity))); |
| 49 | ········································} | 49 | ········································} |
| 50 | ········································catch·(EapSilentException·ex)·{ | 50 | ········································catch·(EapSilentException·ex)·{ |
| 51 | ············································final·Log·log3·=·EapAuthenticator.LOG; | 51 | ············································final·Log·log3·=·EapAuthenticator.LOG; |
| 52 | ············································final·String·mtag2·=·this.mTAG; | 52 | ············································final·String·mtag2·=·this.mTAG; |
| 53 | ············································final·StringBuilder·sb2·=·new·StringBuilder(); | 53 | ············································final·StringBuilder·sb2·=·new·StringBuilder(); |
| 54 | ············································sb2.append("Failed·to·create·Identity·response·for·message·with·identifier="); | 54 | ············································sb2.append("Failed·to·create·Identity·response·for·message·with·identifier="); |
| 55 | ············································sb2.append(EapAuthenticator.LOG.pii((Object)i)); | 55 | ············································sb2.append(EapAuthenticator.LOG.pii((Object)i)); |
| Offset 27, 15 lines modified | Offset 27, 15 lines modified | ||
| 27 | ····protected·EapStateMachine$MethodState(final·EapStateMachine·this$0)·{ | 27 | ····protected·EapStateMachine$MethodState(final·EapStateMachine·this$0)·{ |
| 28 | ········this.this$0·=·this$0; | 28 | ········this.this$0·=·this$0; |
| 29 | ········super(this$0); | 29 | ········super(this$0); |
| 30 | ········this.mTAG·=·EapStateMachine$MethodState.class.getSimpleName(); | 30 | ········this.mTAG·=·EapStateMachine$MethodState.class.getSimpleName(); |
| 31 | ····} | 31 | ····} |
| 32 | ···· | 32 | ···· |
| 33 | ····private·EapMethodStateMachine·buildEapMethodStateMachine(final·int·n)·{ | 33 | ····private·EapMethodStateMachine·buildEapMethodStateMachine(final·int·n)·{ |
| 34 | ········final·EapSessionConfig$EapMethodConfig·eapSessionConfig$EapMethodConfig·=·(EapSessionConfig$EapMethodConfig)EapStateMachine.access$000(this.this$0). | 34 | ········final·EapSessionConfig$EapMethodConfig·eapSessionConfig$EapMethodConfig·=·(EapSessionConfig$EapMethodConfig)EapStateMachine.access$000(this.this$0).eapConfigs.get(n); |
| 35 | ········if·(eapSessionConfig$EapMethodConfig·==·null)·{ | 35 | ········if·(eapSessionConfig$EapMethodConfig·==·null)·{ |
| 36 | ············final·Log·log·=·EapAuthenticator.LOG; | 36 | ············final·Log·log·=·EapAuthenticator.LOG; |
| 37 | ············final·String·mtag·=·this.mTAG; | 37 | ············final·String·mtag·=·this.mTAG; |
| 38 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 38 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 39 | ············sb.append("No·configs·provided·for·method:·"); | 39 | ············sb.append("No·configs·provided·for·method:·"); |
| 40 | ············final·Map·eap_TYPE_STRING·=·EapData.EAP_TYPE_STRING; | 40 | ············final·Map·eap_TYPE_STRING·=·EapData.EAP_TYPE_STRING; |
| 41 | ············final·Integer·value·=·n; | 41 | ············final·Integer·value·=·n; |
| Offset 44, 26 lines modified | Offset 44, 26 lines modified | ||
| 44 | ············sb2.append(n); | 44 | ············sb2.append(n); |
| 45 | ············sb2.append(")"); | 45 | ············sb2.append(")"); |
| 46 | ············sb.append(eap_TYPE_STRING.getOrDefault(value,·sb2.toString())); | 46 | ············sb.append(eap_TYPE_STRING.getOrDefault(value,·sb2.toString())); |
| 47 | ············log.e(mtag,·sb.toString()); | 47 | ············log.e(mtag,·sb.toString()); |
| 48 | ············return·null; | 48 | ············return·null; |
| 49 | ········} | 49 | ········} |
| 50 | ········if·(n·==·18)·{ | 50 | ········if·(n·==·18)·{ |
| 51 | ············return·(EapMethodStateMachine)new·EapSimMethodStateMachine(EapStateMachine.access$100(this.this$0),·EapStateMachine.access$000(this.this$0). | 51 | ············return·(EapMethodStateMachine)new·EapSimMethodStateMachine(EapStateMachine.access$100(this.this$0),·EapStateMachine.access$000(this.this$0).eapIdentity,·(EapSessionConfig$EapSimConfig)eapSessionConfig$EapMethodConfig,·EapStateMachine.access$200(this.this$0)); |
| 52 | ········} | 52 | ········} |
| 53 | ········final·int·n2·=·23; | 53 | ········final·int·n2·=·23; |
| 54 | ········final·int·i·=·50; | 54 | ········final·int·i·=·50; |
| 55 | ········if·(n·==·n2)·{ | 55 | ········if·(n·==·n2)·{ |
| 56 | ············return·(EapMethodStateMachine)new·EapAkaMethodStateMachine(EapStateMachine.access$100(this.this$0),·EapStateMachine.access$000(this.this$0). | 56 | ············return·(EapMethodStateMachine)new·EapAkaMethodStateMachine(EapStateMachine.access$100(this.this$0),·EapStateMachine.access$000(this.this$0).eapIdentity,·eapSessionConfig$EapMethodConfig,·EapStateMachine.access$000(this.this$0).eapConfigs.containsKey(i)); |
| 57 | ········} | 57 | ········} |
| 58 | ········if·(n·==·26)·{ | 58 | ········if·(n·==·26)·{ |
| 59 | ············return·(EapMethodStateMachine)new·EapMsChapV2MethodStateMachine((EapSessionConfig$EapMsChapV2Config)eapSessionConfig$EapMethodConfig,·EapStateMachine.access$200(this.this$0)); | 59 | ············return·(EapMethodStateMachine)new·EapMsChapV2MethodStateMachine((EapSessionConfig$EapMsChapV2Config)eapSessionConfig$EapMethodConfig,·EapStateMachine.access$200(this.this$0)); |
| 60 | ········} | 60 | ········} |
| 61 | ········if·(n·==·i)·{ | 61 | ········if·(n·==·i)·{ |
| 62 | ············return·(EapMethodStateMachine)new·EapAkaPrimeMethodStateMachine(EapStateMachine.access$100(this.this$0),·EapStateMachine.access$000(this.this$0). | 62 | ············return·(EapMethodStateMachine)new·EapAkaPrimeMethodStateMachine(EapStateMachine.access$100(this.this$0),·EapStateMachine.access$000(this.this$0).eapIdentity,·(EapSessionConfig$EapAkaPrimeConfig)eapSessionConfig$EapMethodConfig); |
| 63 | ········} | 63 | ········} |
| 64 | ········final·Log·log2·=·EapAuthenticator.LOG; | 64 | ········final·Log·log2·=·EapAuthenticator.LOG; |
| 65 | ········final·String·mtag2·=·this.mTAG; | 65 | ········final·String·mtag2·=·this.mTAG; |
| 66 | ········final·StringBuilder·sb3·=·new·StringBuilder(); | 66 | ········final·StringBuilder·sb3·=·new·StringBuilder(); |
| 67 | ········sb3.append("Received·unsupported·EAP·Type="); | 67 | ········sb3.append("Received·unsupported·EAP·Type="); |
| 68 | ········sb3.append(n); | 68 | ········sb3.append(n); |
| 69 | ········log2.e(mtag2,·sb3.toString()); | 69 | ········log2.e(mtag2,·sb3.toString()); |
| Offset 85, 15 lines modified | Offset 85, 15 lines modified | ||
| 85 | ················this$0.transitionTo((EapStateMachine$EapState)new·EapStateMachine$FailureState(this$0)); | 85 | ················this$0.transitionTo((EapStateMachine$EapState)new·EapStateMachine$FailureState(this$0)); |
| 86 | ················return·(EapResult)new·EapResult$EapFailure(); | 86 | ················return·(EapResult)new·EapResult$EapFailure(); |
| 87 | ············} | 87 | ············} |
| 88 | ············if·(eapMessage.eapData.eapType·==·2)·{ | 88 | ············if·(eapMessage.eapData.eapType·==·2)·{ |
| 89 | ················return·EapStateMachine.handleNotification(this.mTAG,·eapMessage); | 89 | ················return·EapStateMachine.handleNotification(this.mTAG,·eapMessage); |
| 90 | ············} | 90 | ············} |
| 91 | ············if·((this.mEapMethodStateMachine·=·this.buildEapMethodStateMachine(eapMessage.eapData.eapType))·==·null)·{ | 91 | ············if·((this.mEapMethodStateMachine·=·this.buildEapMethodStateMachine(eapMessage.eapData.eapType))·==·null)·{ |
| 92 | ················return·EapMessage.getNakResponse(eapMessage.eapIdentifier,·(Collection)EapStateMachine.access$000(this.this$0). | 92 | ················return·EapMessage.getNakResponse(eapMessage.eapIdentifier,·(Collection)EapStateMachine.access$000(this.this$0).eapConfigs.keySet()); |
| 93 | ············} | 93 | ············} |
| 94 | ········} | 94 | ········} |
| 95 | ········final·EapResult·eapResult·=·(EapResult)this.mEapMethodStateMachine.process((Object)decode.eapMessage); | 95 | ········final·EapResult·eapResult·=·(EapResult)this.mEapMethodStateMachine.process((Object)decode.eapMessage); |
| 96 | ········if·(eapResult·instanceof·EapResult$EapSuccess)·{ | 96 | ········if·(eapResult·instanceof·EapResult$EapSuccess)·{ |
| 97 | ············final·EapStateMachine·this$2·=·this.this$0; | 97 | ············final·EapStateMachine·this$2·=·this.this$0; |
| 98 | ············this$2.transitionTo((EapStateMachine$EapState)new·EapStateMachine$SuccessState(this$2)); | 98 | ············this$2.transitionTo((EapStateMachine$EapState)new·EapStateMachine$SuccessState(this$2)); |
| 99 | ········} | 99 | ········} |
| Offset 24, 16 lines modified | Offset 24, 16 lines modified | ||
| 24 | import·android.net.ipsec.ike.ChildSaProposal; | 24 | import·android.net.ipsec.ike.ChildSaProposal; |
| 25 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; | 25 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; |
| 26 | import·android.net.ipsec.ike.IkeTrafficSelector; | 26 | import·android.net.ipsec.ike.IkeTrafficSelector; |
| 27 | import·java.net.InetAddress; | 27 | import·java.net.InetAddress; |
| 28 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; | 28 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; |
| 29 | import·android.net.IpSecManager; | 29 | import·android.net.IpSecManager; |
| 30 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacPrf; | 30 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacPrf; |
| 31 | import·android.content.Context; | ||
| 32 | import·com.android.internal.net.ipsec.ike.utils.State; | 31 | import·com.android.internal.net.ipsec.ike.utils.State; |
| 32 | import·android.content.Context; | ||
| 33 | import·android.net.ipsec.ike.ChildSessionParams; | 33 | import·android.net.ipsec.ike.ChildSessionParams; |
| 34 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity; | 34 | import·com.android.internal.net.ipsec.ike.crypto.IkeMacIntegrity; |
| 35 | import·com.android.internal.net.ipsec.ike.crypto.IkeCipher; | 35 | import·com.android.internal.net.ipsec.ike.crypto.IkeCipher; |
| 36 | import·android.app.AlarmManager; | 36 | import·android.app.AlarmManager; |
| 37 | import·android.util.SparseArray; | 37 | import·android.util.SparseArray; |
| 38 | public·class·ChildSessionStateMachine·extends·AbstractSessionStateMachine | 38 | public·class·ChildSessionStateMachine·extends·AbstractSessionStateMachine |
| Offset 51, 15 lines modified | Offset 51, 14 lines modified | ||
| 51 | ····private·static·final·String·TAG·=·"ChildSessionStateMachine"; | 51 | ····private·static·final·String·TAG·=·"ChildSessionStateMachine"; |
| 52 | ····private·final·AlarmManager·mAlarmManager; | 52 | ····private·final·AlarmManager·mAlarmManager; |
| 53 | ····IkeCipher·mChildCipher; | 53 | ····IkeCipher·mChildCipher; |
| 54 | ····IkeMacIntegrity·mChildIntegrity; | 54 | ····IkeMacIntegrity·mChildIntegrity; |
| 55 | ····SaRecord$ChildSaRecord·mChildSaRecordSurviving; | 55 | ····SaRecord$ChildSaRecord·mChildSaRecordSurviving; |
| 56 | ····final·ChildSessionParams·mChildSessionParams; | 56 | ····final·ChildSessionParams·mChildSessionParams; |
| 57 | ····private·final·ChildSessionStateMachine$IChildSessionSmCallback·mChildSmCallback; | 57 | ····private·final·ChildSessionStateMachine$IChildSessionSmCallback·mChildSmCallback; |
| 58 | ····final·State·mClosedAndAwaitResponse; | ||
| 59 | ····private·final·Context·mContext; | 58 | ····private·final·Context·mContext; |
| 60 | ····final·State·mCreateChildLocalCreate; | 59 | ····final·State·mCreateChildLocalCreate; |
| 61 | ····SaRecord$ChildSaRecord·mCurrentChildSaRecord; | 60 | ····SaRecord$ChildSaRecord·mCurrentChildSaRecord; |
| 62 | ····final·State·mDeleteChildLocalDelete; | 61 | ····final·State·mDeleteChildLocalDelete; |
| 63 | ····final·State·mDeleteChildRemoteDelete; | 62 | ····final·State·mDeleteChildRemoteDelete; |
| 64 | ····final·State·mIdle; | 63 | ····final·State·mIdle; |
| 65 | ····final·State·mIdleWithDeferredRequest; | 64 | ····final·State·mIdleWithDeferredRequest; |
| Offset 96, 15 lines modified | Offset 95, 14 lines modified | ||
| 96 | ····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)·{ | 95 | ····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)·{ |
| 97 | ········super("ChildSessionStateMachine",·looper,·executor); | 96 | ········super("ChildSessionStateMachine",·looper,·executor); |
| 98 | ········this.mKillChildSessionParent·=·(State)new·ChildSessionStateMachine$KillChildSessionParent(this,·(ChildSessionStateMachine$1)null); | 97 | ········this.mKillChildSessionParent·=·(State)new·ChildSessionStateMachine$KillChildSessionParent(this,·(ChildSessionStateMachine$1)null); |
| 99 | ········this.mInitial·=·(State)new·ChildSessionStateMachine$Initial(this); | 98 | ········this.mInitial·=·(State)new·ChildSessionStateMachine$Initial(this); |
| 100 | ········this.mCreateChildLocalCreate·=·(State)new·ChildSessionStateMachine$CreateChildLocalCreate(this); | 99 | ········this.mCreateChildLocalCreate·=·(State)new·ChildSessionStateMachine$CreateChildLocalCreate(this); |
| 101 | ········this.mIdle·=·(State)new·ChildSessionStateMachine$Idle(this); | 100 | ········this.mIdle·=·(State)new·ChildSessionStateMachine$Idle(this); |
| 102 | ········this.mIdleWithDeferredRequest·=·(State)new·ChildSessionStateMachine$IdleWithDeferredRequest(this); | 101 | ········this.mIdleWithDeferredRequest·=·(State)new·ChildSessionStateMachine$IdleWithDeferredRequest(this); |
| 103 | ········this.mClosedAndAwaitResponse·=·(State)new·ChildSessionStateMachine$ClosedAndAwaitResponse(this,·(ChildSessionStateMachine$1)null); | ||
| 104 | ········this.mDeleteChildLocalDelete·=·(State)new·ChildSessionStateMachine$DeleteChildLocalDelete(this); | 102 | ········this.mDeleteChildLocalDelete·=·(State)new·ChildSessionStateMachine$DeleteChildLocalDelete(this); |
| 105 | ········this.mDeleteChildRemoteDelete·=·(State)new·ChildSessionStateMachine$DeleteChildRemoteDelete(this); | 103 | ········this.mDeleteChildRemoteDelete·=·(State)new·ChildSessionStateMachine$DeleteChildRemoteDelete(this); |
| 106 | ········this.mRekeyChildLocalCreate·=·(State)new·ChildSessionStateMachine$RekeyChildLocalCreate(this); | 104 | ········this.mRekeyChildLocalCreate·=·(State)new·ChildSessionStateMachine$RekeyChildLocalCreate(this); |
| 107 | ········this.mRekeyChildRemoteCreate·=·(State)new·ChildSessionStateMachine$RekeyChildRemoteCreate(this); | 105 | ········this.mRekeyChildRemoteCreate·=·(State)new·ChildSessionStateMachine$RekeyChildRemoteCreate(this); |
| 108 | ········this.mRekeyChildLocalDelete·=·(State)new·ChildSessionStateMachine$RekeyChildLocalDelete(this); | 106 | ········this.mRekeyChildLocalDelete·=·(State)new·ChildSessionStateMachine$RekeyChildLocalDelete(this); |
| 109 | ········this.mRekeyChildRemoteDelete·=·(State)new·ChildSessionStateMachine$RekeyChildRemoteDelete(this); | 107 | ········this.mRekeyChildRemoteDelete·=·(State)new·ChildSessionStateMachine$RekeyChildRemoteDelete(this); |
| 110 | ········this.mContext·=·mContext; | 108 | ········this.mContext·=·mContext; |
| Offset 117, 15 lines modified | Offset 115, 14 lines modified | ||
| 117 | ········this.mUserCallback·=·mUserCallback; | 115 | ········this.mUserCallback·=·mUserCallback; |
| 118 | ········this.mChildSmCallback·=·mChildSmCallback; | 116 | ········this.mChildSmCallback·=·mChildSmCallback; |
| 119 | ········this.addState(this.mKillChildSessionParent); | 117 | ········this.addState(this.mKillChildSessionParent); |
| 120 | ········this.addState(this.mInitial,·this.mKillChildSessionParent); | 118 | ········this.addState(this.mInitial,·this.mKillChildSessionParent); |
| 121 | ········this.addState(this.mCreateChildLocalCreate,·this.mKillChildSessionParent); | 119 | ········this.addState(this.mCreateChildLocalCreate,·this.mKillChildSessionParent); |
| 122 | ········this.addState(this.mIdle,·this.mKillChildSessionParent); | 120 | ········this.addState(this.mIdle,·this.mKillChildSessionParent); |
| 123 | ········this.addState(this.mIdleWithDeferredRequest,·this.mKillChildSessionParent); | 121 | ········this.addState(this.mIdleWithDeferredRequest,·this.mKillChildSessionParent); |
| 124 | ········this.addState(this.mClosedAndAwaitResponse,·this.mKillChildSessionParent); | ||
| 125 | ········this.addState(this.mDeleteChildLocalDelete,·this.mKillChildSessionParent); | 122 | ········this.addState(this.mDeleteChildLocalDelete,·this.mKillChildSessionParent); |
| 126 | ········this.addState(this.mDeleteChildRemoteDelete,·this.mKillChildSessionParent); | 123 | ········this.addState(this.mDeleteChildRemoteDelete,·this.mKillChildSessionParent); |
| 127 | ········this.addState(this.mRekeyChildLocalCreate,·this.mKillChildSessionParent); | 124 | ········this.addState(this.mRekeyChildLocalCreate,·this.mKillChildSessionParent); |
| 128 | ········this.addState(this.mRekeyChildRemoteCreate,·this.mKillChildSessionParent); | 125 | ········this.addState(this.mRekeyChildRemoteCreate,·this.mKillChildSessionParent); |
| 129 | ········this.addState(this.mRekeyChildLocalDelete,·this.mKillChildSessionParent); | 126 | ········this.addState(this.mRekeyChildLocalDelete,·this.mKillChildSessionParent); |
| 130 | ········this.addState(this.mRekeyChildRemoteDelete,·this.mKillChildSessionParent); | 127 | ········this.addState(this.mRekeyChildRemoteDelete,·this.mKillChildSessionParent); |
| 131 | ········this.setInitialState(this.mInitial); | 128 | ········this.setInitialState(this.mInitial); |
| Offset 67, 15 lines modified | Offset 67, 14 lines modified | ||
| 67 | ····static·final·int·CMD_EAP_OUTBOUND_MSG_READY·=·310; | 67 | ····static·final·int·CMD_EAP_OUTBOUND_MSG_READY·=·310; |
| 68 | ····static·final·int·CMD_EAP_START_EAP_AUTH·=·309; | 68 | ····static·final·int·CMD_EAP_START_EAP_AUTH·=·309; |
| 69 | ····static·final·int·CMD_EXECUTE_LOCAL_REQ·=·307; | 69 | ····static·final·int·CMD_EXECUTE_LOCAL_REQ·=·307; |
| 70 | ····static·final·int·CMD_FORCE_TRANSITION·=·399; | 70 | ····static·final·int·CMD_FORCE_TRANSITION·=·399; |
| 71 | ····private·static·final·int·CMD_GENERAL_BASE·=·300; | 71 | ····private·static·final·int·CMD_GENERAL_BASE·=·300; |
| 72 | ····static·final·int·CMD_HANDLE_FIRST_CHILD_NEGOTIATION·=·306; | 72 | ····static·final·int·CMD_HANDLE_FIRST_CHILD_NEGOTIATION·=·306; |
| 73 | ····static·final·int·CMD_IKE_LOCAL_REQUEST_BASE·=·400; | 73 | ····static·final·int·CMD_IKE_LOCAL_REQUEST_BASE·=·400; |
| 74 | ····static·final·int·CMD_KILL_SESSION·=·317; | ||
| 75 | ····static·final·int·CMD_LOCAL_REQUEST_CREATE_IKE·=·401; | 74 | ····static·final·int·CMD_LOCAL_REQUEST_CREATE_IKE·=·401; |
| 76 | ····static·final·int·CMD_LOCAL_REQUEST_DELETE_IKE·=·402; | 75 | ····static·final·int·CMD_LOCAL_REQUEST_DELETE_IKE·=·402; |
| 77 | ····static·final·int·CMD_LOCAL_REQUEST_DPD·=·405; | 76 | ····static·final·int·CMD_LOCAL_REQUEST_DPD·=·405; |
| 78 | ····static·final·int·CMD_LOCAL_REQUEST_INFO·=·404; | 77 | ····static·final·int·CMD_LOCAL_REQUEST_INFO·=·404; |
| 79 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_IKE·=·403; | 78 | ····static·final·int·CMD_LOCAL_REQUEST_REKEY_IKE·=·403; |
| 80 | ····static·final·int·CMD_OUTBOUND_CHILD_PAYLOADS_READY·=·304; | 79 | ····static·final·int·CMD_OUTBOUND_CHILD_PAYLOADS_READY·=·304; |
| 81 | ····static·final·int·CMD_RECEIVE_IKE_PACKET·=·301; | 80 | ····static·final·int·CMD_RECEIVE_IKE_PACKET·=·301; |
| Offset 139, 15 lines modified | Offset 138, 14 lines modified | ||
| 139 | ····private·final·IkeSpiGenerator·mIkeSpiGenerator; | 138 | ····private·final·IkeSpiGenerator·mIkeSpiGenerator; |
| 140 | ····IkeIdPayload·mInitIdPayload; | 139 | ····IkeIdPayload·mInitIdPayload; |
| 141 | ····final·State·mInitial; | 140 | ····final·State·mInitial; |
| 142 | ····private·final·IpSecManager·mIpSecManager; | 141 | ····private·final·IpSecManager·mIpSecManager; |
| 143 | ····private·final·IpSecSpiGenerator·mIpSecSpiGenerator; | 142 | ····private·final·IpSecSpiGenerator·mIpSecSpiGenerator; |
| 144 | ····boolean·mIsLocalBehindNat; | 143 | ····boolean·mIsLocalBehindNat; |
| 145 | ····boolean·mIsRemoteBehindNat; | 144 | ····boolean·mIsRemoteBehindNat; |
| 146 | ····final·State·mKillIkeSessionParent; | ||
| 147 | ····InetAddress·mLocalAddress; | 145 | ····InetAddress·mLocalAddress; |
| 148 | ····SaRecord$IkeSaRecord·mLocalInitNewIkeSaRecord; | 146 | ····SaRecord$IkeSaRecord·mLocalInitNewIkeSaRecord; |
| 149 | ····int·mLocalPort; | 147 | ····int·mLocalPort; |
| 150 | ····private·final·LongSparseArray·mLocalSpiToIkeSaRecordMap; | 148 | ····private·final·LongSparseArray·mLocalSpiToIkeSaRecordMap; |
| 151 | ····int·mPeerSelectedDhGroup; | 149 | ····int·mPeerSelectedDhGroup; |
| 152 | ····final·RandomnessFactory·mRandomFactory; | 150 | ····final·RandomnessFactory·mRandomFactory; |
| 153 | ····final·State·mReceiving; | 151 | ····final·State·mReceiving; |
| Offset 219, 15 lines modified | Offset 217, 14 lines modified | ||
| 219 | ····} | 217 | ····} |
| 220 | ···· | 218 | ···· |
| 221 | ····public·IkeSessionStateMachine(final·Looper·looper,·final·Context·context,·final·IpSecManager·mIpSecManager,·final·IkeSessionParams·mIkeSessionParams,·final·ChildSessionParams·mFirstChildSessionParams,·final·Executor·executor,·final·IkeSessionCallback·mIkeSessionCallback,·final·ChildSessionCallback·mFirstChildCallbacks,·final·IkeEapAuthenticatorFactory·mEapAuthenticatorFactory)·{ | 219 | ····public·IkeSessionStateMachine(final·Looper·looper,·final·Context·context,·final·IpSecManager·mIpSecManager,·final·IkeSessionParams·mIkeSessionParams,·final·ChildSessionParams·mFirstChildSessionParams,·final·Executor·executor,·final·IkeSessionCallback·mIkeSessionCallback,·final·ChildSessionCallback·mFirstChildCallbacks,·final·IkeEapAuthenticatorFactory·mEapAuthenticatorFactory)·{ |
| 222 | ········super("IkeSessionStateMachine",·looper,·executor); | 220 | ········super("IkeSessionStateMachine",·looper,·executor); |
| 223 | ········this.mChildCbToSessions·=·new·HashMap(); | 221 | ········this.mChildCbToSessions·=·new·HashMap(); |
| 224 | ········this.mRemoteVendorIds·=·new·ArrayList(); | 222 | ········this.mRemoteVendorIds·=·new·ArrayList(); |
| 225 | ········this.mEnabledExtensions·=·new·ArrayList(); | 223 | ········this.mEnabledExtensions·=·new·ArrayList(); |
| 226 | ········this.mKillIkeSessionParent·=·(State)new·IkeSessionStateMachine$KillIkeSessionParent(this); | ||
| 227 | ········this.mInitial·=·(State)new·IkeSessionStateMachine$Initial(this); | 224 | ········this.mInitial·=·(State)new·IkeSessionStateMachine$Initial(this); |
| 228 | ········this.mIdle·=·(State)new·IkeSessionStateMachine$Idle(this); | 225 | ········this.mIdle·=·(State)new·IkeSessionStateMachine$Idle(this); |
| 229 | ········this.mChildProcedureOngoing·=·(State)new·IkeSessionStateMachine$ChildProcedureOngoing(this); | 226 | ········this.mChildProcedureOngoing·=·(State)new·IkeSessionStateMachine$ChildProcedureOngoing(this); |
| 230 | ········this.mReceiving·=·(State)new·IkeSessionStateMachine$Receiving(this); | 227 | ········this.mReceiving·=·(State)new·IkeSessionStateMachine$Receiving(this); |
| 231 | ········this.mCreateIkeLocalIkeInit·=·(State)new·IkeSessionStateMachine$CreateIkeLocalIkeInit(this); | 228 | ········this.mCreateIkeLocalIkeInit·=·(State)new·IkeSessionStateMachine$CreateIkeLocalIkeInit(this); |
| 232 | ········this.mCreateIkeLocalIkeAuth·=·(State)new·IkeSessionStateMachine$CreateIkeLocalIkeAuth(this); | 229 | ········this.mCreateIkeLocalIkeAuth·=·(State)new·IkeSessionStateMachine$CreateIkeLocalIkeAuth(this); |
| 233 | ········this.mCreateIkeLocalIkeAuthInEap·=·(State)new·IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap(this); | 230 | ········this.mCreateIkeLocalIkeAuthInEap·=·(State)new·IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap(this); |
| Offset 266, 32 lines modified | Offset 263, 31 lines modified | ||
| 266 | ············this.mAlarmManager·=·(AlarmManager)context.getSystemService("alarm"); | 263 | ············this.mAlarmManager·=·(AlarmManager)context.getSystemService("alarm"); |
| 267 | ············final·RandomnessFactory·mRandomFactory·=·new·RandomnessFactory(this.mContext,·this.mIkeSessionParams.getNetwork()); | 264 | ············final·RandomnessFactory·mRandomFactory·=·new·RandomnessFactory(this.mContext,·this.mIkeSessionParams.getNetwork()); |
| 268 | ············this.mRandomFactory·=·mRandomFactory; | 265 | ············this.mRandomFactory·=·mRandomFactory; |
| 269 | ············this.mIkeSpiGenerator·=·new·IkeSpiGenerator(mRandomFactory); | 266 | ············this.mIkeSpiGenerator·=·new·IkeSpiGenerator(mRandomFactory); |
| 270 | ············this.mIpSecSpiGenerator·=·new·IpSecSpiGenerator(this.mIpSecManager,·this.mRandomFactory); | 267 | ············this.mIpSecSpiGenerator·=·new·IpSecSpiGenerator(this.mIpSecManager,·this.mRandomFactory); |
| 271 | ············this.mIkeSessionCallback·=·mIkeSessionCallback; | 268 | ············this.mIkeSessionCallback·=·mIkeSessionCallback; |
| 272 | ············this.registerChildSessionCallback(this.mFirstChildSessionParams·=·mFirstChildSessionParams,·this.mFirstChildCallbacks·=·mFirstChildCallbacks,·n·!=·0); | 269 | ············this.registerChildSessionCallback(this.mFirstChildSessionParams·=·mFirstChildSessionParams,·this.mFirstChildCallbacks·=·mFirstChildCallbacks,·n·!=·0); |
| 273 | ············this.addState(this.m | 270 | ············this.addState(this.mInitial); |
| 274 | ············this.addState(this.mInitial,·this.mKillIkeSessionParent); | ||
| 275 | ············this.addState(this.mCreateIkeLocalIkeInit | 271 | ············this.addState(this.mCreateIkeLocalIkeInit); |
| 272 | ············this.addState(this.mCreateIkeLocalIkeAuth); | ||
| 276 | ············this.addState(this.mCreateIkeLocalIkeAuth | 273 | ············this.addState(this.mCreateIkeLocalIkeAuthInEap); |
| 277 | ············this.addState(this.mCreateIkeLocalIkeAuthInEap,·this.mKillIkeSessionParent); | ||
| 278 | ············this.addState(this.mCreateIkeLocalIkeAuthPostEap | 274 | ············this.addState(this.mCreateIkeLocalIkeAuthPostEap); |
| 279 | ············this.addState(this.mIdle | 275 | ············this.addState(this.mIdle); |
| 280 | ············this.addState(this.mChildProcedureOngoing | 276 | ············this.addState(this.mChildProcedureOngoing); |
| 281 | ············this.addState(this.mReceiving | 277 | ············this.addState(this.mReceiving); |
| 282 | ············this.addState(this.mRekeyIkeLocalCreate | 278 | ············this.addState(this.mRekeyIkeLocalCreate); |
| 283 | ············this.addState(this.mSimulRekeyIkeLocalCreate,·this.mRekeyIkeLocalCreate); | 279 | ············this.addState(this.mSimulRekeyIkeLocalCreate,·this.mRekeyIkeLocalCreate); |
| 284 | ············this.addState(this.mSimulRekeyIkeLocalDeleteRemoteDelete | 280 | ············this.addState(this.mSimulRekeyIkeLocalDeleteRemoteDelete); |
| 285 | ············this.addState(this.mSimulRekeyIkeLocalDelete,·this.mSimulRekeyIkeLocalDeleteRemoteDelete); | 281 | ············this.addState(this.mSimulRekeyIkeLocalDelete,·this.mSimulRekeyIkeLocalDeleteRemoteDelete); |
| 286 | ············this.addState(this.mSimulRekeyIkeRemoteDelete,·this.mSimulRekeyIkeLocalDeleteRemoteDelete); | 282 | ············this.addState(this.mSimulRekeyIkeRemoteDelete,·this.mSimulRekeyIkeLocalDeleteRemoteDelete); |
| 287 | ············this.addState(this.mRekeyIkeLocalDelete | 283 | ············this.addState(this.mRekeyIkeLocalDelete); |
| 288 | ············this.addState(this.mRekeyIkeRemoteDelete | 284 | ············this.addState(this.mRekeyIkeRemoteDelete); |
| 289 | ············this.addState(this.mDeleteIkeLocalDelete | 285 | ············this.addState(this.mDeleteIkeLocalDelete); |
| 290 | ············this.addState(this.mDpdIkeLocalInfo | 286 | ············this.addState(this.mDpdIkeLocalInfo); |
| 291 | ············this.setInitialState(this.mInitial); | 287 | ············this.setInitialState(this.mInitial); |
| 292 | ············this.mScheduler·=·new·IkeLocalRequestScheduler((IkeLocalRequestScheduler$IProcedureConsumer)new·-$$Lambda$IkeSessionStateMachine$P-sxZ8CJevPAqTYioPRzZ9eaQow(this),·this.mContext); | 288 | ············this.mScheduler·=·new·IkeLocalRequestScheduler((IkeLocalRequestScheduler$IProcedureConsumer)new·-$$Lambda$IkeSessionStateMachine$P-sxZ8CJevPAqTYioPRzZ9eaQow(this),·this.mContext); |
| 293 | ············this.mBusyWakeLock.acquire(); | 289 | ············this.mBusyWakeLock.acquire(); |
| 294 | ············this.start(); | 290 | ············this.start(); |
| 295 | ········} | 291 | ········} |
| 296 | ····} | 292 | ····} |
| 297 | ···· | 293 | ···· |
| Offset 409, 15 lines modified | Offset 405, 15 lines modified | ||
| 409 | ········if·(ex·instanceof·IkeException)·{ | 405 | ········if·(ex·instanceof·IkeException)·{ |
| 410 | ············o·=·ex; | 406 | ············o·=·ex; |
| 411 | ········} | 407 | ········} |
| 412 | ········else·{ | 408 | ········else·{ |
| 413 | ············o·=·new·IkeInternalException((Throwable)ex); | 409 | ············o·=·new·IkeInternalException((Throwable)ex); |
| 414 | ········} | 410 | ········} |
| 415 | ········this.closeAllSaRecords(false); | 411 | ········this.closeAllSaRecords(false); |
| 416 | ········this.executeUserCallback((Runnable)new·-$$Lambda$IkeSessionStateMachine$ | 412 | ········this.executeUserCallback((Runnable)new·-$$Lambda$IkeSessionStateMachine$EHNQHV8HW3rN9r42jJ5rxf5oj0k(this,·(IkeException)o)); |
| 417 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 413 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 418 | ········sb.append("IKE·Session·fatal·error·in·"); | 414 | ········sb.append("IKE·Session·fatal·error·in·"); |
| 419 | ········sb.append(this.getCurrentState().getName()); | 415 | ········sb.append(this.getCurrentState().getName()); |
| 420 | ········this.loge(sb.toString(),·(Throwable)o); | 416 | ········this.loge(sb.toString(),·(Throwable)o); |
| 421 | ········this.quitNow(); | 417 | ········this.quitNow(); |
| 422 | ····} | 418 | ····} |
| 423 | ···· | 419 | ···· |
| Offset 481, 15 lines modified | Offset 477, 17 lines modified | ||
| 481 | ···· | 477 | ···· |
| 482 | ····public·void·closeSession()·{ | 478 | ····public·void·closeSession()·{ |
| 483 | ········final·int·n·=·402; | 479 | ········final·int·n·=·402; |
| 484 | ········this.sendMessage(n,·(Object)new·IkeLocalRequestScheduler$IkeLocalRequest(n)); | 480 | ········this.sendMessage(n,·(Object)new·IkeLocalRequestScheduler$IkeLocalRequest(n)); |
| 485 | ····} | 481 | ····} |
| 486 | ···· | 482 | ···· |
| 487 | ····public·void·killSession()·{ | 483 | ····public·void·killSession()·{ |
| 488 | ········this.se | 484 | ········this.closeAllSaRecords(false); |
| 485 | ········this.executeUserCallback((Runnable)new·-$$Lambda$IkeSessionStateMachine$BAksnzZH2AsVquH9BidMGGxQPQM(this)); | ||
| 486 | ········this.quitNow(); | ||
| 489 | ····} | 487 | ····} |
| 490 | ···· | 488 | ···· |
| 491 | ····protected·void·onQuitting()·{ | 489 | ····protected·void·onQuitting()·{ |
| 492 | ········this.closeAllSaRecords(true); | 490 | ········this.closeAllSaRecords(true); |
| 493 | ········Object·o·=·this.mChildCbToSessions; | 491 | ········Object·o·=·this.mChildCbToSessions; |
| 494 | ········synchronized·(o)·{ | 492 | ········synchronized·(o)·{ |
| 495 | ············final·Iterator<ChildSessionStateMachine>·iterator·=·this.mChildCbToSessions.values().iterator(); | 493 | ············final·Iterator<ChildSessionStateMachine>·iterator·=·this.mChildCbToSessions.values().iterator(); |
| Offset 1, 11 lines modified | Offset 1, 10 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike.crypto; | 1 | package·com.android.internal.net.ipsec.ike.crypto; |
| 2 | import·java.security.GeneralSecurityException; | ||
| 3 | import·java.util.Arrays; | 2 | import·java.util.Arrays; |
| 4 | import·android.net.IpSecAlgorithm; | 3 | import·android.net.IpSecAlgorithm; |
| 5 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$IntegrityTransform; | 4 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$IntegrityTransform; |
| 6 | public·class·IkeMacIntegrity·extends·IkeMac | 5 | public·class·IkeMacIntegrity·extends·IkeMac |
| 7 | { | 6 | { |
| 8 | ····private·final·int·mChecksumLength; | 7 | ····private·final·int·mChecksumLength; |
| Offset 13, 19 lines modified | Offset 12, 18 lines modified | ||
| 13 | ····private·IkeMacIntegrity(final·int·n,·final·int·n2,·final·String·s,·final·boolean·b,·final·int·mChecksumLength)·{ | 12 | ····private·IkeMacIntegrity(final·int·n,·final·int·n2,·final·String·s,·final·boolean·b,·final·int·mChecksumLength)·{ |
| 14 | ········super(n,·n2,·s,·b); | 13 | ········super(n,·n2,·s,·b); |
| 15 | ········this.mChecksumLength·=·mChecksumLength; | 14 | ········this.mChecksumLength·=·mChecksumLength; |
| 16 | ····} | 15 | ····} |
| 17 | ···· | 16 | ···· |
| 18 | ····public·static·IkeMacIntegrity·create(final·IkeSaPayload$IntegrityTransform·ikeSaPayload$IntegrityTransform)·{ | 17 | ····public·static·IkeMacIntegrity·create(final·IkeSaPayload$IntegrityTransform·ikeSaPayload$IntegrityTransform)·{ |
| 19 | ········final·int·id·=·ikeSaPayload$IntegrityTransform.id; | 18 | ········final·int·id·=·ikeSaPayload$IntegrityTransform.id; |
| 20 | ········final·boolean·b·=·true; | ||
| 21 | ········if·(id·!=·0)·{ | 19 | ········if·(id·!=·0)·{ |
| 22 | ············int·n3·=·0; | 20 | ············int·n3·=·0; |
| 23 | ············String·s2·=·null; | 21 | ············String·s2·=·null; |
| 24 | ············boolean·b | 22 | ············boolean·b·=·false; |
| 25 | ············int·n4·=·0; | 23 | ············int·n4·=·0; |
| 26 | ············if·(id·!=·2)·{ | 24 | ············if·(id·!=·2)·{ |
| 27 | ················if·(id·!=·5)·{ | 25 | ················if·(id·!=·5)·{ |
| 28 | ····················switch·(id)·{ | 26 | ····················switch·(id)·{ |
| 29 | ························default:·{ | 27 | ························default:·{ |
| 30 | ····························final·StringBuilder·sb·=·new·StringBuilder(); | 28 | ····························final·StringBuilder·sb·=·new·StringBuilder(); |
| 31 | ····························sb.append("Unrecognized·Integrity·Algorithm·ID:·"); | 29 | ····························sb.append("Unrecognized·Integrity·Algorithm·ID:·"); |
| Offset 34, 60 lines modified | Offset 32, 61 lines modified | ||
| 34 | ························} | 32 | ························} |
| 35 | ························case·14:·{ | 33 | ························case·14:·{ |
| 36 | ····························final·int·n·=·64; | 34 | ····························final·int·n·=·64; |
| 37 | ····························final·String·s·=·"HmacSHA512"; | 35 | ····························final·String·s·=·"HmacSHA512"; |
| 38 | ····························final·int·n2·=·32; | 36 | ····························final·int·n2·=·32; |
| 39 | ····························n3·=·n; | 37 | ····························n3·=·n; |
| 40 | ····························s2·=·s; | 38 | ····························s2·=·s; |
| 41 | ····························b | 39 | ····························b·=·false; |
| 42 | ····························n4·=·n2; | 40 | ····························n4·=·n2; |
| 43 | ····························break; | 41 | ····························break; |
| 44 | ························} | 42 | ························} |
| 45 | ························case·13:·{ | 43 | ························case·13:·{ |
| 46 | ····························final·int·n5·=·48; | 44 | ····························final·int·n5·=·48; |
| 47 | ····························final·String·s3·=·"HmacSHA384"; | 45 | ····························final·String·s3·=·"HmacSHA384"; |
| 48 | ····························final·int·n6·=·24; | 46 | ····························final·int·n6·=·24; |
| 49 | ····························n3·=·n5; | 47 | ····························n3·=·n5; |
| 50 | ····························s2·=·s3; | 48 | ····························s2·=·s3; |
| 51 | ····························b | 49 | ····························b·=·false; |
| 52 | ····························n4·=·n6; | 50 | ····························n4·=·n6; |
| 53 | ····························break; | 51 | ····························break; |
| 54 | ························} | 52 | ························} |
| 55 | ························case·12:·{ | 53 | ························case·12:·{ |
| 56 | ····························final·int·n7·=·32; | 54 | ····························final·int·n7·=·32; |
| 57 | ····························final·String·s4·=·"HmacSHA256"; | 55 | ····························final·String·s4·=·"HmacSHA256"; |
| 58 | ····························final·int·n8·=·16; | 56 | ····························final·int·n8·=·16; |
| 59 | ····························n3·=·n7; | 57 | ····························n3·=·n7; |
| 60 | ····························s2·=·s4; | 58 | ····························s2·=·s4; |
| 61 | ····························b | 59 | ····························b·=·false; |
| 62 | ····························n4·=·n8; | 60 | ····························n4·=·n8; |
| 63 | ····························break; | 61 | ····························break; |
| 64 | ························} | 62 | ························} |
| 65 | ····················} | 63 | ····················} |
| 66 | ················} | 64 | ················} |
| 67 | ················else·{ | 65 | ················else·{ |
| 68 | ····················final·int·n9·=·16; | 66 | ····················final·int·n9·=·16; |
| 69 | ····················final· | 67 | ····················final·boolean·b2·=·true; |
| 68 | ····················final·String·s5·=·"AES/CBC/NoPadding"; | ||
| 70 | ····················final·int·n10·=·12; | 69 | ····················final·int·n10·=·12; |
| 71 | ····················n3·=·n9; | 70 | ····················n3·=·n9; |
| 72 | ····················s2·=·s5; | 71 | ····················s2·=·s5; |
| 73 | ····················b | 72 | ····················b·=·b2; |
| 74 | ····················n4·=·n10; | 73 | ····················n4·=·n10; |
| 75 | ················} | 74 | ················} |
| 76 | ············} | 75 | ············} |
| 77 | ············else·{ | 76 | ············else·{ |
| 78 | ················final·int·n11·=·20; | 77 | ················final·int·n11·=·20; |
| 79 | ················final·String·s6·=·"HmacSHA1"; | 78 | ················final·String·s6·=·"HmacSHA1"; |
| 80 | ················final·int·n12·=·12; | 79 | ················final·int·n12·=·12; |
| 81 | ················n3·=·n11; | 80 | ················n3·=·n11; |
| 82 | ················s2·=·s6; | 81 | ················s2·=·s6; |
| 83 | ················b | 82 | ················b·=·false; |
| 84 | ················n4·=·n12; | 83 | ················n4·=·n12; |
| 85 | ············} | 84 | ············} |
| 86 | ············return·new·IkeMacIntegrity(id,·n3,·s2,·b | 85 | ············return·new·IkeMacIntegrity(id,·n3,·s2,·b,·n4); |
| 87 | ········} | 86 | ········} |
| 88 | ········throw·new·IllegalArgumentException("Integrity·algorithm·is·not·found."); | 87 | ········throw·new·IllegalArgumentException("Integrity·algorithm·is·not·found."); |
| 89 | ····} | 88 | ····} |
| 90 | ···· | 89 | ···· |
| 91 | ····public·IpSecAlgorithm·buildIpSecAlgorithmWithKey(final·byte[]·array)·{ | 90 | ····public·IpSecAlgorithm·buildIpSecAlgorithmWithKey(final·byte[]·array)·{ |
| 92 | ········if·(array.length·!=·this.getKeyLength())·{ | 91 | ········if·(array.length·!=·this.getKeyLength())·{ |
| 93 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 92 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| Offset 138, 25 lines modified | Offset 137, 8 lines modified | ||
| 138 | ····public·int·getChecksumLen()·{ | 137 | ····public·int·getChecksumLen()·{ |
| 139 | ········return·this.mChecksumLength; | 138 | ········return·this.mChecksumLength; |
| 140 | ····} | 139 | ····} |
| 141 | ···· | 140 | ···· |
| 142 | ····public·String·getTypeString()·{ | 141 | ····public·String·getTypeString()·{ |
| 143 | ········return·"Integrity·Algorithm."; | 142 | ········return·"Integrity·Algorithm."; |
| 144 | ····} | 143 | ····} |
| 145 | ···· | ||
| 146 | ····public·byte[]·signBytes(final·byte[]·array,·final·byte[]·array2)·{ | ||
| 147 | ········if·(this.getAlgorithmId()·==·5)·{ | ||
| 148 | ············try·{ | ||
| 149 | ················try·{ | ||
| 150 | ····················return·new·AesXCbcImpl().mac(array,·array2,·true); | ||
| 151 | ················} | ||
| 152 | ················catch·(GeneralSecurityException·|·IllegalStateException·ex)·{ | ||
| 153 | ····················final·Object·cause; | ||
| 154 | ····················throw·new·IllegalArgumentException("Failed·to·generate·MAC:·",·(Throwable)cause); | ||
| 155 | ················} | ||
| 156 | ············} | ||
| 157 | ············catch·(GeneralSecurityException·ex2)·{} | ||
| 158 | ············catch·(IllegalStateException·ex3)·{} | ||
| 159 | ········} | ||
| 160 | ········return·super.signBytes(array,·array2); | ||
| 161 | ····} | ||
| 162 | } | 144 | } |
| Offset 1, 28 lines modified | Offset 1, 27 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike.crypto; | 1 | package·com.android.internal.net.ipsec.ike.crypto; |
| 2 | import·java. | 2 | import·java.util.Arrays; |
| 3 | import·java.nio.ByteBuffer; | 3 | import·java.nio.ByteBuffer; |
| 4 | import·com.android.internal.net.crypto.KeyGenerationUtils$ByteSigner; | 4 | import·com.android.internal.net.crypto.KeyGenerationUtils$ByteSigner; |
| 5 | import·com.android.internal.net.crypto.KeyGenerationUtils; | 5 | import·com.android.internal.net.crypto.KeyGenerationUtils; |
| 6 | import·java.util.Arrays; | ||
| 7 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$PrfTransform; | 6 | import·com.android.internal.net.ipsec.ike.message.IkeSaPayload$PrfTransform; |
| 8 | public·class·IkeMacPrf·extends·IkeMac | 7 | public·class·IkeMacPrf·extends·IkeMac |
| 9 | { | 8 | { |
| 10 | ····private·static·final·int·PSEUDORANDOM_FUNCTION_AES128_XCBC_KEY_LEN·=·16; | 9 | ····private·static·final·int·PSEUDORANDOM_FUNCTION_AES128_XCBC_KEY_LEN·=·16; |
| 11 | ···· | 10 | ···· |
| 12 | ····private·IkeMacPrf(final·int·n,·final·int·n2,·final·String·s,·final·boolean·b)·{ | 11 | ····private·IkeMacPrf(final·int·n,·final·int·n2,·final·String·s,·final·boolean·b)·{ |
| 13 | ········super(n,·n2,·s,·b); | 12 | ········super(n,·n2,·s,·b); |
| 14 | ····} | 13 | ····} |
| 15 | ···· | 14 | ···· |
| 16 | ····public·static·IkeMacPrf·create(final·IkeSaPayload$PrfTransform·ikeSaPayload$PrfTransform)·{ | 15 | ····public·static·IkeMacPrf·create(final·IkeSaPayload$PrfTransform·ikeSaPayload$PrfTransform)·{ |
| 17 | ········final·int·id·=·ikeSaPayload$PrfTransform.id; | 16 | ········final·int·id·=·ikeSaPayload$PrfTransform.id; |
| 18 | ········boolean·b·=· | 17 | ········boolean·b·=·false; |
| 19 | ········int·n; | 18 | ········int·n; |
| 20 | ········String·s; | 19 | ········String·s; |
| 21 | ········if·(id·!=·2)·{ | 20 | ········if·(id·!=·2)·{ |
| 22 | ············if·(id·!=·4)·{ | 21 | ············if·(id·!=·4)·{ |
| 23 | ················if·(id·!=·5)·{ | 22 | ················if·(id·!=·5)·{ |
| 24 | ····················if·(id·!=·6)·{ | 23 | ····················if·(id·!=·6)·{ |
| 25 | ························if·(id·!=·7)·{ | 24 | ························if·(id·!=·7)·{ |
| Offset 42, 37 lines modified | Offset 41, 25 lines modified | ||
| 42 | ················else·{ | 41 | ················else·{ |
| 43 | ····················n·=·32; | 42 | ····················n·=·32; |
| 44 | ····················s·=·"HmacSHA256"; | 43 | ····················s·=·"HmacSHA256"; |
| 45 | ················} | 44 | ················} |
| 46 | ············} | 45 | ············} |
| 47 | ············else·{ | 46 | ············else·{ |
| 48 | ················n·=·16; | 47 | ················n·=·16; |
| 49 | ················b·=· | 48 | ················b·=·true; |
| 50 | ················s·=·"A | 49 | ················s·=·"AES_128/CBC/NoPadding"; |
| 51 | ············} | 50 | ············} |
| 52 | ········} | 51 | ········} |
| 53 | ········else·{ | 52 | ········else·{ |
| 54 | ············n·=·20; | 53 | ············n·=·20; |
| 55 | ············s·=·"HmacSHA1"; | 54 | ············s·=·"HmacSHA1"; |
| 56 | ········} | 55 | ········} |
| 57 | ········return·new·IkeMacPrf(id,·n,·s,·b); | 56 | ········return·new·IkeMacPrf(id,·n,·s,·b); |
| 58 | ····} | 57 | ····} |
| 59 | ···· | 58 | ···· |
| 60 | ····private·byte[]·modifyAesXCbcKeyIfNeeded(byte[]·original)·{ | ||
| 61 | ········final·int·length·=·original.length; | ||
| 62 | ········final·int·newLength·=·16; | ||
| 63 | ········if·(length·<·newLength)·{ | ||
| 64 | ············original·=·Arrays.copyOf(original,·newLength); | ||
| 65 | ········} | ||
| 66 | ········else·if·(original.length·>·newLength)·{ | ||
| 67 | ············original·=·new·AesXCbcImpl().mac(new·byte[newLength],·original,·false); | ||
| 68 | ········} | ||
| 69 | ········return·original; | ||
| 70 | ····} | ||
| 71 | ···· | ||
| 72 | ····public·byte[]·generateKeyMat(final·byte[]·array,·final·byte[]·array2,·final·int·n)·{ | 59 | ····public·byte[]·generateKeyMat(final·byte[]·array,·final·byte[]·array2,·final·int·n)·{ |
| 73 | ········return·KeyGenerationUtils.prfPlus((KeyGenerationUtils$ByteSigner)this,·array,·array2,·n); | 60 | ········return·KeyGenerationUtils.prfPlus((KeyGenerationUtils$ByteSigner)this,·array,·array2,·n); |
| 74 | ····} | 61 | ····} |
| 75 | ···· | 62 | ···· |
| 76 | ····public·byte[]·generateRekeyedSKeySeed(final·byte[]·array,·final·byte[]·src,·final·byte[]·src2,·final·byte[]·src3)·{ | 63 | ····public·byte[]·generateRekeyedSKeySeed(final·byte[]·array,·final·byte[]·src,·final·byte[]·src2,·final·byte[]·src3)·{ |
| 77 | ········final·ByteBuffer·allocate·=·ByteBuffer.allocate(src3.length·+·src.length·+·src2.length); | 64 | ········final·ByteBuffer·allocate·=·ByteBuffer.allocate(src3.length·+·src.length·+·src2.length); |
| 78 | ········allocate.put(src3).put(src).put(src2); | 65 | ········allocate.put(src3).put(src).put(src2); |
| Offset 92, 26 lines modified | Offset 79, 8 lines modified | ||
| 92 | ········} | 79 | ········} |
| 93 | ········return·this.signBytes(byteBuffer.array(),·array3); | 80 | ········return·this.signBytes(byteBuffer.array(),·array3); |
| 94 | ····} | 81 | ····} |
| 95 | ···· | 82 | ···· |
| 96 | ····public·String·getTypeString()·{ | 83 | ····public·String·getTypeString()·{ |
| 97 | ········return·"Pseudorandom·Function"; | 84 | ········return·"Pseudorandom·Function"; |
| 98 | ····} | 85 | ····} |
| 99 | ···· | ||
| 100 | ····public·byte[]·signBytes(byte[]·modifyAesXCbcKeyIfNeeded,·final·byte[]·array)·{ | ||
| 101 | ········if·(this.getAlgorithmId()·==·4)·{ | ||
| 102 | ············try·{ | ||
| 103 | ················modifyAesXCbcKeyIfNeeded·=·this.modifyAesXCbcKeyIfNeeded(modifyAesXCbcKeyIfNeeded); | ||
| 104 | ················try·{ | ||
| 105 | ····················return·new·AesXCbcImpl().mac(modifyAesXCbcKeyIfNeeded,·array,·false); | ||
| 106 | ················} | ||
| 107 | ················catch·(GeneralSecurityException·|·IllegalStateException·ex)·{ | ||
| 108 | ····················final·Object·cause; | ||
| 109 | ····················throw·new·IllegalArgumentException("Failed·to·generate·MAC:·",·(Throwable)cause); | ||
| 110 | ················} | ||
| 111 | ············} | ||
| 112 | ············catch·(GeneralSecurityException·ex2)·{} | ||
| 113 | ············catch·(IllegalStateException·ex3)·{} | ||
| 114 | ········} | ||
| 115 | ········return·super.signBytes(modifyAesXCbcKeyIfNeeded,·array); | ||
| 116 | ····} | ||
| 117 | } | 86 | } |
| Offset 1, 25 lines modified | Offset 1, 26 lines modified | ||
| 1 | package·android.net.eap; | 1 | package·android.net.eap; |
| 2 | import·java.util.Objects; | ||
| 3 | public·class·EapSessionConfig$EapAkaPrimeConfig·extends·EapSessionConfig$EapAkaConfig | 2 | public·class·EapSessionConfig$EapAkaPrimeConfig·extends·EapSessionConfig$EapAkaConfig |
| 4 | { | 3 | { |
| 5 | ····p | 4 | ····public·final·boolean·allowMismatchedNetworkNames; |
| 6 | ····p | 5 | ····public·final·String·networkName; |
| 7 | ···· | 6 | ···· |
| 8 | ····public·EapSessionConfig$EapAkaPrimeConfig(final·int·n,·final·int·n2,·final·String· | 7 | ····public·EapSessionConfig$EapAkaPrimeConfig(final·int·n,·final·int·n2,·final·String·networkName,·final·boolean·allowMismatchedNetworkNames)·{ |
| 9 | ········super(50,·n,·n2); | 8 | ········super(50,·n,·n2); |
| 10 | ········Objects.requireNonNull(s,·"networkName·must·not·be·null"); | ||
| 11 | ········ | 9 | ········if·(networkName·!=·null)·{ |
| 10 | ············this.networkName·=·networkName; | ||
| 12 | ········this. | 11 | ············this.allowMismatchedNetworkNames·=·allowMismatchedNetworkNames; |
| 12 | ············return; | ||
| 13 | ········} | ||
| 14 | ········throw·new·IllegalArgumentException("NetworkName·was·null"); | ||
| 13 | ····} | 15 | ····} |
| 14 | ···· | 16 | ···· |
| 15 | ····public·boolean·allowsMismatchedNetworkNames()·{ | 17 | ····public·boolean·allowsMismatchedNetworkNames()·{ |
| 16 | ········return·this. | 18 | ········return·this.allowMismatchedNetworkNames; |
| 17 | ····} | 19 | ····} |
| 18 | ···· | 20 | ···· |
| 19 | ····public·String·getNetworkName()·{ | 21 | ····public·String·getNetworkName()·{ |
| 20 | ········return·this. | 22 | ········return·this.networkName; |
| 21 | ····} | 23 | ····} |
| 22 | } | 24 | } |
| Offset 31, 15 lines modified | Offset 31, 15 lines modified | ||
| 31 | ····} | 31 | ····} |
| 32 | ···· | 32 | ···· |
| 33 | ····EapAkaMethodStateMachine(final·Context·context,·final·byte[]·array,·final·EapSessionConfig$EapAkaConfig·eapSessionConfig$EapAkaConfig,·final·boolean·b)·{ | 33 | ····EapAkaMethodStateMachine(final·Context·context,·final·byte[]·array,·final·EapSessionConfig$EapAkaConfig·eapSessionConfig$EapAkaConfig,·final·boolean·b)·{ |
| 34 | ········this((TelephonyManager)context.getSystemService("phone"),·array,·eapSessionConfig$EapAkaConfig,·EapAkaTypeData.getEapAkaTypeDataDecoder(),·b); | 34 | ········this((TelephonyManager)context.getSystemService("phone"),·array,·eapSessionConfig$EapAkaConfig,·EapAkaTypeData.getEapAkaTypeDataDecoder(),·b); |
| 35 | ····} | 35 | ····} |
| 36 | ···· | 36 | ···· |
| 37 | ····protected·EapAkaMethodStateMachine(final·TelephonyManager·telephonyManager,·final·byte[]·array,·final·EapSessionConfig$EapAkaConfig·eapSessionConfig$EapAkaConfig,·final·EapAkaTypeData$EapAkaTypeDataDecoder·mEapAkaTypeDataDecoder,·final·boolean·mSupportsEapAkaPrime)·{ | 37 | ····protected·EapAkaMethodStateMachine(final·TelephonyManager·telephonyManager,·final·byte[]·array,·final·EapSessionConfig$EapAkaConfig·eapSessionConfig$EapAkaConfig,·final·EapAkaTypeData$EapAkaTypeDataDecoder·mEapAkaTypeDataDecoder,·final·boolean·mSupportsEapAkaPrime)·{ |
| 38 | ········super(telephonyManager.createForSubscriptionId(eapSessionConfig$EapAkaConfig. | 38 | ········super(telephonyManager.createForSubscriptionId(eapSessionConfig$EapAkaConfig.subId),·array,·(EapSessionConfig$EapUiccConfig)eapSessionConfig$EapAkaConfig); |
| 39 | ········this.mEapAkaTypeDataDecoder·=·mEapAkaTypeDataDecoder; | 39 | ········this.mEapAkaTypeDataDecoder·=·mEapAkaTypeDataDecoder; |
| 40 | ········this.mSupportsEapAkaPrime·=·mSupportsEapAkaPrime; | 40 | ········this.mSupportsEapAkaPrime·=·mSupportsEapAkaPrime; |
| 41 | ········this.transitionTo((EapMethodStateMachine$EapMethodState)new·EapAkaMethodStateMachine$CreatedState(this)); | 41 | ········this.transitionTo((EapMethodStateMachine$EapMethodState)new·EapAkaMethodStateMachine$CreatedState(this)); |
| 42 | ····} | 42 | ····} |
| 43 | ···· | 43 | ···· |
| 44 | ····protected·EapAkaMethodStateMachine$ChallengeState·buildChallengeState()·{ | 44 | ····protected·EapAkaMethodStateMachine$ChallengeState·buildChallengeState()·{ |
| 45 | ········return·new·EapAkaMethodStateMachine$ChallengeState(this); | 45 | ········return·new·EapAkaMethodStateMachine$ChallengeState(this); |
| Offset 388, 16 lines modified | Offset 388, 16 lines modified | ||
| 388 | ················if·(kdf·!=·(b2·?·1·:·0))·{ | 388 | ················if·(kdf·!=·(b2·?·1·:·0))·{ |
| 389 | ····················return·false; | 389 | ····················return·false; |
| 390 | ················} | 390 | ················} |
| 391 | ················final·EapSimAkaAttribute$AtKdfInput·eapSimAkaAttribute$AtKdfInput·=·(EapSimAkaAttribute$AtKdfInput)attributeMap.get(n); | 391 | ················final·EapSimAkaAttribute$AtKdfInput·eapSimAkaAttribute$AtKdfInput·=·(EapSimAkaAttribute$AtKdfInput)attributeMap.get(n); |
| 392 | ················if·(eapSimAkaAttribute$AtKdfInput.networkName.length·==·0)·{ | 392 | ················if·(eapSimAkaAttribute$AtKdfInput.networkName.length·==·0)·{ |
| 393 | ····················return·false; | 393 | ····················return·false; |
| 394 | ················} | 394 | ················} |
| 395 | ················final·boolean·hasMatchingNetworkNames·=·this.hasMatchingNetworkNames(EapAkaPrimeMethodStateMachine.access$000(this.this$0). | 395 | ················final·boolean·hasMatchingNetworkNames·=·this.hasMatchingNetworkNames(EapAkaPrimeMethodStateMachine.access$000(this.this$0).networkName,·new·String(eapSimAkaAttribute$AtKdfInput.networkName,·StandardCharsets.UTF_8)); |
| 396 | ················if·(EapAkaPrimeMethodStateMachine.access$000(this.this$0).allow | 396 | ················if·(EapAkaPrimeMethodStateMachine.access$000(this.this$0).allowMismatchedNetworkNames·||·hasMatchingNetworkNames)·{ |
| 397 | ····················b·=·b2; | 397 | ····················b·=·b2; |
| 398 | ················} | 398 | ················} |
| 399 | ················return·b; | 399 | ················return·b; |
| 400 | ············} | 400 | ············} |
| 401 | ········} | 401 | ········} |
| 402 | ········return·false; | 402 | ········return·false; |
| 403 | ····} | 403 | ····} |
| Offset 21, 15 lines modified | Offset 21, 15 lines modified | ||
| 21 | ····private·final·SecureRandom·mSecureRandom; | 21 | ····private·final·SecureRandom·mSecureRandom; |
| 22 | ···· | 22 | ···· |
| 23 | ····EapSimMethodStateMachine(final·Context·context,·final·byte[]·array,·final·EapSessionConfig$EapSimConfig·eapSessionConfig$EapSimConfig,·final·SecureRandom·secureRandom)·{ | 23 | ····EapSimMethodStateMachine(final·Context·context,·final·byte[]·array,·final·EapSessionConfig$EapSimConfig·eapSessionConfig$EapSimConfig,·final·SecureRandom·secureRandom)·{ |
| 24 | ········this((TelephonyManager)context.getSystemService("phone"),·array,·eapSessionConfig$EapSimConfig,·secureRandom,·EapSimTypeData.getEapSimTypeDataDecoder()); | 24 | ········this((TelephonyManager)context.getSystemService("phone"),·array,·eapSessionConfig$EapSimConfig,·secureRandom,·EapSimTypeData.getEapSimTypeDataDecoder()); |
| 25 | ····} | 25 | ····} |
| 26 | ···· | 26 | ···· |
| 27 | ····EapSimMethodStateMachine(final·TelephonyManager·telephonyManager,·final·byte[]·array,·final·EapSessionConfig$EapSimConfig·eapSessionConfig$EapSimConfig,·final·SecureRandom·mSecureRandom,·final·EapSimTypeData$EapSimTypeDataDecoder·mEapSimTypeDataDecoder)·{ | 27 | ····EapSimMethodStateMachine(final·TelephonyManager·telephonyManager,·final·byte[]·array,·final·EapSessionConfig$EapSimConfig·eapSessionConfig$EapSimConfig,·final·SecureRandom·mSecureRandom,·final·EapSimTypeData$EapSimTypeDataDecoder·mEapSimTypeDataDecoder)·{ |
| 28 | ········super(telephonyManager.createForSubscriptionId(eapSessionConfig$EapSimConfig. | 28 | ········super(telephonyManager.createForSubscriptionId(eapSessionConfig$EapSimConfig.subId),·array,·(EapSessionConfig$EapUiccConfig)eapSessionConfig$EapSimConfig); |
| 29 | ········if·(mEapSimTypeDataDecoder·!=·null)·{ | 29 | ········if·(mEapSimTypeDataDecoder·!=·null)·{ |
| 30 | ············this.mSecureRandom·=·mSecureRandom; | 30 | ············this.mSecureRandom·=·mSecureRandom; |
| 31 | ············this.mEapSimTypeDataDecoder·=·mEapSimTypeDataDecoder; | 31 | ············this.mEapSimTypeDataDecoder·=·mEapSimTypeDataDecoder; |
| 32 | ············this.transitionTo((EapMethodStateMachine$EapMethodState)new·EapSimMethodStateMachine$CreatedState(this)); | 32 | ············this.transitionTo((EapMethodStateMachine$EapMethodState)new·EapSimMethodStateMachine$CreatedState(this)); |
| 33 | ············return; | 33 | ············return; |
| 34 | ········} | 34 | ········} |
| 35 | ········throw·new·IllegalArgumentException("EapSimTypeDataDecoder·must·be·non-null"); | 35 | ········throw·new·IllegalArgumentException("EapSimTypeDataDecoder·must·be·non-null"); |
| Offset 10, 21 lines modified | Offset 10, 21 lines modified | ||
| 10 | ···· | 10 | ···· |
| 11 | ····ChildSessionStateMachine$ExceptionHandler(final·ChildSessionStateMachine·this$0)·{ | 11 | ····ChildSessionStateMachine$ExceptionHandler(final·ChildSessionStateMachine·this$0)·{ |
| 12 | ········this.this$0·=·this$0; | 12 | ········this.this$0·=·this$0; |
| 13 | ········super((AbstractSessionStateMachine)this$0); | 13 | ········super((AbstractSessionStateMachine)this$0); |
| 14 | ····} | 14 | ····} |
| 15 | ···· | 15 | ···· |
| 16 | ····protected·void·cleanUpAndQuit(final·RuntimeException·ex)·{ | 16 | ····protected·void·cleanUpAndQuit(final·RuntimeException·ex)·{ |
| 17 | ········ChildSessionStateMachine.access$ | 17 | ········ChildSessionStateMachine.access$100(this.this$0,·false); |
| 18 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$ExceptionHandler$ApVli3rC5W95jlgLs3HPsR1LBEM(this,·ex)); | 18 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$ExceptionHandler$ApVli3rC5W95jlgLs3HPsR1LBEM(this,·ex)); |
| 19 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; | 19 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 20 | ········final·StringBuilder·sb·=·new·StringBuilder(); | 20 | ········final·StringBuilder·sb·=·new·StringBuilder(); |
| 21 | ········sb.append("Unexpected·exception·in·"); | 21 | ········sb.append("Unexpected·exception·in·"); |
| 22 | ········sb.append(this.this$0.getCurrentState().getName()); | 22 | ········sb.append(this.this$0.getCurrentState().getName()); |
| 23 | ········this$0.logWtf(sb.toString(),·(Throwable)ex); | 23 | ········this$0.logWtf(sb.toString(),·(Throwable)ex); |
| 24 | ········this.this$0.quitNow(); | 24 | ········this.this$0.quitNow(); |
| 25 | ····} | 25 | ····} |
| 26 | ···· | 26 | ···· |
| 27 | ····protected·String·getCmdString(final·int·n)·{ | 27 | ····protected·String·getCmdString(final·int·n)·{ |
| 28 | ········return·(String)ChildSessionStateMachine.access$ | 28 | ········return·(String)ChildSessionStateMachine.access$200().get(n); |
| 29 | ····} | 29 | ····} |
| 30 | } | 30 | } |
| Offset 32, 503 lines modified | Offset 32, 525 lines modified | ||
| 32 | ············this$0.logw(sb.toString()); | 32 | ············this$0.logw(sb.toString()); |
| 33 | ········} | 33 | ········} |
| 34 | ········return·new·ChildSessionConfiguration((List)Arrays.asList(childSessionStateMachine$CreateChildResult.initTs),·(List)Arrays.asList(childSessionStateMachine$CreateChildResult.respTs)); | 34 | ········return·new·ChildSessionConfiguration((List)Arrays.asList(childSessionStateMachine$CreateChildResult.initTs),·(List)Arrays.asList(childSessionStateMachine$CreateChildResult.respTs)); |
| 35 | ····} | 35 | ····} |
| 36 | ···· | 36 | ···· |
| 37 | ····private·void·handleCreationFailAndQuit(final·int·n,·final·IkeException·ex)·{ | 37 | ····private·void·handleCreationFailAndQuit(final·int·n,·final·IkeException·ex)·{ |
| 38 | ········if·(n·!=·0)·{ | 38 | ········if·(n·!=·0)·{ |
| 39 | ············ChildSessionStateMachine.access$ | 39 | ············ChildSessionStateMachine.access$700(this.this$0).onChildSaDeleted(n); |
| 40 | ········} | 40 | ········} |
| 41 | ········ChildSessionStateMachine.access$ | 41 | ········ChildSessionStateMachine.access$800(this.this$0,·(Exception)ex); |
| 42 | ····} | 42 | ····} |
| 43 | ···· | 43 | ···· |
| 44 | ····private·void·setUpNegotiatedResult(final·ChildSessionStateMachine$CreateChildResult·childSessionStateMachine$CreateChildResult)·{ | 44 | ····private·void·setUpNegotiatedResult(final·ChildSessionStateMachine$CreateChildResult·childSessionStateMachine$CreateChildResult)·{ |
| 45 | ········this.this$0.mSaProposal·=·childSessionStateMachine$CreateChildResult.negotiatedProposal; | 45 | ········this.this$0.mSaProposal·=·childSessionStateMachine$CreateChildResult.negotiatedProposal; |
| 46 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; | 46 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 47 | ········this$0.mChildCipher·=·IkeCipher.create(this$0.mSaProposal.getEncryptionTransforms()[0]); | 47 | ········this$0.mChildCipher·=·IkeCipher.create(this$0.mSaProposal.getEncryptionTransforms()[0]); |
| 48 | ········if·(this.this$0.mSaProposal.getIntegrityTransforms().length·!=·0·&&·this.this$0.mSaProposal.getIntegrityTransforms()[0].id·!=·0)·{ | 48 | ········if·(this.this$0.mSaProposal.getIntegrityTransforms().length·!=·0·&&·this.this$0.mSaProposal.getIntegrityTransforms()[0].id·!=·0)·{ |
| 49 | ············final·ChildSessionStateMachine·this$2·=·this.this$0; | 49 | ············final·ChildSessionStateMachine·this$2·=·this.this$0; |
| 50 | ············this$2.mChildIntegrity·=·IkeMacIntegrity.create(this$2.mSaProposal.getIntegrityTransforms()[0]); | 50 | ············this$2.mChildIntegrity·=·IkeMacIntegrity.create(this$2.mSaProposal.getIntegrityTransforms()[0]); |
| 51 | ········} | 51 | ········} |
| 52 | ········this.this$0.mLocalTs·=·childSessionStateMachine$CreateChildResult.initTs; | 52 | ········this.this$0.mLocalTs·=·childSessionStateMachine$CreateChildResult.initTs; |
| 53 | ········this.this$0.mRemoteTs·=·childSessionStateMachine$CreateChildResult.respTs; | 53 | ········this.this$0.mRemoteTs·=·childSessionStateMachine$CreateChildResult.respTs; |
| 54 | ····} | 54 | ····} |
| 55 | ···· | 55 | ···· |
| 56 | ····protected·void·validateAndBuildChild(final·List· | 56 | ····protected·void·validateAndBuildChild(final·List·p0,·final·List·p1,·final·int·p2,·final·int·p3,·final·int·p4)·{ |
| 57 | ········this.validateAndBuildChild(list,·list2,·n3,·ChildSessionStateMachine$CreateChildSaHelper.validateAndNegotiateInitChild(list,·list2,·n,·n2,·this.this$0.mChildSessionParams.isTransportMode(),·ChildSessionStateMachine.access$500(this.this$0),·this.this$0.mRemoteAddress)); | ||
| 58 | ····} | ||
| 59 | ···· | ||
| 60 | ····protected·void·validateAndBuildChild(final·List·p0,·final·List·p1,·final·int·p2,·final·ChildSessionStateMachine$CreateChildResult·p3)·{ | ||
| 61 | ········//· | 57 | ········//· |
| 62 | ········//·This·method·could·not·be·decompiled. | 58 | ········//·This·method·could·not·be·decompiled. |
| 63 | ········//· | 59 | ········//· |
| 64 | ········//·Original·Bytecode: | 60 | ········//·Original·Bytecode: |
| 65 | ········//· | 61 | ········//· |
| 66 | ········//·····1:·astore·········· | 62 | ········//·····1:·astore··········6 |
| 67 | ········//·····3:·aload | 63 | ········//·····3:·aload_0········ |
| 68 | ········//·····5:·astore··········6 | ||
| 69 | ········//·····7:·aload···········4 | ||
| 70 | ········//····· | 64 | ········//·····4:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreateBase.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 65 | ········//·····7:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams; | ||
| 66 | ········//····10:·invokevirtual···android/net/ipsec/ike/ChildSessionParams.isTransportMode:()Z | ||
| 71 | ········//····1 | 67 | ········//····13:·istore··········7 |
| 72 | ········//····1 | 68 | ········//····15:·aload_0········ |
| 73 | ········//····16:·ifeq············147 | ||
| 74 | ········//····1 | 69 | ········//····16:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreateBase.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 70 | ········//····19:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$400:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator; | ||
| 75 | ········//····2 | 71 | ········//····22:·astore··········8 |
| 76 | ········//····22:·iload···········7 | ||
| 77 | ········//····24:· | 72 | ········//····24:·aload_0········ |
| 73 | ········//····25:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreateBase.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | ||
| 78 | ········//····26:·if_icmpeq·······127 | ||
| 79 | ········//····29:·iconst_2······· | ||
| 80 | ········//····30:·istore··········8 | ||
| 81 | ········//····32:·iload···········7 | ||
| 82 | ········//····34:·iload···········8 | ||
| 83 | ········//····36:·if_icmpeq·······107 | ||
| 84 | ········//····39:·new·············Ljava/lang/IllegalStateException; | ||
| 85 | ········//···· | 74 | ········//····28:·astore··········9 |
| 86 | ········//···· | 75 | ········//····30:·aload···········9 |
| 76 | ········//····32:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mRemoteAddress:Ljava/net/InetAddress; | ||
| 87 | ········//···· | 77 | ········//····35:·astore··········10 |
| 78 | ········//····37:·aload_1········ | ||
| 79 | ········//····38:·astore··········11 | ||
| 80 | ········//····40:·aload_2········ | ||
| 81 | ········//····41:·astore··········12 | ||
| 82 | ········//····43:·iload_3········ | ||
| 83 | ········//····44:·istore··········13 | ||
| 84 | ········//····46:·iload···········4 | ||
| 85 | ········//····48:·istore··········14 | ||
| 86 | ········//····50:·aload_1········ | ||
| 87 | ········//····51:·aload_2········ | ||
| 88 | ········//····52:·iload_3········ | ||
| 89 | ········//····53:·iload···········4 | ||
| 90 | ········//····55:·iload···········7 | ||
| 91 | ········//····57:·aload···········8 | ||
| 88 | ········//···· | 92 | ········//····59:·aload···········10 |
| 93 | ········//····61:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildSaHelper.validateAndNegotiateInitChild:(Ljava/util/List;Ljava/util/List;IIZLcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Ljava/net/InetAddress;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult; | ||
| 89 | ········//····51:·invokespecial···java/lang/StringBuilder.<init>:()V | ||
| 90 | ········//····54:·ldc·············"Unrecognized·status:·" | ||
| 91 | ········//···· | 94 | ········//····64:·astore··········11 |
| 92 | ········//····58:·aload···········10 | ||
| 93 | ········//····6 | 95 | ········//····66:·aload···········11 |
| 94 | ········//····62:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | ||
| 95 | ········//····65:·pop············ | ||
| 96 | ········//····66:·aload···········4 | ||
| 97 | ········//····68:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.status:I | 96 | ········//····68:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.status:I |
| 98 | ········//····71:·istore··········1 | 97 | ········//····71:·istore··········15 |
| 99 | ········//····73:· | 98 | ········//····73:·iload···········15 |
| 99 | ········//····75:·ifeq············202 | ||
| 100 | ········//····78:·iconst_1······· | ||
| 101 | ········//····79:·istore··········16 | ||
| 100 | ········//···· | 102 | ········//····81:·iload···········15 |
| 103 | ········//····83:·iload···········16 | ||
| 104 | ········//····85:·if_icmpeq·······184 | ||
| 105 | ········//····88:·iconst_2······· | ||
| 106 | ········//····89:·istore··········16 | ||
| 107 | ········//····91:·iload···········15 | ||
| 108 | ········//····93:·iload···········16 | ||
| 109 | ········//····95:·if_icmpeq·······166 | ||
| 110 | ········//····98:·new·············Ljava/lang/IllegalStateException; | ||
| 111 | ········//···101:·astore··········9 | ||
| 112 | ········//···103:·new·············Ljava/lang/StringBuilder; | ||
| 113 | ········//···106:·astore··········12 | ||
| 114 | ········//···108:·aload···········12 | ||
| 115 | ········//···110:·invokespecial···java/lang/StringBuilder.<init>:()V | ||
| 116 | ········//···113:·ldc·············"Unrecognized·status:·" | ||
| 117 | ········//···115:·astore··········17 | ||
| 118 | ········//···117:·aload···········12 | ||
| 119 | ········//···119:·aload···········17 | ||
| 120 | ········//···121:·invokevirtual···java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | ||
| 121 | ········//···124:·pop············ | ||
| 122 | ········//···125:·aload···········11 | ||
| 123 | ········//···127:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.status:I | ||
| 124 | ········//···130:·istore··········13 | ||
| 125 | ········//···132:·aload···········12 | ||
| 126 | ········//···134:·iload···········13 | ||
| 101 | ········//··· | 127 | ········//···136:·invokevirtual···java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; |
| 102 | ········//··· | 128 | ········//···139:·pop············ |
| 103 | ········//··· | 129 | ········//···140:·aload···········12 |
| 104 | ········//··· | 130 | ········//···142:·invokevirtual···java/lang/StringBuilder.toString:()Ljava/lang/String; |
| 105 | ········//··· | 131 | ········//···145:·astore··········12 |
| 106 | ········//··· | 132 | ········//···147:·aload···········9 |
| 107 | ········//··· | 133 | ········//···149:·aload···········12 |
| 108 | ········//··· | 134 | ········//···151:·invokespecial···java/lang/IllegalStateException.<init>:(Ljava/lang/String;)V |
| 109 | ········//··· | 135 | ········//···154:·aload_0········ |
| 110 | ········//··· | 136 | ········//···155:·aload···········9 |
| 111 | ········//··· | 137 | ········//···157:·invokevirtual···com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreateBase.cleanUpAndQuit:(Ljava/lang/RuntimeException;)V |
| ... Open expanded diff ... | |||
| Offset 12, 32 lines modified | Offset 12, 22 lines modified | ||
| 12 | ····final·/*·synthetic·*/·ChildSessionStateMachine·this$0; | 12 | ····final·/*·synthetic·*/·ChildSessionStateMachine·this$0; |
| 13 | ···· | 13 | ···· |
| 14 | ····private·ChildSessionStateMachine$DeleteResponderBase(final·ChildSessionStateMachine·this$0)·{ | 14 | ····private·ChildSessionStateMachine$DeleteResponderBase(final·ChildSessionStateMachine·this$0)·{ |
| 15 | ········this.this$0·=·this$0; | 15 | ········this.this$0·=·this$0; |
| 16 | ········super(this$0); | 16 | ········super(this$0); |
| 17 | ····} | 17 | ····} |
| 18 | ···· | 18 | ···· |
| 19 | ····protected·void·closeSessionAndNotifyUser(final·boolean·b)·{ | ||
| 20 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$DeleteResponderBase$GnnoLUpyAVpwHPrgStEcF5EP1ig(this)); | ||
| 21 | ········ChildSessionStateMachine.access$800(this.this$0).onChildSaDeleted(this.this$0.mCurrentChildSaRecord.getRemoteSpi()); | ||
| 22 | ········this.this$0.mCurrentChildSaRecord.close(); | ||
| 23 | ········this.this$0.mCurrentChildSaRecord·=·null; | ||
| 24 | ········if·(b)·{ | ||
| 25 | ············this.this$0.quitNow(); | ||
| 26 | ········} | ||
| 27 | ····} | ||
| 28 | ···· | ||
| 29 | ····protected·void·handleDeleteSessionRequest(final·List·list)·{ | 19 | ····protected·void·handleDeleteSessionRequest(final·List·list)·{ |
| 30 | ········if·(!this.hasRemoteChildSpiForDelete(list,·this.this$0.mCurrentChildSaRecord))·{ | 20 | ········if·(!this.hasRemoteChildSpiForDelete(list,·this.this$0.mCurrentChildSaRecord))·{ |
| 31 | ············this.cleanUpAndQuit((RuntimeException)new·IllegalStateException("Found·no·remote·SPI·for·mCurrentChildSaRecord·in·a·Delete·Child·request.")); | 21 | ············this.cleanUpAndQuit((RuntimeException)new·IllegalStateException("Found·no·remote·SPI·for·mCurrentChildSaRecord·in·a·Delete·Child·request.")); |
| 32 | ········} | 22 | ········} |
| 33 | ········else·{ | 23 | ········else·{ |
| 34 | ············this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$DeleteResponderBase$kXXwTwd54XRXFdZcprROzNxHtJc(this)); | 24 | ············this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$DeleteResponderBase$kXXwTwd54XRXFdZcprROzNxHtJc(this)); |
| 35 | ············this.sendDeleteChild(this.this$0.mCurrentChildSaRecord,·true); | 25 | ············this.sendDeleteChild(this.this$0.mCurrentChildSaRecord,·true); |
| 36 | ············ChildSessionStateMachine.access$ | 26 | ············ChildSessionStateMachine.access$700(this.this$0).onChildSaDeleted(this.this$0.mCurrentChildSaRecord.getRemoteSpi()); |
| 37 | ············this.this$0.mCurrentChildSaRecord.close(); | 27 | ············this.this$0.mCurrentChildSaRecord.close(); |
| 38 | ············this.this$0.mCurrentChildSaRecord·=·null; | 28 | ············this.this$0.mCurrentChildSaRecord·=·null; |
| 39 | ············this.this$0.quitNow(); | 29 | ············this.this$0.quitNow(); |
| 40 | ········} | 30 | ········} |
| 41 | ····} | 31 | ····} |
| 42 | ···· | 32 | ···· |
| 43 | ····protected·boolean·hasRemoteChildSpiForDelete(final·List·list,·final·SaRecord$ChildSaRecord·saRecord$ChildSaRecord)·{ | 33 | ····protected·boolean·hasRemoteChildSpiForDelete(final·List·list,·final·SaRecord$ChildSaRecord·saRecord$ChildSaRecord)·{ |
| Offset 58, 10 lines modified | Offset 48, 10 lines modified | ||
| 58 | ···· | 48 | ···· |
| 59 | ····protected·void·sendDeleteChild(final·SaRecord$ChildSaRecord·saRecord$ChildSaRecord,·final·boolean·b)·{ | 49 | ····protected·void·sendDeleteChild(final·SaRecord$ChildSaRecord·saRecord$ChildSaRecord,·final·boolean·b)·{ |
| 60 | ········final·int·initialCapacity·=·1; | 50 | ········final·int·initialCapacity·=·1; |
| 61 | ········final·ArrayList·list·=·new·ArrayList<IkeDeletePayload>(initialCapacity); | 51 | ········final·ArrayList·list·=·new·ArrayList<IkeDeletePayload>(initialCapacity); |
| 62 | ········final·int[]·array·=·new·int[initialCapacity]; | 52 | ········final·int[]·array·=·new·int[initialCapacity]; |
| 63 | ········array[0]·=·saRecord$ChildSaRecord.getLocalSpi(); | 53 | ········array[0]·=·saRecord$ChildSaRecord.getLocalSpi(); |
| 64 | ········list.add(new·IkeDeletePayload(array)); | 54 | ········list.add(new·IkeDeletePayload(array)); |
| 65 | ········ChildSessionStateMachine.access$ | 55 | ········ChildSessionStateMachine.access$700(this.this$0).onOutboundPayloadsReady(37,·b,·(List)list,·this.this$0); |
| 66 | ····} | 56 | ····} |
| 67 | } | 57 | } |
| Offset 15, 15 lines modified | Offset 15, 15 lines modified | ||
| 15 | ····} | 15 | ····} |
| 16 | ···· | 16 | ···· |
| 17 | ····public·void·enterState()·{ | 17 | ····public·void·enterState()·{ |
| 18 | ········this.maybeNotifyIkeSessionStateMachine(); | 18 | ········this.maybeNotifyIkeSessionStateMachine(); |
| 19 | ····} | 19 | ····} |
| 20 | ···· | 20 | ···· |
| 21 | ····protected·void·maybeNotifyIkeSessionStateMachine()·{ | 21 | ····protected·void·maybeNotifyIkeSessionStateMachine()·{ |
| 22 | ········ChildSessionStateMachine.access$ | 22 | ········ChildSessionStateMachine.access$700(this.this$0).onProcedureFinished(this.this$0); |
| 23 | ····} | 23 | ····} |
| 24 | ···· | 24 | ···· |
| 25 | ····public·boolean·processStateMessage(final·Message·message)·{ | 25 | ····public·boolean·processStateMessage(final·Message·message)·{ |
| 26 | ········final·int·what·=·message.what; | 26 | ········final·int·what·=·message.what; |
| 27 | ········final·int·n·=·2; | 27 | ········final·int·n·=·2; |
| 28 | ········final·boolean·b·=·true; | 28 | ········final·boolean·b·=·true; |
| 29 | ········if·(what·==·n)·{ | 29 | ········if·(what·==·n)·{ |
| Offset 13, 12 lines modified | Offset 13, 12 lines modified | ||
| 13 | ····} | 13 | ····} |
| 14 | ···· | 14 | ···· |
| 15 | ····public·boolean·processStateMessage(final·Message·message)·{ | 15 | ····public·boolean·processStateMessage(final·Message·message)·{ |
| 16 | ········if·(message.what·!=·304)·{ | 16 | ········if·(message.what·!=·304)·{ |
| 17 | ············return·false; | 17 | ············return·false; |
| 18 | ········} | 18 | ········} |
| 19 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$KillChildSessionParent$ZXvK0sNU1qSs_39VwSGi8NuHqoo(this)); | 19 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$KillChildSessionParent$ZXvK0sNU1qSs_39VwSGi8NuHqoo(this)); |
| 20 | ········ChildSessionStateMachine.access$ | 20 | ········ChildSessionStateMachine.access$100(this.this$0,·false); |
| 21 | ········this.this$0.quitNow(); | 21 | ········this.this$0.quitNow(); |
| 22 | ········return·true; | 22 | ········return·true; |
| 23 | ····} | 23 | ····} |
| 24 | } | 24 | } |
| Offset 98, 21 lines modified | Offset 98, 21 lines modified | ||
| 98 | ········//···141:·aload···········11 | 98 | ········//···141:·aload···········11 |
| 99 | ········//···143:·invokevirtual···com/android/internal/net/ipsec/ike/message/IkeSaPayload.getNegotiatedProposalNumber:(Landroid/net/ipsec/ike/SaProposal;)B | 99 | ········//···143:·invokevirtual···com/android/internal/net/ipsec/ike/message/IkeSaPayload.getNegotiatedProposalNumber:(Landroid/net/ipsec/ike/SaProposal;)B |
| 100 | ········//···146:·istore··········15 | 100 | ········//···146:·istore··········15 |
| 101 | ········//···148:·aload_2········ | 101 | ········//···148:·aload_2········ |
| 102 | ········//···149:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 102 | ········//···149:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 103 | ········//···152:·astore··········13 | 103 | ········//···152:·astore··········13 |
| 104 | ········//···154:·aload···········13 | 104 | ········//···154:·aload···········13 |
| 105 | ········//···156:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$1 | 105 | ········//···156:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$1000:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory; |
| 106 | ········//···159:·astore··········13 | 106 | ········//···159:·astore··········13 |
| 107 | ········//···161:·aload_2········ | 107 | ········//···161:·aload_2········ |
| 108 | ········//···162:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 108 | ········//···162:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 109 | ········//···165:·astore··········16 | 109 | ········//···165:·astore··········16 |
| 110 | ········//···167:·aload···········16 | 110 | ········//···167:·aload···········16 |
| 111 | ········//···169:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 111 | ········//···169:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$400:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator; |
| 112 | ········//···172:·astore··········16 | 112 | ········//···172:·astore··········16 |
| 113 | ········//···174:·aload_2········ | 113 | ········//···174:·aload_2········ |
| 114 | ········//···175:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 114 | ········//···175:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 115 | ········//···178:·astore··········17 | 115 | ········//···178:·astore··········17 |
| 116 | ········//···180:·aload···········17 | 116 | ········//···180:·aload···········17 |
| 117 | ········//···182:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mLocalAddress:Ljava/net/InetAddress; | 117 | ········//···182:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mLocalAddress:Ljava/net/InetAddress; |
| 118 | ········//···185:·astore··········17 | 118 | ········//···185:·astore··········17 |
| Offset 169, 15 lines modified | Offset 169, 15 lines modified | ||
| 169 | ········//···294:·aload_2········ | 169 | ········//···294:·aload_2········ |
| 170 | ········//···295:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 170 | ········//···295:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 171 | ········//···298:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams; | 171 | ········//···298:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams; |
| 172 | ········//···301:·invokevirtual···android/net/ipsec/ike/ChildSessionParams.isTransportMode:()Z | 172 | ········//···301:·invokevirtual···android/net/ipsec/ike/ChildSessionParams.isTransportMode:()Z |
| 173 | ········//···304:·istore··········23 | 173 | ········//···304:·istore··········23 |
| 174 | ········//···306:·aload_2········ | 174 | ········//···306:·aload_2········ |
| 175 | ········//···307:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 175 | ········//···307:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 176 | ········//···310:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 176 | ········//···310:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$400:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator; |
| 177 | ········//···313:·astore··········24 | 177 | ········//···313:·astore··········24 |
| 178 | ········//···315:·aload_2········ | 178 | ········//···315:·aload_2········ |
| 179 | ········//···316:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 179 | ········//···316:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 180 | ········//···319:·astore··········7 | 180 | ········//···319:·astore··········7 |
| 181 | ········//···321:·aload···········7 | 181 | ········//···321:·aload···········7 |
| 182 | ········//···323:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mRemoteAddress:Ljava/net/InetAddress; | 182 | ········//···323:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mRemoteAddress:Ljava/net/InetAddress; |
| 183 | ········//···326:·astore··········18 | 183 | ········//···326:·astore··········18 |
| Offset 316, 15 lines modified | Offset 316, 15 lines modified | ||
| 316 | ········//···615:·aload_2········ | 316 | ········//···615:·aload_2········ |
| 317 | ········//···616:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 317 | ········//···616:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 318 | ········//···619:·astore··········7 | 318 | ········//···619:·astore··········7 |
| 319 | ········//···621:·aload_2········ | 319 | ········//···621:·aload_2········ |
| 320 | ········//···622:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 320 | ········//···622:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 321 | ········//···625:·astore··········9 | 321 | ········//···625:·astore··········9 |
| 322 | ········//···627:·aload···········9 | 322 | ········//···627:·aload···········9 |
| 323 | ········//···629:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 323 | ········//···629:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$500:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/content/Context; |
| 324 | ········//···632:·astore··········9 | 324 | ········//···632:·astore··········9 |
| 325 | ········//···634:·aload···········25 | 325 | ········//···634:·aload···········25 |
| 326 | ········//···636:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.initSpi:Landroid/net/IpSecManager$SecurityParameterIndex; | 326 | ········//···636:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.initSpi:Landroid/net/IpSecManager$SecurityParameterIndex; |
| 327 | ········//···639:·astore··········16 | 327 | ········//···639:·astore··········16 |
| 328 | ········//···641:·aload···········25 | 328 | ········//···641:·aload···········25 |
| 329 | ········//···643:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.respSpi:Landroid/net/IpSecManager$SecurityParameterIndex; | 329 | ········//···643:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.respSpi:Landroid/net/IpSecManager$SecurityParameterIndex; |
| 330 | ········//···646:·astore··········17 | 330 | ········//···646:·astore··········17 |
| Offset 388, 15 lines modified | Offset 388, 15 lines modified | ||
| 388 | ········//···766:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.initSpi:Landroid/net/IpSecManager$SecurityParameterIndex; | 388 | ········//···766:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildResult.initSpi:Landroid/net/IpSecManager$SecurityParameterIndex; |
| 389 | ········//···769:·astore··········11 | 389 | ········//···769:·astore··········11 |
| 390 | ········//···771:·aload···········11 | 390 | ········//···771:·aload···········11 |
| 391 | ········//···773:·invokevirtual···android/net/IpSecManager$SecurityParameterIndex.getSpi:()I | 391 | ········//···773:·invokevirtual···android/net/IpSecManager$SecurityParameterIndex.getSpi:()I |
| 392 | ········//···776:·istore··········26 | 392 | ········//···776:·istore··········26 |
| 393 | ········//···778:·aload_3········ | 393 | ········//···778:·aload_3········ |
| 394 | ········//···779:·iload···········26 | 394 | ········//···779:·iload···········26 |
| 395 | ········//···781:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 395 | ········//···781:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$600:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)Lcom/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler; |
| 396 | ········//···784:·astore_3······· | 396 | ········//···784:·astore_3······· |
| 397 | ········//···785:·aload···········5 | 397 | ········//···785:·aload···········5 |
| 398 | ········//···787:·astore··········11 | 398 | ········//···787:·astore··········11 |
| 399 | ········//···789:·aload···········13 | 399 | ········//···789:·aload···········13 |
| 400 | ········//···791:·astore··········30 | 400 | ········//···791:·astore··········30 |
| 401 | ········//···793:·aload···········6 | 401 | ········//···793:·aload···········6 |
| 402 | ········//···795:·astore··········13 | 402 | ········//···795:·astore··········13 |
| Offset 432, 15 lines modified | Offset 432, 15 lines modified | ||
| 432 | ········//···851:·aload···········7 | 432 | ········//···851:·aload···········7 |
| 433 | ········//···853:·aload_3········ | 433 | ········//···853:·aload_3········ |
| 434 | ········//···854:·putfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mRemoteInitNewChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord; | 434 | ········//···854:·putfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mRemoteInitNewChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord; |
| 435 | ········//···857:·aload_2········ | 435 | ········//···857:·aload_2········ |
| 436 | ········//···858:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 436 | ········//···858:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 437 | ········//···861:·astore··········7 | 437 | ········//···861:·astore··········7 |
| 438 | ········//···863:·aload···········7 | 438 | ········//···863:·aload···········7 |
| 439 | ········//···865:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 439 | ········//···865:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$700:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback; |
| 440 | ········//···868:·astore··········7 | 440 | ········//···868:·astore··········7 |
| 441 | ········//···870:·aload_2········ | 441 | ········//···870:·aload_2········ |
| 442 | ········//···871:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 442 | ········//···871:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 443 | ········//···874:·astore_3······· | 443 | ········//···874:·astore_3······· |
| 444 | ········//···875:·aload_3········ | 444 | ········//···875:·aload_3········ |
| 445 | ········//···876:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mRemoteInitNewChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord; | 445 | ········//···876:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mRemoteInitNewChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord; |
| 446 | ········//···879:·astore_3······· | 446 | ········//···879:·astore_3······· |
| Offset 465, 15 lines modified | Offset 465, 15 lines modified | ||
| 465 | ········//···918:·aload···········7 | 465 | ········//···918:·aload···········7 |
| 466 | ········//···920:·aload_3········ | 466 | ········//···920:·aload_3········ |
| 467 | ········//···921:·invokevirtual···com/android/internal/net/ipsec/ike/ChildSessionStateMachine.executeUserCallback:(Ljava/lang/Runnable;)V | 467 | ········//···921:·invokevirtual···com/android/internal/net/ipsec/ike/ChildSessionStateMachine.executeUserCallback:(Ljava/lang/Runnable;)V |
| 468 | ········//···924:·aload_2········ | 468 | ········//···924:·aload_2········ |
| 469 | ········//···925:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 469 | ········//···925:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 470 | ········//···928:·astore··········7 | 470 | ········//···928:·astore··········7 |
| 471 | ········//···930:·aload···········7 | 471 | ········//···930:·aload···········7 |
| 472 | ········//···932:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 472 | ········//···932:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$700:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback; |
| 473 | ········//···935:·astore··········7 | 473 | ········//···935:·astore··········7 |
| 474 | ········//···937:·bipush··········36 | 474 | ········//···937:·bipush··········36 |
| 475 | ········//···939:·istore··········33 | 475 | ········//···939:·istore··········33 |
| 476 | ········//···941:·aload_2········ | 476 | ········//···941:·aload_2········ |
| 477 | ········//···942:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 477 | ········//···942:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 478 | ········//···945:·astore··········9 | 478 | ········//···945:·astore··········9 |
| 479 | ········//···947:·aload···········7 | 479 | ········//···947:·aload···········7 |
| Offset 940, 15 lines modified | Offset 940, 15 lines modified | ||
| 940 | ····} | 940 | ····} |
| 941 | ···· | 941 | ···· |
| 942 | ····private·void·handleCreationFailureAndBackToIdle(final·IkeProtocolException·ex)·{ | 942 | ····private·void·handleCreationFailureAndBackToIdle(final·IkeProtocolException·ex)·{ |
| 943 | ········this.this$0.loge("Received·invalid·Rekey·Child·request.·Reject·with·error·notification",·(Throwable)ex); | 943 | ········this.this$0.loge("Received·invalid·Rekey·Child·request.·Reject·with·error·notification",·(Throwable)ex); |
| 944 | ········final·boolean·initialCapacity·=·true; | 944 | ········final·boolean·initialCapacity·=·true; |
| 945 | ········final·ArrayList·list·=·new·ArrayList<IkeNotifyPayload>(initialCapacity·?·1·:·0); | 945 | ········final·ArrayList·list·=·new·ArrayList<IkeNotifyPayload>(initialCapacity·?·1·:·0); |
| 946 | ········list.add(ex.buildNotifyPayload()); | 946 | ········list.add(ex.buildNotifyPayload()); |
| 947 | ········ChildSessionStateMachine.access$ | 947 | ········ChildSessionStateMachine.access$700(this.this$0).onOutboundPayloadsReady(36,·initialCapacity,·(List)list,·this.this$0); |
| 948 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; | 948 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 949 | ········this$0.transitionTo((IState)this$0.mIdle); | 949 | ········this$0.transitionTo((IState)this$0.mIdle); |
| 950 | ····} | 950 | ····} |
| 951 | ···· | 951 | ···· |
| 952 | ····private·boolean·isKePayloadAcceptable(final·IkeKePayload·ikeKePayload)·{ | 952 | ····private·boolean·isKePayloadAcceptable(final·IkeKePayload·ikeKePayload)·{ |
| 953 | ········final·ChildSaProposal·copyWithAdditionalDhTransform·=·this.this$0.mSaProposal.getCopyWithAdditionalDhTransform(ikeKePayload.dhGroup); | 953 | ········final·ChildSaProposal·copyWithAdditionalDhTransform·=·this.this$0.mSaProposal.getCopyWithAdditionalDhTransform(ikeKePayload.dhGroup); |
| 954 | ········final·Iterator<SaProposal>·iterator·=·(Iterator<SaProposal>)this.this$0.mChildSessionParams.getSaProposals().iterator(); | 954 | ········final·Iterator<SaProposal>·iterator·=·(Iterator<SaProposal>)this.this$0.mChildSessionParams.getSaProposals().iterator(); |
| Offset 1, 33 lines modified | Offset 1, 26 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
| 2 | import·android.os.Bundle; | 2 | import·android.os.Bundle; |
| 3 | import·android.os.Message; | 3 | import·android.os.Message; |
| 4 | import·com.android.internal.net.ipsec.ike.message.IkeDeletePayload; | ||
| 5 | import·com.android.internal.net.ipsec.ike.message.IkeInformationalPayload; | ||
| 6 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; | ||
| 7 | abstract·class·IkeSessionStateMachine$LocalRequestQueuer·extends·IkeSessionStateMachine$ExceptionHandler | 4 | abstract·class·IkeSessionStateMachine$LocalRequestQueuer·extends·IkeSessionStateMachine$ExceptionHandler |
| 8 | { | 5 | { |
| 9 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; | 6 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; |
| 10 | ···· | 7 | ···· |
| 11 | ····private·IkeSessionStateMachine$LocalRequestQueuer(final·IkeSessionStateMachine·this$0)·{ | 8 | ····private·IkeSessionStateMachine$LocalRequestQueuer(final·IkeSessionStateMachine·this$0)·{ |
| 12 | ········this.this$0·=·this$0; | 9 | ········this.this$0·=·this$0; |
| 13 | ········super(this$0); | 10 | ········super(this$0); |
| 14 | ····} | 11 | ····} |
| 15 | ···· | 12 | ···· |
| 16 | ····private·void·enqueueLocalRequestSynchronously(final·IkeLocalRequestScheduler$LocalRequest·ikeLocalRequestScheduler$LocalRequest)·{ | 13 | ····private·void·enqueueLocalRequestSynchronously(final·IkeLocalRequestScheduler$LocalRequest·ikeLocalRequestScheduler$LocalRequest)·{ |
| 17 | ········this.this$0.getHandler().dispatchMessage(this.this$0.obtainMessage(ikeLocalRequestScheduler$LocalRequest.procedureType,·(Object)ikeLocalRequestScheduler$LocalRequest)); | 14 | ········this.this$0.getHandler().dispatchMessage(this.this$0.obtainMessage(ikeLocalRequestScheduler$LocalRequest.procedureType,·(Object)ikeLocalRequestScheduler$LocalRequest)); |
| 18 | ····} | 15 | ····} |
| 19 | ···· | 16 | ···· |
| 20 | ····protected·IkeMessage·buildIkeDeleteReq(final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord)·{ | ||
| 21 | ········return·this.this$0.buildEncryptedInformationalMessage(saRecord$IkeSaRecord,·new·IkeInformationalPayload[]·{·new·IkeDeletePayload()·},·false,·saRecord$IkeSaRecord.getLocalRequestMessageId()); | ||
| 22 | ····} | ||
| 23 | ···· | ||
| 24 | ····protected·void·handleFiredAlarm(final·Message·message)·{ | 17 | ····protected·void·handleFiredAlarm(final·Message·message)·{ |
| 25 | ········final·int·arg2·=·message.arg2; | 18 | ········final·int·arg2·=·message.arg2; |
| 26 | ········if·(arg2·==·2·||·arg2·==·3)·{ | 19 | ········if·(arg2·==·2·||·arg2·==·3)·{ |
| 27 | ············this.enqueueLocalRequestSynchronously((IkeLocalRequestScheduler$LocalRequest)new·IkeLocalRequestScheduler$ChildLocalRequest(message.arg2,·((Bundle)message.obj).getInt("BUNDLE_KEY_CHILD_REMOTE_SPI"))); | 20 | ············this.enqueueLocalRequestSynchronously((IkeLocalRequestScheduler$LocalRequest)new·IkeLocalRequestScheduler$ChildLocalRequest(message.arg2,·((Bundle)message.obj).getInt("BUNDLE_KEY_CHILD_REMOTE_SPI"))); |
| 28 | ············return; | 21 | ············return; |
| 29 | ········} | 22 | ········} |
| 30 | ········if·(arg2·==·316)·{ | 23 | ········if·(arg2·==·316)·{ |
| Offset 1, 55 lines modified | Offset 1, 49 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
| 2 | import·com.android.internal.net.ipsec.ike.utils.IState; | ||
| 3 | import·android.os.Message; | 2 | import·android.os.Message; |
| 4 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload$ConfigAttribute; | 3 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload$ConfigAttribute; |
| 5 | import·android.net.ipsec.ike.ChildSessionParams; | 4 | import·android.net.ipsec.ike.ChildSessionParams; |
| 6 | import·java.net.InetAddress; | 5 | import·java.net.InetAddress; |
| 7 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; | 6 | import·com.android.internal.net.ipsec.ike.utils.IpSecSpiGenerator; |
| 8 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; | 7 | import·com.android.internal.net.ipsec.ike.utils.RandomnessFactory; |
| 9 | import·android.net.IpSecManager$ResourceUnavailableException; | 8 | import·android.net.IpSecManager$ResourceUnavailableException; |
| 10 | import·android.net.IpSecManager$SpiUnavailableException; | 9 | import·android.net.IpSecManager$SpiUnavailableException; |
| 11 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload; | 10 | import·com.android.internal.net.ipsec.ike.message.IkeConfigPayload; |
| 12 | import·java.util.Arrays; | 11 | import·java.util.Arrays; |
| 13 | import·com.android.internal.net.ipsec.ike.exceptions.TemporaryFailureException; | ||
| 14 | import·java.util.List; | 12 | import·java.util.List; |
| 15 | class·ChildSessionStateMachine$CreateChildLocalCreate·extends·ChildSessionStateMachine$CreateChildLocalCreateBase | 13 | class·ChildSessionStateMachine$CreateChildLocalCreate·extends·ChildSessionStateMachine$CreateChildLocalCreateBase |
| 16 | { | 14 | { |
| 17 | ····private·List·mRequestPayloads; | 15 | ····private·List·mRequestPayloads; |
| 18 | ····final·/*·synthetic·*/·ChildSessionStateMachine·this$0; | 16 | ····final·/*·synthetic·*/·ChildSessionStateMachine·this$0; |
| 19 | ···· | 17 | ···· |
| 20 | ····ChildSessionStateMachine$CreateChildLocalCreate(final·ChildSessionStateMachine·this$0)·{ | 18 | ····ChildSessionStateMachine$CreateChildLocalCreate(final·ChildSessionStateMachine·this$0)·{ |
| 21 | ········this.this$0·=·this$0; | 19 | ········this.this$0·=·this$0; |
| 22 | ········super(this$0,·(ChildSessionStateMachine$1)null); | 20 | ········super(this$0,·(ChildSessionStateMachine$1)null); |
| 23 | ····} | 21 | ····} |
| 24 | ···· | 22 | ···· |
| 25 | ····private·boolean·isTemporaryFailure(final·ChildSessionStateMachine$CreateChildResult·childSessionStateMachine$CreateChildResult)·{ | ||
| 26 | ········return·childSessionStateMachine$CreateChildResult.status·==·2·&&·childSessionStateMachine$CreateChildResult.exception·instanceof·TemporaryFailureException; | ||
| 27 | ····} | ||
| 28 | ···· | ||
| 29 | ····public·void·enterState()·{ | 23 | ····public·void·enterState()·{ |
| 30 | ········try·{ | 24 | ········try·{ |
| 31 | ············final·ChildSessionStateMachine·this$0·=·this.this$0; | 25 | ············final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 32 | ············try·{ | 26 | ············try·{ |
| 33 | ················final·RandomnessFactory·access$1 | 27 | ················final·RandomnessFactory·access$1000·=·ChildSessionStateMachine.access$1000(this$0); |
| 34 | ················try·{ | 28 | ················try·{ |
| 35 | ····················final·ChildSessionStateMachine·this$2·=·this.this$0; | 29 | ····················final·ChildSessionStateMachine·this$2·=·this.this$0; |
| 36 | ····················try·{ | 30 | ····················try·{ |
| 37 | ························final·IpSecSpiGenerator·access$1 | 31 | ························final·IpSecSpiGenerator·access$1001·=·ChildSessionStateMachine.access$400(this$2); |
| 38 | ························try·{ | 32 | ························try·{ |
| 39 | ····························final·ChildSessionStateMachine·this$3·=·this.this$0; | 33 | ····························final·ChildSessionStateMachine·this$3·=·this.this$0; |
| 40 | ····························try·{ | 34 | ····························try·{ |
| 41 | ································final·InetAddress·mLocalAddress·=·this$3.mLocalAddress; | 35 | ································final·InetAddress·mLocalAddress·=·this$3.mLocalAddress; |
| 42 | ································try·{ | 36 | ································try·{ |
| 43 | ····································final·ChildSessionStateMachine·this$4·=·this.this$0; | 37 | ····································final·ChildSessionStateMachine·this$4·=·this.this$0; |
| 44 | ····································try·{ | 38 | ····································try·{ |
| 45 | ········································this.mRequestPayloads·=·ChildSessionStateMachine$CreateChildSaHelper.getInitChildCreateReqPayloads(access$1 | 39 | ········································this.mRequestPayloads·=·ChildSessionStateMachine$CreateChildSaHelper.getInitChildCreateReqPayloads(access$1000,·access$1001,·mLocalAddress,·this$4.mChildSessionParams,·false); |
| 46 | ········································final·ChildSessionStateMachine·this$5·=·this.this$0; | 40 | ········································final·ChildSessionStateMachine·this$5·=·this.this$0; |
| 47 | ········································try·{ | 41 | ········································try·{ |
| 48 | ············································final·ChildSessionParams·mChildSessionParams·=·this$5.mChildSessionParams; | 42 | ············································final·ChildSessionParams·mChildSessionParams·=·this$5.mChildSessionParams; |
| 49 | ············································try·{ | 43 | ············································try·{ |
| 50 | ················································final·IkeConfigPayload$ConfigAttribute[]·configAttributes·=·ChildSessionStateMachine$CreateChildSaHelper.getConfigAttributes(mChildSessionParams); | 44 | ················································final·IkeConfigPayload$ConfigAttribute[]·configAttributes·=·ChildSessionStateMachine$CreateChildSaHelper.getConfigAttributes(mChildSessionParams); |
| 51 | ················································try·{ | 45 | ················································try·{ |
| 52 | ····················································Label_0112:·{ | 46 | ····················································Label_0112:·{ |
| Offset 61, 23 lines modified | Offset 55, 23 lines modified | ||
| 61 | ····························································try·{ | 55 | ····························································try·{ |
| 62 | ································································final·IkeConfigPayload·ikeConfigPayload·=·new·IkeConfigPayload(false,·(List)Arrays.asList(configAttributes)); | 56 | ································································final·IkeConfigPayload·ikeConfigPayload·=·new·IkeConfigPayload(false,·(List)Arrays.asList(configAttributes)); |
| 63 | ································································final·List·list·=·mRequestPayloads; | 57 | ································································final·List·list·=·mRequestPayloads; |
| 64 | ································································try·{ | 58 | ································································try·{ |
| 65 | ····································································list.add(ikeConfigPayload); | 59 | ····································································list.add(ikeConfigPayload); |
| 66 | ····································································final·ChildSessionStateMachine·this$6·=·this.this$0; | 60 | ····································································final·ChildSessionStateMachine·this$6·=·this.this$0; |
| 67 | ····································································try·{ | 61 | ····································································try·{ |
| 68 | ········································································final·ChildSessionStateMachine$IChildSessionSmCallback·access$1 | 62 | ········································································final·ChildSessionStateMachine$IChildSessionSmCallback·access$1002·=·ChildSessionStateMachine.access$700(this$6); |
| 69 | ········································································final·int·n·=·36; | 63 | ········································································final·int·n·=·36; |
| 70 | ········································································final·List·mRequestPayloads2·=·this.mRequestPayloads; | 64 | ········································································final·List·mRequestPayloads2·=·this.mRequestPayloads; |
| 71 | ········································································try·{ | 65 | ········································································try·{ |
| 72 | ············································································access$1 | 66 | ············································································access$1002.onOutboundPayloadsReady(n,·false,·mRequestPayloads2,·this.this$0); |
| 73 | ········································································} | 67 | ········································································} |
| 74 | ········································································catch·(IpSecManager$SpiUnavailableException·|·IpSecManager$ResourceUnavailableException·ex2)·{ | 68 | ········································································catch·(IpSecManager$SpiUnavailableException·|·IpSecManager$ResourceUnavailableException·ex2)·{ |
| 75 | ············································································final·Exception·ex; | 69 | ············································································final·Exception·ex; |
| 76 | ············································································ChildSessionStateMachine.access$ | 70 | ············································································ChildSessionStateMachine.access$800(this.this$0,·ex); |
| 77 | ········································································} | 71 | ········································································} |
| 78 | ····································································} | 72 | ····································································} |
| 79 | ····································································catch·(IpSecManager$SpiUnavailableException·ex3)·{} | 73 | ····································································catch·(IpSecManager$SpiUnavailableException·ex3)·{} |
| 80 | ····································································catch·(IpSecManager$ResourceUnavailableException·ex4)·{} | 74 | ····································································catch·(IpSecManager$ResourceUnavailableException·ex4)·{} |
| 81 | ································································} | 75 | ································································} |
| 82 | ································································catch·(IpSecManager$SpiUnavailableException·ex5)·{} | 76 | ································································catch·(IpSecManager$SpiUnavailableException·ex5)·{} |
| 83 | ································································catch·(IpSecManager$ResourceUnavailableException·ex6)·{} | 77 | ································································catch·(IpSecManager$ResourceUnavailableException·ex6)·{} |
| Offset 128, 20 lines modified | Offset 122, 11 lines modified | ||
| 128 | ····} | 122 | ····} |
| 129 | ···· | 123 | ···· |
| 130 | ····public·boolean·processStateMessage(final·Message·message)·{ | 124 | ····public·boolean·processStateMessage(final·Message·message)·{ |
| 131 | ········if·(message.what·!=·303)·{ | 125 | ········if·(message.what·!=·303)·{ |
| 132 | ············return·false; | 126 | ············return·false; |
| 133 | ········} | 127 | ········} |
| 134 | ········final·ChildSessionStateMachine$ReceivedCreateResponse·childSessionStateMachine$ReceivedCreateResponse·=·(ChildSessionStateMachine$ReceivedCreateResponse)message.obj; | 128 | ········final·ChildSessionStateMachine$ReceivedCreateResponse·childSessionStateMachine$ReceivedCreateResponse·=·(ChildSessionStateMachine$ReceivedCreateResponse)message.obj; |
| 135 | ········final·ChildSessionStateMachine$CreateChildResult·validateAndNegotiateInitChild·=·ChildSessionStateMachine$CreateChildSaHelper.validateAndNegotiateInitChild(this.mRequestPayloads,·childSessionStateMachine$ReceivedCreateResponse.responsePayloads,·childSessionStateMachine$ReceivedCreateResponse.exchangeType,·36,·this.this$0.mChildSessionParams.isTransportMode(),·ChildSessionStateMachine.access$500(this.this$0),·this.this$0.mRemoteAddress); | ||
| 136 | ········final·boolean·temporaryFailure·=·this.isTemporaryFailure(validateAndNegotiateInitChild); | ||
| 137 | ········final·boolean·b·=·true; | ||
| 138 | ········if·(temporaryFailure)·{ | ||
| 139 | ············final·ChildSessionStateMachine·this$0·=·this.this$0; | ||
| 140 | ············this$0.transitionTo((IState)this$0.mInitial); | ||
| 141 | ············ChildSessionStateMachine.access$800(this.this$0).scheduleRetryLocalRequest(new·IkeLocalRequestScheduler$ChildLocalRequest((int)(b·?·1·:·0),·ChildSessionStateMachine.access$400(this.this$0),·this.this$0.mChildSessionParams)); | ||
| 142 | ············return·b; | ||
| 143 | ········} | ||
| 144 | ········this.validateAndBuildChild(this.mRequestPayloads,·childSessionStateMachine$ReceivedCreateResponse.responsePayloads,·childSessionStateMachine$ReceivedCreateResponse. | 129 | ········this.validateAndBuildChild(this.mRequestPayloads,·childSessionStateMachine$ReceivedCreateResponse.responsePayloads,·childSessionStateMachine$ReceivedCreateResponse.exchangeType,·36,·childSessionStateMachine$ReceivedCreateResponse.registeredSpi); |
| 145 | ········return· | 130 | ········return·true; |
| 146 | ····} | 131 | ····} |
| 147 | } | 132 | } |
| Offset 26, 18 lines modified | Offset 26, 18 lines modified | ||
| 26 | ··#18·=·Class··············#17············//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildSaHelper | 26 | ··#18·=·Class··············#17············//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildSaHelper |
| 27 | ··#19·=·Utf8···············releaseSpiResources | 27 | ··#19·=·Utf8···············releaseSpiResources |
| 28 | ··#20·=·Utf8···············(Ljava/util/List;)V | 28 | ··#20·=·Utf8···············(Ljava/util/List;)V |
| 29 | ··#21·=·NameAndType········#19:#20········//·releaseSpiResources:(Ljava/util/List;)V | 29 | ··#21·=·NameAndType········#19:#20········//·releaseSpiResources:(Ljava/util/List;)V |
| 30 | ··#22·=·Methodref··········#18.#21········//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildSaHelper.releaseSpiResources:(Ljava/util/List;)V | 30 | ··#22·=·Methodref··········#18.#21········//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildSaHelper.releaseSpiResources:(Ljava/util/List;)V |
| 31 | ··#23·=·Utf8···············com/android/internal/net/ipsec/ike/ChildSessionStateMachine | 31 | ··#23·=·Utf8···············com/android/internal/net/ipsec/ike/ChildSessionStateMachine |
| 32 | ··#24·=·Class··············#23············//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine | 32 | ··#24·=·Class··············#23············//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine |
| 33 | ··#25·=·Utf8···············access$ | 33 | ··#25·=·Utf8···············access$300 |
| 34 | ··#26·=·Utf8···············(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback; | 34 | ··#26·=·Utf8···············(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback; |
| 35 | ··#27·=·NameAndType········#25:#26········//·access$ | 35 | ··#27·=·NameAndType········#25:#26········//·access$300:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback; |
| 36 | ··#28·=·Methodref··········#24.#27········//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 36 | ··#28·=·Methodref··········#24.#27········//·com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$300:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback; |
| 37 | ··#29·=·Utf8···············android/net/ipsec/ike/ChildSessionCallback | 37 | ··#29·=·Utf8···············android/net/ipsec/ike/ChildSessionCallback |
| 38 | ··#30·=·Class··············#29············//·android/net/ipsec/ike/ChildSessionCallback | 38 | ··#30·=·Class··············#29············//·android/net/ipsec/ike/ChildSessionCallback |
| 39 | ··#31·=·Utf8···············onClosed | 39 | ··#31·=·Utf8···············onClosed |
| 40 | ··#32·=·Utf8···············()V | 40 | ··#32·=·Utf8···············()V |
| 41 | ··#33·=·NameAndType········#31:#32········//·onClosed:()V | 41 | ··#33·=·NameAndType········#31:#32········//·onClosed:()V |
| 42 | ··#34·=·InterfaceMethodref·#30.#33········//·android/net/ipsec/ike/ChildSessionCallback.onClosed:()V | 42 | ··#34·=·InterfaceMethodref·#30.#33········//·android/net/ipsec/ike/ChildSessionCallback.onClosed:()V |
| 43 | ··#35·=·Utf8···············android/os/Message | 43 | ··#35·=·Utf8···············android/os/Message |
| Offset 134, 15 lines modified | Offset 134, 15 lines modified | ||
| 134 | ··public·void·lambda$processStateMessage$0$ChildSessionStateMachine$Initial(); | 134 | ··public·void·lambda$processStateMessage$0$ChildSessionStateMachine$Initial(); |
| 135 | ····descriptor:·()V | 135 | ····descriptor:·()V |
| 136 | ····flags:·(0x1001)·ACC_PUBLIC,·ACC_SYNTHETIC | 136 | ····flags:·(0x1001)·ACC_PUBLIC,·ACC_SYNTHETIC |
| 137 | ····Code: | 137 | ····Code: |
| 138 | ······stack=300,·locals=1,·args_size=1 | 138 | ······stack=300,·locals=1,·args_size=1 |
| 139 | ·········0:·aload_0 | 139 | ·········0:·aload_0 |
| 140 | ·········1:·getfield······#10·················//·Field·this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 140 | ·········1:·getfield······#10·················//·Field·this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 141 | ·········4:·invokestatic··#28·················//·Method·com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$ | 141 | ·········4:·invokestatic··#28·················//·Method·com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$300:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback; |
| 142 | ·········7:·invokeinterface·#34,··1···········//·InterfaceMethod·android/net/ipsec/ike/ChildSessionCallback.onClosed:()V | 142 | ·········7:·invokeinterface·#34,··1···········//·InterfaceMethod·android/net/ipsec/ike/ChildSessionCallback.onClosed:()V |
| 143 | ········12:·return | 143 | ········12:·return |
| 144 | ··public·boolean·processStateMessage(android.os.Message); | 144 | ··public·boolean·processStateMessage(android.os.Message); |
| 145 | ····descriptor:·(Landroid/os/Message;)Z | 145 | ····descriptor:·(Landroid/os/Message;)Z |
| 146 | ····flags:·(0x0001)·ACC_PUBLIC | 146 | ····flags:·(0x0001)·ACC_PUBLIC |
| 147 | ····Code: | 147 | ····Code: |
| Offset 21, 17 lines modified | Offset 21, 17 lines modified | ||
| 21 | ····ChildSessionStateMachine$RekeyChildLocalCreate(final·ChildSessionStateMachine·this$0)·{ | 21 | ····ChildSessionStateMachine$RekeyChildLocalCreate(final·ChildSessionStateMachine·this$0)·{ |
| 22 | ········this.this$0·=·this$0; | 22 | ········this.this$0·=·this$0; |
| 23 | ········super(this$0,·(ChildSessionStateMachine$1)null); | 23 | ········super(this$0,·(ChildSessionStateMachine$1)null); |
| 24 | ····} | 24 | ····} |
| 25 | ···· | 25 | ···· |
| 26 | ····private·void·handleProcessRespOrSaCreationFailAndQuit(final·int·n,·final·Exception·ex)·{ | 26 | ····private·void·handleProcessRespOrSaCreationFailAndQuit(final·int·n,·final·Exception·ex)·{ |
| 27 | ········if·(n·!=·0)·{ | 27 | ········if·(n·!=·0)·{ |
| 28 | ············ChildSessionStateMachine.access$ | 28 | ············ChildSessionStateMachine.access$700(this.this$0).onChildSaDeleted(n); |
| 29 | ········} | 29 | ········} |
| 30 | ········ChildSessionStateMachine.access$ | 30 | ········ChildSessionStateMachine.access$800(this.this$0,·ex); |
| 31 | ····} | 31 | ····} |
| 32 | ···· | 32 | ···· |
| 33 | ····public·void·enterState()·{ | 33 | ····public·void·enterState()·{ |
| 34 | ········try·{ | 34 | ········try·{ |
| 35 | ············final·ChildSessionStateMachine·this$0·=·this.this$0; | 35 | ············final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 36 | ············try·{ | 36 | ············try·{ |
| 37 | ················ChildSaProposal·childSaProposal·=·this$0.mSaProposal; | 37 | ················ChildSaProposal·childSaProposal·=·this$0.mSaProposal; |
| Offset 40, 22 lines modified | Offset 40, 22 lines modified | ||
| 40 | ····················try·{ | 40 | ····················try·{ |
| 41 | ························Label_0036:·{ | 41 | ························Label_0036:·{ |
| 42 | ····························if·(!this$2.mIsFirstChild)·{ | 42 | ····························if·(!this$2.mIsFirstChild)·{ |
| 43 | ································break·Label_0036; | 43 | ································break·Label_0036; |
| 44 | ····························} | 44 | ····························} |
| 45 | ····························final·ChildSessionStateMachine·this$3·=·this.this$0; | 45 | ····························final·ChildSessionStateMachine·this$3·=·this.this$0; |
| 46 | ····························try·{ | 46 | ····························try·{ |
| 47 | ································childSaProposal·=·ChildSessionStateMachine.access$1 | 47 | ································childSaProposal·=·ChildSessionStateMachine.access$1500(this$3); |
| 48 | ································final·ChildSessionStateMachine·this$4·=·this.this$0; | 48 | ································final·ChildSessionStateMachine·this$4·=·this.this$0; |
| 49 | ································try·{ | 49 | ································try·{ |
| 50 | ····································final·RandomnessFactory·access$1 | 50 | ····································final·RandomnessFactory·access$1000·=·ChildSessionStateMachine.access$1000(this$4); |
| 51 | ····································try·{ | 51 | ····································try·{ |
| 52 | ········································final·ChildSessionStateMachine·this$5·=·this.this$0; | 52 | ········································final·ChildSessionStateMachine·this$5·=·this.this$0; |
| 53 | ········································try·{ | 53 | ········································try·{ |
| 54 | ············································final·IpSecSpiGenerator·access$1 | 54 | ············································final·IpSecSpiGenerator·access$1001·=·ChildSessionStateMachine.access$400(this$5); |
| 55 | ············································try·{ | 55 | ············································try·{ |
| 56 | ················································final·ChildSessionStateMachine·this$6·=·this.this$0; | 56 | ················································final·ChildSessionStateMachine·this$6·=·this.this$0; |
| 57 | ················································try·{ | 57 | ················································try·{ |
| 58 | ····················································final·InetAddress·mLocalAddress·=·this$6.mLocalAddress; | 58 | ····················································final·InetAddress·mLocalAddress·=·this$6.mLocalAddress; |
| 59 | ····················································try·{ | 59 | ····················································try·{ |
| 60 | ························································final·ChildSessionStateMachine·this$7·=·this.this$0; | 60 | ························································final·ChildSessionStateMachine·this$7·=·this.this$0; |
| 61 | ························································try·{ | 61 | ························································try·{ |
| Offset 71, 22 lines modified | Offset 71, 22 lines modified | ||
| 71 | ············································································try·{ | 71 | ············································································try·{ |
| 72 | ················································································final·int·localSpi·=·mCurrentChildSaRecord.getLocalSpi(); | 72 | ················································································final·int·localSpi·=·mCurrentChildSaRecord.getLocalSpi(); |
| 73 | ················································································try·{ | 73 | ················································································try·{ |
| 74 | ····················································································final·ChildSessionStateMachine·this$10·=·this.this$0; | 74 | ····················································································final·ChildSessionStateMachine·this$10·=·this.this$0; |
| 75 | ····················································································try·{ | 75 | ····················································································try·{ |
| 76 | ························································································final·ChildSessionParams·mChildSessionParams·=·this$10.mChildSessionParams; | 76 | ························································································final·ChildSessionParams·mChildSessionParams·=·this$10.mChildSessionParams; |
| 77 | ························································································try·{ | 77 | ························································································try·{ |
| 78 | ····························································································this.mRequestPayloads·=·ChildSessionStateMachine$CreateChildSaHelper.getRekeyChildCreateReqPayloads(access$1 | 78 | ····························································································this.mRequestPayloads·=·ChildSessionStateMachine$CreateChildSaHelper.getRekeyChildCreateReqPayloads(access$1000,·access$1001,·mLocalAddress,·childSaProposal,·mLocalTs,·mRemoteTs,·localSpi,·mChildSessionParams.isTransportMode()); |
| 79 | ····························································································final·ChildSessionStateMachine·this$11·=·this.this$0; | 79 | ····························································································final·ChildSessionStateMachine·this$11·=·this.this$0; |
| 80 | ····························································································try·{ | 80 | ····························································································try·{ |
| 81 | ································································································final·ChildSessionStateMachine$IChildSessionSmCallback·access$1 | 81 | ································································································final·ChildSessionStateMachine$IChildSessionSmCallback·access$1002·=·ChildSessionStateMachine.access$700(this$11); |
| 82 | ································································································final·int·n·=·36; | 82 | ································································································final·int·n·=·36; |
| 83 | ································································································final·List·mRequestPayloads·=·this.mRequestPayloads; | 83 | ································································································final·List·mRequestPayloads·=·this.mRequestPayloads; |
| 84 | ································································································try·{ | 84 | ································································································try·{ |
| 85 | ····································································································access$1 | 85 | ····································································································access$1002.onOutboundPayloadsReady(n,·false,·mRequestPayloads,·this.this$0); |
| 86 | ································································································} | 86 | ································································································} |
| 87 | ································································································catch·(IpSecManager$SpiUnavailableException·|·IpSecManager$ResourceUnavailableException·ex)·{ | 87 | ································································································catch·(IpSecManager$SpiUnavailableException·|·IpSecManager$ResourceUnavailableException·ex)·{ |
| 88 | ····································································································this.this$0.loge("Fail·to·assign·Child·SPI.·Schedule·a·retry·for·rekey·Child"); | 88 | ····································································································this.this$0.loge("Fail·to·assign·Child·SPI.·Schedule·a·retry·for·rekey·Child"); |
| 89 | ····································································································this.this$0.mCurrentChildSaRecord.rescheduleRekey(AbstractSessionStateMachine.RETRY_INTERVAL_MS); | 89 | ····································································································this.this$0.mCurrentChildSaRecord.rescheduleRekey(AbstractSessionStateMachine.RETRY_INTERVAL_MS); |
| 90 | ····································································································final·ChildSessionStateMachine·this$12·=·this.this$0; | 90 | ····································································································final·ChildSessionStateMachine·this$12·=·this.this$0; |
| 91 | ····································································································this$12.transitionTo((IState)this$12.mIdle); | 91 | ····································································································this$12.transitionTo((IState)this$12.mIdle); |
| 92 | ································································································} | 92 | ································································································} |
| Offset 168, 621 lines modified | Offset 168, 567 lines modified | ||
| 168 | ········//· | 168 | ········//· |
| 169 | ········//·····1:·astore_2······· | 169 | ········//·····1:·astore_2······· |
| 170 | ········//·····2:·aload_1········ | 170 | ········//·····2:·aload_1········ |
| 171 | ········//·····3:·astore_3······· | 171 | ········//·····3:·astore_3······· |
| 172 | ········//·····4:·aload_1········ | 172 | ········//·····4:·aload_1········ |
| 173 | ········//·····5:·getfield········android/os/Message.what:I | 173 | ········//·····5:·getfield········android/os/Message.what:I |
| 174 | ········//·····8:·istore··········4 | 174 | ········//·····8:·istore··········4 |
| 175 | ········//····10:·sipush··········30 | 175 | ········//····10:·sipush··········303 |
| 176 | ········//····13:·istore··········5 | 176 | ········//····13:·istore··········5 |
| 177 | ········//····15:·iconst_0······· | ||
| 178 | ········//····16:·istore··········6 | ||
| 179 | ········//····18:·aconst_null···· | ||
| 180 | ········//····19:·astore··········7 | ||
| 181 | ········//····21:·iconst_1······· | ||
| 182 | ········//····22:·istore··········8 | ||
| 183 | ········//···· | 177 | ········//····15:·iload···········4 |
| 184 | ········//···· | 178 | ········//····17:·iload···········5 |
| 185 | ········//····28:·if_icmpeq·······751 | ||
| 186 | ········//····31:·sipush··········303 | ||
| 187 | ········//····34:·istore··········5 | ||
| 188 | ········//····36:·iload···········4 | ||
| 189 | ········//····38:·iload···········5 | ||
| 190 | ········//···· | 179 | ········//····19:·if_icmpeq·······24 |
| 191 | ········//···· | 180 | ········//····22:·iconst_0······· |
| 192 | ········//···· | 181 | ········//····23:·ireturn········ |
| 193 | ········//···· | 182 | ········//····24:·aload_1········ |
| 194 | ········//···· | 183 | ········//····25:·getfield········android/os/Message.obj:Ljava/lang/Object; |
| 195 | ········//···· | 184 | ········//····28:·astore··········6 |
| 196 | ········//···· | 185 | ········//····30:·aload···········6 |
| 197 | ········//···· | 186 | ········//····32:·astore··········7 |
| 198 | ········//···· | 187 | ········//····34:·aload···········6 |
| 199 | ········//···· | 188 | ········//····36:·checkcast·······Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedCreateResponse; |
| 200 | ········//···· | 189 | ········//····39:·astore··········7 |
| 201 | ········//···· | 190 | ········//····41:·aload_0········ |
| 202 | ········//···· | 191 | ········//····42:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildLocalCreate.mRequestPayloads:Ljava/util/List; |
| 203 | ········//···· | 192 | ········//····45:·astore··········8 |
| 204 | ········//···· | 193 | ········//····47:·aload···········7 |
| 205 | ········//···· | 194 | ········//····49:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedCreateResponse.responsePayloads:Ljava/util/List; |
| 206 | ········//···· | 195 | ········//····52:·astore··········9 |
| 207 | ········//···· | 196 | ········//····54:·aload···········7 |
| 208 | ········//···· | 197 | ········//····56:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$ReceivedCreateResponse.exchangeType:I |
| 209 | ········//···· | 198 | ········//····59:·istore··········10 |
| 210 | ········//···· | 199 | ········//····61:·bipush··········36 |
| 200 | ········//····63:·istore··········11 | ||
| 201 | ········//····65:·aload_0········ | ||
| 202 | ········//····66:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildLocalCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | ||
| 203 | ········//····69:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams; | ||
| 204 | ········//····72:·invokevirtual···android/net/ipsec/ike/ChildSessionParams.isTransportMode:()Z | ||
| 205 | ········//····75:·istore··········12 | ||
| 206 | ········//····77:·aload_0········ | ||
| 207 | ········//····78:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildLocalCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | ||
| 208 | ········//····81:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mCurrentChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord; | ||
| 211 | ········//····84:· | 209 | ········//····84:·astore··········13 |
| 212 | ········//····86:·aload_0········ | 210 | ········//····86:·aload_0········ |
| 213 | ········//····87:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildLocalCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; | 211 | ········//····87:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildLocalCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 212 | ········//····90:·invokestatic····com/android/internal/net/ipsec/ike/ChildSessionStateMachine.access$400:(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator; | ||
| 214 | ········//····90:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams; | ||
| 215 | ········//····93:·invokevirtual···android/net/ipsec/ike/ChildSessionParams.isTransportMode:()Z | ||
| 216 | ········//····9 | 213 | ········//····93:·astore··········14 |
| 217 | ········//····9 | 214 | ········//····95:·aload_0········ |
| 218 | ········//····9 | 215 | ········//····96:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildLocalCreate.this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine; |
| 219 | ········//···102:·getfield········com/android/internal/net/ipsec/ike/ChildSessionStateMachine.mCurrentChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord; | ||
| 220 | ········//··· | 216 | ········//····99:·astore··········6 |
| ... Open expanded diff ... | |||
| Offset 113, 19 lines modified | Offset 113, 14 lines modified | ||
| 113 | ············this.executeLocalRequest((IkeLocalRequestScheduler$LocalRequest)message.obj,·message); | 113 | ············this.executeLocalRequest((IkeLocalRequestScheduler$LocalRequest)message.obj,·message); |
| 114 | ············return·b; | 114 | ············return·b; |
| 115 | ········} | 115 | ········} |
| 116 | ········if·(what·==·315)·{ | 116 | ········if·(what·==·315)·{ |
| 117 | ············this.handleFiredAlarm(message); | 117 | ············this.handleFiredAlarm(message); |
| 118 | ············return·b; | 118 | ············return·b; |
| 119 | ········} | 119 | ········} |
| 120 | ········if·(what·==·317)·{ | ||
| 121 | ············final·IkeSessionStateMachine·this$2·=·this.this$0; | ||
| 122 | ············this$2.sendEncryptedIkeMessage(this.buildIkeDeleteReq(this$2.mCurrentIkeSaRecord)); | ||
| 123 | ············return·false; | ||
| 124 | ········} | ||
| 125 | ········if·(what·==·399)·{ | 120 | ········if·(what·==·399)·{ |
| 126 | ············this.this$0.transitionTo((IState)(State)message.obj); | 121 | ············this.this$0.transitionTo((IState)(State)message.obj); |
| 127 | ············return·b; | 122 | ············return·b; |
| 128 | ········} | 123 | ········} |
| 129 | ········if·(this.isLocalRequest(message.what))·{ | 124 | ········if·(this.isLocalRequest(message.what))·{ |
| 130 | ············this.handleLocalRequest(message.what,·(IkeLocalRequestScheduler$LocalRequest)message.obj); | 125 | ············this.handleLocalRequest(message.what,·(IkeLocalRequestScheduler$LocalRequest)message.obj); |
| 131 | ············IkeSessionStateMachine.access$700(this.this$0).readyForNextProcedure(); | 126 | ············IkeSessionStateMachine.access$700(this.this$0).readyForNextProcedure(); |
| Offset 46, 52 lines modified | Offset 46, 90 lines modified | ||
| 46 | ····································final·boolean·hasRemoteChildSpiForDelete·=·this.hasRemoteChildSpiForDelete(responsePayloads2,·this$0.mCurrentChildSaRecord); | 46 | ····································final·boolean·hasRemoteChildSpiForDelete·=·this.hasRemoteChildSpiForDelete(responsePayloads2,·this$0.mCurrentChildSaRecord); |
| 47 | ····································if·(!hasRemoteChildSpiForDelete·&&·!this.mSimulDeleteDetected)·{ | 47 | ····································if·(!hasRemoteChildSpiForDelete·&&·!this.mSimulDeleteDetected)·{ |
| 48 | ········································throw·new·InvalidSyntaxException("Found·no·remote·SPI·in·received·Delete·response."); | 48 | ········································throw·new·InvalidSyntaxException("Found·no·remote·SPI·in·received·Delete·response."); |
| 49 | ····································} | 49 | ····································} |
| 50 | ····································if·(hasRemoteChildSpiForDelete·&&·this.mSimulDeleteDetected)·{ | 50 | ····································if·(hasRemoteChildSpiForDelete·&&·this.mSimulDeleteDetected)·{ |
| 51 | ········································this.this$0.logw("Found·remote·SPI·in·the·Delete·response·in·a·simultaneous·deletion·case"); | 51 | ········································this.this$0.logw("Found·remote·SPI·in·the·Delete·response·in·a·simultaneous·deletion·case"); |
| 52 | ····································} | 52 | ····································} |
| 53 | ····································final·ChildSessionStateMachine·this$2·=·this.this$0; | ||
| 53 | ····································try·{ | 54 | ····································try·{ |
| 54 | ········································thi | 55 | ········································final·-$$Lambda$ChildSessionStateMachine$DeleteChildLocalDelete$o2cc8NqceQHiF_X42Fs4ScsYhCE·-$$Lambda$ChildSessionStateMachine$DeleteChildLocalDelete$o2cc8NqceQHiF_X42Fs4ScsYhCE·=·new·-$$Lambda$ChildSessionStateMachine$DeleteChildLocalDelete$o2cc8NqceQHiF_X42Fs4ScsYhCE(this); |
| 56 | ········································final·ChildSessionStateMachine·childSessionStateMachine·=·this$2; | ||
| 57 | ········································try·{ | ||
| 58 | ············································childSessionStateMachine.executeUserCallback((Runnable)-$$Lambda$ChildSessionStateMachine$DeleteChildLocalDelete$o2cc8NqceQHiF_X42Fs4ScsYhCE); | ||
| 59 | ············································final·ChildSessionStateMachine·this$3·=·this.this$0; | ||
| 60 | ············································try·{ | ||
| 61 | ················································final·ChildSessionStateMachine$IChildSessionSmCallback·access$700·=·ChildSessionStateMachine.access$700(this$3); | ||
| 62 | ················································try·{ | ||
| 63 | ····················································final·ChildSessionStateMachine·this$4·=·this.this$0; | ||
| 64 | ····················································try·{ | ||
| 65 | ························································final·SaRecord$ChildSaRecord·mCurrentChildSaRecord·=·this$4.mCurrentChildSaRecord; | ||
| 66 | ························································try·{ | ||
| 67 | ····························································access$700.onChildSaDeleted(mCurrentChildSaRecord.getRemoteSpi()); | ||
| 68 | ····························································final·ChildSessionStateMachine·this$5·=·this.this$0; | ||
| 69 | ····························································try·{ | ||
| 70 | ································································final·SaRecord$ChildSaRecord·mCurrentChildSaRecord2·=·this$5.mCurrentChildSaRecord; | ||
| 71 | ································································try·{ | ||
| 72 | ····································································mCurrentChildSaRecord2.close(); | ||
| 73 | ····································································this.this$0.mCurrentChildSaRecord·=·null; | ||
| 74 | ····································································final·ChildSessionStateMachine·this$6·=·this.this$0; | ||
| 75 | ····································································try·{ | ||
| 76 | ········································································this$6.quitNow(); | ||
| 77 | ····································································} | ||
| 78 | ····································································catch·(IkeProtocolException·ex)·{ | ||
| 79 | ········································································ChildSessionStateMachine.access$800(this.this$0,·(Exception)ex); | ||
| 80 | ····································································} | ||
| 81 | ································································} | ||
| 82 | ································································catch·(IkeProtocolException·ex2)·{} | ||
| 83 | ····························································} | ||
| 84 | ····························································catch·(IkeProtocolException·ex3)·{} | ||
| 85 | ························································} | ||
| 86 | ························································catch·(IkeProtocolException·ex4)·{} | ||
| 87 | ····················································} | ||
| 88 | ····················································catch·(IkeProtocolException·ex5)·{} | ||
| 89 | ················································} | ||
| 90 | ················································catch·(IkeProtocolException·ex6)·{} | ||
| 91 | ············································} | ||
| 92 | ············································catch·(IkeProtocolException·ex7)·{} | ||
| 55 | ····································} | 93 | ········································} |
| 56 | ····································catch·(IkeProtocolException·ex)·{ | 94 | ········································catch·(IkeProtocolException·ex8)·{} |
| 57 | ········································ChildSessionStateMachine.access$900(this.this$0,·(Exception)ex); | ||
| 58 | ····································} | 95 | ····································} |
| 96 | ····································catch·(IkeProtocolException·ex9)·{} | ||
| 59 | ································} | 97 | ································} |
| 60 | ································catch·(IkeProtocolException·ex | 98 | ································catch·(IkeProtocolException·ex10)·{} |
| 61 | ····························} | 99 | ····························} |
| 62 | ····························catch·(IkeProtocolException·ex | 100 | ····························catch·(IkeProtocolException·ex11)·{} |
| 63 | ························} | 101 | ························} |
| 64 | ························catch·(IkeProtocolException·ex | 102 | ························catch·(IkeProtocolException·ex12)·{} |
| 65 | ····················} | 103 | ····················} |
| 66 | ····················catch·(IkeProtocolException·ex | 104 | ····················catch·(IkeProtocolException·ex13)·{} |
| 67 | ················} | 105 | ················} |
| 68 | ················catch·(IkeProtocolException·ex | 106 | ················catch·(IkeProtocolException·ex14)·{} |
| 69 | ············} | 107 | ············} |
| 70 | ············catch·(IkeProtocolException·ex | 108 | ············catch·(IkeProtocolException·ex15)·{} |
| 71 | ············return·mSimulDeleteDetected; | 109 | ············return·mSimulDeleteDetected; |
| 72 | ········} | 110 | ········} |
| 73 | ········else·{ | 111 | ········else·{ |
| 74 | ············final·ChildSessionStateMachine$ReceivedRequest·childSessionStateMachine$ReceivedRequest·=·(ChildSessionStateMachine$ReceivedRequest)message.obj; | 112 | ············final·ChildSessionStateMachine$ReceivedRequest·childSessionStateMachine$ReceivedRequest·=·(ChildSessionStateMachine$ReceivedRequest)message.obj; |
| 75 | ············final·int·exchangeSubtype·=·childSessionStateMachine$ReceivedRequest.exchangeSubtype; | 113 | ············final·int·exchangeSubtype·=·childSessionStateMachine$ReceivedRequest.exchangeSubtype; |
| 76 | ············if·(exchangeSubtype·==·5)·{ | 114 | ············if·(exchangeSubtype·==·5)·{ |
| 77 | ················if·(!this.hasRemoteChildSpiForDelete(childSessionStateMachine$ReceivedRequest.requestPayloads,·this.this$0.mCurrentChildSaRecord))·{ | 115 | ················if·(!this.hasRemoteChildSpiForDelete(childSessionStateMachine$ReceivedRequest.requestPayloads,·this.this$0.mCurrentChildSaRecord))·{ |
| 78 | ····················this.cleanUpAndQuit((RuntimeException)new·IllegalStateException("Found·no·remote·SPI·for·mCurrentChildSaRecord·in·a·Delete·request")); | 116 | ····················this.cleanUpAndQuit((RuntimeException)new·IllegalStateException("Found·no·remote·SPI·for·mCurrentChildSaRecord·in·a·Delete·request")); |
| 79 | ················} | 117 | ················} |
| 80 | ················else·{ | 118 | ················else·{ |
| 81 | ····················ChildSessionStateMachine.access$ | 119 | ····················ChildSessionStateMachine.access$700(this.this$0).onOutboundPayloadsReady(37,·mSimulDeleteDetected,·(List)new·LinkedList(),·this.this$0); |
| 82 | ····················this.mSimulDeleteDetected·=·mSimulDeleteDetected; | 120 | ····················this.mSimulDeleteDetected·=·mSimulDeleteDetected; |
| 83 | ················} | 121 | ················} |
| 84 | ················return·mSimulDeleteDetected; | 122 | ················return·mSimulDeleteDetected; |
| 85 | ············} | 123 | ············} |
| 86 | ············if·(exchangeSubtype·!=·7)·{ | 124 | ············if·(exchangeSubtype·!=·7)·{ |
| 87 | ················final·StringBuilder·sb·=·new·StringBuilder(); | 125 | ················final·StringBuilder·sb·=·new·StringBuilder(); |
| 88 | ················sb.append("Invalid·exchange·subtype·for·Child·Session:·"); | 126 | ················sb.append("Invalid·exchange·subtype·for·Child·Session:·"); |
| 89 | ················sb.append(childSessionStateMachine$ReceivedRequest.exchangeSubtype); | 127 | ················sb.append(childSessionStateMachine$ReceivedRequest.exchangeSubtype); |
| 90 | ················this.cleanUpAndQuit((RuntimeException)new·IllegalStateException(sb.toString())); | 128 | ················this.cleanUpAndQuit((RuntimeException)new·IllegalStateException(sb.toString())); |
| 91 | ················return·mSimulDeleteDetected; | 129 | ················return·mSimulDeleteDetected; |
| 92 | ············} | 130 | ············} |
| 93 | ············ChildSessionStateMachine.access$1 | 131 | ············ChildSessionStateMachine.access$1400(this.this$0,·43); |
| 94 | ············return·mSimulDeleteDetected; | 132 | ············return·mSimulDeleteDetected; |
| 95 | ········} | 133 | ········} |
| 96 | ····} | 134 | ····} |
| 97 | } | 135 | } |
| Offset 25, 15 lines modified | Offset 25, 15 lines modified | ||
| 25 | ········sb.append("Invalid·exchange·subtype·for·Child·Session:·"); | 25 | ········sb.append("Invalid·exchange·subtype·for·Child·Session:·"); |
| 26 | ········sb.append(childSessionStateMachine$ReceivedRequest.exchangeSubtype); | 26 | ········sb.append(childSessionStateMachine$ReceivedRequest.exchangeSubtype); |
| 27 | ········throw·new·IllegalStateException(sb.toString()); | 27 | ········throw·new·IllegalStateException(sb.toString()); |
| 28 | ····} | 28 | ····} |
| 29 | ···· | 29 | ···· |
| 30 | ····protected·void·finishRekey()·{ | 30 | ····protected·void·finishRekey()·{ |
| 31 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$RekeyChildDeleteBase$Y2yNtni6CM5-5fYnbFnYz1PhlBY(this)); | 31 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$RekeyChildDeleteBase$Y2yNtni6CM5-5fYnbFnYz1PhlBY(this)); |
| 32 | ········ChildSessionStateMachine.access$ | 32 | ········ChildSessionStateMachine.access$700(this.this$0).onChildSaDeleted(this.this$0.mCurrentChildSaRecord.getRemoteSpi()); |
| 33 | ········this.this$0.mCurrentChildSaRecord.close(); | 33 | ········this.this$0.mCurrentChildSaRecord.close(); |
| 34 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; | 34 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 35 | ········this$0.mCurrentChildSaRecord·=·this$0.mChildSaRecordSurviving; | 35 | ········this$0.mCurrentChildSaRecord·=·this$0.mChildSaRecordSurviving; |
| 36 | ········this.this$0.mLocalInitNewChildSaRecord·=·null; | 36 | ········this.this$0.mLocalInitNewChildSaRecord·=·null; |
| 37 | ········this.this$0.mRemoteInitNewChildSaRecord·=·null; | 37 | ········this.this$0.mRemoteInitNewChildSaRecord·=·null; |
| 38 | ········this.this$0.mChildSaRecordSurviving·=·null; | 38 | ········this.this$0.mChildSaRecordSurviving·=·null; |
| 39 | ····} | 39 | ····} |
| Offset 204, 21 lines modified | Offset 204, 19 lines modified | ||
| 204 | ········································if·(ikeNotifyPayload2.isErrorNotify())·{ | 204 | ········································if·(ikeNotifyPayload2.isErrorNotify())·{ |
| 205 | ············································throw·ikeNotifyPayload2.validateAndBuildIkeException(); | 205 | ············································throw·ikeNotifyPayload2.validateAndBuildIkeException(); |
| 206 | ········································} | 206 | ········································} |
| 207 | ········································final·int·notifyType·=·ikeNotifyPayload2.notifyType; | 207 | ········································final·int·notifyType·=·ikeNotifyPayload2.notifyType; |
| 208 | ········································if·(notifyType·!=·16388)·{ | 208 | ········································if·(notifyType·!=·16388)·{ |
| 209 | ············································if·(notifyType·!=·16389)·{ | 209 | ············································if·(notifyType·!=·16389)·{ |
| 210 | ················································if·(notifyType·!=·16430)·{ | 210 | ················································if·(notifyType·!=·16430)·{ |
| 211 | ····················································if·(notifyType·!=·16431)·{ | ||
| 212 | ···················································· | 211 | ····················································final·IkeSessionStateMachine·this$2·=·this.this$0; |
| 213 | ···················································· | 212 | ····················································final·StringBuilder·sb3·=·new·StringBuilder(); |
| 214 | ···················································· | 213 | ····················································sb3.append("Received·unknown·or·unexpected·status·notifications·with·notify·type:·"); |
| 215 | ···················································· | 214 | ····················································sb3.append(ikeNotifyPayload2.notifyType); |
| 216 | ···················································· | 215 | ····················································this$2.logw(sb3.toString()); |
| 217 | ····················································} | ||
| 218 | ················································} | 216 | ················································} |
| 219 | ················································else·{ | 217 | ················································else·{ |
| 220 | ····················································final·IkeSessionStateMachine·this$3·=·this.this$0; | 218 | ····················································final·IkeSessionStateMachine·this$3·=·this.this$0; |
| 221 | ····················································final·int·n3·=·1; | 219 | ····················································final·int·n3·=·1; |
| 222 | ····················································this$3.mSupportFragment·=·(n3·!=·0); | 220 | ····················································this$3.mSupportFragment·=·(n3·!=·0); |
| 223 | ····················································this.this$0.mEnabledExtensions.add(n3); | 221 | ····················································this.this$0.mEnabledExtensions.add(n3); |
| 224 | ················································} | 222 | ················································} |
| Offset 1, 85 lines modified | Offset 1, 67 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
| 2 | import·java.util.List; | ||
| 2 | import·com.android.internal.net.ipsec.ike.utils.IState; | 3 | import·com.android.internal.net.ipsec.ike.utils.IState; |
| 3 | import·android.net.ipsec.ike.exceptions.IkeProtocolException; | 4 | import·android.net.ipsec.ike.exceptions.IkeProtocolException; |
| 4 | import·java.util.List; | ||
| 5 | import·java.util.ArrayList; | ||
| 6 | import·android.os.Message; | 5 | import·android.os.Message; |
| 7 | class·ChildSessionStateMachine$RekeyChildLocalDelete·extends·ChildSessionStateMachine$RekeyChildDeleteBase | 6 | class·ChildSessionStateMachine$RekeyChildLocalDelete·extends·ChildSessionStateMachine$RekeyChildDeleteBase |
| 8 | { | 7 | { |
| 9 | ····private·boolean·mSimulDeleteDetected; | ||
| 10 | ····final·/*·synthetic·*/·ChildSessionStateMachine·this$0; | 8 | ····final·/*·synthetic·*/·ChildSessionStateMachine·this$0; |
| 11 | ···· | 9 | ···· |
| 12 | ····ChildSessionStateMachine$RekeyChildLocalDelete(final·ChildSessionStateMachine·this$0)·{ | 10 | ····ChildSessionStateMachine$RekeyChildLocalDelete(final·ChildSessionStateMachine·this$0)·{ |
| 13 | ········this.this$0·=·this$0; | 11 | ········this.this$0·=·this$0; |
| 14 | ········super(this$0); | 12 | ········super(this$0); |
| 15 | ····} | 13 | ····} |
| 16 | ···· | 14 | ···· |
| 17 | ····public·void·enterState()·{ | 15 | ····public·void·enterState()·{ |
| 18 | ········this.mSimulDeleteDetected·=·false; | ||
| 19 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; | 16 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 20 | ········this$0.mChildSaRecordSurviving·=·this$0.mLocalInitNewChildSaRecord; | 17 | ········this$0.mChildSaRecordSurviving·=·this$0.mLocalInitNewChildSaRecord; |
| 21 | ········this.sendDeleteChild(this.this$0.mCurrentChildSaRecord,·false); | 18 | ········this.sendDeleteChild(this.this$0.mCurrentChildSaRecord,·false); |
| 22 | ····} | 19 | ····} |
| 23 | ···· | 20 | ···· |
| 24 | ····public·boolean·processStateMessage(final·Message·message)·{ | 21 | ····public·boolean·processStateMessage(final·Message·message)·{ |
| 25 | ········final·boolean·processStateMessage·=·super.processStateMessage(message); | 22 | ········final·boolean·processStateMessage·=·super.processStateMessage(message); |
| 26 | ········final·boolean· | 23 | ········final·boolean·b·=·true; |
| 27 | ········if·(processStateMessage·==· | 24 | ········if·(processStateMessage·==·b)·{ |
| 28 | ············return· | 25 | ············return·b; |
| 29 | ········} | 26 | ········} |
| 30 | ········final·int·what·=·message.what; | ||
| 31 | ········if·(what·==·302)·{ | ||
| 32 | ············if·(((ChildSessionStateMachine$ReceivedRequest)message.obj).exchangeSubtype·==·5)·{ | ||
| 33 | ················ChildSessionStateMachine.access$800(this.this$0).onOutboundPayloadsReady(37,·mSimulDeleteDetected,·(List)new·ArrayList(),·this.this$0); | ||
| 34 | ················this.mSimulDeleteDetected·=·mSimulDeleteDetected; | ||
| 35 | ············} | ||
| 36 | ············else·{ | ||
| 37 | ················ChildSessionStateMachine.access$1500(this.this$0,·43); | ||
| 38 | ············} | ||
| 39 | ············return·mSimulDeleteDetected; | ||
| 40 | ········} | ||
| 41 | ········if·(what·!=·303)·{ | 27 | ········if·(message.what·!=·303)·{ |
| 42 | ············return·false; | 28 | ············return·false; |
| 43 | ········} | 29 | ········} |
| 44 | ········try·{ | 30 | ········try·{ |
| 45 | ············final·Object·obj·=·message.obj; | 31 | ············final·Object·obj·=·message.obj; |
| 46 | ············try·{ | 32 | ············try·{ |
| 47 | ················final·ChildSessionStateMachine$ReceivedResponse·childSessionStateMachine$ReceivedResponse·=·(ChildSessionStateMachine$ReceivedResponse)obj; | 33 | ················final·ChildSessionStateMachine$ReceivedResponse·childSessionStateMachine$ReceivedResponse·=·(ChildSessionStateMachine$ReceivedResponse)obj; |
| 48 | ················try·{ | 34 | ················try·{ |
| 49 | ····················final·List·responsePayloads·=·childSessionStateMachine$ReceivedResponse.responsePayloads; | 35 | ····················final·List·responsePayloads·=·childSessionStateMachine$ReceivedResponse.responsePayloads; |
| 50 | ····················try·{ | 36 | ····················try·{ |
| 51 | ························this.validateDeleteRespPayloadAndExchangeType(responsePayloads,·childSessionStateMachine$ReceivedResponse.exchangeType); | 37 | ························this.validateDeleteRespPayloadAndExchangeType(responsePayloads,·childSessionStateMachine$ReceivedResponse.exchangeType); |
| 52 | ························final·List·responsePayloads2·=·childSessionStateMachine$ReceivedResponse.responsePayloads; | 38 | ························final·List·responsePayloads2·=·childSessionStateMachine$ReceivedResponse.responsePayloads; |
| 53 | ························try·{ | 39 | ························try·{ |
| 54 | ····························final·ChildSessionStateMachine·this$0·=·this.this$0; | 40 | ····························final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 55 | ····························try·{ | 41 | ····························try·{ |
| 56 | ································ | 42 | ································if·(!this.hasRemoteChildSpiForDelete(responsePayloads2,·this$0.mCurrentChildSaRecord))·{ |
| 57 | ································try·{ | ||
| 58 | ····································if·(!this.mSimulDeleteDetected·&&·!hasRemoteChildSpiForDelete)·{ | ||
| 59 | ···································· | 43 | ····································this.this$0.loge("Found·no·remote·SPI·for·current·SA·in·received·Delete·response.·Shutting·down·old·SA·and·finishing·rekey."); |
| 60 | ····································} | ||
| 61 | ································} | ||
| 62 | ································catch·(IkeProtocolException·ex)·{ | ||
| 63 | ····································this.this$0.loge("Received·Delete·response·with·invalid·syntax·or·error·notifications.·Shutting·down·old·SA·and·finishing·rekey.",·(Throwable)ex); | ||
| 64 | ································} | 44 | ································} |
| 65 | ····························} | 45 | ····························} |
| 66 | ····························catch·(IkeProtocolException·ex | 46 | ····························catch·(IkeProtocolException·ex)·{ |
| 47 | ································this.this$0.loge("Received·Delete·response·with·invalid·syntax·or·error·notifications.·Shutting·down·old·SA·and·finishing·rekey.",·(Throwable)ex); | ||
| 48 | ····························} | ||
| 67 | ························} | 49 | ························} |
| 68 | ························catch·(IkeProtocolException·ex | 50 | ························catch·(IkeProtocolException·ex2)·{} |
| 69 | ····················} | 51 | ····················} |
| 70 | ····················catch·(IkeProtocolException·ex | 52 | ····················catch·(IkeProtocolException·ex3)·{} |
| 71 | ················} | 53 | ················} |
| 72 | ················catch·(IkeProtocolException·ex | 54 | ················catch·(IkeProtocolException·ex4)·{} |
| 73 | ············} | 55 | ············} |
| 74 | ············catch·(IkeProtocolException·ex | 56 | ············catch·(IkeProtocolException·ex5)·{} |
| 75 | ········} | 57 | ········} |
| 76 | ········catch·(IkeProtocolException·ex | 58 | ········catch·(IkeProtocolException·ex6)·{} |
| 77 | ········this.finishRekey(); | 59 | ········this.finishRekey(); |
| 78 | ········final·ChildSessionStateMachine·this$2·=·this.this$0; | 60 | ········final·ChildSessionStateMachine·this$2·=·this.this$0; |
| 79 | ········this$2.transitionTo((IState)this$2.mIdle); | 61 | ········this$2.transitionTo((IState)this$2.mIdle); |
| 80 | ········return· | 62 | ········return·b; |
| 81 | ····} | 63 | ····} |
| 82 | } | 64 | } |
| Offset 29, 15 lines modified | Offset 29, 15 lines modified | ||
| 29 | ····public·void·enterState()·{ | 29 | ····public·void·enterState()·{ |
| 30 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; | 30 | ········final·ChildSessionStateMachine·this$0·=·this.this$0; |
| 31 | ········this$0.mChildSaRecordSurviving·=·this$0.mRemoteInitNewChildSaRecord; | 31 | ········this$0.mChildSaRecordSurviving·=·this$0.mRemoteInitNewChildSaRecord; |
| 32 | ········this.this$0.sendMessageDelayed(101,·AbstractSessionStateMachine.REKEY_DELETE_TIMEOUT_MS); | 32 | ········this.this$0.sendMessageDelayed(101,·AbstractSessionStateMachine.REKEY_DELETE_TIMEOUT_MS); |
| 33 | ····} | 33 | ····} |
| 34 | ···· | 34 | ···· |
| 35 | ····public·void·exitState()·{ | 35 | ····public·void·exitState()·{ |
| 36 | ········ChildSessionStateMachine.access$1 | 36 | ········ChildSessionStateMachine.access$1600(this.this$0,·101); |
| 37 | ····} | 37 | ····} |
| 38 | ···· | 38 | ···· |
| 39 | ····protected·void·finishRekey()·{ | 39 | ····protected·void·finishRekey()·{ |
| 40 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$RekeyChildRemoteDelete$1PP4OjMu8YHWlhjwfszTo2Dtpvw(this)); | 40 | ········this.this$0.executeUserCallback((Runnable)new·-$$Lambda$ChildSessionStateMachine$RekeyChildRemoteDelete$1PP4OjMu8YHWlhjwfszTo2Dtpvw(this)); |
| 41 | ········super.finishRekey(); | 41 | ········super.finishRekey(); |
| 42 | ····} | 42 | ····} |
| 43 | ···· | 43 | ···· |
| Offset 58, 12 lines modified | Offset 58, 12 lines modified | ||
| 58 | ············return·false; | 58 | ············return·false; |
| 59 | ········} | 59 | ········} |
| 60 | ········final·ChildSessionStateMachine$ReceivedRequest·childSessionStateMachine$ReceivedRequest·=·(ChildSessionStateMachine$ReceivedRequest)message.obj; | 60 | ········final·ChildSessionStateMachine$ReceivedRequest·childSessionStateMachine$ReceivedRequest·=·(ChildSessionStateMachine$ReceivedRequest)message.obj; |
| 61 | ········if·(childSessionStateMachine$ReceivedRequest.exchangeSubtype·==·5)·{ | 61 | ········if·(childSessionStateMachine$ReceivedRequest.exchangeSubtype·==·5)·{ |
| 62 | ············this.handleDeleteRequest(childSessionStateMachine$ReceivedRequest.requestPayloads); | 62 | ············this.handleDeleteRequest(childSessionStateMachine$ReceivedRequest.requestPayloads); |
| 63 | ········} | 63 | ········} |
| 64 | ········else·{ | 64 | ········else·{ |
| 65 | ············ChildSessionStateMachine.access$1 | 65 | ············ChildSessionStateMachine.access$1400(this.this$0,·43); |
| 66 | ········} | 66 | ········} |
| 67 | ········return·b; | 67 | ········return·b; |
| 68 | ····} | 68 | ····} |
| 69 | } | 69 | } |
| Offset 1, 22 lines modified | Offset 1, 28 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
| 2 | import·com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException; | 2 | import·com.android.internal.net.ipsec.ike.exceptions.InvalidSyntaxException; |
| 3 | import·com.android.internal.net.ipsec.ike.message.IkeDeletePayload; | ||
| 4 | import·com.android.internal.net.ipsec.ike.message.IkeInformationalPayload; | ||
| 3 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; | 5 | import·com.android.internal.net.ipsec.ike.message.IkeMessage; |
| 4 | abstract·class·IkeSessionStateMachine$DeleteBase·extends·IkeSessionStateMachine$DeleteResponderBase | 6 | abstract·class·IkeSessionStateMachine$DeleteBase·extends·IkeSessionStateMachine$DeleteResponderBase |
| 5 | { | 7 | { |
| 6 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; | 8 | ····final·/*·synthetic·*/·IkeSessionStateMachine·this$0; |
| 7 | ···· | 9 | ···· |
| 8 | ····private·IkeSessionStateMachine$DeleteBase(final·IkeSessionStateMachine·this$0)·{ | 10 | ····private·IkeSessionStateMachine$DeleteBase(final·IkeSessionStateMachine·this$0)·{ |
| 9 | ········this.this$0·=·this$0; | 11 | ········this.this$0·=·this$0; |
| 10 | ········super(this$0,·(IkeSessionStateMachine$1)null); | 12 | ········super(this$0,·(IkeSessionStateMachine$1)null); |
| 11 | ····} | 13 | ····} |
| 12 | ···· | 14 | ···· |
| 15 | ····protected·IkeMessage·buildIkeDeleteReq(final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord)·{ | ||
| 16 | ········return·this.this$0.buildEncryptedInformationalMessage(saRecord$IkeSaRecord,·new·IkeInformationalPayload[]·{·new·IkeDeletePayload()·},·false,·saRecord$IkeSaRecord.getLocalRequestMessageId()); | ||
| 17 | ····} | ||
| 18 | ···· | ||
| 13 | ····protected·void·validateIkeDeleteResp(final·IkeMessage·ikeMessage,·final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord)·{ | 19 | ····protected·void·validateIkeDeleteResp(final·IkeMessage·ikeMessage,·final·SaRecord$IkeSaRecord·saRecord$IkeSaRecord)·{ |
| 14 | ········if·(saRecord$IkeSaRecord·!=·this.getIkeSaRecordForPacket(ikeMessage.ikeHeader))·{ | 20 | ········if·(saRecord$IkeSaRecord·!=·this.getIkeSaRecordForPacket(ikeMessage.ikeHeader))·{ |
| 15 | ············throw·new·IllegalStateException("Response·received·on·incorrect·SA"); | 21 | ············throw·new·IllegalStateException("Response·received·on·incorrect·SA"); |
| 16 | ········} | 22 | ········} |
| 17 | ········if·(ikeMessage.ikeHeader.exchangeType·!=·37)·{ | 23 | ········if·(ikeMessage.ikeHeader.exchangeType·!=·37)·{ |
| 18 | ············final·StringBuilder·sb·=·new·StringBuilder(); | 24 | ············final·StringBuilder·sb·=·new·StringBuilder(); |
| 19 | ············sb.append("Invalid·exchange·type;·expected·INFORMATIONAL,·but·got:·"); | 25 | ············sb.append("Invalid·exchange·type;·expected·INFORMATIONAL,·but·got:·"); |
| Offset 333, 21 lines modified | Offset 333, 14 lines modified | ||
| 333 | ···· | 333 | ···· |
| 334 | ····protected·void·handleTempFailure()·{ | 334 | ····protected·void·handleTempFailure()·{ |
| 335 | ········IkeSessionStateMachine.access$1400(this.this$0).handleTempFailure(); | 335 | ········IkeSessionStateMachine.access$1400(this.this$0).handleTempFailure(); |
| 336 | ····} | 336 | ····} |
| 337 | ···· | 337 | ···· |
| 338 | ····public·boolean·processStateMessage(final·Message·message)·{ | 338 | ····public·boolean·processStateMessage(final·Message·message)·{ |
| 339 | ········final·int·what·=·message.what; | 339 | ········final·int·what·=·message.what; |
| 340 | ········if·(what·==·317)·{ | ||
| 341 | ············if·(this.mChildInLocalProcedure·==·null)·{ | ||
| 342 | ················final·IkeSessionStateMachine·this$0·=·this.this$0; | ||
| 343 | ················this$0.sendEncryptedIkeMessage(this.buildIkeDeleteReq(this$0.mCurrentIkeSaRecord)); | ||
| 344 | ············} | ||
| 345 | ············return·false; | ||
| 346 | ········} | ||
| 347 | ········final·boolean·b·=·true; | 340 | ········final·boolean·b·=·true; |
| 348 | ········switch·(what)·{ | 341 | ········switch·(what)·{ |
| 349 | ············default:·{ | 342 | ············default:·{ |
| 350 | ················return·super.processStateMessage(message); | 343 | ················return·super.processStateMessage(message); |
| 351 | ············} | 344 | ············} |
| 352 | ············case·307:·{ | 345 | ············case·307:·{ |
| 353 | ················this.executeLocalRequest((IkeLocalRequestScheduler$ChildLocalRequest)message.obj); | 346 | ················this.executeLocalRequest((IkeLocalRequestScheduler$ChildLocalRequest)message.obj); |
| Offset 184, 17 lines modified | Offset 184, 14 lines modified | ||
| 184 | ························if·(ikeNotifyPayload.isErrorNotify())·{ | 184 | ························if·(ikeNotifyPayload.isErrorNotify())·{ |
| 185 | ····························if·(ikeNotifyPayload.isNewChildSaNotify()·&&·ikeMessage.getPayloadForType(n,·(Class)IkeAuthPayload.class)·!=·null)·{ | 185 | ····························if·(ikeNotifyPayload.isNewChildSaNotify()·&&·ikeMessage.getPayloadForType(n,·(Class)IkeAuthPayload.class)·!=·null)·{ |
| 186 | ································continue; | 186 | ································continue; |
| 187 | ····························} | 187 | ····························} |
| 188 | ····························throw·ikeNotifyPayload.validateAndBuildIkeException(); | 188 | ····························throw·ikeNotifyPayload.validateAndBuildIkeException(); |
| 189 | ························} | 189 | ························} |
| 190 | ························else·{ | 190 | ························else·{ |
| 191 | ····························if·(ikeNotifyPayload.isNewChildSaNotify())·{ | ||
| 192 | ································continue; | ||
| 193 | ····························} | ||
| 194 | ····························final·IkeSessionStateMachine·this$2·=·this.this$0; | 191 | ····························final·IkeSessionStateMachine·this$2·=·this.this$0; |
| 195 | ····························final·StringBuilder·sb2·=·new·StringBuilder(); | 192 | ····························final·StringBuilder·sb2·=·new·StringBuilder(); |
| 196 | ····························sb2.append("Received·unknown·or·unexpected·status·notifications·with·notify·type:·"); | 193 | ····························sb2.append("Received·unknown·or·unexpected·status·notifications·with·notify·type:·"); |
| 197 | ····························sb2.append(ikeNotifyPayload.notifyType); | 194 | ····························sb2.append(ikeNotifyPayload.notifyType); |
| 198 | ····························this$2.logw(sb2.toString()); | 195 | ····························this$2.logw(sb2.toString()); |
| 199 | ························} | 196 | ························} |
| 200 | ····················} | 197 | ····················} |
| Offset 49, 17 lines modified | Offset 49, 14 lines modified | ||
| 49 | ························if·(ikeNotifyPayload.isErrorNotify())·{ | 49 | ························if·(ikeNotifyPayload.isErrorNotify())·{ |
| 50 | ····························if·(ikeNotifyPayload.isNewChildSaNotify()·&&·ikeMessage.getPayloadForType(n,·(Class)IkeAuthPayload.class)·!=·null)·{ | 50 | ····························if·(ikeNotifyPayload.isNewChildSaNotify()·&&·ikeMessage.getPayloadForType(n,·(Class)IkeAuthPayload.class)·!=·null)·{ |
| 51 | ································continue; | 51 | ································continue; |
| 52 | ····························} | 52 | ····························} |
| 53 | ····························throw·ikeNotifyPayload.validateAndBuildIkeException(); | 53 | ····························throw·ikeNotifyPayload.validateAndBuildIkeException(); |
| 54 | ························} | 54 | ························} |
| 55 | ························else·{ | 55 | ························else·{ |
| 56 | ····························if·(ikeNotifyPayload.isNewChildSaNotify())·{ | ||
| 57 | ································continue; | ||
| 58 | ····························} | ||
| 59 | ····························final·IkeSessionStateMachine·this$2·=·this.this$0; | 56 | ····························final·IkeSessionStateMachine·this$2·=·this.this$0; |
| 60 | ····························final·StringBuilder·sb2·=·new·StringBuilder(); | 57 | ····························final·StringBuilder·sb2·=·new·StringBuilder(); |
| 61 | ····························sb2.append("Received·unknown·or·unexpected·status·notifications·with·notify·type:·"); | 58 | ····························sb2.append("Received·unknown·or·unexpected·status·notifications·with·notify·type:·"); |
| 62 | ····························sb2.append(ikeNotifyPayload.notifyType); | 59 | ····························sb2.append(ikeNotifyPayload.notifyType); |
| 63 | ····························this$2.logw(sb2.toString()); | 60 | ····························this$2.logw(sb2.toString()); |
| 64 | ························} | 61 | ························} |
| 65 | ····················} | 62 | ····················} |
| Offset 1, 11 lines modified | Offset 1, 11 lines modified | ||
| 1 | package·com.android.internal.net.ipsec.ike; | 1 | package·com.android.internal.net.ipsec.ike; |
| 2 | import·android.net.ipsec.ike.exceptions.IkeException; | 2 | import·android.net.ipsec.ike.exceptions.IkeException; |
| 3 | public·final·class·-$$Lambda$IkeSessionStateMachine$ | 3 | public·final·class·-$$Lambda$IkeSessionStateMachine$EHNQHV8HW3rN9r42jJ5rxf5oj0k·implements·Runnable |
| 4 | { | 4 | { |
| 5 | ····public·final·void·run()·{ | 5 | ····public·final·void·run()·{ |
| 6 | ········this.f$0.lambda$handleIkeFatalError$ | 6 | ········this.f$0.lambda$handleIkeFatalError$2$IkeSessionStateMachine(this.f$1); |
| 7 | ····} | 7 | ····} |
| 8 | } | 8 | } |
| Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
| 1 | ··Size:·49 | 1 | ··Size:·495621····» Blocks:·976········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 |