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

fix(comms): correctly initialize hidden service #6124

Merged
merged 2 commits into from
Feb 6, 2024

Conversation

sdbondi
Copy link
Member

@sdbondi sdbondi commented Feb 6, 2024

Description

Correctly sets up a tor hidden service in the HiddenServiceTransport
Tor control client will not error if a value in a key-value query is empty, as this can be valid
Disables signal handlers for libtor

Motivation and Context

This PR correctly initializes a tor hidden service in the HiddenServiceTransport. A task is spawned by create_hidden_service that monitors the tor control port connection and automatically tries to reestablish it if it disconnects. I also fix the incorrect setting of the proxied address to be the listening port of the Tari node rather than tor's SOCKS port.

The minor change to the control port client is minor and allows for an empty value to be returned, which is valid when querying key-value pairs. In practice, this never happens in our current usage but I encountered it when debugging and it prevented the real problem from coming through.

Ref PR #6092

There is an additional existing problem where libtor handles interrupt signals and exits e.g. when pressing ctrl+c in the base node to type a command. I fixed this by disabling signal handlers in libtor.

How Has This Been Tested?

Manually

What process can a PR reviewer use to test or verify this change?

Nodes should receive inbound and outbound tor connections.

Breaking Changes

  • None
  • Requires data directory on base node to be deleted
  • Requires hard fork
  • Other - Please specify

@ghpbot-tari-project ghpbot-tari-project added P-acks_required Process - Requires more ACKs or utACKs P-reviews_required Process - Requires a review from a lead maintainer to be merged labels Feb 6, 2024
Copy link
Collaborator

@SWvheerden SWvheerden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ghpbot-tari-project ghpbot-tari-project removed the P-reviews_required Process - Requires a review from a lead maintainer to be merged label Feb 6, 2024
Copy link

github-actions bot commented Feb 6, 2024

Test Results (CI)

1 270 tests   1 270 ✅  11m 9s ⏱️
   39 suites      0 💤
    1 files        0 ❌

Results for commit 9b91216.

Copy link

github-actions bot commented Feb 6, 2024

Test Results (Integration tests)

 2 files  + 2  11 suites  +11   14m 59s ⏱️ + 14m 59s
29 tests +29  28 ✅ +28  0 💤 ±0  1 ❌ +1 
30 runs  +30  29 ✅ +29  0 💤 ±0  1 ❌ +1 

For more details on these failures, see this check.

Results for commit 9b91216. ± Comparison against base commit 9ed0d7e.

@SWvheerden SWvheerden merged commit 0584782 into tari-project:development Feb 6, 2024
15 of 17 checks passed
sdbondi added a commit to sdbondi/tari that referenced this pull request Feb 15, 2024
* development: (120 commits)
  chore: use log4rs 1.3 (tari-project#6148)
  fix: balanced binary merkle tree merged proof (tari-project#6144)
  chore(deps): bump libgit2-sys from 0.16.1+1.7.1 to 0.16.2+1.7.2 (tari-project#6145)
  feat: allow ffi to see lock height (tari-project#6140)
  chore(ci): add metrics targeted build, remove miner artifacts, misc clean ups (tari-project#6141)
  chore: suppress error (tari-project#6137)
  chore: fix versions to correct version (tari-project#6135)
  chore: add stringhandler gpg (tari-project#6134)
  chore: add pgp public key (tari-project#6139)
  feat: turn off node metrics by default (tari-project#6073)
  feat: add import tx method (tari-project#6132)
  chore: update pgp public key (tari-project#6129)
  chore: new testnet release (tari-project#6127)
  chore: update pgp key (tari-project#6128)
  fix(libtor): prevent metrics port conflict (tari-project#6125)
  fix(comms): correctly initialize hidden service (tari-project#6124)
  chore: make MAC equality check more idiomatic (tari-project#6123)
  chore: new release (tari-project#6120)
  fix: restart tx fix (tari-project#6119)
  chore: suppress warn log (tari-project#6118)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P-acks_required Process - Requires more ACKs or utACKs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants