Subject: Strange AnonCVS problem: OpenSSH cannot transfer large files?
To: None <tech-net@netbsd.org>
From: Urban Boquist <urban@boquist.net>
List: tech-net
Date: 10/24/2000 00:16:30
Hi all,

I see a completely reproducible problem when I cvs update over ssh
from anoncvs.netbsd.org. Or more precisely, I see the problem if I use
OpenSSH as shipped with NetBSD-current, but not if I use good old
ssh-1.2.27.

The same (?) problem seems to have been reported by a couple of
different people the last two months, but I haven't seen any solution:

>>>> Dwight Tuinstra <tuinstra@clarkson.edu> writes on 09/20/2000:

> I'm consistently having CVS fail when doing an anonymous CVS update
> of gcc, always at the same place:
>  /usr/pkgsrc/lang/gcc# ==> cvs update -d -P
>  ? README.html
>  ? patches/.new.patch-aa
>  cvs server: Updating .
>  cvs server: Updating files
>  cvs server: Updating patches
>  cvs [update aborted]: end of file from server (consult above messages if any)

And:

>>>> gabriel rosenkoetter <gr@eclipsed.net> writes on 09/25/2000:

> So, for about a month now, my cvs updates have died like this:
>  # cd /usr/src/sys
>  # cvs -d anoncvs@anoncvs.netbsd.org:/cvsroot update -P
>  [...]
>  P arch/hpcmips/stand/pbsdboot/pbsdboot.uu
>  cvs [update aborted]: end of file from server (consult above messages if any)


I see both of these myself (if I remove either GCC's patch-aa or
pbsdboot.uu and cvs update it will die exactly as above).

I noticed two things:

	- both these files are rather big, over 200KB. Just to test I
	  removed src/share/dict/web2 and ran a cvs update. And sure
	  enough, it died in the same way.

	- the problem disappears completely if I use ssh-1.2.27
          instead of the OpenSSH shipped with -current.

For reference I include a transcript below. Any thoughts or hints
would be greatly appreciated,

        -- Urban

[ "sshv" below is a minimal script running "ssh -v" (OpenSSH).
  "/root/ssh1" is the old ssh-1.2.17. ]

iller# pwd
/usr/pkgsrc/lang/gcc/patches
iller# cat CVS/Root
anoncvs@anoncvs.netbsd.org:/cvsroot
iller# rm patch-aa
iller# CVS_RSH=sshv cvs -t update patch-aa
cvs update: notice: main loop with CVSROOT=anoncvs@anoncvs.netbsd.org:/cvsroot
 -> Starting server: sshv anoncvs.netbsd.org -l anoncvs cvs server 
SSH Version NetBSD_Secure_Shell-20001003, protocol versions 1.5/2.0.
Compiled with OpenSSL (0x0090581f).
debug: Reading configuration data /etc/ssh.conf
debug: Applying options for anoncvs.netbsd.org
debug: Applying options for *
debug: ssh_connect: getuid 0 geteuid 0 anon 0
debug: Connecting to anoncvs.netbsd.org [204.152.184.161] port 22.
debug: Allocated local port 916.
debug: Connection established.
debug: Remote protocol version 1.5, remote software version FreSSH.0.3
debug: Local version string SSH-1.5-NetBSD_Secure_Shell-20001003
debug: Waiting for server public key.
debug: Received server public key (768 bits) and host key (1024 bits).
debug: Host 'anoncvs.netbsd.org' is known and matches the RSA host key.
debug: Encryption type: 3des
debug: Sent encrypted session key.
debug: Installing crc compensation attack detector.
debug: Received encrypted confirmation.
debug: Sending command: cvs server
debug: Entering interactive session.
S-> checkout (/cvsroot/pkgsrc/lang/gcc/patches/patch-aa,v, 1.1, , (function))
S-> server_register(patch-aa, 1.1, , , , , )
S-> Register(patch-aa, 1.1, , ,  )
cvs [update aborted]: end of file from server (consult above messages if any)
iller# ls -l patch-aa
ls: patch-aa: No such file or directory
iller# CVS_RSH=/root/ssh1 cvs -t update patch-aa
cvs update: notice: main loop with CVSROOT=anoncvs@anoncvs.netbsd.org:/cvsroot
 -> Starting server: /root/ssh1 anoncvs.netbsd.org -l anoncvs cvs server 
Warning: Remote host denied X11 forwarding, perhaps xauth program could not be run on the server side.
Warning: Remote host denied authentication agent forwarding.
S-> checkout (/cvsroot/pkgsrc/lang/gcc/patches/patch-aa,v, 1.1, , (function))
S-> server_register(patch-aa, 1.1, , , , , )
S-> Register(patch-aa, 1.1, , ,  )
U patch-aa
 -> rename(.new.patch-aa,patch-aa)
 -> Register(patch-aa, 1.1, Mon Oct 23 21:17:20 2000, ,  )
S-> rename(CVS/Entries.Backup,CVS/Entries)
S-> unlink(CVS/Entries.Log)
 -> rename(CVS/Entries.Backup,CVS/Entries)
 -> unlink(CVS/Entries.Log)
iller# ls -l patch-aa
-rw-r--r--  1 root  crtusers  262320 Oct 23 23:17 patch-aa
iller#