rsync silently changes special files to regular ones!

clemens fischer ino-qc at
Mon Aug 25 00:44:15 EST 2003

rsync  version 2.5.6  protocol version 26 on FreeBSD 4.8-STABLE i386
"promotes" character special files to regular files:

--8<---cut here:--start--->8--
# ll /dev/stdout
8282 crw-rw-rw-  1 root  wheel  -  22,   1 Aug 23 17:30 /dev/stdout

# rsync localhost::rsync/readme /dev/stdout
$Id: readme,v 1.2 2003/08/05 02:38:25 root Exp root $

# ll /dev/stdout
7527 -rw-r--r--  1 root  wheel  - 136 Aug 24 11:49 /dev/stdout

# ./MAKEDEV std

# ll /dev/stdout
7527 crw-rw-rw-  1 root  wheel  -  22,   1 Aug 24 11:49 /dev/stdout
--8<---cut here:---end---->8--

i know that this (displaying a text file on the console) is not what
rsync is meant to do, but since it didn't give any messages or exit-
codes, i didn't think of checking /dev/stdout.  since then i chased a
phantom bug in freebsds update procedure for two weeks, never
suspecting an rsync bug.  rsync should error exit or message the user
when used on special files!



More information about the rsync mailing list