Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added support for "Basic" authentication to our proxy, based on a
[rsync/rsync.git]
/
generator.c
diff --git
a/generator.c
b/generator.c
index
fd2ac59
..
d03ba2b
100644
(file)
--- a/
generator.c
+++ b/
generator.c
@@
-30,6
+30,9
@@
extern int preserve_links;
extern int am_root;
extern int preserve_devices;
extern int preserve_hard_links;
extern int am_root;
extern int preserve_devices;
extern int preserve_hard_links;
+extern int preserve_perms;
+extern int preserve_uid;
+extern int preserve_gid;
extern int update_only;
extern int opt_ignore_existing;
extern int csum_length;
extern int update_only;
extern int opt_ignore_existing;
extern int csum_length;
@@
-50,18
+53,15
@@
static int skip_file(char *fname,
return 0;
}
if (link_dest) {
return 0;
}
if (link_dest) {
- extern int preserve_perms;
- extern int preserve_uid;
- extern int preserve_gid;
-
if (preserve_perms
if (preserve_perms
-
&& (st->st_mode & ~_S_IFMT) != (file->mode & ~_S_IFMT))
+ && (st->st_mode & ~_S_IFMT) != (file->mode & ~_S_IFMT))
return 0;
return 0;
- if (preserve_uid && st->st_uid != file->uid)
+ if (
am_root &&
preserve_uid && st->st_uid != file->uid)
return 0;
return 0;
- if (preserve_gid && st->st_gid != file->gid)
+ if (preserve_gid && file->gid != (gid_t)-1
+ && st->st_gid != file->gid)
return 0;
}
return 0;
}
@@
-226,7
+226,7
@@
static BOOL disable_deltas_p(void)
*
* Generate approximately one checksum every block_len bytes.
*/
*
* Generate approximately one checksum every block_len bytes.
*/
-static void generate_and_send_sums(struct map_struct *buf,
OFF_T
len, int f_out)
+static void generate_and_send_sums(struct map_struct *buf,
size_t
len, int f_out)
{
size_t i;
struct sum_struct sum;
{
size_t i;
struct sum_struct sum;
@@
-277,7
+277,6
@@
void recv_generator(char *fname, struct file_list *flist, int i, int f_out)
char fnamecmpbuf[MAXPATHLEN];
extern char *compare_dest;
extern int list_only;
char fnamecmpbuf[MAXPATHLEN];
extern char *compare_dest;
extern int list_only;
- extern int preserve_perms;
extern int only_existing;
extern int orig_umask;
extern int only_existing;
extern int orig_umask;