Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Connecting to running daemon with wrong ID makes daemon start listening on address with wrong ID #737

@victorb

Description

@victorb

I'm running on js-ipfs node in the browser and one daemon in nodejs. If I connect from the browser to the nodejs daemon with ipfs.swarm.connect but the ID part of the multiaddr is wrong, it'll start listening on that address...

Reproduce

  1. Run jsipfs daemon
  2. Run jsipfs id, output:
{
  "id": "QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt",
  "publicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUoAkSt6vtv2ZkC3maLnBGnA1OMNnSW/FsFnfhT+zQMy9A4YkePGigpNQsiI9yKMoeacBqZsNCDIGqebc5FquMLRRPN/GBJZz7tTT3uZo1aVBFcCiQapbGB56SYkxBFIyLFAlzJ3Ee8rGINvl7+iUZBirV9VylQXvGU3IRYe6zQR0Et/J5QjLIF3j5wylEm5SvN8//nGaecd0GwX5dYe3RawMlPIm+vCN+fIy1MpQQyT33IuM1iEEXzRsNzHeZ2GlWMrTQNjmKdFk4G/p/fVxxN45RpW0BDB9Em89JB9NHP2it4meg2Ao/QOfugFjtt4lHYML1KZvX/aqO8db6wN8pAgMBAAE=",
  "addresses": [
    "/ip4/0.0.0.0/tcp/9999/ws/ipfs/QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt",
    "/ip4/127.0.0.1/tcp/4002/ipfs/QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt",
    "/ip4/192.168.1.128/tcp/4002/ipfs/QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt"
  ],
  "agentVersion": "js-ipfs",
  "protocolVersion": "9000"
}
  1. connect from browser node with wrong id:
ipfs.swarm.connect('/ip4/0.0.0.0/tcp/9999/ws/ipfs/QmSGmyZtL3BPLxkF9yyaitLsotvratuqeWq1UR8V9BDXcV')
  1. run jsipfs id again, output:
{
  "id": "QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt",
  "publicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUoAkSt6vtv2ZkC3maLnBGnA1OMNnSW/FsFnfhT+zQMy9A4YkePGigpNQsiI9yKMoeacBqZsNCDIGqebc5FquMLRRPN/GBJZz7tTT3uZo1aVBFcCiQapbGB56SYkxBFIyLFAlzJ3Ee8rGINvl7+iUZBirV9VylQXvGU3IRYe6zQR0Et/J5QjLIF3j5wylEm5SvN8//nGaecd0GwX5dYe3RawMlPIm+vCN+fIy1MpQQyT33IuM1iEEXzRsNzHeZ2GlWMrTQNjmKdFk4G/p/fVxxN45RpW0BDB9Em89JB9NHP2it4meg2Ao/QOfugFjtt4lHYML1KZvX/aqO8db6wN8pAgMBAAE=",
  "addresses": [
    "/ip4/0.0.0.0/tcp/9999/ws/ipfs/QmSGmyZtL3BPLxkF9yyaitLsotvratuqeWq1UR8V9BDXcV",
    "/ip4/0.0.0.0/tcp/9999/ws/ipfs/QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt",
    "/ip4/127.0.0.1/tcp/4002/ipfs/QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt",
    "/ip4/192.168.1.128/tcp/4002/ipfs/QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt"
  ],
  "agentVersion": "js-ipfs",
  "protocolVersion": "9000"
}

Now it's listening on /ip4/0.0.0.0/tcp/9999/ws/ipfs/QmSGmyZtL3BPLxkF9yyaitLsotvratuqeWq1UR8V9BDXcV even though the daemons ID is QmVabaitA7SyHTWgY4Bhtc7JfAzMXWeXqBMT93teDic4nt

Metadata

Metadata

Assignees

Labels

P1High: Likely tackled by core team if no one steps upexp/noviceSomeone with a little familiarity can pick uphelp wantedSeeking public contribution on this issuekind/bugA bug in existing code (including security flaws)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions