|
NAMEctm —
source code mirror program
SYNOPSIS
DESCRIPTIONThectm utility was originally “Cvs Through
eMail”, but now instead it seems more fitting to call it
“Current Through eMail”.
The There are two parts to this, making the delta and applying it. These are two entirely different things. UsageTo apply a CTM delta, you pass it to thectm command.
You can pass a CTM delta on stdin, or you can give the filename as an
argument. If you do the latter, you make life a lot easier for your self,
since the program can accept gzip'ed, bzip2'ed, or xz'ed files and since it
will not have to make a temporary copy of your file. (If you pass it an xz'ed
file, and xz is not part of your base system, you will have to install xz from
the ports.) You can specify multiple deltas at one time, they will be
processed one at a time. Deltas that are already applied will be ignored.
The Before working on a file name
Pass 1 will verify that the input file is OK. The syntax, the data
and the global MD5 checksum will be checked. If any of these fail,
Pass 2 will validate that the directory tree is in the state expected by the CTM delta. This is done by looking for files and directories which should/should not exist and by checking the MD5 checksums of files. If a backup-file had been specified using
the Pass 3 will actually apply the delta. The list of files that would be modified by
The Options
SECURITYOn its own, CTM is an insecure protocol - there is no authentication performed that the changes applied to the source code were sent by a trusted party, and so care should be taken if the CTM deltas are obtained via an unauthenticated medium such as regular email. It is a relatively simple matter for an attacker to forge a CTM delta to replace or precede the legitimate one and insert malicious code into your source tree. If the legitimate delta is somehow prevented from arriving, this will go unnoticed until a later delta attempts to touch the same file, at which point the MD5 checksum will fail.To remedy this insecurity, CTM pieces generated by FreeBSD.org are cryptographically signed in a format compatible with the GNU Privacy Guard utility, available in /usr/ports/security/gpg, and the Pretty Good Privacy v5 utility, /usr/ports/security/pgp5. The relevant public key can be obtained by fingering ctm@FreeBSD.org. CTM deltas which are thus signed cannot be undetectably altered by an attacker. Therefore it is recommended that you make use of GPG or PGP5 to verify the signatures if you receive your CTM deltas via email. ENVIRONMENTTMPDIR , if set to a pathname, will cause ctm to use that
pathname as the location of temporary file. See
tempnam(3),
for more details on this. The same effect may be achieved with the
-T flag.
FILES.ctm_status contains the sequence number of the last CTM delta applied. Changing or removing this file will greatly confusectm .
.svn_revision contains the revision number
emitted by SVN (to reference when discussing sources with users of
Using the EXAMPLEScd ~cvs /usr/sbin/ctm ~ctm/cvs-* To extract and patch all sources under `lib' cd ~/lib-srcs /usr/sbin/ctm -e '^lib' ~ctm/src-cur* DIAGNOSTICSNumerous messages, hopefully self-explanatory. The “noise level” can be adjusted with the-q ,
-v and -V options.
SEE ALSOctm(5), ctm_dequeue(8), ctm_rmail(8), ctm_smail(8)Miscellaneous CTM on FreeBSD Resources, http://ctm.berklix.org. HISTORYInitial trials were run during the work on FreeBSD 1.1.5, and many bugs and methods were hashed out.The AUTHORSThe CTM system has been designed and implemented by Poul-Henning Kamp <phk@FreeBSD.org>.Joerg Wunsch <joerg@FreeBSD.org> wrote this man-page.
Visit the GSP FreeBSD Man Page Interface. |