Does the client side send 11385 or "testuser"? Or both?


It sends both (it sends a mapping table of UID/name pairs before it
sends the UIDs attached to the file-info).  The fact that your server
got the name but didn't change the UID to the right value indicates to
me that the getpwnam() call didn't succeed in finding the provided name.
One easy way to debug this is to restart the rsync daemon under strace,
like this:

    # ... kill the current daemon ...
    script
    strace rsync --daemon --no-detach
    exit

You should then be able to see what the getpwname() system call
returned (a copy will be in the "typescript" file due to using
"script").  I doubt that this is an rsync problem, though.

I don't see anything like that, even with "strace -f" . I'm becoming slightly despaired...



Script started on Tue Sep 21 09:42:39 2004
backupserver:~# strace rsync --daemon --no-detach
execve("/usr/local/bin/rsync", ["rsync", "--daemon", "--no-detach"], [/* 13 vars */]) 
= 0
uname({sys="Linux", node="backupserver", ...}) = 0
brk(0)                                  = 0x8086000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=33820, ...}) = 0
old_mmap(NULL, 33820, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
close(3)                                = 0
open("/lib/libresolv.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\'\0"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0644, st_size=56480, ...}) = 0
old_mmap(NULL, 65312, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001d000
mprotect(0x4002a000, 12064, PROT_NONE)  = 0
old_mmap(0x4002a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd000) = 
0x4002a000
old_mmap(0x4002b000, 7968, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 
-1, 0) = 0x4002b000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\30\222"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0
old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002d000
mprotect(0x40140000, 40160, PROT_NONE)  = 0
old_mmap(0x40140000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x113000) 
= 0x40140000
old_mmap(0x40146000, 15584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 
-1, 0) = 0x40146000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x4014a000
munmap(0x40014000, 33820)               = 0
rt_sigaction(SIGUSR1, {0x805111c, [USR1], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGUSR2, {0x8051138, [USR2], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGCHLD, {0x805115c, [CHLD], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
time(NULL)                              = 1095752564
geteuid32()                             = 0
umask(0)                                = 022
brk(0)                                  = 0x8086000
brk(0x80861a8)                          = 0x80861a8
brk(0x8087000)                          = 0x8087000
rt_sigaction(SIGINT, {0x804a698, [INT], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGHUP, {0x804a698, [HUP], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGTERM, {0x804a698, [TERM], SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
getcwd("/root", 4095)                   = 6
getsockopt(0, SOL_SOCKET, SO_TYPE, 0xbffffd14, 0xbffffd18) = -1 ENOTSOCK (Socket 
operation on non-socket)
open("/etc/rsyncd.conf", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=234, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40014000
read(3, "log file = /var/log/rsyncd.log\np"..., 4096) = 234
close(3)                                = 0
munmap(0x40014000, 4096)                = 0
time(NULL)                              = 1095752564
open("/etc/localtime", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1082, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40014000
read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0\f\0"..., 4096) = 1082
close(3)                                = 0
munmap(0x40014000, 4096)                = 0
umask(022)                              = 0
open("/var/log/rsyncd.log", O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE, 0666) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2921970, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40014000
fstat64(3, {st_mode=S_IFREG|0644, st_size=2921970, ...}) = 0
_llseek(3, 2921970, [2921970], SEEK_SET) = 0
umask(0)                                = 022
getpid()                                = 5342
time(NULL)                              = 1095752564
write(3, "2004/09/21 09:42:44 [5342] rsync"..., 84) = 84
getpid()                                = 5342
open("/var/run/rsyncd.pid", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0644) = 4
write(4, "5342\n", 5)                   = 5
close(4)                                = 0
gettimeofday({1095752564, 507691}, NULL) = 0
getpid()                                = 5342
open("/etc/resolv.conf", O_RDONLY)      = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=50, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40015000
read(4, "nameserver 192.168.0.1\nnameser"..., 4096) = 50
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x40015000, 4096)                = 0
uname({sys="Linux", node="backupserver", ...}) = 0
socket(PF_INET6, SOCK_STREAM, 6)        = -1 EAFNOSUPPORT (Address family not 
supported by protocol)
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(4, {sin_family=AF_INET, sin_port=htons(873), sin_addr=inet_addr("0.0.0.0")}}, 16) 
= 0
listen(4, 5)                            = 0
close(3)                                = 0
munmap(0x40014000, 4096)                = 0
select(5, [4], NULL, NULL, NULL)        = 1 (in [4])
accept(4, {sin_family=AF_INET, sin_port=htons(23605), 
sin_addr=inet_addr("192.168.0.2")}}, [16]) = 3
rt_sigaction(SIGCHLD, {0x805bd04, [CHLD], SA_RESTART|0x4000000}, {0x805115c, [CHLD], 
SA_RESTART|0x4000000}, 8) = 0
fork()                                  = 5345
close(3)                                = 0
select(5, [4], NULL, NULL, NULL)        = ? ERESTARTNOHAND (To be restarted)
--- SIGCHLD (Child exited) ---
wait4(-1, NULL, WNOHANG, NULL)          = 5345
wait4(-1, NULL, WNOHANG, NULL)          = -1 ECHILD (No child processes)
rt_sigaction(SIGCHLD, {0x805bd04, [CHLD], SA_RESTART|0x4000000}, {0x805bd04, [CHLD], 
SA_RESTART|0x4000000}, 8) = 0
sigreturn()                             = ? (mask now [])
select(5, [4], NULL, NULL, NULL <unfinished ...>
backupserver:~# exit

Script done on Tue Sep 21 09:42:52 2004
-- 
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to