| History log of /src/usr.bin/vndcompress |
| Revision | Date | Author | Comments |
| 1.14 | 18-Nov-2014 |
riastradh | Fix vndcompress restart failure fallback when input is a pipe.
Defer seeking the *input* image, or winding it forward, until we are certain we all ready in the cloop2 output, because when the input image is a pipe, we don't get a chance to seek back to the beginning and start from the top instead of restarting.
If restart does fail, don't try to seek the input image back to the beginning unless we had already tried to seek or wind it forward.
Add some automatic tests for this and related cases.
XXX pullup to netbsd-7, netbsd-6
|
| 1.13 | 22-Jan-2014 |
riastradh | branches: 1.13.4; Change vndcompress to use a default window size of 512.
For vnduncompress on nonseekable input, the window size is as large as it needs to be by default, as before. Not clear that this is the right choice -- by default vnduncompress on nonseekable input will just use unbounded memory unsolicited.
|
| 1.12 | 22-Jan-2014 |
riastradh | Rename block size option from `-s' to `-b'.
Makes more sense and makes it consistent with other utilities such as pax and pigz. This vndcompress has never gone out in a release, so changing the name of the option shouldn't cause too many problems...
|
| 1.11 | 22-Jan-2014 |
riastradh | Fix up ulimited vndcompress tests and explain what's up with them.
|
| 1.10 | 22-Jan-2014 |
riastradh | Add some simple automatic tests for window sizes.
|
| 1.9 | 22-Jan-2014 |
riastradh | Add comment explaining why piperestart.cl2part is allowed to fail.
|
| 1.8 | 22-Jan-2014 |
riastradh | Add WARNS=5.
|
| 1.7 | 22-Jan-2014 |
riastradh | Use write-to-temporary/rename-to-permanent pattern in Makefile.
|
| 1.6 | 22-Jan-2014 |
riastradh | Abstract handling of the cloop2 offset table.
Preparation for converting it to use a fixed-size window.
|
| 1.5 | 22-Jan-2014 |
riastradh | Move vndcompress utilities to utils.c.
|
| 1.4 | 11-Aug-2013 |
dholland | Remove redundant WARNS=5.
|
| 1.3 | 03-May-2013 |
riastradh | Rewrite vndcompress to support SIGINFO and restart after interrupt.
Make it generally more robust in the process.
No objection (or comment) on tech-userlevel.
ok christos
|
| 1.2 | 14-Apr-2009 |
lukem | branches: 1.2.6; 1.2.8; 1.2.12; Enable WARNS=4 by default for usr.bin, except for: awk bdes checknr compile_et error gss hxtool kgetcred kinit klist ldd less lex locale login m4 man menuc mk_cmds mklocale msgc openssl rpcgen rpcinfo sdiff spell ssh string2key telnet tn3270 verify_krb5_conf xlint
|
| 1.1 | 25-Jul-2005 |
hubertf | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 25-Jul-2005 |
hubertf | branches: 1.1.1.1.2; 1.1.1.1.32; Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.1.1.1.32.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.1.1.1.2.2 | 16-Aug-2005 |
tron | Pull up revision 1.1 (requested by hubertf in ticket #667): Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.1.1.1.2.1 | 25-Jul-2005 |
tron | file Makefile was added on branch netbsd-3 on 2005-08-16 12:03:44 +0000
|
| 1.2.12.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.12.1 | 23-Jun-2013 |
tls | resync from head
|
| 1.2.8.2 | 24-Mar-2015 |
snj | Pull up following revision(s) (requested by riastradh in ticket #1269): usr.bin/vndcompress/Makefile: revision 1.14 usr.bin/vndcompress/vndcompress.c: revision 1.25 Fix vndcompress restart failure fallback when input is a pipe. Defer seeking the *input* image, or winding it forward, until we are certain we all ready in the cloop2 output, because when the input image is a pipe, we don't get a chance to seek back to the beginning and start from the top instead of restarting. If restart does fail, don't try to seek the input image back to the beginning unless we had already tried to seek or wind it forward. Add some automatic tests for this and related cases. XXX pullup to netbsd-7, netbsd-6
|
| 1.2.8.1 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.2.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.13.4.1 | 18-Mar-2015 |
snj | Pull up following revision(s) (requested by riastradh in ticket #609): usr.bin/vndcompress/Makefile: revision 1.14 usr.bin/vndcompress/vndcompress.c: revision 1.25 Fix vndcompress restart failure fallback when input is a pipe. Defer seeking the *input* image, or winding it forward, until we are certain we all ready in the cloop2 output, because when the input image is a pipe, we don't get a chance to seek back to the beginning and start from the top instead of restarting. If restart does fail, don't try to seek the input image back to the beginning unless we had already tried to seek or wind it forward. Add some automatic tests for this and related cases. XXX pullup to netbsd-7, netbsd-6
|
| 1.8 | 29-Jul-2017 |
riastradh | Clarify compile-time and run-time arithmetic safety assertions.
This is an experiment with a handful of macros for writing the checks, most of which are compile-time:
MUL_OK(t, a, b) Does a*b avoid overflow in type t? ADD_OK(t, a, b) Does a + b avoid overflow in type t? TOOMANY(t, x, b, m) Are there more than m b-element blocks in x in type t? (I.e., does ceiling(x/b) > m?)
Addenda that might make sense but are not needed here:
MUL(t, a, b, &p) Set p = a*b and return 0, or return ERANGE if overflow. ADD(t, a, b, &s) Set s = a+b and return 0, or return ERANGE if overflow.
Example:
uint32_t a = ..., b = ..., y = ..., z = ..., x, w;
/* input validation */ error = MUL(size_t, a, b, &x); if (error) fail; if (TOOMANY(uint32_t, x, BLKSIZ, MAX_NBLK)) fail; y = HOWMANY(x, BLKSIZ); if (z > Z_MAX) fail; ... /* internal computation */ __CTASSERT(MUL_OK(uint32_t, Z_MAX, MAX_NBLK)); w = z*y;
Obvious shortcomings:
1. Nothing checks your ctassert matches your subsequent arithmetic. (Maybe we could have BOUNDED_MUL(t, x, xmax, y, ymax) with a ctassert inside.)
2. Nothing flows the bounds needed by the arithmetic you use back into candidate definitions of X_MAX/Y_MAX.
But at least the reviewer's job is only to make sure that (a) the MUL_OK matches the *, and (b) the bounds in the assertion match the bounds on the inputs -- in particular, the reviewer need not derive the bounds from the context, only confirm they are supported by the paths to it.
This is not meant to be a general-purpose proof assistant, or even a special-purpose one like gfverif <http://gfverif.cryptojedi.org/>. Rather, it is an experiment in adding a modicum of compile-time verification with a simple C API change.
This also is not intended to serve as trapping arithmetic on overflow. The goal here is to enable writing the program with explicit checks on input and compile-time annotations on computation to gain confident that overflow won't happen in the computation.
|
| 1.7 | 16-Apr-2017 |
riastradh | Emphasize that MAX_WINDOW_SIZE is bounded by the maximum uint32_t.
Since we store window sizes in uint32_t, the maximum had better fit in uint32_t!
|
| 1.6 | 22-Jan-2014 |
riastradh | branches: 1.6.4; 1.6.8; 1.6.12; 1.6.16; Change vndcompress to use a default window size of 512.
For vnduncompress on nonseekable input, the window size is as large as it needs to be by default, as before. Not clear that this is the right choice -- by default vnduncompress on nonseekable input will just use unbounded memory unsolicited.
|
| 1.5 | 22-Jan-2014 |
riastradh | Rename block size option from `-s' to `-b'.
Makes more sense and makes it consistent with other utilities such as pax and pigz. This vndcompress has never gone out in a release, so changing the name of the option shouldn't cause too many problems...
|
| 1.4 | 22-Jan-2014 |
riastradh | Add option -w to vnd(un)compress to specify the window size.
|
| 1.3 | 22-Jan-2014 |
riastradh | Add some leading zero digits to the flags. Cosmetic change only.
|
| 1.2 | 22-Jan-2014 |
riastradh | Implement machinery for fixed-size windows into the offset table.
|
| 1.1 | 03-May-2013 |
riastradh | branches: 1.1.2; Rewrite vndcompress to support SIGINFO and restart after interrupt.
Make it generally more robust in the process.
No objection (or comment) on tech-userlevel.
ok christos
|
| 1.1.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 03-May-2013 |
tls | file common.h was added on branch tls-maxphys on 2013-06-23 06:29:02 +0000
|
| 1.6.16.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.6.12.1 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.6.8.2 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.6.8.1 | 22-Jan-2014 |
martin | file common.h was added on branch netbsd-6 on 2014-12-07 13:57:58 +0000
|
| 1.6.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6.4.1 | 22-Jan-2014 |
yamt | file common.h was added on branch yamt-pagecache on 2014-05-22 11:42:51 +0000
|
| 1.3 | 22-Jan-2014 |
riastradh | branches: 1.3.4; 1.3.8; Rename block size option from `-s' to `-b'.
Makes more sense and makes it consistent with other utilities such as pax and pigz. This vndcompress has never gone out in a release, so changing the name of the option shouldn't cause too many problems...
|
| 1.2 | 22-Jan-2014 |
riastradh | Add option -w to vnd(un)compress to specify the window size.
|
| 1.1 | 03-May-2013 |
riastradh | branches: 1.1.2; Rewrite vndcompress to support SIGINFO and restart after interrupt.
Make it generally more robust in the process.
No objection (or comment) on tech-userlevel.
ok christos
|
| 1.1.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.1.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.1.2.1 | 03-May-2013 |
tls | file main.c was added on branch tls-maxphys on 2013-06-23 06:29:02 +0000
|
| 1.3.8.2 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.3.8.1 | 22-Jan-2014 |
martin | file main.c was added on branch netbsd-6 on 2014-12-07 13:57:58 +0000
|
| 1.3.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.3.4.1 | 22-Jan-2014 |
yamt | file main.c was added on branch yamt-pagecache on 2014-05-22 11:42:51 +0000
|
| 1.15 | 29-Jul-2017 |
riastradh | Clarify compile-time and run-time arithmetic safety assertions.
This is an experiment with a handful of macros for writing the checks, most of which are compile-time:
MUL_OK(t, a, b) Does a*b avoid overflow in type t? ADD_OK(t, a, b) Does a + b avoid overflow in type t? TOOMANY(t, x, b, m) Are there more than m b-element blocks in x in type t? (I.e., does ceiling(x/b) > m?)
Addenda that might make sense but are not needed here:
MUL(t, a, b, &p) Set p = a*b and return 0, or return ERANGE if overflow. ADD(t, a, b, &s) Set s = a+b and return 0, or return ERANGE if overflow.
Example:
uint32_t a = ..., b = ..., y = ..., z = ..., x, w;
/* input validation */ error = MUL(size_t, a, b, &x); if (error) fail; if (TOOMANY(uint32_t, x, BLKSIZ, MAX_NBLK)) fail; y = HOWMANY(x, BLKSIZ); if (z > Z_MAX) fail; ... /* internal computation */ __CTASSERT(MUL_OK(uint32_t, Z_MAX, MAX_NBLK)); w = z*y;
Obvious shortcomings:
1. Nothing checks your ctassert matches your subsequent arithmetic. (Maybe we could have BOUNDED_MUL(t, x, xmax, y, ymax) with a ctassert inside.)
2. Nothing flows the bounds needed by the arithmetic you use back into candidate definitions of X_MAX/Y_MAX.
But at least the reviewer's job is only to make sure that (a) the MUL_OK matches the *, and (b) the bounds in the assertion match the bounds on the inputs -- in particular, the reviewer need not derive the bounds from the context, only confirm they are supported by the paths to it.
This is not meant to be a general-purpose proof assistant, or even a special-purpose one like gfverif <http://gfverif.cryptojedi.org/>. Rather, it is an experiment in adding a modicum of compile-time verification with a simple C API change.
This also is not intended to serve as trapping arithmetic on overflow. The goal here is to enable writing the program with explicit checks on input and compile-time annotations on computation to gain confident that overflow won't happen in the computation.
|
| 1.14 | 16-Apr-2017 |
riastradh | Justify the last unjustified assertion here.
Sprinkle a few more assertions to help along the way.
(Actually, it was justified; I just hadn't made explicit the relation to the value of fdpos that all two callers specify.)
|
| 1.13 | 25-Jan-2014 |
riastradh | branches: 1.13.4; 1.13.8; 1.13.10; 1.13.14; 1.13.18; Get SIZE_MAX and OFF_MAX straight...
|
| 1.12 | 25-Jan-2014 |
riastradh | Factor out an offtab_compute_window_position routine.
|
| 1.11 | 25-Jan-2014 |
riastradh | Fix some more integer overflow/truncation issues.
Arithmetic in C is hard. Let's go shopping!
|
| 1.10 | 23-Jan-2014 |
joerg | Mark offtab_bug[x] as dead.
|
| 1.9 | 22-Jan-2014 |
riastradh | Fix $NetBSD$ tag.
|
| 1.8 | 22-Jan-2014 |
riastradh | Simplify vndcompress offtab_compute_window_size.
|
| 1.7 | 22-Jan-2014 |
riastradh | Fix typo in comment.
|
| 1.6 | 22-Jan-2014 |
riastradh | Remove silly comment in offtab_reset_write.
|
| 1.5 | 22-Jan-2014 |
riastradh | Split guard in offtab_write_window into offtab_maybe_write_window.
|
| 1.4 | 22-Jan-2014 |
riastradh | Seek if necessary at end of offtab_reset_read.
Fixes vnduncompress with a small window, and makes offtab_reset_read symmetric with offtab_reset_write.
|
| 1.3 | 22-Jan-2014 |
riastradh | Judicious (and justified) casts to avoid signed/unsigned comparisons.
|
| 1.2 | 22-Jan-2014 |
riastradh | Implement machinery for fixed-size windows into the offset table.
|
| 1.1 | 22-Jan-2014 |
riastradh | Abstract handling of the cloop2 offset table.
Preparation for converting it to use a fixed-size window.
|
| 1.13.18.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.13.14.1 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.13.10.2 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.13.10.1 | 25-Jan-2014 |
martin | file offtab.c was added on branch netbsd-6 on 2014-12-07 13:57:58 +0000
|
| 1.13.8.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.13.8.1 | 25-Jan-2014 |
tls | file offtab.c was added on branch tls-maxphys on 2014-08-20 00:05:05 +0000
|
| 1.13.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.13.4.1 | 25-Jan-2014 |
yamt | file offtab.c was added on branch yamt-pagecache on 2014-05-22 11:42:51 +0000
|
| 1.3 | 16-Apr-2017 |
riastradh | Justify the last unjustified assertion here.
Sprinkle a few more assertions to help along the way.
(Actually, it was justified; I just hadn't made explicit the relation to the value of fdpos that all two callers specify.)
|
| 1.2 | 22-Jan-2014 |
riastradh | branches: 1.2.4; 1.2.8; 1.2.10; 1.2.14; 1.2.18; Implement machinery for fixed-size windows into the offset table.
|
| 1.1 | 22-Jan-2014 |
riastradh | Abstract handling of the cloop2 offset table.
Preparation for converting it to use a fixed-size window.
|
| 1.2.18.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.2.14.1 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.2.10.2 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.2.10.1 | 22-Jan-2014 |
martin | file offtab.h was added on branch netbsd-6 on 2014-12-07 13:57:58 +0000
|
| 1.2.8.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.8.1 | 22-Jan-2014 |
tls | file offtab.h was added on branch tls-maxphys on 2014-08-20 00:05:05 +0000
|
| 1.2.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.4.1 | 22-Jan-2014 |
yamt | file offtab.h was added on branch yamt-pagecache on 2014-05-22 11:42:51 +0000
|
| 1.6 | 21-Mar-2017 |
riastradh | Simplify.
|
| 1.5 | 07-Apr-2016 |
riastradh | branches: 1.5.2; 1.5.4; __diagused, not __unused -- used in an assert.
|
| 1.4 | 22-Jan-2014 |
riastradh | branches: 1.4.4; 1.4.8; 1.4.10; Judicious (and justified) casts to avoid signed/unsigned comparisons.
|
| 1.3 | 22-Jan-2014 |
riastradh | Implement machinery for fixed-size windows into the offset table.
|
| 1.2 | 22-Jan-2014 |
riastradh | Move block_signals/restore_sigmask to utils.c
|
| 1.1 | 22-Jan-2014 |
riastradh | Move vndcompress utilities to utils.c.
|
| 1.4.10.2 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.4.10.1 | 22-Jan-2014 |
martin | file utils.c was added on branch netbsd-6 on 2014-12-07 13:57:58 +0000
|
| 1.4.8.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.4.8.1 | 22-Jan-2014 |
tls | file utils.c was added on branch tls-maxphys on 2014-08-20 00:05:05 +0000
|
| 1.4.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.4.4.1 | 22-Jan-2014 |
yamt | file utils.c was added on branch yamt-pagecache on 2014-05-22 11:42:51 +0000
|
| 1.5.4.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.5.2.1 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.3 | 22-Jan-2014 |
riastradh | branches: 1.3.4; 1.3.8; 1.3.10; Implement machinery for fixed-size windows into the offset table.
|
| 1.2 | 22-Jan-2014 |
riastradh | Move block_signals/restore_sigmask to utils.c
|
| 1.1 | 22-Jan-2014 |
riastradh | Move vndcompress utilities to utils.c.
|
| 1.3.10.2 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.3.10.1 | 22-Jan-2014 |
martin | file utils.h was added on branch netbsd-6 on 2014-12-07 13:57:58 +0000
|
| 1.3.8.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.3.8.1 | 22-Jan-2014 |
tls | file utils.h was added on branch tls-maxphys on 2014-08-20 00:05:05 +0000
|
| 1.3.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.3.4.1 | 22-Jan-2014 |
yamt | file utils.h was added on branch yamt-pagecache on 2014-05-22 11:42:51 +0000
|
| 1.15 | 24-Jan-2020 |
pgoyette | Since vnconfig(8) was renamed (many years ago), update some cross-refs in vndcompress(1) man page.
|
| 1.14 | 22-Jan-2014 |
riastradh | branches: 1.14.26; Bump date on vndcompress(1) man page.
|
| 1.13 | 22-Jan-2014 |
riastradh | Fix vndcompress man page to reflect default window size.
|
| 1.12 | 22-Jan-2014 |
riastradh | Document the new vndcompress -w option and nuke BUGS section.
Perhaps vndcompress and vnduncompress ought by default to choose a limited window size (say, 8192 entries, i.e. 64k bytes, the default MAXPHYS), and vnduncompress should fall back to an unlimited window only if the input is nonseekable.
|
| 1.11 | 22-Jan-2014 |
riastradh | Reflect rename of `-s' to `-b' in the vndcompress man page.
|
| 1.10 | 04-May-2013 |
riastradh | Add -l option to synopsis for vndcompress(1) man page.
|
| 1.9 | 04-May-2013 |
wiz | Sort. Add EXIT STATUS section.
|
| 1.8 | 03-May-2013 |
riastradh | Rewrite vndcompress to support SIGINFO and restart after interrupt.
Make it generally more robust in the process.
No objection (or comment) on tech-userlevel.
ok christos
|
| 1.7 | 08-Jul-2012 |
wiz | branches: 1.7.2; Improve wording, fix typo, bump date. From Bug Hunting.
|
| 1.6 | 24-Mar-2007 |
dillo | branches: 1.6.34; 1.6.36; Make example consistent (fix typo in file names).
|
| 1.5 | 23-Feb-2006 |
jld | Fix typo ("program").
|
| 1.4 | 17-Feb-2006 |
wiz | Fix typo reported by Mathieu in PR 32846.
|
| 1.3 | 12-Dec-2005 |
hubertf | Fix old name in .Dt tag (CLCONFIG -> VNDCOMPRESS)
|
| 1.2 | 25-Jul-2005 |
wiz | branches: 1.2.2; Various improvements.
|
| 1.1 | 25-Jul-2005 |
hubertf | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 25-Jul-2005 |
hubertf | Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.2.2.4 | 15-Dec-2005 |
tron | Pull up following revision(s) (requested by hubertf in ticket #1057): usr.bin/vndcompress/vndcompress.1: revision 1.3 Fix old name in .Dt tag (CLCONFIG -> VNDCOMPRESS)
|
| 1.2.2.3 | 16-Aug-2005 |
tron | Pull up revision 1.2 (requested by hubertf in ticket #667): Various improvements.
|
| 1.2.2.2 | 16-Aug-2005 |
tron | Pull up revision 1.1 (requested by hubertf in ticket #667): Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.2.2.1 | 25-Jul-2005 |
tron | file vndcompress.1 was added on branch netbsd-3 on 2005-08-16 12:03:44 +0000
|
| 1.6.36.1 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.6.34.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.6.34.1 | 30-Oct-2012 |
yamt | sync with head
|
| 1.7.2.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.7.2.1 | 23-Jun-2013 |
tls | resync from head
|
| 1.14.26.1 | 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
| 1.29 | 29-Jul-2017 |
riastradh | Clarify compile-time and run-time arithmetic safety assertions.
This is an experiment with a handful of macros for writing the checks, most of which are compile-time:
MUL_OK(t, a, b) Does a*b avoid overflow in type t? ADD_OK(t, a, b) Does a + b avoid overflow in type t? TOOMANY(t, x, b, m) Are there more than m b-element blocks in x in type t? (I.e., does ceiling(x/b) > m?)
Addenda that might make sense but are not needed here:
MUL(t, a, b, &p) Set p = a*b and return 0, or return ERANGE if overflow. ADD(t, a, b, &s) Set s = a+b and return 0, or return ERANGE if overflow.
Example:
uint32_t a = ..., b = ..., y = ..., z = ..., x, w;
/* input validation */ error = MUL(size_t, a, b, &x); if (error) fail; if (TOOMANY(uint32_t, x, BLKSIZ, MAX_NBLK)) fail; y = HOWMANY(x, BLKSIZ); if (z > Z_MAX) fail; ... /* internal computation */ __CTASSERT(MUL_OK(uint32_t, Z_MAX, MAX_NBLK)); w = z*y;
Obvious shortcomings:
1. Nothing checks your ctassert matches your subsequent arithmetic. (Maybe we could have BOUNDED_MUL(t, x, xmax, y, ymax) with a ctassert inside.)
2. Nothing flows the bounds needed by the arithmetic you use back into candidate definitions of X_MAX/Y_MAX.
But at least the reviewer's job is only to make sure that (a) the MUL_OK matches the *, and (b) the bounds in the assertion match the bounds on the inputs -- in particular, the reviewer need not derive the bounds from the context, only confirm they are supported by the paths to it.
This is not meant to be a general-purpose proof assistant, or even a special-purpose one like gfverif <http://gfverif.cryptojedi.org/>. Rather, it is an experiment in adding a modicum of compile-time verification with a simple C API change.
This also is not intended to serve as trapping arithmetic on overflow. The goal here is to enable writing the program with explicit checks on input and compile-time annotations on computation to gain confident that overflow won't happen in the computation.
|
| 1.28 | 17-Apr-2017 |
riastradh | Omit needless XXX comment.
|
| 1.27 | 16-Apr-2017 |
riastradh | Justify the last unjustified assertion here.
Sprinkle a few more assertions to help along the way.
(Actually, it was justified; I just hadn't made explicit the relation to the value of fdpos that all two callers specify.)
|
| 1.26 | 10-Jan-2017 |
christos | branches: 1.26.2; need <sys/stat.h>
|
| 1.25 | 18-Nov-2014 |
riastradh | branches: 1.25.2; Fix vndcompress restart failure fallback when input is a pipe.
Defer seeking the *input* image, or winding it forward, until we are certain we all ready in the cloop2 output, because when the input image is a pipe, we don't get a chance to seek back to the beginning and start from the top instead of restarting.
If restart does fail, don't try to seek the input image back to the beginning unless we had already tried to seek or wind it forward.
Add some automatic tests for this and related cases.
XXX pullup to netbsd-7, netbsd-6
|
| 1.24 | 25-Jan-2014 |
riastradh | branches: 1.24.4; Fix some more integer overflow/truncation issues.
Arithmetic in C is hard. Let's go shopping!
|
| 1.23 | 24-Jan-2014 |
christos | CID 1164169: integer overflow
|
| 1.22 | 22-Jan-2014 |
riastradh | Change vndcompress to use a default window size of 512.
For vnduncompress on nonseekable input, the window size is as large as it needs to be by default, as before. Not clear that this is the right choice -- by default vnduncompress on nonseekable input will just use unbounded memory unsolicited.
|
| 1.21 | 22-Jan-2014 |
riastradh | Rename block size option from `-s' to `-b'.
Makes more sense and makes it consistent with other utilities such as pax and pigz. This vndcompress has never gone out in a release, so changing the name of the option shouldn't cause too many problems...
|
| 1.20 | 22-Jan-2014 |
riastradh | Window size is now an option; remove XXX comment to the contrary.
|
| 1.19 | 22-Jan-2014 |
riastradh | Add option -w to vnd(un)compress to specify the window size.
|
| 1.18 | 22-Jan-2014 |
riastradh | Implement machinery for fixed-size windows into the offset table.
|
| 1.17 | 22-Jan-2014 |
riastradh | Write offsets in hexadecimal, not decimal.
|
| 1.16 | 22-Jan-2014 |
riastradh | Move block_signals/restore_sigmask to utils.c
|
| 1.15 | 22-Jan-2014 |
riastradh | Abstract handling of the cloop2 offset table.
Preparation for converting it to use a fixed-size window.
|
| 1.14 | 22-Jan-2014 |
riastradh | Move vndcompress utilities to utils.c.
|
| 1.13 | 06-May-2013 |
riastradh | Make partial read/write error messages more consistent in vndcompress.
|
| 1.12 | 04-May-2013 |
riastradh | Add __printflike to vsnprintf_ss.
|
| 1.11 | 04-May-2013 |
riz | 'unsigned long' prints with %lu, not %zu.
|
| 1.10 | 04-May-2013 |
riastradh | Fix sign-compare in compress_blocks.
Not sure why my builds didn't reveal this one -- they revealed several others during development.
|
| 1.9 | 04-May-2013 |
joerg | __printflike for vwarnx_ss, __dead for err_ss and errx_ss.
|
| 1.8 | 03-May-2013 |
riastradh | Rewrite vndcompress to support SIGINFO and restart after interrupt.
Make it generally more robust in the process.
No objection (or comment) on tech-userlevel.
ok christos
|
| 1.7 | 06-Sep-2011 |
joerg | branches: 1.7.2; 1.7.4; 1.7.8; Use static and __dead
|
| 1.6 | 14-Apr-2009 |
lukem | Fix another sign-compare issue
|
| 1.5 | 14-Apr-2009 |
lukem | fix sign-compare issues
|
| 1.4 | 18-Feb-2008 |
dyoung | branches: 1.4.12; Take a small step toward making vndcompress into a host tool: remove #include <arpa/inet.h> and use bswap32() instead of ntohl().
|
| 1.3 | 27-Jul-2005 |
he | branches: 1.3.2; 1.3.14; The return type from getopt(3) is int, not char. Besides, char is not guaranteed to be signed, so comparison with -1 will cause a warning (turned error) for some of our ports (e.g. our arm ports). Fix this by making the 'ch' variable an int instead of a char.
|
| 1.2 | 25-Jul-2005 |
wiz | Sync usage with man page.
|
| 1.1 | 25-Jul-2005 |
hubertf | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 25-Jul-2005 |
hubertf | Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.3.14.1 | 23-Mar-2008 |
matt | sync with HEAD
|
| 1.3.2.4 | 16-Aug-2005 |
tron | Pull up revision 1.3 (requested by hubertf in ticket #667): The return type from getopt(3) is int, not char. Besides, char is not guaranteed to be signed, so comparison with -1 will cause a warning (turned error) for some of our ports (e.g. our arm ports). Fix this by making the 'ch' variable an int instead of a char.
|
| 1.3.2.3 | 16-Aug-2005 |
tron | Pull up revision 1.2 (requested by hubertf in ticket #667): Sync usage with man page.
|
| 1.3.2.2 | 16-Aug-2005 |
tron | Pull up revision 1.1 (requested by hubertf in ticket #667): Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.3.2.1 | 27-Jul-2005 |
tron | file vndcompress.c was added on branch netbsd-3 on 2005-08-16 12:03:44 +0000
|
| 1.4.12.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.7.8.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.7.8.1 | 23-Jun-2013 |
tls | resync from head
|
| 1.7.4.2 | 24-Mar-2015 |
snj | Pull up following revision(s) (requested by riastradh in ticket #1269): usr.bin/vndcompress/Makefile: revision 1.14 usr.bin/vndcompress/vndcompress.c: revision 1.25 Fix vndcompress restart failure fallback when input is a pipe. Defer seeking the *input* image, or winding it forward, until we are certain we all ready in the cloop2 output, because when the input image is a pipe, we don't get a chance to seek back to the beginning and start from the top instead of restarting. If restart does fail, don't try to seek the input image back to the beginning unless we had already tried to seek or wind it forward. Add some automatic tests for this and related cases. XXX pullup to netbsd-7, netbsd-6
|
| 1.7.4.1 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.7.2.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.24.4.1 | 18-Mar-2015 |
snj | Pull up following revision(s) (requested by riastradh in ticket #609): usr.bin/vndcompress/Makefile: revision 1.14 usr.bin/vndcompress/vndcompress.c: revision 1.25 Fix vndcompress restart failure fallback when input is a pipe. Defer seeking the *input* image, or winding it forward, until we are certain we all ready in the cloop2 output, because when the input image is a pipe, we don't get a chance to seek back to the beginning and start from the top instead of restarting. If restart does fail, don't try to seek the input image back to the beginning unless we had already tried to seek or wind it forward. Add some automatic tests for this and related cases. XXX pullup to netbsd-7, netbsd-6
|
| 1.25.2.2 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.25.2.1 | 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.26.2.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.4 | 03-May-2013 |
riastradh | Rewrite vndcompress to support SIGINFO and restart after interrupt.
Make it generally more robust in the process.
No objection (or comment) on tech-userlevel.
ok christos
|
| 1.3 | 06-Sep-2011 |
joerg | branches: 1.3.2; 1.3.4; 1.3.8; Use static and __dead
|
| 1.2 | 18-Feb-2008 |
dyoung | Take a small step toward making vndcompress into a host tool: remove #include <arpa/inet.h> and use bswap32() instead of ntohl().
|
| 1.1 | 25-Jul-2005 |
hubertf | branches: 1.1.1; Initial revision
|
| 1.1.1.1 | 25-Jul-2005 |
hubertf | branches: 1.1.1.1.2; 1.1.1.1.14; Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.1.1.1.14.1 | 23-Mar-2008 |
matt | sync with HEAD
|
| 1.1.1.1.2.2 | 16-Aug-2005 |
tron | Pull up revision 1.1 (requested by hubertf in ticket #667): Add vndcompress(1) and vnduncompress(1) to transform filesystem/disk images from "normal" into cloop2-format compressed images and back. Written by Florian Stoehr (netbsd@wolfnode.de) with some polishing by me.
Compressed disk images can be used with the vnd(4) driver when compiled with VND_COMPRESSION and "vnconfig -z". Useful for creation of Live CDs/DVDs.
|
| 1.1.1.1.2.1 | 25-Jul-2005 |
tron | file vndcompress.h was added on branch netbsd-3 on 2005-08-16 12:03:44 +0000
|
| 1.3.8.1 | 23-Jun-2013 |
tls | resync from head
|
| 1.3.4.1 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.3.2.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.14 | 29-Jul-2017 |
riastradh | Clarify compile-time and run-time arithmetic safety assertions.
This is an experiment with a handful of macros for writing the checks, most of which are compile-time:
MUL_OK(t, a, b) Does a*b avoid overflow in type t? ADD_OK(t, a, b) Does a + b avoid overflow in type t? TOOMANY(t, x, b, m) Are there more than m b-element blocks in x in type t? (I.e., does ceiling(x/b) > m?)
Addenda that might make sense but are not needed here:
MUL(t, a, b, &p) Set p = a*b and return 0, or return ERANGE if overflow. ADD(t, a, b, &s) Set s = a+b and return 0, or return ERANGE if overflow.
Example:
uint32_t a = ..., b = ..., y = ..., z = ..., x, w;
/* input validation */ error = MUL(size_t, a, b, &x); if (error) fail; if (TOOMANY(uint32_t, x, BLKSIZ, MAX_NBLK)) fail; y = HOWMANY(x, BLKSIZ); if (z > Z_MAX) fail; ... /* internal computation */ __CTASSERT(MUL_OK(uint32_t, Z_MAX, MAX_NBLK)); w = z*y;
Obvious shortcomings:
1. Nothing checks your ctassert matches your subsequent arithmetic. (Maybe we could have BOUNDED_MUL(t, x, xmax, y, ymax) with a ctassert inside.)
2. Nothing flows the bounds needed by the arithmetic you use back into candidate definitions of X_MAX/Y_MAX.
But at least the reviewer's job is only to make sure that (a) the MUL_OK matches the *, and (b) the bounds in the assertion match the bounds on the inputs -- in particular, the reviewer need not derive the bounds from the context, only confirm they are supported by the paths to it.
This is not meant to be a general-purpose proof assistant, or even a special-purpose one like gfverif <http://gfverif.cryptojedi.org/>. Rather, it is an experiment in adding a modicum of compile-time verification with a simple C API change.
This also is not intended to serve as trapping arithmetic on overflow. The goal here is to enable writing the program with explicit checks on input and compile-time annotations on computation to gain confident that overflow won't happen in the computation.
|
| 1.13 | 17-Apr-2017 |
riastradh | Omit needless XXX comment.
|
| 1.12 | 16-Apr-2017 |
riastradh | Justify the last unjustified assertion here.
Sprinkle a few more assertions to help along the way.
(Actually, it was justified; I just hadn't made explicit the relation to the value of fdpos that all two callers specify.)
|
| 1.11 | 25-Jan-2014 |
riastradh | branches: 1.11.4; 1.11.8; 1.11.12; 1.11.16; Fix some more integer overflow/truncation issues.
Arithmetic in C is hard. Let's go shopping!
|
| 1.10 | 22-Jan-2014 |
riastradh | Change vndcompress to use a default window size of 512.
For vnduncompress on nonseekable input, the window size is as large as it needs to be by default, as before. Not clear that this is the right choice -- by default vnduncompress on nonseekable input will just use unbounded memory unsolicited.
|
| 1.9 | 22-Jan-2014 |
riastradh | Move err1 & errx1 to the end of vnduncompress.c; add __printflike.
|
| 1.8 | 22-Jan-2014 |
riastradh | Add option -w to vnd(un)compress to specify the window size.
|
| 1.7 | 22-Jan-2014 |
riastradh | Implement machinery for fixed-size windows into the offset table.
|
| 1.6 | 22-Jan-2014 |
riastradh | Write offsets in hexadecimal, not decimal.
|
| 1.5 | 22-Jan-2014 |
riastradh | Abstract handling of the cloop2 offset table.
Preparation for converting it to use a fixed-size window.
|
| 1.4 | 22-Jan-2014 |
riastradh | Use read_block instead of read in vnduncompress.
|
| 1.3 | 22-Jan-2014 |
riastradh | Fail if malloc can't allocate offset table.
|
| 1.2 | 06-May-2013 |
riastradh | branches: 1.2.2; Make partial read/write error messages more consistent in vndcompress.
|
| 1.1 | 03-May-2013 |
riastradh | Rewrite vndcompress to support SIGINFO and restart after interrupt.
Make it generally more robust in the process.
No objection (or comment) on tech-userlevel.
ok christos
|
| 1.2.2.3 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.2.2 | 23-Jun-2013 |
tls | resync from head
|
| 1.2.2.1 | 06-May-2013 |
tls | file vnduncompress.c was added on branch tls-maxphys on 2013-06-23 06:29:02 +0000
|
| 1.11.16.1 | 21-Apr-2017 |
bouyer | Sync with HEAD
|
| 1.11.12.1 | 26-Apr-2017 |
pgoyette | Sync with HEAD
|
| 1.11.8.2 | 07-Dec-2014 |
martin | Pull up following revision(s) (requested by riastradh in ticket #1138): usr.bin/vndcompress/Makefile 1.3-1.13 usr.bin/vndcompress/common.h 1.1-1.6 usr.bin/vndcompress/main.c 1.1-1.3 usr.bin/vndcompress/offtab.c 1.1-1.13 usr.bin/vndcompress/offtab.h 1.1-1.2 usr.bin/vndcompress/utils.c 1.1-1.4 usr.bin/vndcompress/utils.h 1.1-1.3 usr.bin/vndcompress/vndcompress.1 1.7-1.14 usr.bin/vndcompress/vndcompress.c 1.8-1.24 usr.bin/vndcompress/vndcompress.h delete usr.bin/vndcompress/vnduncompress.c 1.1-1.11 Rewrite vndcompress to support SIGINFO and restart after interrupt. Make it generally more robust in the process.
|
| 1.11.8.1 | 25-Jan-2014 |
martin | file vnduncompress.c was added on branch netbsd-6 on 2014-12-07 13:57:58 +0000
|
| 1.11.4.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.11.4.1 | 25-Jan-2014 |
yamt | file vnduncompress.c was added on branch yamt-pagecache on 2014-05-22 11:42:51 +0000
|