History log of /openbsd-current/bin/dd/dd.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.28 24-Oct-2021 deraadt

For open/openat, if the flags parameter does not contain O_CREAT, the
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.27 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


Revision tags: OPENBSD_6_5_BASE
# 1.26 16-Feb-2019 bluhm

Implement the conv=fsync feature which does an fsync(2) after the
final write to output. GNU dd also has this. It is useful for
write performance measurement or guaranteed writes to reliable
storage.
OK kn@ tedu@ deraadt@


Revision tags: OPENBSD_6_4_BASE
# 1.25 23-Jul-2018 cheloha

Don't cast malloc(3) size to u_int.

Large buffer sizes on 64-bit platforms cause the sum to wrap, leading
read(2) to fail later.

We check prior to this point that all buffer sizes are <= SSIZE_MAX.
SSIZE_MAX * 2 < SIZE_MAX on all platforms, so the addition here will
not overflow and cause a similar issue.

Discovered by tobias@ a while back.

ok deraadt millert tobias


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.24 13-Aug-2017 tedu

convert gettimeofday to mono clock.
from Scott Cheloha


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.23 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.22 04-Oct-2015 deraadt

after dd has opened it's files and done the tape positioning ioctl, we
can tame "stdio" it.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.21 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.20 05-Jan-2015 tedu

use the correct read count when determining how swabbing is necessary.
bug report from Martin Wolters


# 1.19 11-Dec-2014 tedu

use a local swapbytes function instead of relying on undefined
overlapping swab behavior. vaguely ok kettenis


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 01-Jun-2013 tedu

consolidate ifdef blocks by moving a variable


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.17 12-Jul-2012 millert

Use S_ISFIFO and S_ISSOCK instead of lseek() to determine whether
an fd is a socket, pipe or named pipe. OK deraadt@ matthew@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.16 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.15 10-Nov-2007 chl

remove "unused variable" warning appearing when building release

ok millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.14 11-Jun-2003 deraadt

ansification, art ok


# 1.13 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.12 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.11 06-Oct-2001 millert

Fix ``echo foo |dd'' which was broken by the last commit.


# 1.10 04-Oct-2001 millert

Move check for count=0 into dd's main. We want to do normal setup
in this case and just don't want to actually copy any data.
Fixes a problem noted by aaron@ where the time portion of the summary
would be wrong and also gives us sane behavior when seek is non-zero
but count is 0.


# 1.9 07-Aug-2001 hugh

Modify timekeeping in an effort to produce a sane bandwidth measure
for a short running dd process. Some floating point is used so that
microsecond precision can be kept without shortening the off_t
excessively. millert says ok.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.8 30-Apr-1998 deraadt

Wall


Revision tags: OPENBSD_2_3_BASE
# 1.7 15-Nov-1997 todd

spelling


Revision tags: OPENBSD_2_2_BASE
# 1.6 25-Aug-1997 deraadt

clear input buffer to ' ' or \0 correctly; jlemon@freebsd


Revision tags: OPENBSD_2_1_BASE
# 1.5 14-Feb-1997 millert

Deal with 64-bit offsets and report bytes copied as a 64-bit quantity.
Closes OpenBSD PR system/107.


# 1.4 14-Dec-1996 mickey

-Wall'ing.


Revision tags: OPENBSD_2_0_BASE
# 1.3 23-Jun-1996 deraadt

update rcsid


# 1.2 03-Mar-1996 niklas

From NetBSD: Use const qualifier with conversion, args and clist tables


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.27 28-Jun-2019 deraadt

When system calls indicate an error they return -1, not some arbitrary
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.


Revision tags: OPENBSD_6_5_BASE
# 1.26 16-Feb-2019 bluhm

Implement the conv=fsync feature which does an fsync(2) after the
final write to output. GNU dd also has this. It is useful for
write performance measurement or guaranteed writes to reliable
storage.
OK kn@ tedu@ deraadt@


Revision tags: OPENBSD_6_4_BASE
# 1.25 23-Jul-2018 cheloha

Don't cast malloc(3) size to u_int.

Large buffer sizes on 64-bit platforms cause the sum to wrap, leading
read(2) to fail later.

We check prior to this point that all buffer sizes are <= SSIZE_MAX.
SSIZE_MAX * 2 < SIZE_MAX on all platforms, so the addition here will
not overflow and cause a similar issue.

Discovered by tobias@ a while back.

ok deraadt millert tobias


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.24 13-Aug-2017 tedu

convert gettimeofday to mono clock.
from Scott Cheloha


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.23 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.22 04-Oct-2015 deraadt

after dd has opened it's files and done the tape positioning ioctl, we
can tame "stdio" it.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.21 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.20 05-Jan-2015 tedu

use the correct read count when determining how swabbing is necessary.
bug report from Martin Wolters


# 1.19 11-Dec-2014 tedu

use a local swapbytes function instead of relying on undefined
overlapping swab behavior. vaguely ok kettenis


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 01-Jun-2013 tedu

consolidate ifdef blocks by moving a variable


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.17 12-Jul-2012 millert

Use S_ISFIFO and S_ISSOCK instead of lseek() to determine whether
an fd is a socket, pipe or named pipe. OK deraadt@ matthew@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.16 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.15 10-Nov-2007 chl

remove "unused variable" warning appearing when building release

ok millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.14 11-Jun-2003 deraadt

ansification, art ok


# 1.13 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.12 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.11 06-Oct-2001 millert

Fix ``echo foo |dd'' which was broken by the last commit.


# 1.10 04-Oct-2001 millert

Move check for count=0 into dd's main. We want to do normal setup
in this case and just don't want to actually copy any data.
Fixes a problem noted by aaron@ where the time portion of the summary
would be wrong and also gives us sane behavior when seek is non-zero
but count is 0.


# 1.9 07-Aug-2001 hugh

Modify timekeeping in an effort to produce a sane bandwidth measure
for a short running dd process. Some floating point is used so that
microsecond precision can be kept without shortening the off_t
excessively. millert says ok.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.8 30-Apr-1998 deraadt

Wall


Revision tags: OPENBSD_2_3_BASE
# 1.7 15-Nov-1997 todd

spelling


Revision tags: OPENBSD_2_2_BASE
# 1.6 25-Aug-1997 deraadt

clear input buffer to ' ' or \0 correctly; jlemon@freebsd


Revision tags: OPENBSD_2_1_BASE
# 1.5 14-Feb-1997 millert

Deal with 64-bit offsets and report bytes copied as a 64-bit quantity.
Closes OpenBSD PR system/107.


# 1.4 14-Dec-1996 mickey

-Wall'ing.


Revision tags: OPENBSD_2_0_BASE
# 1.3 23-Jun-1996 deraadt

update rcsid


# 1.2 03-Mar-1996 niklas

From NetBSD: Use const qualifier with conversion, args and clist tables


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.26 16-Feb-2019 bluhm

Implement the conv=fsync feature which does an fsync(2) after the
final write to output. GNU dd also has this. It is useful for
write performance measurement or guaranteed writes to reliable
storage.
OK kn@ tedu@ deraadt@


Revision tags: OPENBSD_6_4_BASE
# 1.25 23-Jul-2018 cheloha

Don't cast malloc(3) size to u_int.

Large buffer sizes on 64-bit platforms cause the sum to wrap, leading
read(2) to fail later.

We check prior to this point that all buffer sizes are <= SSIZE_MAX.
SSIZE_MAX * 2 < SIZE_MAX on all platforms, so the addition here will
not overflow and cause a similar issue.

Discovered by tobias@ a while back.

ok deraadt millert tobias


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.24 13-Aug-2017 tedu

convert gettimeofday to mono clock.
from Scott Cheloha


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.23 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.22 04-Oct-2015 deraadt

after dd has opened it's files and done the tape positioning ioctl, we
can tame "stdio" it.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.21 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.20 05-Jan-2015 tedu

use the correct read count when determining how swabbing is necessary.
bug report from Martin Wolters


# 1.19 11-Dec-2014 tedu

use a local swapbytes function instead of relying on undefined
overlapping swab behavior. vaguely ok kettenis


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 01-Jun-2013 tedu

consolidate ifdef blocks by moving a variable


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.17 12-Jul-2012 millert

Use S_ISFIFO and S_ISSOCK instead of lseek() to determine whether
an fd is a socket, pipe or named pipe. OK deraadt@ matthew@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.16 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.15 10-Nov-2007 chl

remove "unused variable" warning appearing when building release

ok millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.14 11-Jun-2003 deraadt

ansification, art ok


# 1.13 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.12 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.11 06-Oct-2001 millert

Fix ``echo foo |dd'' which was broken by the last commit.


# 1.10 04-Oct-2001 millert

Move check for count=0 into dd's main. We want to do normal setup
in this case and just don't want to actually copy any data.
Fixes a problem noted by aaron@ where the time portion of the summary
would be wrong and also gives us sane behavior when seek is non-zero
but count is 0.


# 1.9 07-Aug-2001 hugh

Modify timekeeping in an effort to produce a sane bandwidth measure
for a short running dd process. Some floating point is used so that
microsecond precision can be kept without shortening the off_t
excessively. millert says ok.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.8 30-Apr-1998 deraadt

Wall


Revision tags: OPENBSD_2_3_BASE
# 1.7 15-Nov-1997 todd

spelling


Revision tags: OPENBSD_2_2_BASE
# 1.6 25-Aug-1997 deraadt

clear input buffer to ' ' or \0 correctly; jlemon@freebsd


Revision tags: OPENBSD_2_1_BASE
# 1.5 14-Feb-1997 millert

Deal with 64-bit offsets and report bytes copied as a 64-bit quantity.
Closes OpenBSD PR system/107.


# 1.4 14-Dec-1996 mickey

-Wall'ing.


Revision tags: OPENBSD_2_0_BASE
# 1.3 23-Jun-1996 deraadt

update rcsid


# 1.2 03-Mar-1996 niklas

From NetBSD: Use const qualifier with conversion, args and clist tables


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


# 1.25 23-Jul-2018 cheloha

Don't cast malloc(3) size to u_int.

Large buffer sizes on 64-bit platforms cause the sum to wrap, leading
read(2) to fail later.

We check prior to this point that all buffer sizes are <= SSIZE_MAX.
SSIZE_MAX * 2 < SIZE_MAX on all platforms, so the addition here will
not overflow and cause a similar issue.

Discovered by tobias@ a while back.

ok deraadt millert tobias


Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.24 13-Aug-2017 tedu

convert gettimeofday to mono clock.
from Scott Cheloha


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.23 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.22 04-Oct-2015 deraadt

after dd has opened it's files and done the tape positioning ioctl, we
can tame "stdio" it.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.21 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.20 05-Jan-2015 tedu

use the correct read count when determining how swabbing is necessary.
bug report from Martin Wolters


# 1.19 11-Dec-2014 tedu

use a local swapbytes function instead of relying on undefined
overlapping swab behavior. vaguely ok kettenis


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 01-Jun-2013 tedu

consolidate ifdef blocks by moving a variable


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.17 12-Jul-2012 millert

Use S_ISFIFO and S_ISSOCK instead of lseek() to determine whether
an fd is a socket, pipe or named pipe. OK deraadt@ matthew@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.16 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.15 10-Nov-2007 chl

remove "unused variable" warning appearing when building release

ok millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.14 11-Jun-2003 deraadt

ansification, art ok


# 1.13 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.12 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.11 06-Oct-2001 millert

Fix ``echo foo |dd'' which was broken by the last commit.


# 1.10 04-Oct-2001 millert

Move check for count=0 into dd's main. We want to do normal setup
in this case and just don't want to actually copy any data.
Fixes a problem noted by aaron@ where the time portion of the summary
would be wrong and also gives us sane behavior when seek is non-zero
but count is 0.


# 1.9 07-Aug-2001 hugh

Modify timekeeping in an effort to produce a sane bandwidth measure
for a short running dd process. Some floating point is used so that
microsecond precision can be kept without shortening the off_t
excessively. millert says ok.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.8 30-Apr-1998 deraadt

Wall


Revision tags: OPENBSD_2_3_BASE
# 1.7 15-Nov-1997 todd

spelling


Revision tags: OPENBSD_2_2_BASE
# 1.6 25-Aug-1997 deraadt

clear input buffer to ' ' or \0 correctly; jlemon@freebsd


Revision tags: OPENBSD_2_1_BASE
# 1.5 14-Feb-1997 millert

Deal with 64-bit offsets and report bytes copied as a 64-bit quantity.
Closes OpenBSD PR system/107.


# 1.4 14-Dec-1996 mickey

-Wall'ing.


Revision tags: OPENBSD_2_0_BASE
# 1.3 23-Jun-1996 deraadt

update rcsid


# 1.2 03-Mar-1996 niklas

From NetBSD: Use const qualifier with conversion, args and clist tables


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision


Revision tags: OPENBSD_6_2_BASE
# 1.24 13-Aug-2017 tedu

convert gettimeofday to mono clock.
from Scott Cheloha


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE
# 1.23 09-Oct-2015 deraadt

Change all tame callers to namechange to pledge(2).


# 1.22 04-Oct-2015 deraadt

after dd has opened it's files and done the tape positioning ioctl, we
can tame "stdio" it.
ok semarie


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.21 16-Jan-2015 deraadt

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible. Annotate <sys/param.h> lines with their current reasons. Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution. These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)


# 1.20 05-Jan-2015 tedu

use the correct read count when determining how swabbing is necessary.
bug report from Martin Wolters


# 1.19 11-Dec-2014 tedu

use a local swapbytes function instead of relying on undefined
overlapping swab behavior. vaguely ok kettenis


Revision tags: OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 01-Jun-2013 tedu

consolidate ifdef blocks by moving a variable


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE
# 1.17 12-Jul-2012 millert

Use S_ISFIFO and S_ISSOCK instead of lseek() to determine whether
an fd is a socket, pipe or named pipe. OK deraadt@ matthew@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.16 27-Oct-2009 deraadt

rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.15 10-Nov-2007 chl

remove "unused variable" warning appearing when building release

ok millert@


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.14 11-Jun-2003 deraadt

ansification, art ok


# 1.13 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.12 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


Revision tags: OPENBSD_3_0_BASE
# 1.11 06-Oct-2001 millert

Fix ``echo foo |dd'' which was broken by the last commit.


# 1.10 04-Oct-2001 millert

Move check for count=0 into dd's main. We want to do normal setup
in this case and just don't want to actually copy any data.
Fixes a problem noted by aaron@ where the time portion of the summary
would be wrong and also gives us sane behavior when seek is non-zero
but count is 0.


# 1.9 07-Aug-2001 hugh

Modify timekeeping in an effort to produce a sane bandwidth measure
for a short running dd process. Some floating point is used so that
microsecond precision can be kept without shortening the off_t
excessively. millert says ok.


Revision tags: OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE
# 1.8 30-Apr-1998 deraadt

Wall


Revision tags: OPENBSD_2_3_BASE
# 1.7 15-Nov-1997 todd

spelling


Revision tags: OPENBSD_2_2_BASE
# 1.6 25-Aug-1997 deraadt

clear input buffer to ' ' or \0 correctly; jlemon@freebsd


Revision tags: OPENBSD_2_1_BASE
# 1.5 14-Feb-1997 millert

Deal with 64-bit offsets and report bytes copied as a 64-bit quantity.
Closes OpenBSD PR system/107.


# 1.4 14-Dec-1996 mickey

-Wall'ing.


Revision tags: OPENBSD_2_0_BASE
# 1.3 23-Jun-1996 deraadt

update rcsid


# 1.2 03-Mar-1996 niklas

From NetBSD: Use const qualifier with conversion, args and clist tables


# 1.1 18-Oct-1995 deraadt

branches: 1.1.1;
Initial revision