diff --git a/oc/occure.lua b/oc/occure.lua index ab8e8d3..7bdad9f 100644 --- a/oc/occure.lua +++ b/oc/occure.lua @@ -1,3 +1,6 @@ +-- I, 20kdc, release this into the public domain. +-- No warranty is provided, implied or otherwise. + -- OC/CU/RE Driver -- (Copper w/Reliability Layer on OpenComputers/OpenOS) -- I, 20kdc, release this into the public domain. diff --git a/protocol.1 b/protocol.1 index b5e4592..34b9d56 100644 --- a/protocol.1 +++ b/protocol.1 @@ -9,16 +9,26 @@ They are simply base low-level Copper nodes with two interfaces and the For the FROM address: If it's on the parent side, reject if it's prefixed with hostname .. "/", - otherwise prefix it with "<" and forward to child side. + otherwise prefix it with "<". If it's on the child side, reject if it's prefixed with "<", - otherwise prefix it with hostname .. "/" and forward to parent side. + otherwise prefix it with hostname .. "/". For the TO address: If it's on the parent side, reject unless prefixed with hostname .. "/", - otherwise remove that and forward to child side. + otherwise remove that. If it's on the child side, reject unless prefixed with "<", - otherwise remove that and forward to parent side. + otherwise remove that. + + For the packet's general routing: + +If it's on the parent side, run the rules above on the addresses, + and forward to child side if not rejected. +If it's on the child side, run the rules above on the addresses, + and forward to parent side if not rejected. + +Notably, the hops field should be incremented as if going through a normal routing node - + this prevents system misconfiguration from causing a complete meltdown. This introduces a simple hierarchial structure that does not require any support code apart from in the nodes supporting the hierarchy.