Unable to use tls proxy
We have consistently observed an issue since the migration process from Java to Rust began. The last version in which our application functioned correctly with proxy usage was 0.36.1. Below, you will find some output that illustrates the specific errors and behaviors we are encountering.
The application appears to be attempting local DNS lookups instead of utilizing the proxy for DNS resolution. Consequently, these lookups are failing because the server itself is not configured to resolve DNS queries; the proxy is responsible for this task.
NOTE: we are currently used a containerized signal REST API (https://github.com/bbernhard/signal-cli-rest-api), which is using lib signal 0.47.0 and we are still experiencing this issue
Could you please assist us in resolving this issue?
The errors we are encountering:
2024-06-27T16:30:36.346Z [Thread-2] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:210: Failed to resolve domain [cdsi.signal.org] after 5.000708139s: DNS lookup timed out 2024-06-27T16:30:36.352Z [Thread-3] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:94: Starting DNS lookup for cdsi.signal.org 2024-06-27T16:30:41.321Z [Thread-4] INFO LibSignal - [libsignal]: rust/net/src/infra/connection_manager.rs:227: Connection attempt failed with an error: timed out while connecting (direct) 2024-06-27T16:30:46.354Z [Thread-5] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:210: Failed to resolve domain [cdsi.signal.org] after 10.001230257s: DNS lookup timed out 2024-06-27T16:30:46.354Z [Thread-6] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:94: Starting DNS lookup for cdsi.signal.org 2024-06-27T16:30:51.324Z [Thread-7] INFO LibSignal - [libsignal]: rust/net/src/infra/connection_manager.rs:227: Connection attempt failed with an error: timed out while connecting (direct) 2024-06-27T16:30:51.340Z [Thread-8] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:210: Failed to resolve domain [REDACTED] after 15.336008ms: DNS lookup failed 2024-06-27T16:30:51.340Z [Thread-9] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:94: Starting DNS lookup for REDACTED 2024-06-27T16:30:56.342Z [Thread-10] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:210: Failed to resolve domain [REDACTED] after 5.001630538s: DNS lookup timed out 2024-06-27T16:30:56.342Z [Thread-11] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:94: Starting DNS lookup for REDACTED 2024-06-27T16:31:01.326Z [Thread-12] INFO LibSignal - [libsignal]: rust/net/src/infra/connection_manager.rs:227: Connection attempt failed with an error: timed out while connecting (proxyg)
I can confirm the error. We also use a configuration in which signal-cli runs via a proxy. After I have created a local DNS entry, the error messages change to:
2024-07-01T16:40:17.175+0200 [Thread-0] INFO LibSignal - [libsignal]: rust/net/src/infra/connection_manager.rs:243: Connection attempt failed with an error: timed out while connecting (direct) 2024-07-01T16:41:17.177+0200 [Thread-1] INFO LibSignal - [libsignal]: rust/net/src/infra/connection_manager.rs:243: Connection attempt failed with an error: timed out while connecting (direct) 2024-07-01T16:41:17.185+0200 [Thread-2] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 6.864547ms: DNS lookup failed 2024-07-01T16:41:17.185+0200 [Thread-3] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:97: Starting DNS lookup for REDACTED 2024-07-01T16:41:22.187+0200 [Thread-4] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 5.001306296s: DNS lookup timed out 2024-07-01T16:41:22.187+0200 [Thread-5] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:97: Starting DNS lookup for REDACTED 2024-07-01T16:41:32.190+0200 [Thread-6] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 10.002109716s: DNS lookup timed out 2024-07-01T16:41:32.190+0200 [Thread-7] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:97: Starting DNS lookup for REDACTED 2024-07-01T16:41:47.191+0200 [Thread-8] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 15.000373178s: DNS lookup timed out 2024-07-01T16:41:47.191+0200 [Thread-9] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 4.104µs: Data for the given name is not available 2024-07-01T16:41:47.191+0200 [Thread-10] INFO LibSignal - [libsignal]: rust/net/src/infra/connection_manager.rs:243: Connection attempt failed with an error: transport: DNS lookup failed (proxyg) 2024-07-01T16:41:47.196+0200 [Thread-11] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 4.349062ms: DNS lookup failed 2024-07-01T16:41:47.196+0200 [Thread-12] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:97: Starting DNS lookup for REDACTED 2024-07-01T16:41:52.199+0200 [Thread-13] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 5.002056339s: DNS lookup timed out 2024-07-01T16:41:52.200+0200 [Thread-14] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:97: Starting DNS lookup for REDACTED 2024-07-01T16:42:02.201+0200 [Thread-15] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 10.000856147s: DNS lookup timed out 2024-07-01T16:42:02.201+0200 [Thread-16] INFO LibSignal - [libsignal]: rust/net/src/infra/dns/custom_resolver.rs:97: Starting DNS lookup for REDACTED 2024-07-01T16:42:17.203+0200 [Thread-17] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 15.001720542s: DNS lookup timed out 2024-07-01T16:42:17.204+0200 [Thread-18] WARN LibSignal - [libsignal]: rust/net/src/infra/dns.rs:214: Failed to resolve domain [REDACTED] after 6.238µs: Data for the given name is not available 2024-07-01T16:42:17.204+0200 [Thread-19] INFO LibSignal - [libsignal]: rust/net/src/infra/connection_manager.rs:243: Connection attempt failed with an error: transport: DNS lookup failed (proxyg)
Note: "REDACTED" is not censored by me, we are using signal-cli 0.13.4
Belated, but obligatory: signal-cli is not an official product of Signal, and you should generally report issues to them rather than to us.
We do expect to have a way to configure at least some kinds of general proxying behavior in libsignal in the future, not just the Signal-specific lightweight proxies that are already exposed, but no word on a timeline. I suppose this issue can serve as an external indicator for that. But again, the only officially supported use of libsignal is through the official Signal apps, and that is especially true for the APIs that connect to Signal's servers.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been closed due to inactivity.