From 8a572a7cf41d220f6afbf4ea9a65710edf885e98 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 30 Aug 2024 17:21:01 +0200 Subject: m + add -W[no-]xlink and -W[no-]xdev MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- README | 23 ++++++++++++++++++++--- anysum.1 | 22 ++++++++++++++++++++++ anysum.c | 3 ++- b224sum.1 | 22 ++++++++++++++++++++++ b256sum.1 | 22 ++++++++++++++++++++++ b384sum.1 | 22 ++++++++++++++++++++++ b512sum.1 | 22 ++++++++++++++++++++++ bsum.1 | 22 ++++++++++++++++++++++ command.c | 2 +- common.h | 5 ++++- get.c | 28 ++++++++++++++++++++++++---- keccak224sum.1 | 22 ++++++++++++++++++++++ keccak256sum.1 | 22 ++++++++++++++++++++++ keccak384sum.1 | 22 ++++++++++++++++++++++ keccak512sum.1 | 22 ++++++++++++++++++++++ keccaksum.1 | 22 ++++++++++++++++++++++ md2sum.1 | 22 ++++++++++++++++++++++ md4sum.1 | 22 ++++++++++++++++++++++ md5sum.1 | 22 ++++++++++++++++++++++ opts.c | 28 ++++++++++++++++++++++++---- rawshake128sum.1 | 22 ++++++++++++++++++++++ rawshake256sum.1 | 22 ++++++++++++++++++++++ rawshake512sum.1 | 22 ++++++++++++++++++++++ read.c | 2 +- rmd128sum.1 | 22 ++++++++++++++++++++++ rmd160sum.1 | 22 ++++++++++++++++++++++ rmd256sum.1 | 22 ++++++++++++++++++++++ rmd320sum.1 | 22 ++++++++++++++++++++++ sha0sum.1 | 22 ++++++++++++++++++++++ sha1sum.1 | 22 ++++++++++++++++++++++ sha224sum.1 | 22 ++++++++++++++++++++++ sha256sum.1 | 22 ++++++++++++++++++++++ sha3-224sum.1 | 22 ++++++++++++++++++++++ sha3-256sum.1 | 22 ++++++++++++++++++++++ sha3-384sum.1 | 22 ++++++++++++++++++++++ sha3-512sum.1 | 22 ++++++++++++++++++++++ sha384sum.1 | 22 ++++++++++++++++++++++ sha3sum.1 | 22 ++++++++++++++++++++++ sha512-224sum.1 | 22 ++++++++++++++++++++++ sha512-256sum.1 | 22 ++++++++++++++++++++++ sha512sum.1 | 22 ++++++++++++++++++++++ shake128sum.1 | 22 ++++++++++++++++++++++ shake256sum.1 | 22 ++++++++++++++++++++++ shake512sum.1 | 22 ++++++++++++++++++++++ 44 files changed, 890 insertions(+), 15 deletions(-) diff --git a/README b/README index cfef42b..252f63c 100644 --- a/README +++ b/README @@ -219,14 +219,31 @@ OPTIONS recursive If a file operand is a directory, the checksum - is computed for all files recursively. - This option is ignored if the -c option is - used. + is computed for all files recursively. This + option is ignored if the -c option is used. no-recursive The utility shall traverse directories. (This is the default behaviour). + xdev + Implies -Wrecursive but also allows the + recursion across mountpoints. + + no-xdev + Disable recursion across mountpoints. (This is + the default behaviour). Note that this does + not disable recursion by itself. + + xlink + Implies -Wrecursive but also allows the + recursion across symbolic links. + + no-xlink + Disable recursion across symbolic links. (This + is the default behaviour). Note that this does + not disable recursion by itself. + -w Warn about, but skip, lines that are not properly formatted. diff --git a/anysum.1 b/anysum.1 index b2038cc..1a65a66 100644 --- a/anysum.1 +++ b/anysum.1 @@ -289,6 +289,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/anysum.c b/anysum.c index 6853ca5..de85e46 100644 --- a/anysum.c +++ b/anysum.c @@ -107,7 +107,8 @@ main(int argc, char **argv) } } ret = calculate_and_print_each(argv, config.algorithms, config.nalgorithms, config.threads, - config.format, config.hexinput, config.recursive); + config.format, config.hexinput, config.recursive, config.xdev, + config.xlink); } for (i = 0; i < config.nalgorithms; i++) diff --git a/b224sum.1 b/b224sum.1 index 7f3551f..6dea665 100644 --- a/b224sum.1 +++ b/b224sum.1 @@ -117,6 +117,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/b256sum.1 b/b256sum.1 index 511542a..f4bb2e8 100644 --- a/b256sum.1 +++ b/b256sum.1 @@ -117,6 +117,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/b384sum.1 b/b384sum.1 index 43aca61..ed0151c 100644 --- a/b384sum.1 +++ b/b384sum.1 @@ -117,6 +117,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/b512sum.1 b/b512sum.1 index 92d883d..cde76a6 100644 --- a/b512sum.1 +++ b/b512sum.1 @@ -117,6 +117,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/bsum.1 b/bsum.1 index e897946..49f99f9 100644 --- a/bsum.1 +++ b/bsum.1 @@ -133,6 +133,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/command.c b/command.c index d280766..de21786 100644 --- a/command.c +++ b/command.c @@ -42,7 +42,7 @@ getcommand(const char **name_out, enum libhashsum_algorithm *algorithm_out) return BSUM; specialised: - if (!libhashsum_get_algorithm_string(algorithm_out, name)) + if (!libhashsum_get_algorithm_from_string(algorithm_out, name)) eprintf("invalid command name, is not \"anysum\" and " "does not match any known hash function"); if (strchr(name, '[')) diff --git a/common.h b/common.h index a228fbd..f601ae5 100644 --- a/common.h +++ b/common.h @@ -58,6 +58,8 @@ struct config { int warn_improper_format; int hexinput; int recursive; + int xdev; + int xlink; struct algorithm *algorithms; size_t nalgorithms; size_t threads; @@ -113,7 +115,8 @@ struct thread_data { /* get.c */ int calculate_and_print_each(char **files, struct algorithm *algorithms, size_t nalgorithms, - size_t nthreads, enum format format, int hexinput, int recursive); + size_t nthreads, enum format format, int hexinput, int recursive, + int xdev, int xlink); /* check.c */ int verify_checksums(char **files, struct algorithm *algorithms, size_t nalgorithms, size_t nthreads, diff --git a/get.c b/get.c index 5758388..fe92ab3 100644 --- a/get.c +++ b/get.c @@ -10,8 +10,10 @@ struct recursion_buffer { static int -calculate_and_print(const char *file, struct barrier_group *group, struct global_data *global, struct recursion_buffer *recbuf) +calculate_and_print(const char *file, struct barrier_group *group, struct global_data *global, + struct recursion_buffer *recbuf, int is_top, int xlink, int xdev, dev_t dev) { + static struct stat st; struct dirent *f; DIR *dir; size_t i, len, old_len; @@ -21,6 +23,20 @@ calculate_and_print(const char *file, struct barrier_group *group, struct global dir = opendir(file); if (!dir) goto as_file; + if (!is_top && !xlink) { + if (lstat(file, &st)) + goto recusion_error_print; + if (S_ISLNK(st.st_mode)) + return 0; + } + if (!xdev) { + if (fstat(dirfd(dir), &st)) + goto recusion_error_print; + if (is_top) + dev = st.st_dev; + else if (st.st_dev != dev) + return 0; + } if (recbuf->size - recbuf->len < strlen(file) + 1U) { recbuf->size = recbuf->len + strlen(file) + 1U; recbuf->buf = erealloc(recbuf->buf, recbuf->size); @@ -32,17 +48,20 @@ calculate_and_print(const char *file, struct barrier_group *group, struct global recbuf->buf[recbuf->len++] = '/'; len = recbuf->len; while ((errno = 0, f = readdir(dir))) { + if (f->d_name[0] == '.' && !f->d_name[f->d_name[1] == '.' ? 2 : 1]) + continue; if (recbuf->size - len < strlen(f->d_name) + 1U) { recbuf->size = len + strlen(f->d_name) + 1U; recbuf->buf = erealloc(recbuf->buf, recbuf->size); } stpcpy(&recbuf->buf[len], f->d_name); - if (calculate_and_print(recbuf->buf, group, global, recbuf)) + if (calculate_and_print(recbuf->buf, group, global, recbuf, 0, xlink, xdev, dev)) goto recusion_error; } recbuf->len = old_len; recbuf->buf[recbuf->len] = '\0'; if (errno) { + recusion_error_print: weprintf("%s:", file); recusion_error: closedir(dir); @@ -63,7 +82,8 @@ as_file: int calculate_and_print_each(char **files, struct algorithm *algorithms, size_t nalgorithms, - size_t nthreads, enum format format, int hexinput, int recursive) + size_t nthreads, enum format format, int hexinput, int recursive, + int xdev, int xlink) { struct recursion_buffer recbuf = {NULL, 0, 0}; size_t wanted_nalgorithms = nalgorithms; @@ -85,7 +105,7 @@ calculate_and_print_each(char **files, struct algorithm *algorithms, size_t nalg createbarriergroup(&group, nthreads, &global); for (; *files; files++) - if (calculate_and_print(*files, &group, &global, recursive ? &recbuf : NULL)) + if (calculate_and_print(*files, &group, &global, recursive ? &recbuf : NULL, 1, xlink, xdev, 0)) ret = 2; if (global.nalgorithms != wanted_nalgorithms) diff --git a/keccak224sum.1 b/keccak224sum.1 index f1761e3..f3e6a32 100644 --- a/keccak224sum.1 +++ b/keccak224sum.1 @@ -108,6 +108,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/keccak256sum.1 b/keccak256sum.1 index e39bf56..ccfce96 100644 --- a/keccak256sum.1 +++ b/keccak256sum.1 @@ -108,6 +108,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/keccak384sum.1 b/keccak384sum.1 index 774ca03..fbcf6d3 100644 --- a/keccak384sum.1 +++ b/keccak384sum.1 @@ -108,6 +108,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/keccak512sum.1 b/keccak512sum.1 index 4858004..e29d6e0 100644 --- a/keccak512sum.1 +++ b/keccak512sum.1 @@ -108,6 +108,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/keccaksum.1 b/keccaksum.1 index 8b27314..cbc76ee 100644 --- a/keccaksum.1 +++ b/keccaksum.1 @@ -135,6 +135,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/md2sum.1 b/md2sum.1 index 6460c53..8dd679c 100644 --- a/md2sum.1 +++ b/md2sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/md4sum.1 b/md4sum.1 index 7fb1ddb..05e4e4d 100644 --- a/md4sum.1 +++ b/md4sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/md5sum.1 b/md5sum.1 index e342b7d..1a88901 100644 --- a/md5sum.1 +++ b/md5sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/opts.c b/opts.c index 5c264dd..7805897 100644 --- a/opts.c +++ b/opts.c @@ -55,17 +55,37 @@ parseopt_vendor(void *config_, char *opt, char *val) eprintf("-W option \"%s\" expected positive integer value or \"auto\"", opt); } else if (!strcmp(opt, "recursive")) { - /* TODO the default behaviour should be to not traverse across mount points, - * not to not follow symbolic links, however this should be tweakable */ - if (!val) + if (val) eprintf("-W option \"%s\" should not have an associated value", opt); config->recursive = 1; } else if (!strcmp(opt, "no-recursive")) { - if (!val) + if (val) eprintf("-W option \"%s\" should not have an associated value", opt); config->recursive = 0; + } else if (!strcmp(opt, "xdev")) { + if (val) + eprintf("-W option \"%s\" should not have an associated value", opt); + config->recursive = 1; + config->xdev = 1; + + } else if (!strcmp(opt, "no-xdev")) { + if (val) + eprintf("-W option \"%s\" should not have an associated value", opt); + config->xdev = 0; + + } else if (!strcmp(opt, "xlink")) { + if (val) + eprintf("-W option \"%s\" should not have an associated value", opt); + config->recursive = 1; + config->xlink = 1; + + } else if (!strcmp(opt, "no-xlink")) { + if (val) + eprintf("-W option \"%s\" should not have an associated value", opt); + config->xlink = 0; + } else { return 0; } diff --git a/rawshake128sum.1 b/rawshake128sum.1 index d3fa614..ad461fd 100644 --- a/rawshake128sum.1 +++ b/rawshake128sum.1 @@ -113,6 +113,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/rawshake256sum.1 b/rawshake256sum.1 index 5932407..1627774 100644 --- a/rawshake256sum.1 +++ b/rawshake256sum.1 @@ -113,6 +113,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/rawshake512sum.1 b/rawshake512sum.1 index 81df55c..2d43c11 100644 --- a/rawshake512sum.1 +++ b/rawshake512sum.1 @@ -113,6 +113,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/read.c b/read.c index 07cf893..1ed5847 100644 --- a/read.c +++ b/read.c @@ -7,7 +7,7 @@ feedbuffer(int fd, struct buffer *buffer, const char *fname) { ssize_t r; if (buffer->offset == buffer->size) - buffer->buf = erealloc(buffer->buf, buffer->size += 8096); + buffer->buf = erealloc(buffer->buf, buffer->size += 8192); again: r = read(fd, &buffer->buf[buffer->offset], buffer->size - buffer->offset); if (r <= 0) { diff --git a/rmd128sum.1 b/rmd128sum.1 index c19de2d..cd18b2e 100644 --- a/rmd128sum.1 +++ b/rmd128sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/rmd160sum.1 b/rmd160sum.1 index e470631..c2d3367 100644 --- a/rmd160sum.1 +++ b/rmd160sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/rmd256sum.1 b/rmd256sum.1 index 125dc68..9fd7238 100644 --- a/rmd256sum.1 +++ b/rmd256sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/rmd320sum.1 b/rmd320sum.1 index 463ef3b..176291a 100644 --- a/rmd320sum.1 +++ b/rmd320sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha0sum.1 b/sha0sum.1 index b909e7c..cc041af 100644 --- a/sha0sum.1 +++ b/sha0sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha1sum.1 b/sha1sum.1 index f54dbe7..7bf7c3a 100644 --- a/sha1sum.1 +++ b/sha1sum.1 @@ -98,6 +98,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha224sum.1 b/sha224sum.1 index 5894ef8..d206cb4 100644 --- a/sha224sum.1 +++ b/sha224sum.1 @@ -99,6 +99,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha256sum.1 b/sha256sum.1 index eb23644..2d19e73 100644 --- a/sha256sum.1 +++ b/sha256sum.1 @@ -99,6 +99,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha3-224sum.1 b/sha3-224sum.1 index f1c59a2..e7be65f 100644 --- a/sha3-224sum.1 +++ b/sha3-224sum.1 @@ -108,6 +108,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha3-256sum.1 b/sha3-256sum.1 index 17c64f1..860af36 100644 --- a/sha3-256sum.1 +++ b/sha3-256sum.1 @@ -108,6 +108,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha3-384sum.1 b/sha3-384sum.1 index 6dadf8d..eabc572 100644 --- a/sha3-384sum.1 +++ b/sha3-384sum.1 @@ -108,6 +108,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha3-512sum.1 b/sha3-512sum.1 index a3faaae..50bef69 100644 --- a/sha3-512sum.1 +++ b/sha3-512sum.1 @@ -100,6 +100,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -l diff --git a/sha384sum.1 b/sha384sum.1 index 085c22c..1718c18 100644 --- a/sha384sum.1 +++ b/sha384sum.1 @@ -99,6 +99,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha3sum.1 b/sha3sum.1 index 182d36e..92f862e 100644 --- a/sha3sum.1 +++ b/sha3sum.1 @@ -117,6 +117,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha512-224sum.1 b/sha512-224sum.1 index f19a592..ec49d7c 100644 --- a/sha512-224sum.1 +++ b/sha512-224sum.1 @@ -99,6 +99,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha512-256sum.1 b/sha512-256sum.1 index 8ff46ca..2cc8fb8 100644 --- a/sha512-256sum.1 +++ b/sha512-256sum.1 @@ -99,6 +99,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/sha512sum.1 b/sha512sum.1 index 7f0fec8..bcbb598 100644 --- a/sha512sum.1 +++ b/sha512sum.1 @@ -99,6 +99,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/shake128sum.1 b/shake128sum.1 index 59f0669..239b916 100644 --- a/shake128sum.1 +++ b/shake128sum.1 @@ -113,6 +113,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/shake256sum.1 b/shake256sum.1 index a870510..258879c 100644 --- a/shake256sum.1 +++ b/shake256sum.1 @@ -113,6 +113,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w diff --git a/shake512sum.1 b/shake512sum.1 index 0f34822..89879a1 100644 --- a/shake512sum.1 +++ b/shake512sum.1 @@ -113,6 +113,28 @@ option is used. .B no-recursive The utility shall traverse directories. (This is the default behaviour). +.TP +.B xdev +Implies +.B -W recursive +but also allows the recursion across mountpoints. +.TP +.B no-xdev +Disable recursion across mountpoints. +(This is the default behaviour). +Note that this does not disable +recursion by itself. +.TP +.B xlink +Implies +.B -W recursive +but also allows the recursion across symbolic links. +.TP +.B no-xlink +Disable recursion across symbolic links. +(This is the default behaviour). +Note that this does not disable +recursion by itself. .RE .TP .B -w -- cgit v1.2.3-70-g09d2