summaryrefslogtreecommitdiff
path: root/docs/Hardening_docs.txt
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2013-12-07 19:06:41 -0500
committerirungentoo <irungentoo@gmail.com>2013-12-07 19:06:41 -0500
commit1c45e5993858a4fc0e85858975e3206a657b9f94 (patch)
treec79b883aeb3cfefba7f1a2d86cbe97fda887dd4c /docs/Hardening_docs.txt
parentd078c5e9c2f1727502bce7db1b7de7e2fc4880ce (diff)
Added/updated some basic docs and cleaned up some things.
Diffstat (limited to 'docs/Hardening_docs.txt')
-rw-r--r--docs/Hardening_docs.txt21
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/Hardening_docs.txt b/docs/Hardening_docs.txt
new file mode 100644
index 00000000..08c6ef13
--- /dev/null
+++ b/docs/Hardening_docs.txt
@@ -0,0 +1,21 @@
1Hardening request packets are sent as crypto request packets (see crypto docs.)
2NOTE: currently only get nodes requests are tested in the code which is why there is only one test (more will be added soon.)
3
4All hardening requests must contain exactly 768 bytes of data. (The data sent must be padded with zeros if it is smaller than that.)
5
61. Get the information (IP_port, client_id) of the node we want to test.
72. Find a couple random nodes that is not that node (one for each test.)
83. Send crypto request packets to each of these random nodes with the data being:
9
10[byte with value: 02 (get nodes test request)][struct Node_format (the node to test.)][client_id(32 bytes) the id to query the node with.][padding]
11
124. The random node receives a packet.
13-The packet is a get nodes test request:
14 send a get_node request to that node with the id to query in the request.
15 when a send_node response is received, send the following response to the person who sent us the get nodes test request packet:
16 [byte with value: 03 (get nodes test response)][client_id(32 bytes): the id that the node was queried with][The list of nodes it responded with in IPv6 Node format (struct Node_Format)]
17 PROTIP: (get node requests and response contain an encrypted part that you can use to store information so that you don't
18 have to store in your memory where/if to send back the response from the send node)
19
205. Receive the test responses.
21-If the test(s) pass (the nodes behave in a satisfactory manner), make these nodes have priority over those who don't pass the test(s).