-
Notifications
You must be signed in to change notification settings - Fork 746
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
connectivity issue since letsencrypt cert renewal (samsung s6 android 7.0) #4778
Comments
does this still happen on 1.3.12? |
on 1.3.12 [40103122] (G-b5040) with SDK 1.3.12 (1695fde), olm 3.2.7 |
I think the exception you've sent is likely the issue, to be extra sure is it possible to submit logs? (assuming the app doesn't crash before allowing them to be sent...)
it's a very strange issue, I've only seen this when compiling locally and there's a stale build cache 🤔 this SO seems to suggest it could be a bug in some samsung android versions, there's a workaround suggested but it'll be a blind fix from our side as I'm unable to reproduce the issue locally are any android OS updates available to you? |
I read the SO you mentionned, I'm not able to build the app myself, if you blind fix I would be pleased to test. |
sure I can send logcat logs, is it what you are asking for? |
the usual flow is a popup when the app launches after a crash but it sounds like in your case the app never gets that far, so it may not be possible
1.3.8 was never released, that release was rejected by the play store, which would make your previous working release 1.3.7 (assuming you had the latest at the time), I assume the issue is caused by our Android 12 target update as the actual area of code that's crashing for you hasn't been changed since 1.3.2~ (but the android code behind the scenes will change due to the target change) unfortunately it's not possible to downgrade without uninstalling, which means if you don't have another verified session or key backup you'll end up losing encrypted message
Fantastic! I can provide debug builds which can be installed alongside the production releases from the play store/fdroid. We generate APKs on every code change via https://buildkite.com/matrix-dot-org/element-android/ If you could install this debug build (the very latest code from our develop branch) https://buildkite.com/organizations/matrix-dot-org/pipelines/element-android/builds/5041/jobs/bb7c3b2e-df69-46b8-9049-d6e488075091/artifacts/8df6de2b-b9ae-4d5f-9ba7-2967ef3077e8 and confirm that the app still crashes then I'll raise a change that applies the workaround from the SO post and we can try again 🤞 |
and here's a debug build with the workaround in #4798 applied https://buildkite.com/organizations/matrix-dot-org/pipelines/element-android/builds/5053/jobs/9143e8ad-4c23-4e89-a0d9-b155e2dc6342/artifacts/cd426fd5-bf59-476b-835a-9cf3aa0a2664 the workaround is only applied to home screen and may~ need applying to every screen in the app, so there may still be crashes in other screens EDIT: should have mentioned this in the first post, always be careful when installing random builds from the internet and do your own due diligence! |
I installed the first debug build you submitted, installation worked, but upon the startup when I provide my server url, it tells: |
oooh! maybe the crash log is a red herring, is your homeserver using a letsencrypt certificate? as you're on 7.0 you've been hit by the root CA expiration #4253 (comment) |
yup, my server use letsencrypt, the
I read the 4253 comment but I'm not sure what to do to workaround this ssl issue now. |
yep as the app isn't closing it would seem the exception in the logs is only a logged warning rather than a crash and the real issue is ssl related in the EDIT: the default lets encrypt certbot configuration is to use RSA |
Yep I can confirm that Peer Signature type is RSA |
another strange thing, I have another samsung s6 device with android 7.0 (we acquired ability to change the broken screens of s6, that's why we all have s6 in da tribe ;) and an old 1.3.2 elements version running. |
In 1.3.7 we also restricted some of the TLS ciphers we support #4192
could you confirm the Protocol and cipher from the for example, matrix.org and my personal homeserver (using the default letsencrypt config via the ansisble matrix workbook) output this...
to double check, are you able to sign in/up on 1.3.9+ on a matrix.org account? |
about protocol and cipher from
So, differences with your configuration: according to your comment, the ECDSA P-384 keys I use are incompatible with my android 7.0 os. I don't use any ansible playbook but it's a manual install with a default certbot configuration. Unfortunately, for the double checking, using the debug build you sent me:
|
the server tmp key using the android 7.0 unsupported P-384 could be the problem 🤔 the ansible script (as far as I can tell) is also using the certbot default config, it could be your http server/proxy nginx/apache not enabling tls 1.3 that's causing the trouble~ |
ok, unfortunately my nginx/openssl version is too old and not supporting TLSv1.3. |
🤞 hopefully the upgrades do the trick!
Always happy to help out, thanks for helping debug |
Still happens - causes an "SSL Error" upon certificate renewal. |
Issue will happen when obfuscate = true. |
Steps to reproduce
opening element app shows a red banner "connectivity to the server has been lost"
I'm using a homeserver (other client work fine, nexus android same version of element, web client etc...)
next is a exception from logcat (not sure if it's related)
Outcome
connection with the server
Your phone model
Samsung S6
Operating system version
Android 7.0
Application version and app store
Elements Android 1.3.9 [40103092] (G-b4722) Matrix SDK 1.3.9 (581c557) olm 3.2.4 (from playstore)
Homeserver
personal server
Will you send logs?
No
The text was updated successfully, but these errors were encountered: