Commit Graph

  • 972a3619c4 The change a couple days ago to create files initially without group and other access resulted in group and other access being left off when the '-p' option was not used. This fixes it by reintroducing the ACCESSPERMS mask and setting permissions to (file->mode & ACCESSPERMS) if preserve_perms is off. I decided to change the mask INITPERMMASK to INITACCESSPERMS at the same time. When preserve_perms is off, rsync is restored to the previous behavior of having the permissions of the original file with the umask and setuid/setgid bits shut off. David Dykstra 1999-03-04 21:48:52 +00:00
  • 8458724d25 Disable the optimization that treats include-only files as a special case whenever delete_mode is on. People reported problems when it kicked in while using --delete and while using --delete-excluded. David Dykstra 1999-03-02 20:56:17 +00:00
  • 9422bb3fdf Change getgroups to use GETGROUPS_T as the type of the group array returned, as calculated by the configure macro AC_TYPE_GETGROUPS. Without that, it doesn't work properly on systems like sunos 4 where gid_t is defined to be an unsigned short but getgroups is defined to return an array of integers. David Dykstra 1999-03-02 16:42:46 +00:00
  • 5afd8aedce Change the mask used when creating temporary files from 777 to 700, to prevent an obscure race-condition security hole where a file may for a short time have the wrong group. Could have used 707 instead but that's just too weird of a permission. The define name used to be ACCESSPERMS but that is defined as 777 on Linux, so changed the name to INITPERMMASK. David Dykstra 1999-03-01 21:22:54 +00:00
  • 86692050b5 When comparing -1 to a group id, cast -1 with gid_t because on some systems such as sunos4 gid_t is an unsigned short. This prevented the just-added non-mapped group test from working on sunos4. David Dykstra 1999-03-01 21:16:49 +00:00
  • 460f6b990a Prevent the -g option from preserving groups that a non-root receiver does not belong to, in these two ways: 1. If a group mapping doesn't exist for a group name, do not preserve it for a non-root receiver. This is especially evident with the sender is a daemon using chroot because then no mappings are available. 2. Before setting the group on a file make sure that it is in the list of groups returned by getgroups(). The same thing is done by chgrp on systems that support bsd-style chown/chgrp, and this enforces that it happens the same way on all systems. Overhead is very little, especially since most systems don't allow more then 16 groups per user. David Dykstra 1999-03-01 19:24:39 +00:00
  • 896bd482c0 Removed am_client variable. It was being set in one place, when a client of a socket (that is, a --daemon) server, but never looked at. The way to test whether or not on a client is (!am_server). David Dykstra 1999-02-25 17:58:31 +00:00
  • 53f821f1e6 Fix a bug with rsync -R --delete from ./ as reported in PR#1532 David Dykstra 1999-02-24 22:38:36 +00:00
  • b33b791e6b Add --delete-excluded option to delete files on the receiving side that are excluded. Implies --delete. David Dykstra 1999-02-22 19:55:57 +00:00
  • 17d31b380b Changed --stats implementation to work without -v in only these two situations: 1. the client is the receiver of files. Can't do it otherwise yet because without -v the bytes written from the sender's generator process will not be counted. 2. both the remote and local protocol versions are >=20. I did not change the protocol version yet because it is such a minor change that it isn't worth it, although I did test it with the protocol version set to 20. If neither of the situations hold, it prints a message saying to use -v. David Dykstra 1999-02-18 17:23:44 +00:00
  • a8b9d4edec Changed exclude/include matching so that normally wildcards will stop at slashes. The old behavior of crossing slashes can be achieved by using a double-asterisk ('**') anywhere in a pattern. Note that this can change some existing exclude patterns in a subtle way. Also note that if the remote side is an older release the processing on the two sides might not be exactly the same when there's no double-asterisk, which can affect which files are excluded from deletion, but they're close enough that people will probably not notice. I considered changing the protocol version and checking the remote_version number to ensure the same processing on both sides, but the exclude patterns are pre-processed before the remote version number is known and it's just not worth going through extraordinary efforts. Suggested by Cameron Simpson <cs@zip.com.au> David Dykstra 1999-02-18 16:27:36 +00:00
  • f83f054875 added --size-only option. Useful when starting to use rsync after a ftp based mirror system so that timestamps may not be right. Andrew Tridgell 1999-02-18 03:48:24 +00:00
  • 15800c7e89 Changed man page documentation of --force to say it is hardly ever needed any more except in very obscure cases. David Dykstra 1999-02-17 21:39:45 +00:00
  • b531360763 Added --copy-unsafe-links option which is like --copy-links except it is only for symlinks that point outside the source tree. Suggested by Charles Hines <chuck_hines@VNET.IBM.COM> in PR#1376. Also apply the option to any symbolic links in the source portion of a path when --relative is used, as suggested by Francis Montagnac <Francis.Montagnac@sophia.inria.fr> on the rsync mailing list in a message titled "New option: --copy-parent-links". David Dykstra 1999-02-17 19:34:40 +00:00
  • b567933566 Be consistent on use of '=' on options that take a parameter. David Dykstra 1999-02-15 17:48:06 +00:00
  • 52d7d78865 Change the implementation of memmove in lib/compat.c to call bcopy instead of memcpy because bcopy is guaranteed to work with overlapping memory and memcpy is not. Bug fix for PR#1584 in which log entries in the rsync daemon log on Sunos 4.1.4 were garbled. David Dykstra 1999-02-12 17:27:22 +00:00
  • 23c5aef18e A slight compensation I had just added for total bytes read when using -v was incorrect. It's hard to tell how many bytes are actually read because transferring the value changes it and depending on its value it may transfer 4 or 12 bytes so instead change the sender side to not include the length of the counters it sends at all (it had been including one but three are sent). David Dykstra 1999-02-10 22:16:32 +00:00
  • e19452a96c Allow --stats to work without -v. David Dykstra 1999-02-10 21:54:12 +00:00
  • 9ef5390714 Changed Usage in the rsync --help message to indicate how there can be multiple SRCs. Also moved the --suffix option to show up right after --backup and included the default backup suffix and block size along with their corresponding options rather than at the end. Copied the new help message to rsync.yo and README and used the Usage also in the SYNOPSIS section at the top of rsync.yo rather than the different one that used "path" instead of SRC and DEST. That last change was inspired by a suggestion from Michael Bleyer in PR #1523. David Dykstra 1999-02-10 19:33:05 +00:00
  • fd0abefa43 Changed error message that just said "open %s: %s" to "cannot create %s: %s" in receiver.c because it confuses people when they do something like rsync /etc/passwd /tmp/nonexistentdir/passwd and it printed out something like open /tmp/noniexistentdir/.passwd.a004d5 : No such file or directory Reported by kurt_granroth@pobox.com in PR #1253. David Dykstra 1999-02-10 18:44:25 +00:00
  • 19c14f987e Changed the optimized include mode (which kicks in when there are a series of non-wildcard includes followed by an exclude of *) so that it will silently ignore included files that don't exist rather than saying "No such file or directory". This is more like the behavior of the non-optimized include mode. David Dykstra 1999-02-10 18:03:59 +00:00
  • 122f19a615 Support '#' and ';' comments in exclude files. It would actually not probably cause any harm if they were treated as normal exclude or include patterns because they just wouldn't match anything, but it's better to explicitly ignore them. Suggested by David Holland <uholld1@lexis-nexis.com> David Dykstra 1999-02-09 22:31:52 +00:00
  • 3ca8e68f58 Added "strict modes" option. When set false (default is true), it allows the secrets file to be readable by other users. Added to support the Windows port under cygwin. Problem reported by Martin Krumpolec krumpo@pobox.sk David Dykstra 1999-02-09 19:27:15 +00:00
  • d41c7d025c Use MAXHOSTNAMELEN (256) for the array holding the host_name in socket.c instead of 200. Move the defines of True and False to rsync.h. Eliminate the defines of BOOL in loadparm.c and params.c because it is already defined in rsync.h. Changes suggested by Roman Gollent roman.gollent@wdr.com David Dykstra 1999-02-09 18:35:29 +00:00
  • b86f0cefa2 Add --quiet/-q option. Contributed by Rich Salz salzr@certco.com. David Dykstra 1999-02-09 17:25:35 +00:00
  • c226b7c2fd Move the initialization of push_dir, which calls getcwd, to early in main. The reason for that is that on SVR2-based UTS 2.1.2 (which along with many other old systems implements getcwd by forking "pwd") getcwd hangs when called when other child processes are running. David Dykstra 1999-02-03 15:38:06 +00:00
  • 5865fcdd63 When calling lchown, pass the current known uid and gid rather than -1 to not change it, since the old SVR2-based UTS 2.1.2 does not support leaving uid and gid alone when the value is -1. David Dykstra 1999-02-03 15:15:56 +00:00
  • e68f34816f Add alternate implementation of waitpid() for systems that have wait4 but not wait3, in particular Amdahl's SVR2-based UTS 2.1.2. The code comes from apache, but I contributed it to apache in the first place. David Dykstra 1999-02-03 15:11:40 +00:00
  • 716baed7ff Fix serious bug with "use chroot = no" option which caused "uid =" and "gid =" to be ignored. At the same time, change the "uid =" and "gid =" options to be ignored when not running the daemon as super-user, to make it more convenient for those people and to make it portable to systems such as cygwin which don't support the uid/gid notions. David Dykstra 1999-01-21 17:10:32 +00:00
  • b882b49747 Document the fact that the %t log format option includes the date, and that the "log file" option always prepends "%t [%p] ". David Dykstra 1999-01-20 21:32:46 +00:00
  • 1f0610ef82 Fix segmentation fault when using -vvv. Suggested by assar@sics.se. David Dykstra 1999-01-11 17:07:27 +00:00
  • 379e689dac fixed bug where strtok() could return NULL in getpassf(). Andrew Tridgell 1999-01-08 10:42:29 +00:00
  • 65575e9670 added --password-file patch from Alex Schlessinger <alex@inconnect.com> Andrew Tridgell 1999-01-08 10:32:56 +00:00
  • 5e71c4446e made the "max connections" and "lock file" local rather than global options so you can set them on a per-module basis (requested by kernel.org mirror maintiner) Andrew Tridgell 1999-01-08 07:51:25 +00:00
  • 94a7fce217 Ran yodl2man on rsync.yo, and updated modification date. David Dykstra 1999-01-07 16:27:38 +00:00
  • 3bc67f0c4f add warning about using RSYNC_PASSWORD on systems where env varibables are visible to all users. Andrew Tridgell 1999-01-07 07:19:03 +00:00
  • 117af10225 Change the receive log message from "send" to "recv". Fix from Rick Smith <rick@rbsmith.com>. David Dykstra 1999-01-05 20:08:45 +00:00
  • 536541d52b moved the block length mismatch code to another part of the loop. Andrew Tridgell 1999-01-05 06:43:59 +00:00
  • 496d9272c1 don't try to match checksums of two blocks which are of unequal size. This explains the high false_alarms rate that I saw for one of the sample data files used in my thesis. Andrew Tridgell 1999-01-05 06:31:58 +00:00
  • 34d3eed462 fixed a bug in the adjacent target optimisation Andrew Tridgell 1999-01-05 01:57:13 +00:00
  • 923fa97808 an optimization that tries to make rsync choose adjacent matches if multiple matching blocks are available. This make the run-length coding of the output more efficient. Andrew Tridgell 1999-01-05 01:15:32 +00:00
  • 4440b8aa3f no longer use mmap() in rsync because of the risk of a SIGBUS when another program (such as a mailer) truncates a file. Andrew Tridgell 1998-12-30 14:48:45 +00:00
  • 5a554d5b14 steve.ingram@icl-gis.com noticed several mistakes in rsync.1. Some of them had already been fixed but yodl2man hadn't been run, and a couple others were new. David Dykstra 1998-12-07 18:48:46 +00:00
  • 2cfeab21ce Fix minor man page typo, suggested by jbm@jbm.org. David Dykstra 1998-12-07 14:51:32 +00:00
  • 2b086e033c paranoia change - treat list_only like read_only and refuse all syscalls that might change the filesystem. This shouldn't be needed, but I like paranoid coding :) Andrew Tridgell 1998-12-05 01:56:45 +00:00
  • 241fc706a9 - slprintf() takes sizeof(buf) not sizeof(buf)-1 - fixed incorrect format string in rename error Andrew Tridgell 1998-12-05 01:55:37 +00:00
  • 7fadb4bc58 Support newer rpm's which define $RPM_OPT_FLAGS as a set of options separated by spaces. Suggested by pavel_roskin@geocities.com. David Dykstra 1998-12-01 16:13:25 +00:00
  • 6c7c2ef372 Minor documentation change suggested by pavel_roskin@geocities.com. David Dykstra 1998-12-01 16:11:40 +00:00
  • 86a2dd0a0a preparing for release of 2.2.1 v2.2.1 rsync-bugs 1998-11-25 16:24:56 +00:00
  • 63f0774f75 Back out change that treated "refuse options = compress" the same as "dont compress = *", by request of Tridge. Instead, mention the difference in the man page. Also, put in a shortcut in set_compression() to recognize "*" earlier instead of going through malloc/strtok/fnmatch/free cycle. David Dykstra 1998-11-25 15:37:50 +00:00
  • d47741cac6 When "refuse options = compress" is set in rsyncd.conf, silently send files at compression level 0 instead of printing an error and exitting. This is the same effect as "dont compress = *". David Dykstra 1998-11-24 22:03:16 +00:00
  • 5d5811f7d9 Always include "." when processing exclude lists. This avoids confusion when people do --exclude "*". Also, add an example to the man page that shows explicitly including parent directories when itemizing specific paths to include followed by --exclude "*". David Dykstra 1998-11-24 21:26:38 +00:00
  • dcc3a131d1 Update the README file to reflect current usage options. David Dykstra 1998-11-24 20:54:56 +00:00
  • 7212be9237 Don't list cleaned-out duplicate file names as "<NULL>" when doing list_only mode; skip them instead. David Dykstra 1998-11-24 20:51:45 +00:00
  • 44e2e57837 Change sanitize_path() function to not malloc a copy since it only shrinks paths and it is only used in places that have already just done a copy. David Dykstra 1998-11-24 20:18:11 +00:00
  • d1be231290 Make sure secrets file is not other-accessible, and owned by root if the daemon is running as root. Suggested by Mike Richardson <mike@quaking.demon.co.uk> David Dykstra 1998-11-24 19:52:35 +00:00
  • a926daecbf Always add the O_BINARY flag in do_open if it is defined, for Windows. Suggestion from Mart.Laak@hansa.ee David Dykstra 1998-11-24 19:10:21 +00:00
  • 53dd3135f1 Backup deleted files when using --delete and --backup. Based on a suggested patch from Kanai Makoto (kanai@hallab.co.jp). David Dykstra 1998-11-24 19:01:24 +00:00
  • cd64343a7a Add "include" and "include from" rsyncd.conf options. Contributed by Dennis Gilbert <dennis@oit.pdx.edu>. David Dykstra 1998-11-23 21:54:01 +00:00
  • 9e3c856a39 updates to reflect new samba.org domain the main web site is now http://rsync.samba.org/ Andrew Tridgell 1998-11-23 00:30:27 +00:00
  • 1e8ae5ede6 changed an example slightly Andrew Tridgell 1998-11-20 22:46:42 +00:00
  • 83fff1aa60 added "dont compress" option with the default setting of *.gz *.tgz *.zip *.z *.rpm *.deb Andrew Tridgell 1998-11-20 22:26:29 +00:00
  • 055af77666 improved the "refuse options" code a bit Andrew Tridgell 1998-11-19 06:45:21 +00:00
  • cd8185f2bd added "refuse options" option Andrew Tridgell 1998-11-19 06:35:49 +00:00
  • 6bd98f0617 Look for strcasecmp in -lresolv for Unixware. David Dykstra 1998-11-18 17:53:22 +00:00
  • 14d43f1fcf Minor documentation patches, due mostly to Jason Henry Parker <henry@freezer.humbug.org.au> David Dykstra 1998-11-18 17:36:36 +00:00
  • 3a64ad1fd0 Change --log-format documentation to make it clear that it is for the client logging to stdout. David Dykstra 1998-11-18 16:20:22 +00:00
  • 5557c8e3e0 Remove a debugging statement I accidentally included in the last commit. David Dykstra 1998-11-18 16:02:23 +00:00
  • baf3e5049e Change documentation to explain that a lack of -t in effect causes -I to be assumed on the next transfer. David Dykstra 1998-11-18 15:54:50 +00:00
  • b389939f87 Apply sanitize_paths() to glob expansions when use chroot = no. David Dykstra 1998-11-17 21:56:18 +00:00
  • af77cc6b57 don't interpret %h and %a when using --log-format locally Andrew Tridgell 1998-11-16 23:50:28 +00:00
  • 1309d90dde fixed a bug handling files larger than 2GB Andrew Tridgell 1998-11-16 03:53:43 +00:00
  • a9766ef147 log filename(line) in exit_cleanup() to make tracking down problems easier in rsync daemons. Andrew Tridgell 1998-11-15 01:21:42 +00:00
  • 5a788adec1 use native strlcat() and strlcpy() if available Andrew Tridgell 1998-11-15 01:04:16 +00:00
  • 50abd20bb3 compile with optimisation by default on all compilers (the mdfour code really needs it) Andrew Tridgell 1998-11-14 23:49:08 +00:00
  • 37f9805dab changed strlcat() and strlcpy() to have the same semantics as the OpenBSD functions of the same name. Andrew Tridgell 1998-11-14 23:31:58 +00:00
  • b5f9e67d57 Change sanitize_path() to not use clean_fname() because it removes the trailing slash. This caused a problem when using "use chroot" and sources that contained a trailing slash (which prevents the last filename component of the source from being included in the destination). Instead, have sanitize_path() remove "." components and duplicated slashes ("//") itself. David Dykstra 1998-11-06 17:07:07 +00:00
  • ed06894a01 fixed typo Andrew Tridgell 1998-11-06 10:37:10 +00:00
  • d532c0f569 Add comment before call to mktemp saying it is deliberately chosen over mkstemp. David Dykstra 1998-11-05 14:33:38 +00:00
  • ec9df38086 Fix confusion between RERR_NOSUPPORT and RERR_UNSUPPORTED for exit codes that indicate a feature is not supported. Two places that are normally ifdefed out used RERR_UNSUPPORTED whereas one other place and errcode.h used RERR_NOSUPPORT. Changed them all to consistently use RERR_UNSUPPORTED. The two things that had the bad values were #ifndef SUPPORT_LINKS and #ifdef NO_INT64. The former is probably for non-Unix operating systems and the latter was at least on the default Unixware compiler. David Dykstra 1998-11-04 16:47:33 +00:00
  • 81791cfccb added timeout option in rsyncd.conf Andrew Tridgell 1998-11-04 03:14:22 +00:00
  • 2fb27e9146 use macros to make mdfour faster on systems that don't do inlining well. Also helps when optimisation level is low. Andrew Tridgell 1998-11-04 02:35:18 +00:00
  • 946347b8ff Remove statement in rsync.1 that a rsync:// URL can only be used if a username is not needed. David Dykstra 1998-11-03 22:30:52 +00:00
  • c239825783 preparing for release of 2.2.0 v2.2.0 rsync-bugs 1998-11-03 22:00:59 +00:00
  • 33e817e37e Document the fact that you can use [USER@] in an rsync URL. Note: the same thing works for ftp and http URLs in netscape. David Dykstra 1998-11-03 21:58:08 +00:00
  • 1b8e662a24 Call clean_fname() in sanitize_path() to catch some more strange but legal file name syntaxes. David Dykstra 1998-11-03 21:49:38 +00:00
  • 2acf81eb00 Add support for optional ":PORT" in rsync URL. David Dykstra 1998-11-03 21:17:40 +00:00
  • 654175798b patch from Alberto Accomazzi <aaccomazzi@cfa.harvard.edu> to add different exit codes for different conditions. Andrew Tridgell 1998-11-03 07:08:27 +00:00
  • 3e578a1909 documented --delete disabling on IO errors Andrew Tridgell 1998-11-03 05:14:41 +00:00
  • b606265491 added the --log-format option to allow users to request arbitrary per-file logging of interactive rsync sessions. Andrew Tridgell 1998-11-03 03:48:47 +00:00
  • 263cf2ed55 remove double / from filenames in display Andrew Tridgell 1998-11-02 07:26:36 +00:00
  • ab7104da8f the logging wasn't showing the full prefix for filenames Andrew Tridgell 1998-11-02 06:40:11 +00:00
  • 1b7c47cb55 Jason told me that's its very important for his site to log exactly how many bytes were needed to be transferred for each file. I added %b and %c log format options to cover this. See the man page for details. Andrew Tridgell 1998-11-02 04:17:56 +00:00
  • 039faa8660 - document the rsync:// URL format Andrew Tridgell 1998-11-02 00:55:21 +00:00
  • f7632fc60d if no local destination is provided for the transfer then provide a "ls -l" style listing of the files that would be transferred Andrew Tridgell 1998-11-02 00:52:01 +00:00
  • 2f098547ea added copyright notice from Patrick Powell Andrew Tridgell 1998-10-31 04:35:44 +00:00
  • c7c056410c get the date comparison the right way around Andrew Tridgell 1998-10-31 00:12:59 +00:00
  • e803090538 use the orig_umask when choosing perms for the log file. Andrew Tridgell 1998-10-30 23:50:12 +00:00
  • 6265551a5a fixed perms on rsyncd log file Andrew Tridgell 1998-10-30 23:03:08 +00:00
  • 958f373550 move the time init before the logfile opening. Andrew Tridgell 1998-10-30 11:18:38 +00:00