helium / erlang-libp2p

An Erlang implementation of libp2p swarms
https://helium.github.io/erlang-libp2p
Apache License 2.0
121 stars 34 forks source link

infinite loop, relay through self p2p addresses #380

Open ci-work opened 3 years ago

ci-work commented 3 years ago

often see gateways which are relayed through themselves, and compounding issue of other gateways relayed through a gateway which is relayed through itself, today there are quite a few:

examples:

/p2p/1129cq6aCeVkdPsu5AhtJHY3fg5FQzh8iJLzQ2eFiKmzWodn4WE6/p2p-circuit/p2p/1129cq6aCeVkdPsu5AhtJHY3fg5FQzh8iJLzQ2eFiKmzWodn4WE6
/p2p/11DFyMVWeDm5updfQ3ikCTRRMV5cp4UZaq17hyoDjcbY8m5Mxxz/p2p-circuit/p2p/11DFyMVWeDm5updfQ3ikCTRRMV5cp4UZaq17hyoDjcbY8m5Mxxz
/p2p/11SnMgBeoFhgQTSYBGqjDFtDYi2WH451KiJtw5JDJZ6zF9vCu33/p2p-circuit/p2p/11SnMgBeoFhgQTSYBGqjDFtDYi2WH451KiJtw5JDJZ6zF9vCu33
/p2p/11pdAcNwx9GJUsbsWWm5FCdhvRi35tMKg6i8d2UaLSoEf6w8j4X/p2p-circuit/p2p/11pdAcNwx9GJUsbsWWm5FCdhvRi35tMKg6i8d2UaLSoEf6w8j4X
/p2p/112WWx3PcX7LHrdSMVZvMkmgQSdCHfpsZvbWAaBT5JCKudVeesCM/p2p-circuit/p2p/112WWx3PcX7LHrdSMVZvMkmgQSdCHfpsZvbWAaBT5JCKudVeesCM
/p2p/112teifgjQT47W45CoJT5iE6MzbJpMTyoLawHqbTw6aeCcbF7q9t/p2p-circuit/p2p/112teifgjQT47W45CoJT5iE6MzbJpMTyoLawHqbTw6aeCcbF7q9t
/p2p/112kSbwTCWJw46PMjSXQhXK9ZV9ptd3inyUxXFYh18suw33PwWgH/p2p-circuit/p2p/112kSbwTCWJw46PMjSXQhXK9ZV9ptd3inyUxXFYh18suw33PwWgH
/p2p/112GoQNyTPAWriguTYsemZQHaGeFWQA4e1LZnhqjZWJNsqWpEaKx/p2p-circuit/p2p/112GoQNyTPAWriguTYsemZQHaGeFWQA4e1LZnhqjZWJNsqWpEaKx
/p2p/112Uet4q2xevRmF4bogj81R93NhcLbmh9zNfM2KsPuNw1AepZgiC/p2p-circuit/p2p/112Uet4q2xevRmF4bogj81R93NhcLbmh9zNfM2KsPuNw1AepZgiC
/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor/p2p-circuit/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor

multi cases, where one relayed gateway is relayed through a circular relay:

/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor/p2p-circuit/p2p/11JzkJF5tZHQqPX43BXhgT2uDKjqr9qAYiWgt6TGP12F6Eo825w
/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor/p2p-circuit/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor

/p2p/11pdAcNwx9GJUsbsWWm5FCdhvRi35tMKg6i8d2UaLSoEf6w8j4X/p2p-circuit/p2p/11cRVi41CYjMAyoJv6rat3CrYRg3pywH16CvXbTNuWPQz2C6EiL
/p2p/11pdAcNwx9GJUsbsWWm5FCdhvRi35tMKg6i8d2UaLSoEf6w8j4X/p2p-circuit/p2p/11pdAcNwx9GJUsbsWWm5FCdhvRi35tMKg6i8d2UaLSoEf6w8j4X

/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor/p2p-circuit/p2p/112BAE9KuJuZG8uaAfDJEvks3FF2jT8YA8TvN6nvW5a4gshFVVAk
/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor/p2p-circuit/p2p/11cSAzt2BmbDfshgGuo9teKTyBDnZkX3LUrZsTchLktARJnQsor