The initial release of PrequelD was written for and tested on Linux. It
should compile and run on most 2.6+ kernel systems. It has been tested on
- 32-bit Linux for ARM (Arch Linux), and both 32-bit and 64-bit x86 platforms.
+ 32-bit Linux for ARM (Arch Linux), and both 32-bit and 64-bit x86
+ platforms. A long-term goal is to port PrequelD to one or more of the BSD
+ variants.
- The long-term plan is to port PrequelD to OpenBSD, with the goal of making
- it work nicely on FreeBSD and NetBSD as well.
-
- At this point, there is no MakeFile. Compile it from the command line as
+ At this point, there is no MakeFile. Compile from the command line as
shown below. The only external requirement is OpenSSL, but the code is
written to make it easy to replace OpenSSL with another hashing library.
An example configuration file, prequeld.conf, is provided. Read it.
It'll get you going more quickly than reading this mess.
+ The purpose of the configuration file is to indicate one or more
+ directories that will store hash cache files, plus the source directories
+ that contain the files that are to be hashed, as well as any modifications
+ to the default hashing behavior. It's not really that complicated.
+
The configuration file is primarily a list of key/value pairs. It may
also contain cachedir and sourcedir blocks. The blocks make it easy to
group configuration options that apply to only a select set of source
* Comments are introduced using a hash character ('#') and continue to the
end of the line. Whitespace is anything recognized as such by the
- C-language isspace(3) function.
+ C-language isspace(3) function. Tab characters are inherently evil and
+ should not be used.
Syntax:
config :== { ( ignored | assignment ) }
exclude - A list of files and/or directories to be excluded from
PeerDist hashing. Multiple exclude lines can be entered
- within the same scope. There is no default value.
+ within the same scope. The default is an empty exclude list.
hash1 - The PeerDist v1 hash. This defaults to SHA256. Other valid
values are SHA384, SHA512, and None. A hash type of None
that [server, segment] pairs have unique identifiers. Note,
however, that multiple servers may share the same key.
Also, a different keyfile may be assigned to each
- sourcedir. The default value is /etc/prequeld.key
+ sourcedir. The default key file is /etc/prequeld.key
logfile - A file to which to send log messages. By default, log
message are sent to <stderr> when the program starts up.
This value may only be assigned in the global section,
as it applies to the daemon as a whole.
- minblocks - The minimum size, in PeerDist blocks (64K), of a file that
+ minblocks - The minimum size, in PeerDistv1 blocks (64K), of a file that
is to be hashed. Files smaller than this size will not be
hashed. The default and minimum value is 1.
+ In messages sent by the client, the <msgType> field represents a
request. The server returns simple error codes in this field. Commands
and error codes are defined below.
+
+ The <protoID> is incremented whenever existing message structures are
modified. New messages can be added without changing the value of
<protoID>, because such addition will not break existing clients. The
V1.1 Changed the communication between client and server.
----
-$Id$
+$Id: 0.README; 2014-09-22 15:42:04 -0500; Christopher R. Hertel$