#3814 closed defect (fixed)

Remove the node "control" port

Reported by: exarkun Owned by: GitHub <noreply@…>
Priority: normal Milestone: undecided
Component: unknown Version: n/a
Keywords: Cc:
Launchpad Bug:

Description

A node automatically has a Foolscap-based "control" interface. This exposes the following functionality to localhost:

  • wait for a client to connect
  • generate a small random file and upload it
  • download a file and then delete it
  • Run a speed test against storage servers (upload and then download a small file, measuring elapsed time)
  • get the amount of memory the node process is using
  • measure foolscap "ping" time to connected servers

I think all of this is unnecessary attack surface. Also, much of it is redundant or poorly placed.

Want to measure upload/download time? Great, do it, there are HTTP APIs for that. Want to know memory usage? Great, use a platform API to look it up. Want to wait for a client to connect? *Why*?

Additionally, the code that sets up the Foolscap tub for the control interface uses failure-prone port assignment logic which causes frequent spurious failures on CI, making this code a substantially overweight maintenance burden.

I suggest that no one is using any of this functionality and no one *should* use any of it and we should delete it.

Change History (2)

comment:2 Changed at 2021-10-26T00:57:28Z by GitHub <noreply@…>

  • Owner set to GitHub <noreply@…>
  • Resolution set to fixed
  • Status changed from new to closed

In 84dfb36/trunk:

Merge pull request #1141 from LeastAuthority?/3814.remove-control-port

Remove the "control port" and its associated Tub

Fixes: ticket:3814

Note: See TracTickets for help on using tickets.