You can subscribe to this list here.
2002 |
Jan
(9) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: Daniel Q. <qu...@us...> - 2002-01-21 00:18:05
|
Update of /cvsroot/redoubt/docs In directory usw-pr-cvs1:/tmp/cvs-serv17668 Modified Files: index.html Added Files: client.html Log Message: beginnings of client specification --- NEW FILE: client.html --- <html> <head> <title>Redoubt: client specification</title> </head> <body bgcolor="#ffffff"> <h1>Redoubt: client specification version 0.1</h1> <p> <STRONG>SUBJECT TO CHANGE WITHOUT NOTICE</STRONG> <h2>Backup Process</h2> <p> The backup process is as follows: <h3>File Listing</h3> <p> Find all files that should be backed up, taking into account exclude and include expressions (stored as part of the client configuration), but not taking into account previous backups or the current state of the server. This list of files is stored temporarily on disk (due to its potentially large size) including file metadata. <p> [TODO: specification for the listing file] <h3>File Selection</h3> <p> During the selection stage, the client determines the exact work to be done during the backup. This includes: <ul> <li>list of files to be deleted <li>list of files for full archival (metadata and data) <li>list of files for metadata-only update </ul> <p> Take the list of files to be backed up and compare with the client index (the known state of the backup archive, specification below). Files that have been removed since the last backup are marked for deletion, files that changed will be marked for full archival or metadata-only update (subject to the configuration of the client, allowing less important files to be backed up less often). <h3>File Deletion</h3> <p> Next, files to be deleted are removed from the archive (in order to reduce usage on the server before sending new data). <p> Each deletion request is sent to the storage agent. <h3>File Packaging</h3> <p> For each file, the packaging agent creates a cpio-formatted archive, compresses the archive (unless additional compression would be pointless such as for files that are compressed or contain random data) and encrypts it. It then checks the client index to see if that file already has been assigned a name. If not, a random name is assigned to the file and stored in the client index. Optionally, the agent can create files with random keys that are stored on the server too and used to encrypt files. <p> [TODO: handling of files that are hard links] <p> Each encrypted file is sent to the storage agent. <h3>Client Index Updates</h3> <p> As the storage agent confirms each transaction (deletion or package), the state of each file is updated in the client index file. Deleted files are marked as deleted and are only removed from the client index after a configurable amount of time has passed (and the storage agent confirms that it has deleted all versions of the file). <p> The client index is not saved on the server due to possibly very large size. <hr> <h2>Restoration Process</h2> <p> If the client index exists, the client can: <ul> <li>retrieve an individual file from the server as it was last backed up <li>ask the storage agent for a list of available versions of the file and then retrieve one of those versions </ul> If the client index is lost, the client has several options to offer: <ul> <li>start from scratch (delete everything & full backup) <li>download minimum to restore index (virtually everything, the latest copy of each non-deleted file [TODO: first block of each file?]) <li>do a complete restore </ul> <hr> <h3>Appendix: client index specification</h3> <p> The client index is stored as a linked list of variable length entries. Each entry contains the entry length, the original file name and its length, the metadata information and its length, and the random file name and its length. <p> By using variable length entries, it is possible to store long original file names without wasting disk space and also to expand the metadata information or support alternative client operating systems. <p> The structure of each entry is shown here: <p> <table border=1 cellpadding=5> <tr><td>entry length<td>unsigned 16-bit integer, little-endian <tr><td>filename length<td>unsigned 16-bit integer, little-endian <tr><td>filename string<td>char array, NUL terminated <tr><td>metadata length<td>unsigned 16-bit integer, little-endian <tr><td>metadata C struct<td>on Unix systems, struct stat <tr><td>random name length<td>unsigned 8-bit integer <tr><td>random name string<td>char array, NUL terminated </table> <p> Length field values count the terminating NUL characters in the length calculation. <p> [TODO: allow length of zero for random name length so format can be reused for temporary listing during discovery stage?] <p> [TODO: sorting of list or use of hash or tree for faster lookups and comparison against temporary listing?] <h3>Appendix: cpio specification</h3> <p> This format matches the standard "newc" or "crc" cpio formats except that the trailer has explicitly been removed to save space. <pre> [cpio archive] = [cpio file] | [cpio archive] + [cpio file] [cpio file] = [cpio header] + [cpio file name] + [cpio file data] [cpio header] = All the fields in the header are ISO 646 strings of hexadecimal numbers (case does not matter, but lowercase is used), left padded with '0' character, not NUL terminated. field name bytes notes [c_magic] 6 "070701" for "new" portable format; "070702" for CRC format [c_ino] 8 [c_mode] 8 definition below [c_uid] 8 [c_gid] 8 [c_nlink] 8 [c_mtime] 8 [c_filesize] 8 must be 0 for FIFOs and directories [c_maj] 8 [c_min] 8 [c_rmaj] 8 only valid for devices, 0 otherwise [c_rmin] 8 only valid for devices, 0 otherwise [c_namesize] 8 count includes terminating NUL [c_chksum] 8 0 for "new" portable format; for CRC format the sum of all the bytes in the file [cpio file name] = [file name] + '\0' + [pad 4] [cpio file data] = [file data] + [pad 4] [pad 4] = 0-3 bytes to end field on 4-byte boundary [c_mode] = c_mode bits defined as follows (in hexadecimal and traditional octal) /* st_mode bits */ #define C_ISSOCK 0000c000 00000140000 #define C_ISLNK 0000a000 00000120000 #define C_ISCTG 00009000 00000110000 #define C_ISREG 00008000 00000100000 #define C_ISBLK 00006000 00000060000 #define C_ISDIR 00004000 00000040000 #define C_ISCHR 00002000 00000020000 #define C_ISFIFO 00001000 00000010000 #define C_ISUID 00000800 00000004000 #define C_ISGID 00000400 00000002000 #define C_ISVTX 00000200 00000001000 #define C_IRUSR 00000100 00000000400 #define C_IWUSR 00000080 00000000200 #define C_IXUSR 00000040 00000000100 #define C_IRGRP 00000020 00000000040 #define C_IWGRP 00000010 00000000020 #define C_IXGRP 00000008 00000000010 #define C_IROTH 00000004 00000000004 #define C_IWOTH 00000002 00000000002 #define C_IXOTH 00000001 00000000001 </pre> </body> </html> Index: index.html =================================================================== RCS file: /cvsroot/redoubt/docs/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.html 2002/01/20 20:23:36 1.3 --- index.html 2002/01/21 00:18:03 1.4 *************** *** 118,121 **** --- 118,122 ---- <ul> + <li><a href=http://redoubt.sourceforge.net/client.html>Client Specification</a> <li><a href=http://redoubt.sourceforge.net/protocol.html>Client/Server Protocol</a> </ul> |
From: Claudio F. <cf...@us...> - 2002-01-20 20:23:42
|
Update of /cvsroot/redoubt/docs In directory usw-pr-cvs1:/tmp/cvs-serv10128 Modified Files: index.html Added Files: protocol.html Log Message: Added protocol spec and toc to index file --- NEW FILE: protocol.html --- <html><head><title>Redoubt: network protocol version 1</title></head> <body bgcolor=ffffff><h1>Redoubt: network protocol version 1</h1> Redoubt uses a subset of the the HTTP/1.1 protocol (see <a href='http://www.rfc-editor.org/rfc/rfc2068.txt'>rfc 2068</a>). It does allow the implementation of a server using CGI scripts and a normal HTTP server like Apache. For security reasons all connections should be done over SSL. Some servers may accept normal http connections though. <h2>Authentication</h2> Authentication is nor mandated nor enforced by the protocol. However, not using authentication is not advisable for obvious reasons. One of the following authentication methods should be used (not all of them have already been implemented): <ul> <li><b>Basic Authentication:</b><br> This scheme (see <a href=http://www.rfc-editor.org/rfc/rfc2617.txt>RFC 2617</a>) uses the standard http authentication mechanism. As it sends passwords in clear text over the wire it is not advisable to use it unless anonymous SSL (i.e. SSL without client side authentication) is used. <li><b>Digest Authentication:</b><br> This authentication system (see <a href=http://www.rfc-editor.org/rfc/rfc2617.txt>RFC 2617</a>) does not send passwords in clear over the wire, and is more secure than basic authentication. It still allows man-in-the-middle attacks. <li><b>SSL with public keys:</b><br> Most web servers allow public key authentication with SSL. This is one of the most secure ways to authenticate and encrypt traffic. <li><b>SSH and http tunneling:</b><br> If none of the above authentication systems can be used, it is always possible to tunnel the traffic through an ssh tunnel. In this scenario ssh can either use passwords or public key authentication. </ul> <h2>Base URL</h2> All URLs a backup client uses may have to be prefixed by a fixed string (as in /backup/username/) called the base URL. This is server specific and usually only necessary for servers that are not exclusive backup servers. This URL is shown as <tt>/<base-url></tt>. <h2>Fields</h2> The following fields should be supported by the client and server and always used if appropriate. <ul> <li>Range <li>Content-MD5 <li>Content-Length <li>Server / Client </ul> All connections should specify 'no-cache' in order to not confuse caches. Multiple requests per connection should be supported by the server and the client for bigger throughput, but are not really necessary. <h2>Filenames</h2> Filenames include important information and must conform to the Perl regular expression shown below. They consist of five fields, separated by '.': <ol> <li><b>Random Filename:</b><br> Every filename on the client is mapped to a random filename. This avoids the leakage of information in filenames. Only the client keeps the mapping in a file, if that information is lost all files need to be downloaded by the client and decrypted in order to recreated the mapping. The field must be between 5 and 50 characters long. It is recommended that a random string is converted to a suitable filename with base64 (all '/' need to be replaced with '-'). <li><b>Filetype:</b><br> The archive stores four kind of file types: full files, meta data only, deletions, and hardlink information (the format of those files are described elsewhere). In order to speed up recovery the type of file is encoded in the filename, using one character: 'F', 'M', 'D' or 'L'. <li><b>Generation:</b><br> Every version of a file gets a new generation number. This field contains the time when the file was backed up in seconds since the epoch. <li><b>Block:</b><br> Large files must be broken up into pieces. This fields contains the block number for this part of the file, and the total number of blocks used. The two numbers are separated by a '-' sign. <li><b>Redundancy and Mirror information:</b><br> In order to recreate a file the client needs to know how it was stored on different servers. This field stores this information. Its format depends on the redundancy algorithm used (mirror, raid, ...) and generally contains between 2 and 5 characters. </ol> The filename must match the following Perl regular expression: <pre> ([A-Za-z0-9+-]{5,50}).([FMDL]).([0-9]+).([0-9+]-[0-9]+).([A-Za-z0-9+-]+) </pre> Note that the server will make use of some of the data in the filename (in particular the generation information). The rest of the fields are only for clients, and standardizing those makes it easier to develop clients that can inter operate with each other. <h2>Options</h2> The Client sends a <tt>GET</tt> request for the URL <tt>/<base-url>/options</tt> <p> The Server returns an ASCII file (content-type text/plain) that lists options and their values. The option name is separated by a tab from the value, which goes to the end of the line. <p> The following options are sent out (a serer may include additional ones, clients should just ignore options they don't recognize). <p><table border=1 align=center> <tr><td><tt>VERSION</tt></td><td>protocol version the server supports, currently always 1.</td></tr> <tr><td><tt>SPACE</tt></td><td>Total space in bytes for this archive user.</td></tr> <tr><td><tt>USED</tt></td><td>Total bytes already used in this backup.</td></tr> <tr><td><tt>FILES</tt></td><td>Total number of files currently stored.</td></tr> <tr><td><tt>RESTORE_BANDWIDTH</tt></td><td>Current restore bandwidth in kbits/second for this archive user.</td></tr> <tr><td><tt>BACKUP_BANDWIDTH</tt></td><td>Current bqckup bandwidth in kbits/second for this archive user.</td></tr> <tr><td><tt>MAX_FILE_SIZE</tt></td><td>Maximum size a file can have.</td></tr> </table> <p>Note that the <tt>OPTIONS</tt> request that is part of the http protocol cannot be used as it does not allow extensions. The client should not be surprised if other fields and informations are sent by the server. <h2>Listing</h2> The client can request a full listing of all files on the server. This should only be done to either check the archive to find dead or missing files, or to start a full restore. <p> The listing is requested by sending a <tt>GET</tt> request for <tt>/<base-url>/</tt> <p> The server responds with an ASCII file (content type text/plain) that lists each filename in the index on a line by itself. <h2>Requesting a file</h2> The client sends a <tt>GET</tt> request with a URL of the form <tt>/<base-url>/filename</tt>, and the server returns the file (if it exists). The server should support <tt>Range:</tt> requests, and always add the size and md5sum in the response header. The content-type should always be application/octet-stream. <h2>Storing a file</h2> The client sends a <tt>PUT</tt> request with the URL <tt>/<base-url>/filename</tt> and the file as part of the request with a content-type of application/octet-stream. It may only send parts of the file using <tt>Range:</tt>, and the server is expected to support this. <h2>Deleting a file</h2> The client sends the <tt>DELETE</tt> request with the URL <tt>/<base-url>/filename</tt>. The server acts accordingly. <h2>Checking for a file</h2> If the client wants to check if a file is still in the archive, it can issue a <tt>HEAD</tt> request with the same URL used to <tt>GET</tt> or <tt>PUT</tt> the file. The server is supposed to return the correct information and include the md5sum of the file (or of the range of bytes requested). Index: index.html =================================================================== RCS file: /cvsroot/redoubt/docs/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** index.html 2002/01/17 20:09:48 1.2 --- index.html 2002/01/20 20:23:36 1.3 *************** *** 4,8 **** ! <H2>What it does</h2> The redoubt backup system lets you backup your files to one or more --- 4,17 ---- ! <h2>Table of Contents</h2> ! <ul> ! <li><a href=#what>What it does</a> ! <li><a href=#stat>Current Status</a> ! <li><a href=#docs>Documentation</a> ! <li><a href=#download>Download</a> ! <li><a href=#links>Links</a> ! </ul> ! ! <H2><a name=what>What it does</h2> The redoubt backup system lets you backup your files to one or more *************** *** 100,104 **** ! <h2>Current Status</h2> We are currently creating the specifications for backup clients, --- 109,113 ---- ! <h2><a name=stat>Current Status</h2> We are currently creating the specifications for backup clients, *************** *** 106,112 **** prototype. ! <h2>Sourceforge</h2> ! All important files are accessible via the <a ! href=http://sourceforge.net/projects/redoubt/>redoubt SourceForge ! page</a> --- 115,141 ---- prototype. ! <h2><a name=docs>Documentation</h2> ! <ul> ! <li><a href=http://redoubt.sourceforge.net/protocol.html>Client/Server Protocol</a> ! </ul> ! ! ! <h2><a name=download>Download</h2> ! ! All files are accessible via the ! <a href=http://sourceforge.net/projects/redoubt/>redoubt sourceforge page</a>. ! ! <h2><a name=links>Links</h2> ! ! <ul> ! <li><b>Mirrors:</b><br> ! The main page is hosted at ! <a href=http://redoubt.sourceforge.net>http://redoubt.sourceforge.net</a>. A ! mirror of this web site is at <a href=http://www.ars.net/redoubt/>http://www.ars.net/redoubt/</a>. ! <li><b>Software:</b><br> ! All the code is available via our ! <a href=http://sourceforge.net/projects/redoubt/>redoubt sourceforge page</a> ! <li><b>Source forge:</b><br> ! For our development we make extensive use of <A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?group_id=44154&type=1"width="88"height="31"border="0"alt="SourceForge Logo"></A> ! </ul> |
From: Daniel Q. <qu...@us...> - 2002-01-17 20:09:55
|
Update of /cvsroot/redoubt/docs In directory usw-pr-cvs1:/tmp/cvs-serv8214 Modified Files: index.html Log Message: minor updates Index: index.html =================================================================== RCS file: /cvsroot/redoubt/docs/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** index.html 2002/01/17 19:24:52 1.1 --- index.html 2002/01/17 20:09:48 1.2 *************** *** 6,15 **** <H2>What it does</h2> ! The redoubt backup system lets you backup your files to one or ! more offsite ! computers that you do not fully trust (like the computer of a friends). ! All files will be encrypted before they are stored, and it allows you to use ! multiple mirrors or RAID like error correction so that you can restore your ! files even if some of your backup servers are no longer accessible. <h2>Main Features</h2> --- 6,15 ---- <H2>What it does</h2> ! The redoubt backup system lets you backup your files to one or more ! offsite computers that you do not fully trust (like the computer of a ! friend). Redoubt encrypts all data before sending it anywhere, and it ! also allows you to use multiple mirrors or RAID-like error correction ! so that you can restore your files even if some of your backup servers ! are not accessible. <h2>Main Features</h2> *************** *** 17,37 **** <ul> <li><b>Encryption:</b> ! all files are encrypted using well known and configurable encryption ! algorithm. There is even an option where every file is encrypted with a ! different key. Even the original filenames are not visible in the ! archive. <p> <li><b>Secure connection:</b> ! If desired all connections to the backup servers use SSL in order ! to avoid leaking any information to sniffers. <p> <li><b>Redundancy:</b> ! Your files can either be backed up on one server, or, if you prefer ! to have a bigger success of restoring your data, you can use one of the following options: <ul> ! <li><i>Mirroring:</i> this option lets you store a copy of your files on as many servers as you want. As long as you have access to at least --- 17,38 ---- <ul> <li><b>Encryption:</b> ! All files are encrypted using well known and configurable encryption ! algorithms such as AES (Rijndael). It will be possible to ! encrypt every file with a different key and even the original ! filenames are not visible in the archive. <p> <li><b>Secure connection:</b> ! SSL is the default transport mechanism between clients and ! backup servers to prevent eavesdropping, tampering, and message ! forgery. <p> <li><b>Redundancy:</b> ! Your files can be backed up on one server, or, if you prefer ! to have better odds restoring your data, you can use one of the following options: <ul> ! <li><i>Mirroring:</i> this option lets you store a copy of your files on as many servers as you want. As long as you have access to at least *************** *** 52,65 **** <li><b>Multiple Policies:</b> ! The configuration allows you to specify which files are more important ! than others. The important once will be backed up more regularly than the ! others. This way you can preserve some bandwidth and avoid clogging ! your network pipe. <p> <li><b>Server options:</b> ! If you offer your friends to host a backup server you can specify the upload and download bandwidth each of your friends can use and vary it ! during the day. This way you can avoid that one of them takes up all the bandwidth on your DSL/Cable line. Additionally you can define the maximum number of bytes each friend can use on your system. --- 53,66 ---- <li><b>Multiple Policies:</b> ! The configuration allows you to specify which files are more important ! than others. More important files can be backed up more often ! than less important ones. This way you can preserve some bandwidth ! and avoid overloading your network pipe. <p> <li><b>Server options:</b> ! If you offer your friends to host a backup server you can specify the upload and download bandwidth each of your friends can use and vary it ! during the day. This way you can avoid that one of them takes up all the bandwidth on your DSL/Cable line. Additionally you can define the maximum number of bytes each friend can use on your system. *************** *** 68,81 **** <li><b>Multiple Backups:</b> You can specify how many versions of each file should be kept on the ! server. <p> <li><b>Small Bandwidth:</b> ! The protocol used to talk to the server has been optimized for backups, ! in order to preserve as much bandwidth, Server CPU cycles and space as ! possible while creating backups. Restoring single files is cheap too, but ! restoring the full backup is slightly more expensive on the server side, ! as it has to create some listings that need to be sent to the restoring ! computer. <p> --- 69,82 ---- <li><b>Multiple Backups:</b> You can specify how many versions of each file should be kept on the ! server. (So you can restore older versions of any file.) <p> <li><b>Small Bandwidth:</b> ! The client-server protocol has been optimized for backups ! in order to use as little bandwidth, server CPU cycles, and space as ! possible. Restoring single files is inexpensive too, but ! restoring the full backup is slightly more expensive on the ! server side since it must generate file listings to be sent to ! the restoring computer. <p> *************** *** 90,97 **** <li><b>Reusing Technology:</b> ! To simplify the implementation we decided to use apache as a backup ! server (using cgi scripts for the prototype and eventually a real module). This means that we will also use the standard HTTP and HTTPS ! protocol. <p> --- 91,98 ---- <li><b>Reusing Technology:</b> ! To simplify the implementation we decided to use Apache as a backup ! server (using CGI scripts for the prototype and eventually an Apache module). This means that we will also use the standard HTTP and HTTPS ! protocol. <p> *************** *** 101,111 **** <h2>Current Status</h2> ! We are currently creating the specs for backup clients, backup servers and the ! protocol and implementing a prototype. <h2>Sourceforge</h2> ! All important files are accessible via our ! <a href=http://sourceforge.net/projects/redoubt/>sourceforge page</a> ! ! --- 102,112 ---- <h2>Current Status</h2> ! We are currently creating the specifications for backup clients, ! backup servers, and the redoubt API as we implement the initial ! prototype. <h2>Sourceforge</h2> ! All important files are accessible via the <a ! href=http://sourceforge.net/projects/redoubt/>redoubt SourceForge ! page</a> |
From: Claudio F. <cf...@us...> - 2002-01-17 19:24:56
|
Update of /cvsroot/redoubt/docs In directory usw-pr-cvs1:/tmp/cvs-serv29173 Added Files: index.html Log Message: Our very first homepage --- NEW FILE: index.html --- <html><head><title>Redoubt: secure offsite backups</title></head> <body bgcolor=ffffff> <h1>Redoubt: secure offsite backups</h1> <H2>What it does</h2> The redoubt backup system lets you backup your files to one or more offsite computers that you do not fully trust (like the computer of a friends). All files will be encrypted before they are stored, and it allows you to use multiple mirrors or RAID like error correction so that you can restore your files even if some of your backup servers are no longer accessible. <h2>Main Features</h2> <ul> <li><b>Encryption:</b> all files are encrypted using well known and configurable encryption algorithm. There is even an option where every file is encrypted with a different key. Even the original filenames are not visible in the archive. <p> <li><b>Secure connection:</b> If desired all connections to the backup servers use SSL in order to avoid leaking any information to sniffers. <p> <li><b>Redundancy:</b> Your files can either be backed up on one server, or, if you prefer to have a bigger success of restoring your data, you can use one of the following options: <ul> <li><i>Mirroring:</i> this option lets you store a copy of your files on as many servers as you want. As long as you have access to at least one of them you can restore your files. <li><i>n-1 out of n servers:</i> Using a RAID like error correction algorithm you can distribute your files among several servers, and restore them if at most one of the servers is no longer accessible. You need at least 3 servers for this option to work. <li><i>2 out of 4:</i> Your data is stored on 4 different servers. If you can access at least two of those servers your files can be restored. <li><i>others:</i> If other options (like 2 out of 3, ...) seem to be important, they can be easily added. </ul> <p> <li><b>Multiple Policies:</b> The configuration allows you to specify which files are more important than others. The important once will be backed up more regularly than the others. This way you can preserve some bandwidth and avoid clogging your network pipe. <p> <li><b>Server options:</b> If you offer your friends to host a backup server you can specify the upload and download bandwidth each of your friends can use and vary it during the day. This way you can avoid that one of them takes up all the bandwidth on your DSL/Cable line. Additionally you can define the maximum number of bytes each friend can use on your system. <p> <li><b>Multiple Backups:</b> You can specify how many versions of each file should be kept on the server. <p> <li><b>Small Bandwidth:</b> The protocol used to talk to the server has been optimized for backups, in order to preserve as much bandwidth, Server CPU cycles and space as possible while creating backups. Restoring single files is cheap too, but restoring the full backup is slightly more expensive on the server side, as it has to create some listings that need to be sent to the restoring computer. <p> <li><b>CD Support:</b> Eventually it will be possible to burn CD's that can be sent to the backup server in order to preserve bandwidth when creating the first full backup (and vice versa: in order to restore a full system the backup server can burn CD's). Those CD's can also be used independent of the backup server, which means that only incremental backups are stored on the servers. <p> <li><b>Reusing Technology:</b> To simplify the implementation we decided to use apache as a backup server (using cgi scripts for the prototype and eventually a real module). This means that we will also use the standard HTTP and HTTPS protocol. <p> </ul> <h2>Current Status</h2> We are currently creating the specs for backup clients, backup servers and the protocol and implementing a prototype. <h2>Sourceforge</h2> All important files are accessible via our <a href=http://sourceforge.net/projects/redoubt/>sourceforge page</a> |
From: Claudio F. <cf...@us...> - 2002-01-17 07:39:42
|
Update of /cvsroot/redoubt/docs In directory usw-pr-cvs1:/tmp/cvs-serv18181 Added Files: README Log Message: The Readme file --- NEW FILE: README --- Manuals, Documentations and Specs |
From: Claudio F. <cf...@us...> - 2002-01-17 07:36:34
|
Update of /cvsroot/redoubt/docs/ec In directory usw-pr-cvs1:/tmp/cvs-serv17524/ec Removed Files: 2_4 Makefile ec ec.c Log Message: Stupid mistake when creating the docs directory... --- 2_4 DELETED --- --- Makefile DELETED --- --- ec DELETED --- --- ec.c DELETED --- |
From: Claudio F. <cf...@us...> - 2002-01-17 07:36:34
|
Update of /cvsroot/redoubt/docs/docs In directory usw-pr-cvs1:/tmp/cvs-serv17524/docs Removed Files: README Log Message: Stupid mistake when creating the docs directory... --- README DELETED --- |
From: Claudio F. <cf...@us...> - 2002-01-17 07:36:34
|
Update of /cvsroot/redoubt/docs In directory usw-pr-cvs1:/tmp/cvs-serv17524 Removed Files: agents client.txt error_correction.ps features.txt protocol.txt Log Message: Stupid mistake when creating the docs directory... --- agents DELETED --- --- client.txt DELETED --- --- error_correction.ps DELETED --- --- features.txt DELETED --- --- protocol.txt DELETED --- |
From: Claudio F. <cf...@us...> - 2002-01-17 07:32:58
|
Update of /cvsroot/redoubt/docs In directory usw-pr-cvs1:/tmp/cvs-serv16782 Log Message: Setting up docs module Status: Vendor Tag: cfl Release Tags: start N docs/client.txt N docs/error_correction.ps N docs/features.txt N docs/protocol.txt N docs/agents N docs/ec/Makefile N docs/ec/ec.c N docs/ec/ec N docs/ec/2_4 N docs/CVSROOT/checkoutlist N docs/CVSROOT/commitinfo N docs/CVSROOT/config N docs/CVSROOT/cvswrappers N docs/CVSROOT/editinfo N docs/CVSROOT/loginfo N docs/CVSROOT/modules N docs/CVSROOT/notify N docs/CVSROOT/rcsinfo N docs/CVSROOT/syncmail N docs/CVSROOT/taginfo N docs/CVSROOT/verifymsg N docs/docs/README No conflicts created by this import ***** Bogus filespec: - Imported sources |