* Copyright (C) 2003-2007 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ * with this program; if not, visit the http://fsf.org website.
*/
#include "rsync.h"
extern int allow_8bit_chars;
extern int protocol_version;
extern int preserve_times;
-extern int preserve_uid;
-extern int preserve_gid;
+extern int uid_ndx;
+extern int gid_ndx;
extern int stdout_format_has_i;
extern int stdout_format_has_o_or_i;
extern int logfile_format_has_i;
extern iconv_t ic_send, ic_recv;
#endif
extern char curr_dir[];
+extern char *module_dir;
extern unsigned int module_dirlen;
static int log_initialised;
n = buf2;
break;
case 'U':
- strlcat(fmt, "ld", sizeof fmt);
+ strlcat(fmt, "u", sizeof fmt);
snprintf(buf2, sizeof buf2, fmt,
- preserve_uid ? (long)F_UID(file) : 0);
+ uid_ndx ? F_OWNER(file) : 0);
n = buf2;
break;
case 'G':
- if (!preserve_gid || F_GID(file) == GID_NONE)
+ if (!gid_ndx || file->flags & FLAG_SKIP_GROUP)
n = "DEFAULT";
else {
- strlcat(fmt, "ld", sizeof fmt);
+ strlcat(fmt, "u", sizeof fmt);
snprintf(buf2, sizeof buf2, fmt,
- (long)F_GID(file));
+ F_GROUP(file));
n = buf2;
}
break;
n = timestring(time(NULL));
break;
case 'P':
- n = lp_path(module_id);
+ n = module_dir;
break;
case 'u':
n = auth_user;
(double)stats.total_written,
(double)stats.total_read,
(double)stats.total_size);
- } else {
+ } else if (am_server != 2) {
const char *name;
name = rerr_name(code);