diff --git a/ChangeLog b/ChangeLog index abd82514f..698b22718 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ + * added support for DHT rss feeds (storing only) * added support for RSS feeds * fixed up some edge cases in DHT routing table and improved unit test of it * added error category and error codes for HTTP errors diff --git a/Makefile.am b/Makefile.am index 430c69edb..aa7426495 100644 --- a/Makefile.am +++ b/Makefile.am @@ -78,6 +78,8 @@ DOCS_PAGES = \ docs/projects.rst \ docs/python_binding.html \ docs/python_binding.rst \ + docs/dht_rss.html \ + docs/dht_rss.rst \ docs/running_tests.html \ docs/running_tests.rst \ docs/tuning.html \ diff --git a/bindings/python/src/session_settings.cpp b/bindings/python/src/session_settings.cpp index fb90b8483..b8e5882f4 100644 --- a/bindings/python/src/session_settings.cpp +++ b/bindings/python/src/session_settings.cpp @@ -183,6 +183,8 @@ void bind_session_settings() .def_readwrite("service_port", &dht_settings::service_port) #endif .def_readwrite("max_fail_count", &dht_settings::max_fail_count) + .def_readwrite("max_torrents", &dht_settings::max_torrents) + .def_readwrite("max_feed_items", &dht_settings::max_feed_items) .def_readwrite("restrict_routing_ips", &dht_settings::restrict_routing_ips) .def_readwrite("restrict_search_ips", &dht_settings::restrict_search_ips) ; diff --git a/docs/dht_rss.html b/docs/dht_rss.html index 9f9001e1a..f94eaddaf 100644 --- a/docs/dht_rss.html +++ b/docs/dht_rss.html @@ -57,16 +57,24 @@
Table of contents
Table of contents
Strings are printed in hex for printability, but actual encoding is binary. The -response contains 3 feed items, starting with "7ea94c", "0d92ad" and "e4168d". -These 3 items are not published optimally. If they were to be merged into a single -string in the ih list, more than 64 bytes would be saved (because of having -one less signature).
-Note that target is in fact SHA1('my stuff' + 'key'). The private key -used in this example is 980f4cd7b812ae3430ea05af7c09a7e430275f324f42275ca534d9f7c6d06f5b.
+Strings are printed in hex for printability, but actual encoding is binary.
+Note that target is in fact SHA1 hash of the same data the signature sig +is the signature of, i.e.:
++d9:info-hash20:7ea94c240691311dc0916a2a91eb7c3db2c6f3e43:key64:6bc1de5443d1 +a7c536cdf69433ac4a7163d3c63e2f9c92d78f6011cf63dbcd5b638bbc2119cdad0c57e4c61 +bc69ba5e2c08b918c2db8d1848cf514bd9958d3071:n8:my stuff4:next20:c68f29156404 +e8e0aas8761ef5236bcagf7f8f2e4:sizei24315329ee ++
(note that binary data is printed as hex)
The proposed URI scheme for DHT feeds is:
magnet:?xt=btfd:<base16-curve25519-public-key> &dn= <feed name> @@ -284,10 +400,9 @@ calculating the target ID.
The reason to use curve25519 instead of, for instance, RSA is to fit more signatures -(i.e. items) in a single DHT packet. One packet is typically restricted to between -1280 - 1480 bytes. According to http://cr.yp.to/, curve25519 is free from patent claims -and there are open implementations in both C and Java.
+The reason to use curve25519 instead of, for instance, RSA is compactness. According to +http://cr.yp.to/, curve25519 is free from patent claims and there are open implementations +in both C and Java.