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 104, 15 lines modified | Offset 104, 15 lines modified | ||
104 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex2)); | 104 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex2)); |
105 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·decode); | 105 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·decode); |
106 | ········································································································} | 106 | ········································································································} |
107 | ········································································································catch·(EapSilentException·ex3)·{ | 107 | ········································································································catch·(EapSilentException·ex3)·{ |
108 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex3)); | 108 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·(EapResult)new·EapResult$EapError((Exception)ex3)); |
109 | ········································································································} | 109 | ········································································································} |
110 | ········································································································catch·(UnsupportedEapTypeException·ex4)·{ | 110 | ········································································································catch·(UnsupportedEapTypeException·ex4)·{ |
111 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·EapMessage.getNakResponse(ex4.eapIdentifier,·(Collection)EapStateMachine.access$000(this.this$0). | 111 | ············································································································return·new·EapStateMachine$EapState$DecodeResult(this,·EapMessage.getNakResponse(ex4.eapIdentifier,·(Collection)EapStateMachine.access$000(this.this$0).eapConfigs.keySet())); |
112 | ········································································································} | 112 | ········································································································} |
113 | ····································································································} | 113 | ····································································································} |
114 | ································································································} | 114 | ································································································} |
115 | ································································································catch·(EapSilentException·ex5)·{} | 115 | ································································································catch·(EapSilentException·ex5)·{} |
116 | ································································································catch·(UnsupportedEapTypeException·ex6)·{} | 116 | ································································································catch·(UnsupportedEapTypeException·ex6)·{} |
117 | ····························································································} | 117 | ····························································································} |
118 | ····························································································//·iftrue(Label_0525:,·decode.eapCode·!=·1) | 118 | ····························································································//·iftrue(Label_0525:,·decode.eapCode·!=·1) |
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 |