From c91f3bd2a9e95c7ba03d8a331db04f2c4a4c036e Mon Sep 17 00:00:00 2001 From: 20kdc Date: Mon, 20 Mar 2017 00:33:06 +0000 Subject: [PATCH] Be more explicit in protocol.1 about packet alterations, add license header to occure.lua --- oc/occure.lua | 3 +++ protocol.1 | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) 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.