cvs over ssh
Hi there. Before I file a formal bug report I want to see if anyone else
is experiencing my problem. I'm trying to connect to a cvs server here
in the office using ssh. However, it seems that cvs isn't willing to
launch ssh even tough it's installed and correctly configured to work.
Here's a sample of what happens:
$ set | grep CVS
CVS_RSH=ssh
$ cvs -t -d :ext:aaron@ritalin:/cvsroot co project
cvs checkout: notice: main loop with CVSROOT=:ext:ritalin:/cvsroot
-> Starting server: rsh ritalin cvs server
permission denied
cvs [checkout aborted]: end of file from server (consult above messages
if any)
So this is obviously not working as it really should be. To even go to
more extremes I tried to set the environment variable for cvs as
follows:
$ cvs -t -s CVS_RSH=ssh -d :ext:ritalin:/cvsroot co project
cvs checkout: notice: main loop with CVSROOT=:ext:aaron@ritalin:/cvsroot
-> Starting server: rsh ritalin -l aaron cvs server
permission denied
cvs [checkout aborted]: end of file from server (consult above messages
if any)
However, ssh works fine on it's own, and if I scp the files over to
ritalin, do the synch on the server still using ssh with the :ext:, and
scp them back it works ok. Any help appreciated. For everyone's
amusement, here's the full strace output of what's going on:
$ strace cvs -d :ext:aaron@ritalin:/cvsroot co project
execve("/usr/bin/cvs", ["cvs", "-d", ":ext:aaron@ritalin:/cvsroot",
"co", "project"], [/* 37 vars */]) = 0
brk(0) = 0x80c1a04
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10700, ...}) = 0
old_mmap(NULL, 10700, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
close(3) = 0
open("/usr/lib/libz.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=54556, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\31\0"...,
4096) = 4096
old_mmap(NULL, 57564, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40017000
mprotect(0x40023000, 8412, PROT_NONE) = 0
old_mmap(0x40023000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xb000) = 0x40023000
close(3) = 0
open("/lib/libcrypt.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=20112, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\r\0"...,
4096) = 4096
old_mmap(NULL, 183004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40026000
mprotect(0x4002b000, 162524, PROT_NONE) = 0
old_mmap(0x4002b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x4000) = 0x4002b000
old_mmap(0x4002c000, 158428, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4002c000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0755, st_size=888596, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\244\213"...,
4096) = 4096
old_mmap(NULL, 902972, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40053000
mprotect(0x40128000, 30524, PROT_NONE) = 0
old_mmap(0x40128000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0xd4000) = 0x40128000
old_mmap(0x4012c000, 14140, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4012c000
close(3) = 0
munmap(0x40014000, 10700) = 0
personality(PER_LINUX) = 0
getpid() = 1963
brk(0) = 0x80c1a04
brk(0x80c1a2c) = 0x80c1a2c
brk(0x80c2000) = 0x80c2000
open("/etc/localtime", O_RDONLY) = 3
read(3, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\3\0"..., 44)
= 44
read(3, "\236\246H\240\237\273\25\220\240\206*\240\241\232\367\220"...,
920) = 920
fstat(3, {st_mode=S_IFREG|0644, st_size=1000, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40014000
read(3, "\377\377\235\220\1\0\377\377\217\200\0\4\377\377\235\220"...,
4096) = 36
close(3) = 0
munmap(0x40014000, 4096) = 0
getuid() = 1000
access("/home/aaron/.cvsrc", R_OK) = -1 ENOENT (No such file or
directory)
brk(0x80c4000) = 0x80c4000
getcwd("/home/aaron", 4097) = 12
brk(0x80c7000) = 0x80c7000
rt_sigprocmask(SIG_BLOCK, [HUP], [], 8) = 0
rt_sigaction(SIGHUP, {0x809651c, [], 0x4000000}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
rt_sigaction(SIGINT, {0x809651c, [], 0x4000000}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [QUIT], [], 8) = 0
rt_sigaction(SIGQUIT, {0x809651c, [], 0x4000000}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [QUIT], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigaction(SIGPIPE, {0x809651c, [], 0x4000000}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0
rt_sigaction(SIGTERM, {0x809651c, [], 0x4000000}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [TERM], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
uname({sys="Linux", node="aaron-tp20", ...}) = 0
getuid() = 1000
socket(PF_UNIX, SOCK_STREAM, 0) = 3
connect(3, {sin_family=AF_UNIX,
path="
/var/run/.nscd_socket"}, 110) = -1 ECONNREFUSED (Connection refused)
close(3) = 0
open("/etc/nsswitch.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40014000
read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 465
read(3, "", 4096) = 0
close(3) = 0
munmap(0x40014000, 4096) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10700, ...}) = 0
old_mmap(NULL, 10700, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
close(3) = 0
open("/lib/libnss_compat.so.2", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=41340, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\31\0"...,
4096) = 4096
old_mmap(NULL, 44364, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40130000
mprotect(0x4013a000, 3404, PROT_NONE) = 0
old_mmap(0x4013a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x9000) = 0x4013a000
close(3) = 0
open("/lib/libnsl.so.1", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=76080, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360?\0"...,
4096) = 4096
old_mmap(NULL, 88296, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x4013b000
mprotect(0x4014d000, 14568, PROT_NONE) = 0
old_mmap(0x4014d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED,
3, 0x11000) = 0x4014d000
old_mmap(0x4014f000, 6376, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014f000
close(3) = 0
munmap(0x40014000, 10700) = 0
uname({sys="Linux", node="aaron-tp20", ...}) = 0
open("/etc/passwd", O_RDONLY) = 3
fcntl(3, F_GETFD) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=1554, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40014000
_llseek(3, 0, [0], SEEK_CUR) = 0
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 1554
close(3) = 0
munmap(0x40014000, 4096) = 0
access("/home/aaron/.cvsrc", R_OK) = -1 ENOENT (No such file or
directory)
getuid() = 1000
open("/home/aaron/.cvsignore", O_RDONLY) = -1 ENOENT (No such file or
directory)
getuid() = 1000
access("/home/aaron/.cvswrappers", F_OK) = -1 ENOENT (No such file or
directory)
readlink("/cvsroot", 0xbfffe9f8, 4099) = -1 ENOENT (No such file or
directory)
brk(0x80c9000) = 0x80c9000
getcwd("/home/aaron", 4097) = 12
pipe([3, 4]) = 0
pipe([5, 6]) = 0
fork() = 1964
close(3) = 0
close(6) = 0
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
fcntl(4, F_GETFL) = 0x1 (flags O_WRONLY)
fstat(4, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40014000
_llseek(4, 0, 0xbffff844, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fcntl(5, F_GETFL) = 0 (flags O_RDONLY)
fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40015000
_llseek(5, 0, 0xbffff834, SEEK_CUR) = -1 ESPIPE (Illegal seek)
brk(0x80db000) = 0x80db000
write(4, "Root /cvsroot\nValid-responses ok"..., 371) = 371
read(5, permission denied
"", 4096) = 0
--- SIGCHLD (Child exited) ---
write(2, "cvs", 3cvs) = 3
write(2, " ", 1 ) = 1
write(2, "[", 1[) = 1
write(2, "checkout", 8checkout) = 8
write(2, " aborted]", 9 aborted]) = 9
write(2, ": ", 2: ) = 2
write(2, "end of file from server (consult"..., 55end of file from
server (consult above messages if any)) = 55
write(2, "\n", 1
) = 1
munmap(0x40014000, 4096) = 0
_exit(1) = ?
Reply to: