[Jrisk-cvs] SF.net SVN: domination-code:[2690] Domination/android/src/net/yura/ domination/android/
Brought to you by:
yuranet
|
From: <yu...@us...> - 2025-10-08 21:55:16
|
Revision: 2690
http://sourceforge.net/p/domination/code/2690
Author: yuranet
Date: 2025-10-08 21:55:14 +0000 (Wed, 08 Oct 2025)
Log Message:
-----------
grasshopper on old android fix
Modified Paths:
--------------
Domination/android/src/net/yura/domination/android/GameActivity.java
Modified: Domination/android/src/net/yura/domination/android/GameActivity.java
===================================================================
--- Domination/android/src/net/yura/domination/android/GameActivity.java 2025-09-29 20:57:48 UTC (rev 2689)
+++ Domination/android/src/net/yura/domination/android/GameActivity.java 2025-10-08 21:55:14 UTC (rev 2690)
@@ -44,11 +44,41 @@
import net.yura.domination.mobile.flashgui.MiniFlashRiskAdapter;
import net.yura.lobby.client.PushLobbyClient;
import net.yura.lobby.model.Game;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
public class GameActivity extends AndroidMeActivity implements GoogleAccount.SignInListener,DominationMain.GooglePlayGameServices {
private static final Logger logger = Logger.getLogger(GameActivity.class.getName());
+ static {
+ try {
+ // on old versions of android its not possible to connect to https any more
+ // more info: https://letsencrypt.org/2023/07/10/cross-sign-expiration.html
+ // so we just tell android to ignore https checks and just connect anyway
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.N) {
+ TrustManager[] trustAllCerts = new TrustManager[] {
+ new X509TrustManager() {
+ public java.security.cert.X509Certificate[] getAcceptedIssuers() {
+ return new java.security.cert.X509Certificate[]{};
+ }
+ public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) { }
+ public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) { }
+ }
+ };
+ SSLContext sc = SSLContext.getInstance("TLS");
+ sc.init(null, trustAllCerts, new java.security.SecureRandom());
+ HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
+ HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true);
+ }
+ }
+ catch (Throwable th) {
+ // ignore
+ }
+ }
+
/**
* this code needs to not clash with other codes such as the ones in
* {@link GoogleAccount} 9000
|