aboutsummaryrefslogtreecommitdiff
path: root/b3sum/src
AgeCommit message (Collapse)Author
2022-01-07update clap to v3Jack O'Connor
2021-03-28more cleaup of undocumented APIJack O'Connor
2021-03-14add *_rayon methodsJack O'Connor
2020-06-24put the file name in b3sum error outputJack O'Connor
This was previously there, but got dropped in c5c07bb337d0af7522666d05308aaf24eef3709c.
2020-05-25all-capitalize "FILE" in the b3sum help outputJack O'Connor
2020-05-25avoid repeating a stringJack O'Connor
2020-05-23remove an extra space in some help textJack O'Connor
2020-05-23use wild::args_os to support globbing on WindowsJack O'Connor
2020-05-23add support for --quiet to `b3sum --check`Jack O'Connor
Suggested by @llowrey: https://github.com/BLAKE3-team/BLAKE3/issues/33#issuecomment-629853747
2020-05-14clarify that --no-mmap disables threadingJack O'Connor
2020-05-14print per-file errros more gracefuly in --checkJack O'Connor
2020-05-13refactor b3sum to support --checkJack O'Connor
This is an overall cleanup of everything that b3sum is doing, especially file opening and memory mapping, which makes it easier for the regular hashing mode to share code with the checking mode.
2020-05-12add parse_check_lineJack O'Connor
As part of this, reorganize b3sum tests into src/unit_tests.rs and tests/cli_tests.rs.
2020-05-12stop printing the lossy warningJack O'Connor
Rather than breaking the check parse with more output, we'll have a rule that a Unicode replacement character (�) in a path name automatically fails the check.
2020-05-05add newline and backslash escaping to b3sum outputJack O'Connor
As proposed in https://github.com/BLAKE3-team/BLAKE3/issues/33#issuecomment-623153164 This brings b3sum behavior close to md5sum. All occurrences of backslash are replaced with "\\", and all occurrences of (Unix) newline are replaced with "\n". In addition, any line containing these escapes has a single "\" prepended to the front. Filepaths were already being converted to UTF-8 with to_string_lossy(), but this commit adds an extra warning when that conversion is in fact lossy (because the path is not valid Unicode). This new warning is printed to stdout, with the goal of deliberately breaking --check (which is not yet implemented) in this case.
2020-03-16add the --num-threads flagJack O'Connor
As part of this change, make the rayon and memmap dependencies mandatory. This simplifies the code a lot, and I'm not aware of any callers who build b3sum without the default dependencies. If --num-threads is not given, or if its value is 0, b3sum will still respect the RAYON_NUM_THREADS environment variable.
2020-03-15wrap --help output to 80 columnsJack O'Connor
2020-02-06Hasher::update_with_joinJack O'Connor
This is a new interface that allows the caller to provide a multi-threading implementation. It's defined in terms of a new `Join` trait, for which we provide two implementations, `SerialJoin` and `RayonJoin`. This lets the caller control when multi-threading is used, rather than the previous all-or-nothing design of the "rayon" feature. Although existing callers should keep working, this is a compatibility break, because callers who were relying on automatic multi-threading before will now be single-threaded. Thus the next release of this crate will need to be version 0.2. See https://github.com/BLAKE3-team/BLAKE3/issues/25 and https://github.com/BLAKE3-team/BLAKE3/issues/54.
2020-01-20clarify the --no-mmap logic a bitJack O'Connor
2020-01-20b3sum: add no-mmap optionCesar Eduardo Barros
Using mmap is not always the best option. For instance, if the file is truncated while being read, b3sum will receive a SIGBUS and abort. Follow ripgrep's lead and add a --no-mmap option to disable mmap. This can also help benchmark the mmap versus the read path, and help debug performance issues potentially caused by mmap access patterns (like issue #32).
2020-01-17edit the --raw help stringJack O'Connor
2020-01-17Merge pull request #22 from phayes/raw_outputJack O'Connor
Adds support for raw output to b3sum
2020-01-17b3sum: do not mmap files smaller than 16 KiBAlbert Safin
2020-01-14Using take() to limit the number of bytes copiesphayes
2020-01-13bailing early if we have both --raw and multiple filesphayes
2020-01-13Fixing stdout lockingphayes
2020-01-13Locking stdout for writing in a tight loop.phayes
2020-01-13Adds support for raw output to b3sumphayes
2020-01-07clarify that b3sum --keyed takes raw key bytesJack O'Connor
2020-01-05make the --length argument require a valueJack O'Connor
2019-12-28make derive_key take a key of any lengthJack O'Connor
The previous version of this API called for a key of exactly 256 bits. That's good for optimal performance, but it would mean losing the use-with-other-algorithms property for applications whose input keys are a different size. There's no way for an abstraction over the previous version to provide reliable domain separation for the "extract" step.
2019-12-13show the default value for b3sum --lengthJack O'Connor
2019-12-13make the b3sum --help text wording more consistentJack O'Connor
2019-12-13make b3sum --keyed and --derive-key read the key from stdinJack O'Connor
Putting secret keys on the command line is bad practice, because command line args are usually globally visible within the OS. Even if these flags are mostly intended for testing and experimentation, we might as well do the right thing. Plus this saves people the trouble of hex encoding their keys.
2019-12-13fix another warning in b3sum --no-default-featuresJack O'Connor
2019-12-13add --no-names to b3sumJack O'Connor
Printing all names by default is more consistent with Coreutils.
2019-12-12make the "c_avx512" feature a no-op on non-x86Jack O'Connor
This lets us enable it by default in b3sum.
2019-12-12initial version of b3sumJack O'Connor