chiark / gitweb /
vbig.git
11 years agoUse RC4-drop, not RC4
Ian Jackson [Thu, 21 Feb 2013 15:49:53 +0000 (15:49 +0000)]
Use RC4-drop, not RC4

RC4 is broken and is vulnerable to key recovery attacks.
See http://en.wikipedia.org/wiki/RC4#Security

Dropping the first 3072 bytes of the stream makes one of these attacks
harder.  This doesn't fix the problems with using RC4 but it is an
improvement.

These problems are probably theoretical right now because plausible
contemporary threat models don't seem to involve the fake flash drive
trying serious cryptanalysis on our datastream.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 years agoMake --both the default
Ian Jackson [Thu, 21 Feb 2013 15:46:00 +0000 (15:46 +0000)]
Make --both the default

This does away with the NONE mode and the corresponding usage error.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 years agoNew mode --both (-b), which does create then verify
Ian Jackson [Thu, 21 Feb 2013 15:44:49 +0000 (15:44 +0000)]
New mode --both (-b), which does create then verify

This implies --entire unless a size is specified.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 years agoNew --entire option
Ian Jackson [Thu, 21 Feb 2013 16:46:23 +0000 (16:46 +0000)]
New --entire option

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
11 years agoBreak out function "execute"
Ian Jackson [Thu, 21 Feb 2013 15:41:51 +0000 (15:41 +0000)]
Break out function "execute"

Code motion and incidental changes:
 - Make the 2nd half of main into its own function
 - Make most of the arg variables have file scope and static duration

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
12 years agoMake SIZE argument optional when verifying. It is inferred from the
Richard Kettlewell [Fri, 17 Jun 2011 19:54:19 +0000 (20:54 +0100)]
Make SIZE argument optional when verifying.  It is inferred from the
file to be verified.  This is harmless when verifying storage media
but should be avoided if the filesystem implementation is under
suspicion.

12 years agoRemove redundant exit() calls.
Richard Kettlewell [Fri, 17 Jun 2011 19:51:39 +0000 (20:51 +0100)]
Remove redundant exit() calls.

12 years agoRearrange argc/argv for more idiomatic access to positional arguments.
Richard Kettlewell [Fri, 17 Jun 2011 19:49:50 +0000 (20:49 +0100)]
Rearrange argc/argv for more idiomatic access to positional arguments.

12 years agoExpand on purpose a little.
Richard Kettlewell [Wed, 15 Jun 2011 21:51:59 +0000 (22:51 +0100)]
Expand on purpose a little.

12 years agoCopyright notices
Richard Kettlewell [Wed, 15 Jun 2011 21:50:13 +0000 (22:50 +0100)]
Copyright notices

12 years ago.gitignore backup files
Richard Kettlewell [Wed, 15 Jun 2011 21:47:43 +0000 (22:47 +0100)]
.gitignore backup files

12 years agoMacOS support.
Richard Kettlewell [Wed, 15 Jun 2011 21:44:50 +0000 (22:44 +0100)]
MacOS support.
Uses purge to implement --flush.

12 years agoDocument short-form options.
Richard Kettlewell [Wed, 15 Jun 2011 21:23:28 +0000 (22:23 +0100)]
Document short-form options.

12 years agoMore sensible type choices. Making remain be size_t would limit to 4G
Richard Kettlewell [Wed, 15 Jun 2011 21:21:43 +0000 (22:21 +0100)]
More sensible type choices.  Making remain be size_t would limit to 4G
on a 32-bit system!

12 years agoAdd --flush option to evict the subject file from RAM, i.e. so you are
Richard Kettlewell [Wed, 15 Jun 2011 21:19:33 +0000 (22:19 +0100)]
Add --flush option to evict the subject file from RAM, i.e. so you are
really testing the storage device rather than the OS's cache.

As implemented will only work on Linux, and requires superuser
privilege.

12 years agoList options in --help output
Richard Kettlewell [Mon, 13 Jun 2011 19:01:39 +0000 (20:01 +0100)]
List options in --help output

12 years agoAdd a README and man page
Richard Kettlewell [Mon, 13 Jun 2011 19:00:07 +0000 (20:00 +0100)]
Add a README and man page

12 years agovbig - create or verify a large but pseudo-random file
Richard Kettlewell [Mon, 13 Jun 2011 18:34:47 +0000 (19:34 +0100)]
vbig - create or verify a large but pseudo-random file