signalapp / signalapp/Signal-Android

Some Signal domains not proxied when censorship circumvention is on

Open
#13,682 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

acknowledged
Dominant language
Kotlin
Stars
29.4k
Forks
6.9k
PR merge metrics
No merged PRs in 30d

Description


Bug description

signal.org should not be dialed at all in censored countries.

Steps to reproduce
  • Enable censorship circumvention
  • Use tcpdump or PCAPDroid or any capture software to log Signal
  • Search or grep signal

Actual result: These signal domain appeared:

  • updates2.signal.org
  • cdsi.signal.org
  • svr2.signal.org

Expected result: Nothing shoud appear.

svr2 appears when verifying PIN.

Note that cdsi and svr2 should be proxied as it appears in domain fronting configurations.

https://github.com/signalapp/Signal-Android/blob/5579df66ced70285446456cd05eb566ee0d48915/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt#L81

https://github.com/signalapp/Signal-Android/blob/5579df66ced70285446456cd05eb566ee0d48915/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt#L82

Screenshots

Screenshot_20240912-032202

Device info

Device: Google Pixel 7
Android version: 14
Signal version: 7.16.3

Link to debug log

N/A

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt at the linked lines and trace how censorship circumvention selects domains. Reproduce with tcpdump or PCAPDroid while enabling the setting and checking PIN verification. Done means updates2.signal.org, cdsi.signal.org, and svr2.signal.org no longer appear as direct connections, with cdsi and svr2 proxied.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.