[nym3-devel] Starting?
Jean-René Reinhard
jean-rene.reinhard@m4x.org
Sat, 1 May 2004 18:11:08 +0200
--2oS5YaxWCcQjTEyO
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Hi,
I think that it would be reasonnable to develop the client and the server i=
n parallel, it would be easier for testing.
+++++++++++++
Let's start with the server:
what he has to do :
_maintain nym accounts
the data relative to the user are well described in nym-spec. I write them =
here so that we can discuss them :
[User adjustable options]
- Identity public key of the nymholder
- Encryption public key of the nymholder
- A filtering policy (described below)
- A maximum email latency, in 30-minute increments. (described below)
- A maximum synopsis latency, in 30-minute increments. (described
below)
- A maximum SURB usage rate, in SURBs-per-day.
- A maximum unencrypted synopsis time, in 30-minute
increments. (described below)
- A hold-until-ack level (one of "Never", "Quota", or "Always")
- The hash of a 'shutdown' passphrase
[Administrator adjustable options]
- Maximum number of queued emails
- Maximum email size
- Maximum disk space used
the question whether it is good or not to have a lot of User adjustable opt=
ions has been raised.
In addition to these data, for each nym we have to store :
- A set of emails, each consisting of:
An encrypted synopsis [XXX which can remain unencrypted during =
a certain amount of time, specified by the user XXX]
An encrypted emails
[XXX what kind of structure do we use for this? a mbox-like one? or files s=
tored in a rep? XXX]
Each message also has:
A 32-byte message identifier
A 'sent' tristate: "Nothing sent", "Synopsis-sent", "Sent-In-Fu=
ll".
A time of receipt.
- A set of SURBs
[XXX idem? XXX]
_process incoming messages, that's to say
_mail from a nym to a receiver (special case if the receiver is a nym on t=
he same server?)
_mail from someone to a nym
_control messages
what has to be done in each case is described in the specs.
the type of the control messages are described in nym-spec.txt. I think it =
would be better to implement the CREATE control message first. (in other wo=
rds the creation of an account on the server), and then proceed from there.
++++++++++++++++++
What the client should do :
_send and receive control messages to/from the nymserver.
_provide the server with surbs
_under heavy load retrive synopses explicitely, present the list of retriev=
able message to the user, request that the nymserv sends message to the nym=
holder or deletes messages
_if sending configuration cpontrol message (eg to change the public key of =
the nymholder) keep the message until it has been aknowledged
++++++++++++++++++
programming stuff
what module will we use for manipulation of files, directories...
I already know unix module, which seems to be compatible with Windods as lo=
ng as we don't use fork and kill :=20
http://www.pps.jussieu.fr/Livres/ora/DA-OCAML/book-ora166.html
but you may know no a better one?
Jean-Ren=E9
PS: sorry for my poor English.
--2oS5YaxWCcQjTEyO
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
iD8DBQFAk8wYYKWv5bBZFbERArI8AKCkqHKqRN42KgZ/Cn9UmEccyEuWtgCfSRpq
D2tGpyjzigtDLnpiVxD3aLs=
=CZoP
-----END PGP SIGNATURE-----
--2oS5YaxWCcQjTEyO--