Wayne Davison
a8167c6611
- Added curr_dir_depth, a variable that keeps track of the depth past
...
the module root when a sanitizing daemon is running.
- Use the new calling syntax for sanitize_path().
- Updated count_dir_elements() to not count a . component.
- Improved sanitize_path() so that it can take a symlink target string
and combine it with the symlink's name when the target is relative.
When working with a symlink, the routine also returns NULL if any ..
elements try to escape past the module root.
- The new routine safe_stat(), is used when sanitizing paths (i.e. when
the daemon does not have chroot enabled). This manually follows a
chain of symlinks, ensuring they don't try to escape the module.
2006-05-03 00:48:23 +00:00
Wayne Davison
e7c67065c0
Updated the FSF's address to an even newer one.
2006-04-25 23:51:12 +00:00
Wayne Davison
0f78b81511
- Updated the address for the FSF in the opening comment.
...
- Standardized the format of the opening comment, including adding a
brief description of what's in the file for those that lacked it.
- Added some missing copyright lines.
- Some minor whitespace tweaks (in a few of the files).
2006-04-25 20:23:34 +00:00
Wayne Davison
85c417579f
Made create_directory_path() return -1 if it couldn't create some
...
portion of the filename's path.
2006-02-24 09:34:44 +00:00
Wayne Davison
e9357a2deb
+ Added mkdir_defmode().
...
+ Changed create_directory_path() to drop the (now) unneeded
base_umask arg and to call mkdir_defmode().
2006-02-24 01:56:01 +00:00
Wayne Davison
7794db7c0d
Tweaked the --human-readable code to work with the new option parsing.
2006-02-08 16:52:51 +00:00
Wayne Davison
c2b5407678
- Renamed cmp_modtime() -> cmp_time().
...
- Moved the delay-bit functions here from receiver.c and transformed
them into some more generic "bitbag" functions.
2006-02-07 18:15:37 +00:00
Wayne Davison
afa73c75b5
A minor optimization to timestring.
2006-02-03 19:40:16 +00:00
Wayne Davison
3ed8eafccb
The robust_rename() function now takes a "partialptr" arg that, if
...
non-NULL, will be used if we are forced to copy the file.
2006-01-30 07:18:16 +00:00
Wayne Davison
63cf5ae72c
Made a bunch of char* args const.
2006-01-29 18:52:53 +00:00
Wayne Davison
f608ebb106
Got rid of unused function u_strcmp().
2006-01-20 00:14:04 +00:00
Wayne Davison
785abd4802
Got rid of the safe_fname() function and the calls to it.
2006-01-13 22:06:34 +00:00
Wayne Davison
e175fb07f7
Added two new functions: human_num() and human_dnum(), which
...
output numbers in human-readable units if the --human-readable
option was specified.
2005-11-12 19:53:23 +00:00
Wayne Davison
35812ea1f9
One extra tweak to the just-committed code.
2005-10-15 19:15:29 +00:00
Wayne Davison
7e43da819e
If we're sanitizing paths with --relative enabled, we need to
...
preserve the first /./ dir so that we can use its position to
trim the implied directories.
2005-10-15 19:08:31 +00:00
Wayne Davison
c89330313e
Moved a variable in glob_expand_one().
2005-08-03 04:51:29 +00:00
Wayne Davison
25007999df
- Changed set_modtime() to take the file's mode as an arg.
...
- Made set_modtime() handle symlinks or return 1 if not possible.
2005-07-27 23:30:51 +00:00
Wayne Davison
a1f99493b3
Changed overflow() to overflow_exit().
2005-07-07 19:49:14 +00:00
Wayne Davison
6f2245c8fa
Tweaked the checking of the "limit" in safe_fname().
2005-05-03 16:44:47 +00:00
Wayne Davison
89d26123ff
Changed safe_fname() to output \### (octal) to escape non-printable
...
characters (not ?) and \\ to escape \ itself.
2005-04-01 16:48:54 +00:00
Wayne Davison
af9f56a09d
dropped the "const" from the return value of safe_fname() because
...
some callers would like to manipulate the string in the buffer.
2005-03-30 19:34:20 +00:00
Wayne Davison
6012eaa183
Fixed a problem with the stripping of the .bak/.old/.orig suffixes
...
in find_filename_suffix().
2005-03-17 08:45:36 +00:00
Wayne Davison
3e13004b6b
Tweaked the comment on copy_file().
2005-03-11 17:35:57 +00:00
Wayne Davison
bc83274ad6
- Fixed a problem with full_fname() when curr_dir was "/".
...
- Made full_fname() consistently output a leading "/" for
module paths no matter if chroot is in use or not.
2005-02-23 02:56:42 +00:00
Wayne Davison
732537212b
Cast char* to uchar* when dereferencing characters for isdigit()
...
and isprint().
2005-02-20 17:07:31 +00:00
Wayne Davison
b485e0c16c
Fixed/improved the comment before safe_name().
2005-02-18 20:17:05 +00:00
Wayne Davison
e64ae6d766
Added find_filename_suffix() and fuzzy_distance().
2005-02-14 02:41:10 +00:00
Wayne Davison
4f5b0756df
John E. Malmberg convinced me to standardize on #ifs for defined
...
values instead of non-zero.
2005-02-14 00:53:43 +00:00
Wayne Davison
5aa7b20a3e
Have partial_dir_fname() also check if the dir is excluded
...
by the server, not just the partial file.
2005-02-11 09:58:31 +00:00
Wayne Davison
f8cd88dbd1
- Added more calls to safe_fname().
...
- Improved safe_fname() so that it changes all non-printable chars
into '?'s, and accomodates more simultaneous (and longer) names.
2005-02-07 20:41:43 +00:00
Wayne Davison
25ff04417e
Use "#if" (not "#ifdef") for configure-defined macros.
2005-01-28 18:50:49 +00:00
Wayne Davison
7842418b7b
Renamed several exclude-related functions/variables using new
...
filter terminology.
2005-01-25 10:39:14 +00:00
Wayne Davison
15778afbdc
In set_modtime(), the verbose message should be output even if
...
--dry-run was specified.
2005-01-20 22:58:30 +00:00
Wayne Davison
018b28328c
No need for conditional code around do_lstat() anymore.
2005-01-19 19:30:29 +00:00
Wayne Davison
6566d205e2
Made full_write() non-static.
2004-09-07 21:26:26 +00:00
Wayne Davison
5886edfac2
Corrected/enhanced a comment.
2004-08-18 07:00:17 +00:00
Wayne Davison
f55c2dfc03
One last minor tweak to clean_fname().
2004-08-12 20:04:47 +00:00
Wayne Davison
b92693daba
- Made clean_flist()'s collapsing of ".." dirs optional by adding
...
a "BOOL collapse_dot_dot" arg.
- Improved some comments.
2004-08-12 18:20:14 +00:00
Wayne Davison
8e5f029e02
One (hopefully) last change to the sanitize_path() code.
2004-08-12 10:13:45 +00:00
Wayne Davison
2d41264e9e
Simplified sanitize_path() logic a little.
2004-08-12 09:32:16 +00:00
Wayne Davison
0219d4dfba
Improved a comment.
2004-08-12 00:58:01 +00:00
Wayne Davison
1d6b8f9ad2
- Call sanitize_path() with updated args.
...
- Added count_dir_elements() function.
- Changed the args for sanitize_path() so that the caller can request
the value for the rootdir and so that the caller tells us the current
subdir depth instead of sending us a string that we have to figure it
out from.
- Make sure that sanitize_path() doesn't mis-parse multiple adjacent
slashes.
2004-08-11 23:41:06 +00:00
Wayne Davison
630f548ff4
Made robust_rename() return a 1 if it had to copy the file.
2004-08-09 20:48:38 +00:00
Wayne Davison
e012b94f21
Fixed a bug in clean_fname() that could sometimes leave a "dir/.."
...
sequence uncollapsed.
2004-08-07 20:56:41 +00:00
Wayne Davison
3104620cf0
Made clean_fname() return the length of the string.
2004-08-06 22:36:55 +00:00
Wayne Davison
ebdd24d6d0
An improved clean_fname() routine that is more efficient and will also
...
collapse ".." dirs that aren't at the start of the path. Care was taken
to ensure that the cleaning of a name that goes over the socket is done
in the same way as the old code (because both sides call clean_fname()
on those file-list names). This ensures compatibility with older rsync
versions.
2004-08-06 21:24:14 +00:00
Wayne Davison
84a6379565
Merged alloc_sanitize_path() into sanitize_path(), adding an extra arg
...
that indicates the destination dir for the resulting path (if the dest
is NULL, a buffer will be allocated) and having it return a value.
2004-08-05 21:57:11 +00:00
Wayne Davison
c4054610c8
Don't allow a --partial-dir setting to overwrite a server-excluded
...
file (affects a daemon receiver only).
2004-07-31 18:13:20 +00:00
Wayne Davison
a7260c4037
Added the new --partial-dir option.
2004-07-29 16:06:38 +00:00
Wayne Davison
b4afd23c30
Allow safe_fname() to tweak up to two name at a time.
2004-07-26 16:34:36 +00:00