From
|
marc0 <marc0@autistici.org>
|
Date
|
Sat, 19 Jul 2003 19:58:17 +0200
|
Subject
|
[hackmeeting] file-server-over-messages.el
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Bozza finale prima dell'implementazione, sono benvenuti suggerimenti e
derisioni.
;;; file-server-over-messages.el --- File server over messages.
[snip]
;;; Commentary:
;; Index:
;;
;; 1. Introduction
;; 2. Overview
;; 3. name-server design
;; 4. file-server design
;; 5. Implementation
;;
;; 1. Introduction
;;
;; ARPA messages are very good vehicles for informations in general,
;; and not only messages.
;;
;; Some strong points of the ARPA messages are:
;;
;; a) decentralized: for example using chains of NNTP and mailing
;; lists;
;; b) and so rendundant;
;; c) and distributed;
;; d) flexible: decades of use of ARPA messages, many clients and
;; servers for ARPA messages, over different flavours of
;; network;
;; e) easy to implement: most of the infrastucture is already
;; designed, implemented, and tested;
;; f) fast;
;; g) easy to use;
;; h) extensible: ARPA messages proved to be very very very
;; extensible;
;;
;; Web (HTTP) and FTP and likewise are not so strong services, for
;; example making mirrors requires more effort, and to give write
;; access there is needed to give away logins and passwords, so more
;; effort.
;;
;; So the `file-server-over-messages' system is meant to replace Web
;; and FTP with a more scalable, distributed, pratical system.
;;
;; So the `file-server-over-messages' system target is to give,
;; especially to who has not many resources, a more scalable,
;; distributed, less-effort-sucking way to publish their contents.
;;
;; 2. Overview
;;
;; The system is made of three parts:
;;
;; a) an ARPA messages vehicle (for example an NNTP server);
;;
;; b) the file-server-over-messages software.
;;
;; So, the file-server-over-messages has the following functions:
;;
;; a) pushing files throught some interface (for example: UI (a
;; program), library function (a library), HTTP (web gateway):
;;
;; a1) get the request through the frontend,
;; a2) look in the names table for the article number and part,
;; a3) get from the ARPA backend the article,
;; a4) get the wanted part from the article,
;; a5) push it to the client;
;;
;; b) handling the `filename <--> article number and part' table:
;;
;; b1) get the request of modification through the ARPA backend
;; b2) parse the message
;; b3) verify permissions
;; b4) modify the table if needed
;;
;; We will call the `a' part `file-server' and the `b' part
;; `name-server'.
;;
;; The cool thing would be to make the file-server-over-messages truly
;; independent from the ARPA messages vehicle, not requesting any
;; special feature in the vehicle (vehicle can be for example an NTTP
;; server) or any special header or format in the messages.
;;
;; Why all this? The motivation is that people that have to use more
;; bandwidth than how much they can get can use public services.
;;
;; The name-server must be capable to use another vehicle for its own
;; communication than the file-server.
;;
;; This because it seems good to not put a limitation on this.
;;
;; 3. name-server design
;;
;; The name-server will read some messages, parse these messages,
;; verify them using an implementation of PGP, and then executing
;; the requested operation if all is OK.
;;
;; The operations are all meant to edit the alias table:
;; - add an alias
;; - remove an alias
;; - modify an alias
;;
;; The alias table is a list of lists of four attributes: the alias,
;; the message-id of the article in which the file is contained, the
;; part number in which the file is contained, and finally a list of
;; strings containing PGP fingerprints, these fingerprints are the
;; ones of the persons that can edit or remove the alias, so the
;; owners of the alias.
;;
;; 4. file-server design
;;
;; When the file-server receives a query for a file, it checks if
;; the file is in the alias list, in a negative case it returns 404
;; (page not found).
;;
;; If it can find an alias for the page, it checks if the file is in
;; a private folder, if not it retrieves the files, the file part
;; and returns it, else returns 404 (page not found).
;;
;; 5. Implementation
;;
;; This implementation will be based on Emacs, Gnus, httpd.el and
;; httpd-serve.
;;
;; This implementation will require a dedicated user and home
;; directory.
;;
;; This user will be an Emacs user, it will run Emacs/Gnus, reading
;; news now and then, doing things, replying, serving pages, etc...
[snip]
- --
marc0@autistici.org (rot13-string "znep0@pelcgberoryf.arg")
2143 9E77 D5E6 115A 48AD A170 D0EE F736 4E88 99C2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE/GYYA0O73Nk6ImcIRAtEQAKCxwAthzeht6Qociko4dKfhhP6vmwCghmLF
j+emsZmoM2lFBsfYf+yKljY=
=0dtu
-----END PGP SIGNATURE-----
_______________________________________________
hackmeeting mailing list
hackmeeting@kyuzz.org
http://lists.kyuzz.org/mailman/listinfo/hackmeeting