History log of /openbsd-current/usr.bin/rdist/common.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.41 26-Dec-2022 jmc

spelling fixes; from paul tagliamonte
amendments to his diff are noted on tech


Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.40 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_4_BASE OPENBSD_6_5_BASE
# 1.39 21-Sep-2018 millert

Use password/group cache functions and avoid stashing a pointer to
the return value of getgrgid(3) or getgrnam(3) which relies on
undefined behavior. The rdist server will now use getgroups(2) to
determine group membership of the invoking user. In addition, there
is now one implementation of tilde expansion instead of two.
OK tb@ tim@


# 1.38 09-Sep-2018 millert

Fix a crash in rdistd triggered by the recent getpw{ent,nam,uid}
changes. This stems from rdist stashing a pointer to the static
area used by getpw{ent,nam,uid} and using it to avoid repeating
passwd lookups when pw->pw_name matches the user to be looked up.

This relied on undefined behavior, and with the recent passwd
changes, is no longer possible as the old pointer will be invalidated.
A better approach is to use the upcoming uid_from_user(3) functions.
Found by and fix OK tim@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.37 22-Dec-2015 mmcc

remove needless allocation casts


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.36 20-Jan-2015 guenther

Split out from rdist/defs.h the client-only and server-only bits into
rdist/client.h and rdistd/server.h
Only put #includes in .h files that are necessary for the .h to be used;
all other #includes go in the .c files
Move all extern variable declarations to the .h files, renaming local
variables to avoid shadowing
Replace me_type member of mntent_t with an "is NFS?" flag bit


# 1.35 20-Jan-2015 guenther

Don't use utime(), so don't need <utime.h>


# 1.34 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)


Revision tags: OPENBSD_5_6_BASE
# 1.33 12-Jul-2014 guenther

Kill os-openbsd.h: we have <paths.h>, _PATH_RSH, and utimes()


# 1.32 12-Jul-2014 guenther

SETARGS and NEED_HASMNTOPT paths are dead; rshrcmd() and libz stuff are
no longer (were never?) used


# 1.31 10-Jul-2014 guenther

Assume POSIX: write() takes size_t and returns ssize_t


# 1.30 05-Jul-2014 guenther

Assume POSIX: lchown(), fchown(), fchmod(), fchmodat()
Assume we have rcmdsh()


# 1.29 05-Jul-2014 guenther

Assume POSIX: uid_t and gid_t


# 1.28 05-Jul-2014 guenther

Assume C89: stdargs, const, and setvbuf()
Assume POSIX: O_NONBLOCK and S_IS{DIR,REG,LNK}


# 1.27 05-Jul-2014 guenther

Use void* in malloc/realloc/calloc wrappers


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.26 24-Apr-2011 deraadt

delete a stupid SIGSEGV handler (not used)


# 1.25 18-Apr-2011 krw

Print size_t with %zu and ssize_t with %zd in error/debug output.
Not %d or %u. May help some of the issues reported by Richard Toohey.
Tested by Steven R. Gerber.


# 1.24 10-Apr-2011 krw

Apply some tough type-love and give rdist a chance to handle files
larger than 2GB. Diff from Stephan R. Gerber via PR#6586, tweaks
by me.

ok deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.23 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.22 02-Jan-2008 chl

remove unused function

from tobias@

ok millert@ tobias@


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.21 03-Jun-2003 millert

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


# 1.20 14-May-2003 millert

o Sync w/ freerdist 0.92 minus the compress option
o KNF and ANSIfy the function headers

Sparse file support is currently a no-op since it didn't work.
Proper sparse file support will be added later.


# 1.19 06-May-2003 millert

Now that rcmdsh(3) can deal with an rsh command w/ args, deal with
-P path elements that have spaces.


# 1.18 19-Apr-2003 millert

strcpy/strcat/sprintf removal; krw@ OK


# 1.17 05-Apr-2003 deraadt

strings; ok miod ho krw


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.16 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


# 1.15 12-Jun-2002 mpech

a real pid_t cleanup.

espie@ ok for make/,
deraadt@ one extra eye,
millert@ ok


# 1.14 27-May-2002 deraadt

unsigned vs unsigned int


# 1.13 06-May-2002 millert

do not install a SIGSEGV handler


Revision tags: OPENBSD_3_1_BASE
# 1.12 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.11 09-Jul-2001 deraadt

correct type on last arg to execl(); nordin@cse.ogi.edu


Revision tags: OPENBSD_2_9_BASE
# 1.10 10-Nov-2000 provos

seperate -> separate, okay aaron@


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.9 14-May-1999 aaron

correct error msg so it considers the terminating null byte


Revision tags: OPENBSD_2_5_BASE
# 1.8 04-Feb-1999 millert

Fix a serious memory consumption problem when running over directories
that contain many hard-linked files; johnh@isi.edu
Also add an xstrdup() that behaves like xmalloc() on failure.


Revision tags: OPENBSD_2_4_BASE
# 1.7 26-Jun-1998 millert

save_errno


# 1.6 26-Jun-1998 millert

rdist 6.1.4 + OpenBSD patches + some -Wall


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.5 07-Oct-1997 millert

Don't use cached name value for uid/gid if last lookup was by id (and not name).
Fix also sent to rdist-bugs@usc.edu


Revision tags: OPENBSD_2_1_BASE
# 1.4 27-Apr-1997 downsj

Pull in more includes to properly prototype library functions, kill local
decls of library functions, kill local implementation of setproctitle().

This of course points out how utterly bad this code is and that someone needs
to come in here with a chainsaw sometime.


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

rcsid


# 1.2 05-Mar-1996 dm

rdist 6.1.2


# 1.1 03-Feb-1996 dm

rdist 6.1.1


# 1.40 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_4_BASE OPENBSD_6_5_BASE
# 1.39 21-Sep-2018 millert

Use password/group cache functions and avoid stashing a pointer to
the return value of getgrgid(3) or getgrnam(3) which relies on
undefined behavior. The rdist server will now use getgroups(2) to
determine group membership of the invoking user. In addition, there
is now one implementation of tilde expansion instead of two.
OK tb@ tim@


# 1.38 09-Sep-2018 millert

Fix a crash in rdistd triggered by the recent getpw{ent,nam,uid}
changes. This stems from rdist stashing a pointer to the static
area used by getpw{ent,nam,uid} and using it to avoid repeating
passwd lookups when pw->pw_name matches the user to be looked up.

This relied on undefined behavior, and with the recent passwd
changes, is no longer possible as the old pointer will be invalidated.
A better approach is to use the upcoming uid_from_user(3) functions.
Found by and fix OK tim@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.37 22-Dec-2015 mmcc

remove needless allocation casts


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.36 20-Jan-2015 guenther

Split out from rdist/defs.h the client-only and server-only bits into
rdist/client.h and rdistd/server.h
Only put #includes in .h files that are necessary for the .h to be used;
all other #includes go in the .c files
Move all extern variable declarations to the .h files, renaming local
variables to avoid shadowing
Replace me_type member of mntent_t with an "is NFS?" flag bit


# 1.35 20-Jan-2015 guenther

Don't use utime(), so don't need <utime.h>


# 1.34 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)


Revision tags: OPENBSD_5_6_BASE
# 1.33 12-Jul-2014 guenther

Kill os-openbsd.h: we have <paths.h>, _PATH_RSH, and utimes()


# 1.32 12-Jul-2014 guenther

SETARGS and NEED_HASMNTOPT paths are dead; rshrcmd() and libz stuff are
no longer (were never?) used


# 1.31 10-Jul-2014 guenther

Assume POSIX: write() takes size_t and returns ssize_t


# 1.30 05-Jul-2014 guenther

Assume POSIX: lchown(), fchown(), fchmod(), fchmodat()
Assume we have rcmdsh()


# 1.29 05-Jul-2014 guenther

Assume POSIX: uid_t and gid_t


# 1.28 05-Jul-2014 guenther

Assume C89: stdargs, const, and setvbuf()
Assume POSIX: O_NONBLOCK and S_IS{DIR,REG,LNK}


# 1.27 05-Jul-2014 guenther

Use void* in malloc/realloc/calloc wrappers


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.26 24-Apr-2011 deraadt

delete a stupid SIGSEGV handler (not used)


# 1.25 18-Apr-2011 krw

Print size_t with %zu and ssize_t with %zd in error/debug output.
Not %d or %u. May help some of the issues reported by Richard Toohey.
Tested by Steven R. Gerber.


# 1.24 10-Apr-2011 krw

Apply some tough type-love and give rdist a chance to handle files
larger than 2GB. Diff from Stephan R. Gerber via PR#6586, tweaks
by me.

ok deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.23 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.22 02-Jan-2008 chl

remove unused function

from tobias@

ok millert@ tobias@


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.21 03-Jun-2003 millert

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


# 1.20 14-May-2003 millert

o Sync w/ freerdist 0.92 minus the compress option
o KNF and ANSIfy the function headers

Sparse file support is currently a no-op since it didn't work.
Proper sparse file support will be added later.


# 1.19 06-May-2003 millert

Now that rcmdsh(3) can deal with an rsh command w/ args, deal with
-P path elements that have spaces.


# 1.18 19-Apr-2003 millert

strcpy/strcat/sprintf removal; krw@ OK


# 1.17 05-Apr-2003 deraadt

strings; ok miod ho krw


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.16 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


# 1.15 12-Jun-2002 mpech

a real pid_t cleanup.

espie@ ok for make/,
deraadt@ one extra eye,
millert@ ok


# 1.14 27-May-2002 deraadt

unsigned vs unsigned int


# 1.13 06-May-2002 millert

do not install a SIGSEGV handler


Revision tags: OPENBSD_3_1_BASE
# 1.12 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.11 09-Jul-2001 deraadt

correct type on last arg to execl(); nordin@cse.ogi.edu


Revision tags: OPENBSD_2_9_BASE
# 1.10 10-Nov-2000 provos

seperate -> separate, okay aaron@


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.9 14-May-1999 aaron

correct error msg so it considers the terminating null byte


Revision tags: OPENBSD_2_5_BASE
# 1.8 04-Feb-1999 millert

Fix a serious memory consumption problem when running over directories
that contain many hard-linked files; johnh@isi.edu
Also add an xstrdup() that behaves like xmalloc() on failure.


Revision tags: OPENBSD_2_4_BASE
# 1.7 26-Jun-1998 millert

save_errno


# 1.6 26-Jun-1998 millert

rdist 6.1.4 + OpenBSD patches + some -Wall


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.5 07-Oct-1997 millert

Don't use cached name value for uid/gid if last lookup was by id (and not name).
Fix also sent to rdist-bugs@usc.edu


Revision tags: OPENBSD_2_1_BASE
# 1.4 27-Apr-1997 downsj

Pull in more includes to properly prototype library functions, kill local
decls of library functions, kill local implementation of setproctitle().

This of course points out how utterly bad this code is and that someone needs
to come in here with a chainsaw sometime.


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

rcsid


# 1.2 05-Mar-1996 dm

rdist 6.1.2


# 1.1 03-Feb-1996 dm

rdist 6.1.1


# 1.39 21-Sep-2018 millert

Use password/group cache functions and avoid stashing a pointer to
the return value of getgrgid(3) or getgrnam(3) which relies on
undefined behavior. The rdist server will now use getgroups(2) to
determine group membership of the invoking user. In addition, there
is now one implementation of tilde expansion instead of two.
OK tb@ tim@


# 1.38 09-Sep-2018 millert

Fix a crash in rdistd triggered by the recent getpw{ent,nam,uid}
changes. This stems from rdist stashing a pointer to the static
area used by getpw{ent,nam,uid} and using it to avoid repeating
passwd lookups when pw->pw_name matches the user to be looked up.

This relied on undefined behavior, and with the recent passwd
changes, is no longer possible as the old pointer will be invalidated.
A better approach is to use the upcoming uid_from_user(3) functions.
Found by and fix OK tim@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
# 1.37 22-Dec-2015 mmcc

remove needless allocation casts


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.36 20-Jan-2015 guenther

Split out from rdist/defs.h the client-only and server-only bits into
rdist/client.h and rdistd/server.h
Only put #includes in .h files that are necessary for the .h to be used;
all other #includes go in the .c files
Move all extern variable declarations to the .h files, renaming local
variables to avoid shadowing
Replace me_type member of mntent_t with an "is NFS?" flag bit


# 1.35 20-Jan-2015 guenther

Don't use utime(), so don't need <utime.h>


# 1.34 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)


Revision tags: OPENBSD_5_6_BASE
# 1.33 12-Jul-2014 guenther

Kill os-openbsd.h: we have <paths.h>, _PATH_RSH, and utimes()


# 1.32 12-Jul-2014 guenther

SETARGS and NEED_HASMNTOPT paths are dead; rshrcmd() and libz stuff are
no longer (were never?) used


# 1.31 10-Jul-2014 guenther

Assume POSIX: write() takes size_t and returns ssize_t


# 1.30 05-Jul-2014 guenther

Assume POSIX: lchown(), fchown(), fchmod(), fchmodat()
Assume we have rcmdsh()


# 1.29 05-Jul-2014 guenther

Assume POSIX: uid_t and gid_t


# 1.28 05-Jul-2014 guenther

Assume C89: stdargs, const, and setvbuf()
Assume POSIX: O_NONBLOCK and S_IS{DIR,REG,LNK}


# 1.27 05-Jul-2014 guenther

Use void* in malloc/realloc/calloc wrappers


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.26 24-Apr-2011 deraadt

delete a stupid SIGSEGV handler (not used)


# 1.25 18-Apr-2011 krw

Print size_t with %zu and ssize_t with %zd in error/debug output.
Not %d or %u. May help some of the issues reported by Richard Toohey.
Tested by Steven R. Gerber.


# 1.24 10-Apr-2011 krw

Apply some tough type-love and give rdist a chance to handle files
larger than 2GB. Diff from Stephan R. Gerber via PR#6586, tweaks
by me.

ok deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.23 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.22 02-Jan-2008 chl

remove unused function

from tobias@

ok millert@ tobias@


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.21 03-Jun-2003 millert

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


# 1.20 14-May-2003 millert

o Sync w/ freerdist 0.92 minus the compress option
o KNF and ANSIfy the function headers

Sparse file support is currently a no-op since it didn't work.
Proper sparse file support will be added later.


# 1.19 06-May-2003 millert

Now that rcmdsh(3) can deal with an rsh command w/ args, deal with
-P path elements that have spaces.


# 1.18 19-Apr-2003 millert

strcpy/strcat/sprintf removal; krw@ OK


# 1.17 05-Apr-2003 deraadt

strings; ok miod ho krw


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.16 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


# 1.15 12-Jun-2002 mpech

a real pid_t cleanup.

espie@ ok for make/,
deraadt@ one extra eye,
millert@ ok


# 1.14 27-May-2002 deraadt

unsigned vs unsigned int


# 1.13 06-May-2002 millert

do not install a SIGSEGV handler


Revision tags: OPENBSD_3_1_BASE
# 1.12 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.11 09-Jul-2001 deraadt

correct type on last arg to execl(); nordin@cse.ogi.edu


Revision tags: OPENBSD_2_9_BASE
# 1.10 10-Nov-2000 provos

seperate -> separate, okay aaron@


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.9 14-May-1999 aaron

correct error msg so it considers the terminating null byte


Revision tags: OPENBSD_2_5_BASE
# 1.8 04-Feb-1999 millert

Fix a serious memory consumption problem when running over directories
that contain many hard-linked files; johnh@isi.edu
Also add an xstrdup() that behaves like xmalloc() on failure.


Revision tags: OPENBSD_2_4_BASE
# 1.7 26-Jun-1998 millert

save_errno


# 1.6 26-Jun-1998 millert

rdist 6.1.4 + OpenBSD patches + some -Wall


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.5 07-Oct-1997 millert

Don't use cached name value for uid/gid if last lookup was by id (and not name).
Fix also sent to rdist-bugs@usc.edu


Revision tags: OPENBSD_2_1_BASE
# 1.4 27-Apr-1997 downsj

Pull in more includes to properly prototype library functions, kill local
decls of library functions, kill local implementation of setproctitle().

This of course points out how utterly bad this code is and that someone needs
to come in here with a chainsaw sometime.


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

rcsid


# 1.2 05-Mar-1996 dm

rdist 6.1.2


# 1.1 03-Feb-1996 dm

rdist 6.1.1


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.37 22-Dec-2015 mmcc

remove needless allocation casts


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.36 20-Jan-2015 guenther

Split out from rdist/defs.h the client-only and server-only bits into
rdist/client.h and rdistd/server.h
Only put #includes in .h files that are necessary for the .h to be used;
all other #includes go in the .c files
Move all extern variable declarations to the .h files, renaming local
variables to avoid shadowing
Replace me_type member of mntent_t with an "is NFS?" flag bit


# 1.35 20-Jan-2015 guenther

Don't use utime(), so don't need <utime.h>


# 1.34 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)


Revision tags: OPENBSD_5_6_BASE
# 1.33 12-Jul-2014 guenther

Kill os-openbsd.h: we have <paths.h>, _PATH_RSH, and utimes()


# 1.32 12-Jul-2014 guenther

SETARGS and NEED_HASMNTOPT paths are dead; rshrcmd() and libz stuff are
no longer (were never?) used


# 1.31 10-Jul-2014 guenther

Assume POSIX: write() takes size_t and returns ssize_t


# 1.30 05-Jul-2014 guenther

Assume POSIX: lchown(), fchown(), fchmod(), fchmodat()
Assume we have rcmdsh()


# 1.29 05-Jul-2014 guenther

Assume POSIX: uid_t and gid_t


# 1.28 05-Jul-2014 guenther

Assume C89: stdargs, const, and setvbuf()
Assume POSIX: O_NONBLOCK and S_IS{DIR,REG,LNK}


# 1.27 05-Jul-2014 guenther

Use void* in malloc/realloc/calloc wrappers


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.26 24-Apr-2011 deraadt

delete a stupid SIGSEGV handler (not used)


# 1.25 18-Apr-2011 krw

Print size_t with %zu and ssize_t with %zd in error/debug output.
Not %d or %u. May help some of the issues reported by Richard Toohey.
Tested by Steven R. Gerber.


# 1.24 10-Apr-2011 krw

Apply some tough type-love and give rdist a chance to handle files
larger than 2GB. Diff from Stephan R. Gerber via PR#6586, tweaks
by me.

ok deraadt@


Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.23 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.22 02-Jan-2008 chl

remove unused function

from tobias@

ok millert@ tobias@


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.21 03-Jun-2003 millert

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


# 1.20 14-May-2003 millert

o Sync w/ freerdist 0.92 minus the compress option
o KNF and ANSIfy the function headers

Sparse file support is currently a no-op since it didn't work.
Proper sparse file support will be added later.


# 1.19 06-May-2003 millert

Now that rcmdsh(3) can deal with an rsh command w/ args, deal with
-P path elements that have spaces.


# 1.18 19-Apr-2003 millert

strcpy/strcat/sprintf removal; krw@ OK


# 1.17 05-Apr-2003 deraadt

strings; ok miod ho krw


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE
# 1.16 23-Jun-2002 deraadt

uid_t and gid_t are unsigned


# 1.15 12-Jun-2002 mpech

a real pid_t cleanup.

espie@ ok for make/,
deraadt@ one extra eye,
millert@ ok


# 1.14 27-May-2002 deraadt

unsigned vs unsigned int


# 1.13 06-May-2002 millert

do not install a SIGSEGV handler


Revision tags: OPENBSD_3_1_BASE
# 1.12 19-Nov-2001 mpech

kill more registers

millert@ ok


Revision tags: OPENBSD_3_0_BASE
# 1.11 09-Jul-2001 deraadt

correct type on last arg to execl(); nordin@cse.ogi.edu


Revision tags: OPENBSD_2_9_BASE
# 1.10 10-Nov-2000 provos

seperate -> separate, okay aaron@


Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
# 1.9 14-May-1999 aaron

correct error msg so it considers the terminating null byte


Revision tags: OPENBSD_2_5_BASE
# 1.8 04-Feb-1999 millert

Fix a serious memory consumption problem when running over directories
that contain many hard-linked files; johnh@isi.edu
Also add an xstrdup() that behaves like xmalloc() on failure.


Revision tags: OPENBSD_2_4_BASE
# 1.7 26-Jun-1998 millert

save_errno


# 1.6 26-Jun-1998 millert

rdist 6.1.4 + OpenBSD patches + some -Wall


Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE
# 1.5 07-Oct-1997 millert

Don't use cached name value for uid/gid if last lookup was by id (and not name).
Fix also sent to rdist-bugs@usc.edu


Revision tags: OPENBSD_2_1_BASE
# 1.4 27-Apr-1997 downsj

Pull in more includes to properly prototype library functions, kill local
decls of library functions, kill local implementation of setproctitle().

This of course points out how utterly bad this code is and that someone needs
to come in here with a chainsaw sometime.


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

rcsid


# 1.2 05-Mar-1996 dm

rdist 6.1.2


# 1.1 03-Feb-1996 dm

rdist 6.1.1