Skip to content
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

Unable to use tls proxy #579

Open
Kamaradas opened this issue Jun 27, 2024 · 2 comments
Open

Unable to use tls proxy #579

Kamaradas opened this issue Jun 27, 2024 · 2 comments

Comments

@Kamaradas
Copy link

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)

@dk-itnrw
Copy link

dk-itnrw commented Jul 1, 2024

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

@jrose-signal
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants