Skip to content

Conversation

@fonic
Copy link
Contributor

@fonic fonic commented May 25, 2018

This is work in progress aiming to implement DHT Security Extension (BEP 42).

The basic work is done, will reset the branch and rewrite it cleanly.

DONE:

  • allow separate node IDs for IPv4 and IPv6 (required by BEP 42)
  • modify message parser to process keys '2:ip6:' and '2:ip18:' (tells us our own external socket address)
  • add voting mechanism to reliably determine our own external socket address
  • send other nodes their external socket address using keys '2:ip6:' and '2:ip18:'
  • find suitable CRC32C implementation/library
  • add function to calculate secure node ID from socket address
  • add function to check if node ID is secure
  • add function to reset address family when switching to secure node ID

Extend debug message logging / debug output:
- add support for message types (debug, info, warning, error)
- introduce logging macros to easily log messages (debugf, infof,
  warnf, errorf)
- log messages to user-defined callback instead of file so that
  application may be decide how to handle debug output
- add string conversion functions that may be used in printf-style
  function calls (address family, IP protocol version, bucket/node
  ID, socket address, etc.)
- add DHT_LOG_ defines to control certain features
- add function to retrieve statistics (buckets, good nodes,
  dubious nodes, total nodes)
- modify dump_bucket() and dht_dump_tables() to output tables
- migrate all debugf calls to make use of the new capabilities
- add additional debug output
- modify dht-example to make use of the new capabilities
@joel-su
Copy link
Contributor

joel-su commented Dec 20, 2018

@fonic, @jech , The part that is specific to bep-42 has disappeared from this pull request. I suggest you close it in favor of the pull request #43 I authored, as it does not contain any structural or style change unlike this one.

@jech jech closed this Jan 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants