[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--