I am close to agreeing with Randy. We're going on and on with no
results. I have to admit I contributed to the verbosity in here. 

Before we CODE we gotta assume the basics (we CANNOT require changed
mailers, we ASSUME FSC-001, we use existing mechanisms asuch as netmail,
etc). 

Each of us has said, input can come through any mechanism, echo, text
file, netmail, filerequest, etc. 

The problem isn't bits'n'bytes -- it's our social and transport systems.
All this thrashing over implementatino specifics, keywords, fileformats
etc is WAY too early, and NOT where the problem is.

The end result will almost certainly not be whiz-bang code. It should be
simple stuff. The problem is ORGANIZATIONAL, not technical!



We're solving a problem much larger than we thought -- we're doing a DNS
system without a "NIC".  We have a NIC, in essence, the ZC/RCs,
and it is corrupt. It no longer coordinates but edits. In the Internet
they've stuck to coordinating and it's fine.

In the Internet, without a NIC noone knows you exist. In FidoNet,
with ZnnnLIST, eg. echomail, you can talk to sites you don' tknow
how to contact, or even exist -- ie. broadcast to via ZnnnLIST.



The problem is to get DNS zones (fidonet nodelist frags) transmitted.
DIFFs and physical issues are a seprate problem (even if they may impact
basic design). We need to think out dataflow first.

In FidoNet, SOA == net host, eg. 125/0.

FidoNet frag (DNS zone) is a complete net/region.

Each SOA authors edits to their frag. SOA issues edits into echo
as they happen.

Edits are incremental changes to the frag. Ex:

; comment
;KEY=VALUE			IN-BAND DATA
+ node phone ...		ADD NEW/CHANGE EXISTING
- node				DELETE EXISTING

It is possible to get otu of sync (lost edits, etc). recover by: get a
copy from a neighbor. Filerequest/magicword/asyetundefinedfeature
complete frag from the SOA -- eg. the authoring net host.

SOAs make complete frag available for filereq or download as standard
practice.

Even if occasional edits are lost, frag remains reasonably accurate.
(additions missed, removals lost, etc). If a specific node in a frag is
missing/old/bad, then that node is affected. (Note we're talking failure
mode here, not the nromal case.

Implementation-specific features could "checksum" the list; with each
update (add, delete, replace node) a "checksum" of some sort; "my frag
should have N nodes, serial number is X," etc. If an error is found (ie.
we lost some edit) the compiler then knows enough to get a complete frag
(inform th NC, fetch autmiatically, download, filerequest, via
email, whatever)



If a new net appears, or existing net fragments:

NEW NET: SOA spontaneously generates (no one can stop them!), issues new
SOA record, plus edits. (eg. SOA 1:125, + 1 "joes BBS", + 2 "mary's BBS"
etc)

SPLIT NET: new SOA appears as above, old net issues deletes. 



OPEN ITEMS:

Security implementation (signatures, etc)

DIFFs (Net can generate a DIFF for a current style nodelist; however it
is likely nodelists in different nets will diverge. This should be
acceptable. NOTE: if other-zones becomes optional, DIFFs collapse
anyways.
-- 
  Tom Jennings -- tomj@wps.com -- World Power Systems -- San Francisco, Calif.