Rsync 3.1.3pre1 released

Randall S. Becker rsbecker at nexbridge.com
Mon Jan 15 14:20:00 UTC 2018


On January 15, 2018 1:53 AM, Wayne Davison write:
>I have made rsync 3.1.3pre1 available for testing.  This release has a couple security fixes, a few new features, and a smattering of bug fixes.
>Please test this new release and send email to the rsync mailing list with any questions, comments, or bug reports.

Incompatibility introduced at 3.1.3pre1. These are not present at master, which compiles cleanly.

sys/file.h is not available outside LINUX, so the requirement for its use, including apparently, flist.c, sadly breaks the NonStop port. We were running off vanilla code until 16b4971 3.1.2, with only minor changes through 1f83b51. With this change, we can no longer build since NonStop is not Linux (it is POSIX compliant) and the internal kernel file tables are not available. I'm looking for an alternative to make this work because rsync is widely used on our platform and picking up the latest CVE is pretty important to us. I was hoping to contribute the port, but without a valid build/test... well, you know.

The set compile errors (after removing the catastrophically missing sys/file.h) are mostly device related (makedev, major, minor) that sets a dependency to Linux only. The others, relating to time, can be fixed for the platform, but I'm just reporting them.

cc -c99 -I. -I. -I./zlib -I./popt -g -DHAVE_CONFIG_H  -c flist.c -o flist.o
                        if ((uint32)major(rdev) == rdev_major)
                                    ^
"/home/git/rsync/flist.c", line 436: error(114): identifier "major" is undefined
                        if (protocol_version < 30 && (uint32)minor(rdev) <= 0xFFu)
                                                             ^
"/home/git/rsync/flist.c", line 440: error(114): identifier "minor" is
          undefined
                        rdev = MAKEDEV(major(rdev), 0);
                               ^
"/home/git/rsync/flist.c", line 449: error(114): identifier "makedev" is undefined
                        rdev = MAKEDEV(major(rdev), 0);
                               ^
"/home/git/rsync/flist.c", line 449: error(114): identifier "major" is undefined
                rdev = MAKEDEV(0, 0);
                       ^
"/home/git/rsync/flist.c", line 455: error(114): identifier "makedev" is undefined
                                write_varint30(f, major(rdev));
                                                  ^
"/home/git/rsync/flist.c", line 599: error(114): identifier "major" is undefined
                                write_varint(f, minor(rdev));
                                                ^
"/home/git/rsync/flist.c", line 601: error(114): identifier "minor" is undefined
                                write_byte(f, minor(rdev));
                                              ^
"/home/git/rsync/flist.c", line 603: error(114): identifier "minor" is undefined
                                write_int(f, minor(rdev));
                                             ^
"/home/git/rsync/flist.c", line 605: error(114): identifier "minor" is undefined
                                rdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                                       ^
"/home/git/rsync/flist.c", line 770: error(114): identifier "makedev" is undefined
                        rdev = MAKEDEV(rdev_major, rdev_minor);
                               ^
"/home/git/rsync/flist.c", line 845: error(114): identifier "makedev" is undefined
                rdev = MAKEDEV(0, 0);
                       ^
"/home/git/rsync/flist.c", line 851: error(114): identifier "makedev" is undefined
                DEV_MAJOR(devp) = major(rdev);
                                  ^
"/home/git/rsync/flist.c", line 1008: error(114): identifier "major" is undefined
                DEV_MINOR(devp) = minor(rdev);
                                  ^
"/home/git/rsync/flist.c", line 1009: error(114): identifier "minor" is undefined

cc -c99 -I. -I. -I./zlib -I./popt -g -DHAVE_CONFIG_H  -c generator.c -o generator.o
                        if (sxp->st.st_rdev != MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp)))
                                               ^
"/home/git/rsync/generator.c", line 1049: error(114): identifier "makedev" is undefined
                                DEV_MAJOR(devp) = major(real_sx.st.st_dev);
                                                  ^
"/home/git/rsync/generator.c", line 1476: error(114): identifier "major" is undefined
                                DEV_MINOR(devp) = minor(real_sx.st.st_dev);
                                                  ^
"/home/git/rsync/generator.c", line 1477: error(114): identifier "minor" is undefined
                if (atomic_create(file, fname, sl, NULL, MAKEDEV(0, 0), &sx, statret == 0 ? DEL_FOR_SYMLINK : 0)) {
                                                         ^
"/home/git/rsync/generator.c", line 1558: error(114): identifier "makedev" is undefined
                        rdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                               ^
"/home/git/rsync/generator.c", line 1588: error(114): identifier "makedev" is undefined
                                (long)major(rdev), (long)minor(rdev));
                                      ^
"/home/git/rsync/generator.c", line 1637: error(114): identifier "major" is undefined
                                (long)major(rdev), (long)minor(rdev));
                                                         ^
"/home/git/rsync/generator.c", line 1637: error(114): identifier "minor" is undefined
                                                dirdev = MAKEDEV(DEV_MAJOR(devp), DEV_MINOR(devp));
                                                         ^
"/home/git/rsync/generator.c", line 2252: error(114): identifier "makedev" is undefined
                                                dirdev = MAKEDEV(0, 0);
                                                         ^
"/home/git/rsync/generator.c", line 2254: error(114): identifier "makedev" is undefined

cc -c99 -I. -I. -I./zlib -I./popt -g -DHAVE_CONFIG_H  -c syscall.c -o syscall.o
        return utime(fname, t);
                            ^
"/home/git/rsync/syscall.c", line 448: error(252): argument of type "time_t *" is incompatible with parameter of type "const struct utimbuf *"

cc -c99 -I. -I. -I./zlib -I./popt -g -DHAVE_CONFIG_H  -c hlink.c -o hlink.o
        if (atomic_create(file, fname, NULL, oldname, MAKEDEV(0, 0), sxp, statret == 0 ? DEL_FOR_FILE : 0)) {
                                                      ^
"/home/git/rsync/hlink.c", line 234: error(114): identifier "makedev" is undefined

cc -c99 -I. -I. -I./zlib -I./popt -g -DHAVE_CONFIG_H  -c lib/compat.c -o lib/compat.o
        return gettimeofday(tv);
                              ^
"/home/git/rsync/lib/compat.c", line 154: error(250): too few arguments in function call

Assistance requested.

Cheers,
Randall

-- Brief whoami:
  NonStop developer since approximately NonStop(211288444200000000)
  UNIX developer since approximately 421664400
-- In my real life, I talk too much.








More information about the rsync mailing list