Introduction

QCMD is intended as an access control manager for the ABONE. At the current time access control through a list in a file that are mirrored over the network.

Architecture

QCMD uses a simple client-server architecture to mirror files located at the server site onto client sites. The mirroring is accomplished using one of two alternative protocols, push and pull.

The Pull Protocol

In this protocol, the client maintains a hash of the file being mirrored. Periodically, it sends requests to the server, asking if the file in question had changed (a change is established through a change in the hash). The server reponds with either the new version of the file, or a no change message. A nonce together with a timestamp are used to prevent replay of messages.

The Push Protocol

In this protocol, the client registers with the server to receive updates of the file being mirrored. The server then sends the latest version of the file as soon as change happens. Again, a nonce and timestamp are part of the message.

After a period of time (the default is a week) the server stops sending update messages to the client. The client must resend a RegisterMe message again.

Note: the push protocol is currently being revised to work with TCP connections.

The distribution

The distribution (consisting of binaries for each of the supported OS, installed at SRI's code server) includes three binaries. The way to start up the programs is to load the binaries onto an anetd through the aload command; refer to the anetd documentation for instructions on how to use the aload command.

qcmdServer

As the name implies, this binary implements the QCMD server. The following options are supported:

The server program uses a 512 bit RSAREF keypair to communicate with the clients. This key can be generated with any standard RSAREF key generation program. The program expects to find the keypair in HOME/qcmd/public_key and HOME/qcmd/private_key.

The server gets it's configuration info from a config file. The config file that gets distributed (`qcmdserver.config') contains one line:

hosts = ACLfile "hosts.allow.txt"

The "hosts.allow.txt" is the name of the ACL file that the server distributes. This can be changed if you want the server to distribute some other file. For example:

hosts = ACLfile "my.allow.txt"

would make the server mirror a file called "my.allow.txt".

qcmdClient

This binary implements the pull client. The following options are supported:

pushClient

This binary implements the push client. The following options are supported:

Common commmand line options

This section explains some of the options which are common to all three qcmd executables.

About this document ...

This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -t QCMD manual -split +0 -no_navigation manual.

The translation was initiated by Michael McDougall on 5/8/2000


Michael McDougall
5/8/2000