CableIM / Cable-Android

A fork of Signal working on independent networks.
https://cable.im/
GNU General Public License v3.0
25 stars 3 forks source link

java.net.SocketTimeoutException: SSL handshake timed out #6

Closed dev-masih closed 4 years ago

dev-masih commented 6 years ago

hello i started my own Cable Server in a dedicated VPS and it even got a domain and a valid SSL certificate. everything seems ok on the server side and i can access to first step of the registration witch is GET request to something like this URL in the browser (mobile number is masked now):

https://example.com/v1/accounts/sms/code/+xxxxxxxxxxxx

but when android app tries to connect to server to get this request it gets an ssl handshake timeout. i can't figure out whats the problem is in here because ssl cert on the server side is valid and i can send this request with browser with no problem at all but android app keeps getting this exception. log is somethign like this:

07-06 01:33:12.803 30052-30052/im.cable.cableim I/Timeline: Timeline: Activity_launch_request id:im.cable.cableim time:130592055
07-06 01:33:13.524 30052-30052/im.cable.cableim I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@13f55f47 time:130592777
07-06 01:33:13.641 30052-30635/im.cable.cableim W/TextSecurePreferences: Setting push registered: false
07-06 01:33:13.902 30052-30635/im.cable.cableim W/PushServiceSocket: Push service URL: https://example.com
07-06 01:33:13.903 30052-30635/im.cable.cableim W/PushServiceSocket: Opening URL: https://example.com/v1/accounts/sms/code/+xxxxxxxxxxxx
07-06 01:33:18.715 30052-30052/im.cable.cableim W/ExperienceUpgradeActivity: getExperienceUpgrade(275003)
07-06 01:33:44.601 30052-30635/im.cable.cableim W/RegistrationService: org.whispersystems.signalservice.api.push.exceptions.PushNetworkException: java.net.SocketTimeoutException: SSL handshake timed out
                                                                           at org.whispersystems.signalservice.internal.push.PushServiceSocket.getConnection(PushServiceSocket.java:663)
                                                                           at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeRequest(PushServiceSocket.java:530)
                                                                           at org.whispersystems.signalservice.internal.push.PushServiceSocket.createAccount(PushServiceSocket.java:133)
                                                                           at org.whispersystems.signalservice.api.SignalServiceAccountManager.requestSmsVerificationCode(SignalServiceAccountManager.java:92)
                                                                           at org.thoughtcrime.securesms.service.RegistrationService.handleSmsRegistrationIntent(RegistrationService.java:200)
                                                                           at org.thoughtcrime.securesms.service.RegistrationService.access$000(RegistrationService.java:58)
                                                                           at org.thoughtcrime.securesms.service.RegistrationService$1.run(RegistrationService.java:94)
                                                                           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                           at java.lang.Thread.run(Thread.java:818)
                                                                        Caused by: java.net.SocketTimeoutException: SSL handshake timed out
                                                                           at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
                                                                           at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:318)
                                                                           at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:267)
                                                                           at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:237)
                                                                           at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:148)
                                                                           at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:186)
                                                                           at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
                                                                           at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
                                                                           at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
                                                                           at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                           at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                                           at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
                                                                           at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                           at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                                           at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
                                                                           at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                           at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
                                                                           at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
                                                                           at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
                                                                           at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179)
                                                                           at okhttp3.RealCall.execute(RealCall.java:63)
                                                                           at org.whispersystems.signalservice.internal.push.PushServiceSocket.getConnection(PushServiceSocket.java:656)
                                                                           at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeRequest(PushServiceSocket.java:530) 
                                                                           at org.whispersystems.signalservice.internal.push.PushServiceSocket.createAccount(PushServiceSocket.java:133) 
                                                                           at org.whispersystems.signalservice.api.SignalServiceAccountManager.requestSmsVerificationCode(SignalServiceAccountManager.java:92) 
                                                                           at org.thoughtcrime.securesms.service.RegistrationService.handleSmsRegistrationIntent(RegistrationService.java:200) 
                                                                           at org.thoughtcrime.securesms.service.RegistrationService.access$000(RegistrationService.java:58) 
                                                                           at org.thoughtcrime.securesms.service.RegistrationService$1.run(RegistrationService.java:94) 
                                                                           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
                                                                           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
                                                                           at java.lang.Thread.run(Thread.java:818) 

am i missing something in here? please help me fix this, many thanks in advance

paride commented 6 years ago

I'm sorry to say this project has to be considered dead. The changes introduced in Signal in the last year definitely killed the possibility of building a federated network. I have lost interest since then.

dev-masih commented 6 years ago

OK thank you for your reply