No description
  • C 82%
  • Shell 5.7%
  • Python 5.2%
  • M4 2.2%
  • Assembly 1.3%
  • Other 3.6%
Find a file
Thomas Turner 6a2e628ca9
rsync: Compile with c17 for legacy K&R compatibility
Change-Id: Icf57cdac2c77c28ea6132dadd70dc46f039945f7
2025-06-23 16:37:38 +02:00
.github/workflows Update to newer artifact version. 2024-11-05 11:14:46 -08:00
doc Spelling fixes from a Fossies run done by Jens. 2020-04-15 17:42:23 -07:00
lib Version 3.4.1. 2025-06-23 16:04:06 +02:00
m4 Silence autoconf warnings. 2022-10-16 10:28:58 -07:00
packaging Preparing for release of 3.4.1 [buildall] 2025-01-16 07:49:23 +11:00
popt popt: remove dependency on alloca 2025-01-16 07:27:46 +11:00
support Allow basic connectivity check via rrsync 2024-11-19 21:35:49 -08:00
testhelp Use /usr/bin/env for increased portability. 2020-06-16 18:27:48 -07:00
testsuite Test send a single directory with -H enabled 2025-01-16 06:32:17 +11:00
zlib A fix for the zlib fix. 2022-08-08 20:05:10 -07:00
.gitattributes Force git line endings (#68) 2020-07-15 10:20:52 -07:00
.gitignore rsync: Ignore git-version.h 2023-01-04 09:31:46 +01:00
access.c Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
acls.c acls: correct type/size for orig_umask 2024-11-14 07:15:14 +11:00
Android.bp rsync: Compile with c17 for legacy K&R compatibility 2025-06-23 16:37:38 +02:00
authenticate.c Preparing for release of 3.2.7pre1 2022-09-30 12:36:21 -07:00
backup.c Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
batch.c Preparing for release of 3.2.5 2022-08-14 10:15:08 -07:00
byteorder.h Preparing for release of 3.2.5 2022-08-14 10:15:08 -07:00
case_N.h Two more spelling fixes and some year updates. 2020-04-16 09:31:02 -07:00
checksum.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
chmod.c Two more spelling fixes and some year updates. 2020-04-16 09:31:02 -07:00
cleanup.c Mention file & line on OOM and overflow errors. 2020-07-12 23:25:21 -07:00
clientname.c Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
clientserver.c A few more doc tweaks & comment tweaks. 2022-09-30 12:34:58 -07:00
cmd-or-msg Rename cmdormsg -> cmd-or-msg. 2021-09-26 18:55:46 -07:00
compat.c Init the checksum choices before the daemon auth. 2022-10-25 09:04:45 -07:00
config.guess Mention updated config files. 2023-05-04 08:45:42 -07:00
config.h rsync: Regenerate srcs[] and config.h 2025-06-23 16:37:38 +02:00
config.sub Mention updated config files. 2023-05-04 08:45:42 -07:00
configure Improve the per-branch build dir support 2020-06-28 19:42:25 -07:00
configure.ac When not using the builtin zlib, link it before linking libcrypto, as libcrypto depends on zlib. 2024-11-19 21:40:14 -08:00
connection.c Set Copyright years and make them easier to update 2020-04-09 15:11:37 -07:00
COPYING Minor cleanup (#214) 2021-09-26 16:57:55 -07:00
csprotocol.txt A few more doc tweaks & comment tweaks. 2022-09-30 12:34:58 -07:00
daemon-parm.awk Initialize values string in a more consistent spot. 2020-07-04 14:21:15 -07:00
daemon-parm.h Android build, static config, and changes 2020-09-09 19:08:43 +02:00
daemon-parm.txt Some "use chroot" improvements. 2022-09-20 00:08:16 -07:00
default-cvsignore.h Android build, static config, and changes 2020-09-09 19:08:43 +02:00
default-dont-compress.h Android build, static config, and changes 2020-09-09 19:08:43 +02:00
define-from-md.awk Use documentation to extract 2 more .h lists 2020-06-18 11:20:57 -07:00
delete.c Preparing for release of 3.3.0 [buildall] 2024-04-06 09:30:21 -07:00
Doxyfile Don't generate code for zlib and popt. 2002-04-08 04:00:24 +00:00
errcode.h Tweak the copyright year. 2019-03-16 09:15:49 -07:00
exclude.c Preparing for release of 3.3.0 [buildall] 2024-04-06 09:30:21 -07:00
fileio.c Preparing for release of 3.3.0pre1 [buildall] 2023-04-29 09:01:43 -07:00
flist.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
generator.c Fix use-after-free in generator 2025-01-16 06:27:26 +11:00
getfsdev.c Some indentation fixes. 2020-06-13 19:15:02 -07:00
getgroups.c Some misc cleanup 2020-06-27 21:19:52 -07:00
git-version.h rsync: Regenerate srcs[] and config.h 2025-06-23 16:37:38 +02:00
hashtable.c Preparing for release of 3.2.7pre1 2022-09-30 12:36:21 -07:00
help-from-md.awk Use documentation to extract 2 more .h lists 2020-06-18 11:20:57 -07:00
help-rsync.h rsync: Regenerate configs 2023-01-04 09:31:48 +01:00
help-rsyncd.h Android build, static config, and changes 2020-09-09 19:08:43 +02:00
hlink.c hlink: Fix function pointer cast in qsort() 2024-12-18 08:56:27 +11:00
ifuncs.h Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
install-sh shell: test -a|o is not POSIX (#250) 2021-11-07 10:23:01 -08:00
INSTALL.md added apple silicon path details 2024-05-29 11:19:19 +10:00
inums.h Tweak the copyright year. 2019-03-16 09:15:49 -07:00
io.c Some checksum buffer fixes. 2024-10-29 23:06:34 -07:00
io.h Tweak the copyright year. 2019-03-16 09:15:49 -07:00
itypes.h Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
known_substitutions_android.sh rsync: Enable support for zstd compression 2023-05-11 21:39:49 +02:00
latest-year.h Preparing for release of 3.4.0 [buildall] 2025-01-15 05:53:23 +11:00
loadparm.c Make gcc die on init overflow of an array. 2020-09-29 13:18:28 -07:00
log.c Improve various things in the checksum code 2022-09-10 11:39:37 -07:00
main.c Improve packaging/var-checker. 2024-11-14 11:42:24 -08:00
Makefile.in Add helper script for updating samba files. 2024-11-05 12:42:42 -08:00
match.c prevent information leak off the stack 2025-01-15 05:30:32 +11:00
maybe-make-man Add --force-link-text to md-convert. 2023-04-23 08:26:32 -07:00
md-convert Add --force-link-text to md-convert. 2023-04-23 08:26:32 -07:00
md2man Unify md parsing scripts & improve non-man html conversions. 2021-12-27 14:24:05 -08:00
mkgitver Fix version verification when "\|" doesn't work in sed. 2022-10-16 11:14:15 -07:00
mkproto.awk Use touch for proto.h-tstamp since one awk wasn't updating mtime. 2020-08-03 13:33:46 -07:00
NEWS.md update NEWS.md for 3.4.1 2025-01-16 07:47:07 +11:00
options.c Indentation tweak. 2024-11-05 11:20:17 -08:00
params.c Some memory allocation improvements 2020-06-25 20:54:21 -07:00
pipe.c Some indentation fixes. 2020-06-13 19:15:02 -07:00
prepare-source Some word fixes. 2022-03-26 08:58:51 -07:00
prepare-source.mak Don't make .PHONY the first target in a Makefile. 2020-07-30 18:58:34 -07:00
progress.c Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
proto.h rsync: Regenerate srcs[] and config.h 2025-06-23 16:37:38 +02:00
README.md added security email address to README.md 2024-12-18 08:55:45 +11:00
receiver.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
rounding.c Check extra rounding using an int64. 2020-06-18 15:45:39 -07:00
rounding.h Android build, static config, and changes 2020-09-09 19:08:43 +02:00
rsync-ssl add ssl/tls key option (#216) 2021-09-26 16:44:00 -07:00
rsync-ssl.1.md Link to rsyncd.conf page server-setup details. 2022-06-19 16:55:18 -07:00
rsync.1.md fix typo in manual page 2024-11-19 21:45:50 -08:00
rsync.c Some checksum buffer fixes. 2024-10-29 23:06:34 -07:00
rsync.h Fix FLAG_GOT_DIR_FLIST collission with FLAG_HLINKED 2025-01-16 06:21:54 +11:00
rsync3.txt A few more https changes. 2020-06-22 14:21:15 -07:00
rsyncd.conf.5.md Tweak maintainer messaging. 2024-04-08 13:16:12 -07:00
rsyncsh.txt Notes on an interactive shell for rsync. 2001-08-30 07:11:46 +00:00
runtests.sh Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
SECURITY.md update maintainer address 2025-01-15 12:13:41 +11:00
sender.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
shconfig.in Better fakeroot support helps Solaris. 2011-09-20 13:17:42 -07:00
simd-checksum-avx2.S Make asm use more selectable 2022-03-03 17:00:57 -08:00
simd-checksum-x86_64.cpp Fix __m128i_u / __m256i_u alignment 2024-11-19 21:28:39 -08:00
socket.c Some memory allocation improvements 2020-06-25 20:54:21 -07:00
stunnel-rsyncd.conf.in Change the rsync-ssl helper script 2020-04-19 14:00:33 -07:00
syscall.c Fix build on ancient glibc without openat(AT_FDCWD 2025-01-16 06:43:57 +11:00
t_stub.c Improve packaging/var-checker. 2024-11-14 11:42:24 -08:00
t_unsafe.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
tech_report.tex updates to reflect new samba.org domain 1998-11-23 00:30:27 +00:00
testrun.c Let's cast getpid() to an int instead of a long for snprintf(). 2011-10-08 09:15:36 -07:00
tls.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
TODO A few more https changes. 2020-06-22 14:21:15 -07:00
token.c Preparing for release of 3.2.4pre2 2022-01-15 17:21:01 -08:00
trimslash.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
uidlist.c Preparing for release of 3.2.5pre1 2022-08-01 18:51:07 -07:00
usage.c Cygwin needs stdout flushed. [buildall] 2022-10-22 12:04:32 -07:00
util1.c fixed symlink race condition in sender 2025-01-15 05:30:32 +11:00
util2.c Preparing for release of 3.3.0 [buildall] 2024-04-06 09:30:21 -07:00
version.h Preparing for release of 3.4.1 [buildall] 2025-01-16 07:49:23 +11:00
wildtest.c Tweak the copyright year. 2019-03-16 09:15:49 -07:00
wildtest.txt A few extra directory-style matching tests. 2005-12-19 02:30:59 +00:00
xattrs.c Use hashlittle2() for xattr hashing 2022-09-13 22:43:01 -07:00

WHAT IS RSYNC?

Rsync is a fast and extraordinarily versatile file copying tool for both remote and local files.

Rsync uses a delta-transfer algorithm which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. At first glance this may seem impossible because the calculation of diffs between two files normally requires local access to both files.

A technical report describing the rsync algorithm is included with this package.

USAGE

Basically you use rsync just like scp, but rsync has many additional options. To get a complete list of supported options type:

rsync --help

See the manpage for more detailed information.

BUILDING AND INSTALLING

If you need to build rsync yourself, check out the INSTALL page for information on what libraries and packages you can use to get the maximum features in your build.

SETUP

Rsync normally uses ssh or rsh for communication with remote systems. It does not need to be setuid and requires no special privileges for installation. You must, however, have a working ssh or rsh system. Using ssh is recommended for its security features.

Alternatively, rsync can run in `daemon' mode, listening on a socket. This is generally used for public file distribution, although authentication and access control are available.

To install rsync, first run the "configure" script. This will create a Makefile and config.h appropriate for your system. Then type "make".

Note that on some systems you will have to force configure not to use gcc because gcc may not support some features (such as 64 bit file offsets) that your system may support. Set the environment variable CC to the name of your native compiler before running configure in this case.

Once built put a copy of rsync in your search path on the local and remote systems (or use "make install"). That's it!

RSYNC DAEMONS

Rsync can also talk to "rsync daemons" which can provide anonymous or authenticated rsync. See the rsyncd.conf(5) manpage for details on how to setup an rsync daemon. See the rsync(1) manpage for info on how to connect to an rsync daemon.

WEB SITE

For more information, visit the main rsync web site.

You'll find a FAQ list, downloads, resources, HTML versions of the manpages, etc.

MAILING LISTS

There is a mailing list for the discussion of rsync and its applications that is open to anyone to join. New releases are announced on this list, and there is also an announcement-only mailing list for those that want official announcements. See the mailing-list page for full details.

BUG REPORTS

The bug-tracking web page has full details on bug reporting.

That page contains links to the current bug list, and information on how to do a good job when reporting a bug. You might also like to try searching the Internet for the error message you've received, or looking in the mailing list archives.

To send a bug report, follow the instructions on the bug-tracking page of the web site.

Alternately, email your bug report to rsync@lists.samba.org.

For security issues please email details of the issue to rsync.project@gmail.com.

GIT REPOSITORY

If you want to get the very latest version of rsync direct from the source code repository, then you will need to use git. The git repo is hosted on GitHub and on Samba's site.

See the download page for full details on all the ways to grab the source.

Rsync was originally written by Andrew Tridgell and Paul Mackerras. Many people from around the world have helped to maintain and improve it.

Rsync may be used, modified and redistributed only under the terms of the GNU General Public License, found in the file COPYING in this distribution, or at the Free Software Foundation.