NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/55365: cvs(1) mishandles paths to other directories
The following reply was made to PR bin/55365; it has been noted by GNATS.
From: mlelstv%serpens.de@localhost (Michael van Elst)
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: bin/55365: cvs(1) mishandles paths to other directories
Date: Thu, 11 Jun 2020 05:42:34 -0000 (UTC)
dholland%NetBSD.org@localhost writes:
>RCS file: /cvsroot/src/sys/kern/vfs_vnops.c,v
>RCS file: /cvsroot/src/sys/sys/vnode.h,v
>% cvs diff ../sys/vnode.h vfs_vnops.c
>Index: ../sys/vnode.h
>===================================================================
>RCS file: /cvsroot/src/sys/sys/vnode.h,v
>retrieving revision 1.292
>diff -r1.292 vnode.h
>597a598
>> abc
>cvs diff: cannot find revision control file for vfs_vnops.c
A trace of the CVS server shows that while it opens the first file
/cvsroot/src/sys/sys/vnode.h,v
it tries to look at the second file in the wrong directory:
/cvsroot/vfs_vnops.c,v
cvs -t shows that the server uses the wrong directory for vfs_vnops.c
-> main: Session ID is 0VJFIGTWwtdwqLbC
-> main loop with CVSROOT=/cvsroot
-> open_connection_to_server (:ext:mlelstv%cvs.netbsd.org@localhost/cvsroot)
-> Starting server: ssh -l mlelstv -- cvs.netbsd.org cvs server
S -> serve_directory (../sys)
S -> dirswitch (../sys, /cvsroot/src/sys/sys)
S -> serve_directory (.)
S -> dirswitch (., /cvsroot/src/sys/kern)
S -> serve_directory (.)
S -> dirswitch (., /cvsroot/)
S -> do_cvs_command (diff)
S -> server_notify()
S -> server_pathname_check (../sys/vnode.h)
S -> server_pathname_check (vfs_vnops.c)
S -> Reader_Lock(/cvsroot/src/sys/sys)
S -> time_stamp_server (vnode.h, 1.296, =, (null))
S -> diff_file_nodiff (../sys/vnode.h, 3)
S -> Simple_Lock_Cleanup()
S -> rename(CVS/Entries.Backup,CVS/Entries)
S -> unlink_file(CVS/Entries.Log)
S -> Reader_Lock(/cvsroot) <----------
S -> time_stamp_server (vfs_vnops.c, 1.212, =, (null))
cvs diff: cannot find revision control file for vfs_vnops.c
S -> Simple_Lock_Cleanup()
-> close_connection_to_server ()
S -> Lock_Cleanup()
S -> Simple_Lock_Cleanup()
S -> server_cleanup()
The client sends the commands
UseUnchanged
Command-prep diff
Global_option -t
Argument --
Max-dotdot 1
Directory ../sys
src/sys/sys
Entry /vnode.h/1.296///
Unchanged vnode.h
Directory .
src/sys/kern
Entry /vfs_vnops.c/1.212///
Unchanged vfs_vnops.c
Directory .
Argument ../sys/vnode.h
Argument vfs_vnops.c
diff
So that looks like a server-side bug.
--
--
Michael van Elst
Internet: mlelstv%serpens.de@localhost
"A potential Snark may lurk in every tree."
Home |
Main Index |
Thread Index |
Old Index