This is a demo for the DAVA prototype.

This document assumes that the reader is familiar with the DAVA
paper (http://www.prevelakis.net/Papers/webdava.pdf).

See also file arch for the messages being exhcanged during the
various phases of the demo.

The directory contains files used by both the client and the server
which may be confusing, but it allows the demo to be run without a 
lot of advance preparation.

File TESTS contains the commands required for the test. Note that
the dava_put command returns the name of the HANDLE used by the
dava_get command.

SERVER FILES

The server accepts files from the various clients and stores them
in a directory (ft-files) issuing File Access Credentials (FACs)
to each client so that they may recover the files at a later stage.

SERVER KEY

The server process needs access to the private key of the respository
(Keys/NICK-private). 

SERVER POLICY FILE

The (default) policy file for the server contains the keys of the
credit institutions, and the default policy of the site. The keys
of the credit institutions allow the server to verify the payment
credentials that these institutions issue to the clients.

SERVER EXECUTION

./dava-g -P policy4 -p 8080 -u Keys/NICK-public -r Keys/NICK-private

Here we specify the policy file, the port that the server will listen
on, and the public and private keys of the repository (Nick's keys).

CLIENT FILES
A client will initially upload a file to the repository and get
a FAC in return. The client will store the FAC in the ft-facs
directory. 

In order to effect payment, the client also needs the delegation
credential issued to Alice by the credit institution. This credential
is in file CRED-BANK3. The name of this file is emdedded in the
client program (dava.h).

When the client needs to retrieve the file, it will send the appropriate
fac to the server (along with payment) and the server will return the
file.

FILE UPLOAD

./dava_put -h localhost -p 8080 -u Keys/ALICE-public -r Keys/ALICE-private -f /etc/hosts

This tells the client to contact host localhost, port 8080 and upload file
/etc/hosts. The client also needs the public and private keys of the user
(Alice's keys).

The command will print the name of the FAC file created in ft-facs.

FILE DOWNLOAD

Since we are retrieving a file already uploaded to the server, we have
the appropriate FAC from directory ft-facs. We also need Alice's keys.

./dava_get -h localhost -p 8080 -u Keys/ALICE-public -r Keys/ALICE-private -f ft-facs/HANDLE

where HANDLE is the name of the file containing the FAC for the file we
wish to download.


