cgeo / cgeo

c:geo - The powerful Android geocaching app.
www.cgeo.org
Apache License 2.0
1.39k stars 566 forks source link

No download "OpenAndroMaps" possible on API24 #13237

Open bekuno opened 2 years ago

bekuno commented 2 years ago

Describe your problem!

While doing some tests I have a failing test for DownloaderTest.testOpenAndroMaps(). The line 22 final String page = Network.getResponseData(Network.getRequest(url)); results in page = null, the test result is

java.lang.AssertionError:
Expecting:
<0>
to be between:
[55, 65]
at cgeo.geocaching.downloader.DownloaderTest.testOpenAndroMaps(DownloaderTest.java:77)
at java.lang.reflect.Method.invoke(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:220)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:205)

This occures only for API24, no such problem is on other versions.

If I open the map downlod page in c:geo, then I get only the download for the map theme, but not for maps. grafik

How to reproduce?

Use emulator Pixel 2 with API 24. Run in AS "All tests" on this AVD.

Actual result after these steps?

see above

Expected result after these steps?

No test error. Download of OpenAndroMaps is possible.

Reproducible

Yes

c:geo Version

Current master

System information

No response

Additional Information

Can someone verify this on AVD and/or a physical device?

moving-bits commented 2 years ago

Getting a "java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: Handshake failed" on retrieving "https://ftp.gwdg.de/pub/misc/openstreetmap/openandromaps/mapsV5/" (which is the overview page for the OpenAndroMap map ftp server). - The themes are delivered by a different server.

bekuno commented 2 years ago

The error is created in https://github.com/cgeo/cgeo/blob/20b2a933e7e0c53b1f0ab4a553b7d0acfc57a0c5/main/src/cgeo/geocaching/utils/RxOkHttpUtils.java#L38-L41

The e containes

SSL handshake terminated: ssl=0x7456f07ac1c0: Failure in SSL library, usually a protocol error
error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/s3_pkt.c:610 0x745702ebda20:0x00000001)
error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO (external/boringssl/src/ssl/s3_clnt.c:764 0x74570511976a:0x00000000)
bekuno commented 1 year ago

Maybe we can present an info line, when we have an error? It could also be possible, that the destination is not reachable.

We see in the log:

8-30 22:22:38.190  2925  2925 I cgeo    : [main] starting MapDownloaderTask: https://ftp.gwdg.de/pub/misc/openstreetmap/openandromaps/mapsV5/ {DownloadSelectorMapListTask.<init>:40/DownloadSelectorActivity.lambda$changeSource$3$cgeo-geocaching-downloader-DownloadSelectorActivity:247/DownloadSelectorActivity$$ExternalSyntheticLambda1.run:-1/DownloaderUtils.checkTargetDirectory:258/DownloadSelectorActivity.changeSource:243/DownloadSelectorActivity.access$700:39/DownloadSelectorActivity$1.onItemSelected:210/AdapterView.fireOnSelected:936}
08-30 22:22:38.263  2925  3057 I System.out: [socket][3] connection www.openandromaps.org/168.119.154.128:443;LocalPort=-1(30000)
08-30 22:22:38.320  2925  2982 W libEGL  : [ANDROID_RECORDABLE] format: 1
08-30 22:22:38.444  2925  3057 I System.out: [socket][/192.168.178.32:53035] connected
08-30 22:22:38.483  2925  3057 E NativeCrypto: ssl=0x77cda98c40 cert_verify_callback x509_store_ctx=0x77cd77a748 arg=0x0
08-30 22:22:38.483  2925  3057 E NativeCrypto: ssl=0x77cda98c40 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
08-30 22:22:38.813  2925  2936 I art     : Enter while loop.
08-30 22:22:38.822  2925  3057 I System.out: [socket][4] connection ftp.gwdg.de/2001:638:60f:110::1:2:443;LocalPort=-1(30000)
08-30 22:22:39.024  2925  3057 I System.out: [socket][/2001:871:210:9f8:7d20:9d14:515a:289b:42517] connected
08-30 22:22:39.065  2925  3057 E NativeCrypto: Unknown error during handshake
08-30 22:22:39.066  2925  3057 I System.out: SSLProtocolException:SSL handshake terminated: ssl=0x77cda98e00: Failure in SSL library, usually a protocol error
08-30 22:22:39.066  2925  3057 I System.out: error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/s3_pkt.c:610 0x77ce3d8600:0x00000001)
08-30 22:22:39.066  2925  3057 I System.out: error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO (external/boringssl/src/ssl/s3_clnt.c:768 0x77e9a39d20:0x00000000)
08-30 22:22:39.070  2925  3057 I System.out: close [socket][/2001:871:210:9f8:7d20:9d14:515a:289b:42517]
08-30 22:22:39.076  2925  3057 I System.out: [socket][5] connection ftp.gwdg.de/134.76.12.6:443;LocalPort=-1(30000)
08-30 22:22:39.104  2925  3057 I System.out: [socket][/192.168.178.32:34748] connected
08-30 22:22:39.301  2925  3057 E NativeCrypto: Unknown error during handshake
08-30 22:22:39.301  2925  3057 I System.out: SSLProtocolException:SSL handshake terminated: ssl=0x77cda98e00: Failure in SSL library, usually a protocol error
08-30 22:22:39.302  2925  3057 I System.out: error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/s3_pkt.c:610 0x77ce3d8600:0x00000001)
08-30 22:22:39.302  2925  3057 I System.out: error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO (external/boringssl/src/ssl/s3_clnt.c:768 0x77e9a39d20:0x00000000)
08-30 22:22:39.303  2925  3057 I System.out: close [socket][/192.168.178.32:34748]
08-30 22:22:39.313  2925  3057 W cgeo    : [OkHttp] Failure (503 ms) GET https://ftp.gwdg.de/pub/misc/openstreetmap/openandromaps/themes/voluntary/downloads/? (javax.net.ssl.SSLHandshakeException: Handshake failed) {Network$LoggingInterceptor.intercept:416/RealInterceptorChain.proceed:109/Network$HeadersInterceptor.intercept:390/RealInterceptorChain.proceed:109/RealCall.getResponseWithInterceptorChain$okhttp:201/RealCall$AsyncCall.run:517/ThreadPoolExecutor.runWorker:1133/ThreadPoolExecutor$Worker.run:607}
08-30 22:22:39.336  2925  3057 I System.out: [socket][6] connection ftp.gwdg.de/2001:638:60f:110::1:2:443;LocalPort=-1(30000)
08-30 22:22:39.366  2925  3057 I System.out: [socket][/2001:871:210:9f8:7d20:9d14:515a:289b:42519] connected
08-30 22:22:39.402  2925  3057 E NativeCrypto: Unknown error during handshake
08-30 22:22:39.403  2925  3057 I System.out: SSLProtocolException:SSL handshake terminated: ssl=0x77cda98e00: Failure in SSL library, usually a protocol error
08-30 22:22:39.403  2925  3057 I System.out: error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/s3_pkt.c:610 0x77ce3d86c0:0x00000001)
08-30 22:22:39.403  2925  3057 I System.out: error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO (external/boringssl/src/ssl/s3_clnt.c:768 0x77e9a39d20:0x00000000)
08-30 22:22:39.404  2925  3057 I System.out: close [socket][/2001:871:210:9f8:7d20:9d14:515a:289b:42519]
08-30 22:22:39.407  2925  3057 I System.out: [socket][7] connection ftp.gwdg.de/134.76.12.6:443;LocalPort=-1(30000)
08-30 22:22:39.491  2925  3057 I System.out: [socket][/192.168.178.32:34750] connected
08-30 22:22:39.530  2925  3057 E NativeCrypto: Unknown error during handshake
08-30 22:22:39.531  2925  3057 I System.out: SSLProtocolException:SSL handshake terminated: ssl=0x77cda98e00: Failure in SSL library, usually a protocol error
08-30 22:22:39.531  2925  3057 I System.out: error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE (external/boringssl/src/ssl/s3_pkt.c:610 0x77ce3d86c0:0x00000001)
08-30 22:22:39.531  2925  3057 I System.out: error:1000009a:SSL routines:OPENSSL_internal:HANDSHAKE_FAILURE_ON_CLIENT_HELLO (external/boringssl/src/ssl/s3_clnt.c:768 0x77e9a39d20:0x00000000)
08-30 22:22:39.531  2925  3057 I System.out: close [socket][/192.168.178.32:34750]
08-30 22:22:39.533  2925  3057 W cgeo    : [OkHttp] Failure (203 ms) GET https://ftp.gwdg.de/pub/misc/openstreetmap/openandromaps/mapsV5/? (javax.net.ssl.SSLHandshakeException: Handshake failed) 

see https://github.com/cgeo/cgeo/issues/14563#issuecomment-1699794049