Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
1b9d8e06
Commit
1b9d8e06
authored
Apr 18, 2021
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove/move unused files
parent
038f73a5
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
23 additions
and
431 deletions
+23
-431
proguard-rules.pro
app/shared/proguard-rules.pro
+0
-4
ProviderInstaller.java
...src/main/java/com/topjohnwu/magisk/ProviderInstaller.java
+21
-0
NoSSLv3SocketFactory.java
...n/java/com/topjohnwu/magisk/net/NoSSLv3SocketFactory.java
+0
-70
SSLSocketWrapper.java
.../main/java/com/topjohnwu/magisk/net/SSLSocketWrapper.java
+0
-333
Networking.kt
app/src/main/java/com/topjohnwu/magisk/di/Networking.kt
+2
-2
BadRequest.java
stub/src/main/java/com/topjohnwu/magisk/net/BadRequest.java
+0
-0
ErrorHandler.java
.../src/main/java/com/topjohnwu/magisk/net/ErrorHandler.java
+0
-0
Networking.java
stub/src/main/java/com/topjohnwu/magisk/net/Networking.java
+0
-22
Request.java
stub/src/main/java/com/topjohnwu/magisk/net/Request.java
+0
-0
ResponseListener.java
.../main/java/com/topjohnwu/magisk/net/ResponseListener.java
+0
-0
No files found.
app/shared/proguard-rules.pro
View file @
1b9d8e06
...
...
@@ -19,7 +19,3 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-
keepclassmembers
class
*
extends
javax
.
net
.
ssl
.
SSLSocketFactory
{
**
delegate
;
}
app/shared/src/main/java/com/topjohnwu/magisk/ProviderInstaller.java
0 → 100644
View file @
1b9d8e06
package
com
.
topjohnwu
.
magisk
;
import
android.content.Context
;
public
class
ProviderInstaller
{
public
static
boolean
install
(
Context
context
)
{
try
{
// Try installing new SSL provider from Google Play Service
Context
gms
=
context
.
createPackageContext
(
"com.google.android.gms"
,
Context
.
CONTEXT_INCLUDE_CODE
|
Context
.
CONTEXT_IGNORE_SECURITY
);
gms
.
getClassLoader
()
.
loadClass
(
"com.google.android.gms.common.security.ProviderInstallerImpl"
)
.
getMethod
(
"insertProvider"
,
Context
.
class
)
.
invoke
(
null
,
gms
);
}
catch
(
Exception
e
)
{
return
false
;
}
return
true
;
}
}
app/shared/src/main/java/com/topjohnwu/magisk/net/NoSSLv3SocketFactory.java
deleted
100644 → 0
View file @
038f73a5
package
com
.
topjohnwu
.
magisk
.
net
;
import
java.io.IOException
;
import
java.net.InetAddress
;
import
java.net.Socket
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
javax.net.ssl.HttpsURLConnection
;
import
javax.net.ssl.SSLSocket
;
import
javax.net.ssl.SSLSocketFactory
;
public
class
NoSSLv3SocketFactory
extends
SSLSocketFactory
{
private
final
static
SSLSocketFactory
delegate
=
HttpsURLConnection
.
getDefaultSSLSocketFactory
();
@Override
public
String
[]
getDefaultCipherSuites
()
{
return
delegate
.
getDefaultCipherSuites
();
}
@Override
public
String
[]
getSupportedCipherSuites
()
{
return
delegate
.
getSupportedCipherSuites
();
}
private
Socket
createSafeSocket
(
Socket
socket
)
{
if
(
socket
instanceof
SSLSocket
)
return
new
SSLSocketWrapper
((
SSLSocket
)
socket
)
{
@Override
public
void
setEnabledProtocols
(
String
[]
protocols
)
{
List
<
String
>
proto
=
new
ArrayList
<>(
Arrays
.
asList
(
getSupportedProtocols
()));
proto
.
remove
(
"SSLv3"
);
super
.
setEnabledProtocols
(
proto
.
toArray
(
new
String
[
0
]));
}
};
return
socket
;
}
@Override
public
Socket
createSocket
(
Socket
s
,
String
host
,
int
port
,
boolean
autoClose
)
throws
IOException
{
return
createSafeSocket
(
delegate
.
createSocket
(
s
,
host
,
port
,
autoClose
));
}
@Override
public
Socket
createSocket
()
throws
IOException
{
return
createSafeSocket
(
delegate
.
createSocket
());
}
@Override
public
Socket
createSocket
(
String
host
,
int
port
)
throws
IOException
{
return
createSafeSocket
(
delegate
.
createSocket
(
host
,
port
));
}
@Override
public
Socket
createSocket
(
String
host
,
int
port
,
InetAddress
localHost
,
int
localPort
)
throws
IOException
{
return
createSafeSocket
(
delegate
.
createSocket
(
host
,
port
,
localHost
,
localPort
));
}
@Override
public
Socket
createSocket
(
InetAddress
host
,
int
port
)
throws
IOException
{
return
createSafeSocket
(
delegate
.
createSocket
(
host
,
port
));
}
@Override
public
Socket
createSocket
(
InetAddress
address
,
int
port
,
InetAddress
localAddress
,
int
localPort
)
throws
IOException
{
return
createSafeSocket
(
delegate
.
createSocket
(
address
,
port
,
localAddress
,
localPort
));
}
}
app/shared/src/main/java/com/topjohnwu/magisk/net/SSLSocketWrapper.java
deleted
100644 → 0
View file @
038f73a5
package
com
.
topjohnwu
.
magisk
.
net
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.net.InetAddress
;
import
java.net.SocketAddress
;
import
java.net.SocketException
;
import
java.nio.channels.SocketChannel
;
import
javax.net.ssl.HandshakeCompletedListener
;
import
javax.net.ssl.SSLParameters
;
import
javax.net.ssl.SSLSession
;
import
javax.net.ssl.SSLSocket
;
class
SSLSocketWrapper
extends
SSLSocket
{
private
SSLSocket
mBase
;
SSLSocketWrapper
(
SSLSocket
socket
)
{
mBase
=
socket
;
}
@Override
public
String
[]
getSupportedCipherSuites
()
{
return
mBase
.
getSupportedCipherSuites
();
}
@Override
public
String
[]
getEnabledCipherSuites
()
{
return
mBase
.
getEnabledCipherSuites
();
}
@Override
public
void
setEnabledCipherSuites
(
String
[]
suites
)
{
mBase
.
setEnabledCipherSuites
(
suites
);
}
@Override
public
String
[]
getSupportedProtocols
()
{
return
mBase
.
getSupportedProtocols
();
}
@Override
public
String
[]
getEnabledProtocols
()
{
return
mBase
.
getEnabledProtocols
();
}
@Override
public
void
setEnabledProtocols
(
String
[]
protocols
)
{
mBase
.
setEnabledProtocols
(
protocols
);
}
@Override
public
SSLSession
getSession
()
{
return
mBase
.
getSession
();
}
@Override
public
SSLSession
getHandshakeSession
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
addHandshakeCompletedListener
(
HandshakeCompletedListener
listener
)
{
mBase
.
addHandshakeCompletedListener
(
listener
);
}
@Override
public
void
removeHandshakeCompletedListener
(
HandshakeCompletedListener
listener
)
{
mBase
.
removeHandshakeCompletedListener
(
listener
);
}
@Override
public
void
startHandshake
()
throws
IOException
{
mBase
.
startHandshake
();
}
@Override
public
void
setUseClientMode
(
boolean
mode
)
{
mBase
.
setUseClientMode
(
mode
);
}
@Override
public
boolean
getUseClientMode
()
{
return
mBase
.
getUseClientMode
();
}
@Override
public
void
setNeedClientAuth
(
boolean
need
)
{
mBase
.
setNeedClientAuth
(
need
);
}
@Override
public
boolean
getNeedClientAuth
()
{
return
mBase
.
getNeedClientAuth
();
}
@Override
public
void
setWantClientAuth
(
boolean
want
)
{
mBase
.
setWantClientAuth
(
want
);
}
@Override
public
boolean
getWantClientAuth
()
{
return
mBase
.
getWantClientAuth
();
}
@Override
public
void
setEnableSessionCreation
(
boolean
flag
)
{
mBase
.
setEnableSessionCreation
(
flag
);
}
@Override
public
boolean
getEnableSessionCreation
()
{
return
mBase
.
getEnableSessionCreation
();
}
@Override
public
SSLParameters
getSSLParameters
()
{
return
mBase
.
getSSLParameters
();
}
@Override
public
void
setSSLParameters
(
SSLParameters
params
)
{
mBase
.
setSSLParameters
(
params
);
}
@Override
public
String
toString
()
{
return
mBase
.
toString
();
}
@Override
public
void
connect
(
SocketAddress
endpoint
)
throws
IOException
{
mBase
.
connect
(
endpoint
);
}
@Override
public
void
connect
(
SocketAddress
endpoint
,
int
timeout
)
throws
IOException
{
mBase
.
connect
(
endpoint
,
timeout
);
}
@Override
public
void
bind
(
SocketAddress
bindpoint
)
throws
IOException
{
mBase
.
bind
(
bindpoint
);
}
@Override
public
InetAddress
getInetAddress
()
{
return
mBase
.
getInetAddress
();
}
@Override
public
InetAddress
getLocalAddress
()
{
return
mBase
.
getLocalAddress
();
}
@Override
public
int
getPort
()
{
return
mBase
.
getPort
();
}
@Override
public
int
getLocalPort
()
{
return
mBase
.
getLocalPort
();
}
@Override
public
SocketAddress
getRemoteSocketAddress
()
{
return
mBase
.
getRemoteSocketAddress
();
}
@Override
public
SocketAddress
getLocalSocketAddress
()
{
return
mBase
.
getLocalSocketAddress
();
}
@Override
public
SocketChannel
getChannel
()
{
return
mBase
.
getChannel
();
}
@Override
public
InputStream
getInputStream
()
throws
IOException
{
return
mBase
.
getInputStream
();
}
@Override
public
OutputStream
getOutputStream
()
throws
IOException
{
return
mBase
.
getOutputStream
();
}
@Override
public
void
setTcpNoDelay
(
boolean
on
)
throws
SocketException
{
mBase
.
setTcpNoDelay
(
on
);
}
@Override
public
boolean
getTcpNoDelay
()
throws
SocketException
{
return
mBase
.
getTcpNoDelay
();
}
@Override
public
void
setSoLinger
(
boolean
on
,
int
linger
)
throws
SocketException
{
mBase
.
setSoLinger
(
on
,
linger
);
}
@Override
public
int
getSoLinger
()
throws
SocketException
{
return
mBase
.
getSoLinger
();
}
@Override
public
void
sendUrgentData
(
int
data
)
throws
IOException
{
mBase
.
sendUrgentData
(
data
);
}
@Override
public
void
setOOBInline
(
boolean
on
)
throws
SocketException
{
mBase
.
setOOBInline
(
on
);
}
@Override
public
boolean
getOOBInline
()
throws
SocketException
{
return
mBase
.
getOOBInline
();
}
@Override
public
void
setSoTimeout
(
int
timeout
)
throws
SocketException
{
mBase
.
setSoTimeout
(
timeout
);
}
@Override
public
int
getSoTimeout
()
throws
SocketException
{
return
mBase
.
getSoTimeout
();
}
@Override
public
void
setSendBufferSize
(
int
size
)
throws
SocketException
{
mBase
.
setSendBufferSize
(
size
);
}
@Override
public
int
getSendBufferSize
()
throws
SocketException
{
return
mBase
.
getSendBufferSize
();
}
@Override
public
void
setReceiveBufferSize
(
int
size
)
throws
SocketException
{
mBase
.
setReceiveBufferSize
(
size
);
}
@Override
public
int
getReceiveBufferSize
()
throws
SocketException
{
return
mBase
.
getReceiveBufferSize
();
}
@Override
public
void
setKeepAlive
(
boolean
on
)
throws
SocketException
{
mBase
.
setKeepAlive
(
on
);
}
@Override
public
boolean
getKeepAlive
()
throws
SocketException
{
return
mBase
.
getKeepAlive
();
}
@Override
public
void
setTrafficClass
(
int
tc
)
throws
SocketException
{
mBase
.
setTrafficClass
(
tc
);
}
@Override
public
int
getTrafficClass
()
throws
SocketException
{
return
mBase
.
getTrafficClass
();
}
@Override
public
void
setReuseAddress
(
boolean
on
)
throws
SocketException
{
mBase
.
setReuseAddress
(
on
);
}
@Override
public
boolean
getReuseAddress
()
throws
SocketException
{
return
mBase
.
getReuseAddress
();
}
@Override
public
void
close
()
throws
IOException
{
mBase
.
close
();
}
@Override
public
void
shutdownInput
()
throws
IOException
{
mBase
.
shutdownInput
();
}
@Override
public
void
shutdownOutput
()
throws
IOException
{
mBase
.
shutdownOutput
();
}
@Override
public
boolean
isConnected
()
{
return
mBase
.
isConnected
();
}
@Override
public
boolean
isBound
()
{
return
mBase
.
isBound
();
}
@Override
public
boolean
isClosed
()
{
return
mBase
.
isClosed
();
}
@Override
public
boolean
isInputShutdown
()
{
return
mBase
.
isInputShutdown
();
}
@Override
public
boolean
isOutputShutdown
()
{
return
mBase
.
isOutputShutdown
();
}
@Override
public
void
setPerformancePreferences
(
int
connectionTime
,
int
latency
,
int
bandwidth
)
{
mBase
.
setPerformancePreferences
(
connectionTime
,
latency
,
bandwidth
);
}
}
app/src/main/java/com/topjohnwu/magisk/di/Networking.kt
View file @
1b9d8e06
...
...
@@ -3,10 +3,10 @@ package com.topjohnwu.magisk.di
import
android.content.Context
import
com.squareup.moshi.Moshi
import
com.topjohnwu.magisk.BuildConfig
import
com.topjohnwu.magisk.ProviderInstaller
import
com.topjohnwu.magisk.core.Config
import
com.topjohnwu.magisk.core.Info
import
com.topjohnwu.magisk.ktx.precomputedText
import
com.topjohnwu.magisk.net.Networking
import
com.topjohnwu.magisk.utils.MarkwonImagePlugin
import
io.noties.markwon.Markwon
import
io.noties.markwon.html.HtmlPlugin
...
...
@@ -61,7 +61,7 @@ fun createOkHttpClient(context: Context): OkHttpClient {
})
}
if
(!
Networking
.
init
(
context
))
{
if
(!
ProviderInstaller
.
install
(
context
))
{
Info
.
hasGMS
=
false
}
builder
.
dns
(
DnsResolver
(
builder
.
build
()))
...
...
app/shared
/src/main/java/com/topjohnwu/magisk/net/BadRequest.java
→
stub
/src/main/java/com/topjohnwu/magisk/net/BadRequest.java
View file @
1b9d8e06
File moved
app/shared
/src/main/java/com/topjohnwu/magisk/net/ErrorHandler.java
→
stub
/src/main/java/com/topjohnwu/magisk/net/ErrorHandler.java
View file @
1b9d8e06
File moved
app/shared
/src/main/java/com/topjohnwu/magisk/net/Networking.java
→
stub
/src/main/java/com/topjohnwu/magisk/net/Networking.java
View file @
1b9d8e06
...
...
@@ -3,7 +3,6 @@ package com.topjohnwu.magisk.net;
import
android.content.Context
;
import
android.net.ConnectivityManager
;
import
android.net.NetworkInfo
;
import
android.os.Build
;
import
android.os.Handler
;
import
android.os.Looper
;
...
...
@@ -11,8 +10,6 @@ import java.io.IOException;
import
java.net.HttpURLConnection
;
import
java.net.URL
;
import
javax.net.ssl.HttpsURLConnection
;
public
class
Networking
{
private
static
final
int
READ_TIMEOUT
=
15000
;
...
...
@@ -35,25 +32,6 @@ public class Networking {
return
request
(
url
,
"GET"
);
}
public
static
boolean
init
(
Context
context
)
{
try
{
// Try installing new SSL provider from Google Play Service
Context
gms
=
context
.
createPackageContext
(
"com.google.android.gms"
,
Context
.
CONTEXT_INCLUDE_CODE
|
Context
.
CONTEXT_IGNORE_SECURITY
);
gms
.
getClassLoader
()
.
loadClass
(
"com.google.android.gms.common.security.ProviderInstallerImpl"
)
.
getMethod
(
"insertProvider"
,
Context
.
class
)
.
invoke
(
null
,
gms
);
}
catch
(
Exception
e
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
21
)
{
// Failed to update SSL provider, use NoSSLv3SocketFactory on SDK < 21
HttpsURLConnection
.
setDefaultSSLSocketFactory
(
new
NoSSLv3SocketFactory
());
}
return
false
;
}
return
true
;
}
public
static
boolean
checkNetworkStatus
(
Context
context
)
{
ConnectivityManager
manager
=
(
ConnectivityManager
)
context
.
getSystemService
(
Context
.
CONNECTIVITY_SERVICE
);
...
...
app/shared
/src/main/java/com/topjohnwu/magisk/net/Request.java
→
stub
/src/main/java/com/topjohnwu/magisk/net/Request.java
View file @
1b9d8e06
File moved
app/shared
/src/main/java/com/topjohnwu/magisk/net/ResponseListener.java
→
stub
/src/main/java/com/topjohnwu/magisk/net/ResponseListener.java
View file @
1b9d8e06
File moved
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment