diff options
author | wollman <wollman@FreeBSD.org> | 1995-02-10 03:12:42 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1995-02-10 03:12:42 +0000 |
commit | f56d4ade79467d29f0972a00c1c02315c5945d20 (patch) | |
tree | e11ae5f9067bb371fd54bdf8406046e5a527c742 /usr.sbin/mtree/create.c | |
parent | 823ef3fe8fd2a8d1d1f0a4c195fa1202207d8f58 (diff) | |
download | FreeBSD-src-f56d4ade79467d29f0972a00c1c02315c5945d20.zip FreeBSD-src-f56d4ade79467d29f0972a00c1c02315c5945d20.tar.gz |
mtree * MD5 = better security
Idea from: Dr. John T. Wroclawski
Diffstat (limited to 'usr.sbin/mtree/create.c')
-rw-r--r-- | usr.sbin/mtree/create.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.sbin/mtree/create.c b/usr.sbin/mtree/create.c index 8529986..af8d468 100644 --- a/usr.sbin/mtree/create.c +++ b/usr.sbin/mtree/create.c @@ -46,6 +46,7 @@ static char sccsid[] = "@(#)create.c 8.1 (Berkeley) 6/6/93"; #include <errno.h> #include <unistd.h> #include <stdio.h> +#include <md5.h> #include "mtree.h" #include "extern.h" @@ -187,6 +188,16 @@ statf(indent, p) (void)close(fd); output(indent, &offset, "cksum=%lu", val); } + if (keys & F_MD5 && S_ISREG(p->fts_statp->st_mode)) { + char *md5digest = MD5File(p->fts_accpath); + + if (!md5digest) { + err("%s: %s", p->fts_accpath, strerror(errno)); + } else { + output(indent, &offset, "md5digest=%s", md5digest); + free(md5digest); + } + } if (keys & F_SLINK && (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) output(indent, &offset, "link=%s", rlink(p->fts_accpath)); |