bugConcurrent Versions System - Bugs: bug #17032, CVS checksum failure - when using...

 
 

bug #17032: CVS checksum failure - when using SSH as access method

Submitter:  None
Submitted:  Wed 05 Jul 2006 10:22:22 AM UTC
Votes: 1
 
Category:  Bug Report Severity:  3 - Normal
Item Group:  None Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed Release:  1.11.22
Fixed Release:  1.11.23 Fixed Feature Release:  1.12.14
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 28 Aug 2006 08:04:00 PM UTC, comment #5: 

This appears to work now.  Closing.

Derek Robert Price <dprice>
Group administrator
Thu 24 Aug 2006 05:34:21 PM UTC, comment #4: 

I believe this was the long-standing and well-documented bug commented on in patch_file() in update.c and tested in keyword-23r in sanity.sh.

The comment in update.c was wrong about the tag from CVS/Entries not being available, however, so I've fixed at least the simple case, where the client has the correct keywords in the working file, on the server side.

Unfortunately, this does not fix the whole problem - there is a secondary problem that sometimes the client working file has the wrong keywords substituted into it, so the server cannot reliably reproduce the client working file.  See bug #17168.

I cannot completely fix this bug until bug #17168 is fixed, so I've added that as a dependency of this bug.

Derek Robert Price <dprice>
Group administrator
Thu 06 Jul 2006 05:12:00 PM UTC, comment #3: 

From what I can tell so far, it looks like this bug also occurs in the latest stable release (1.11.22).

It looks like the problem has to do with RCS keyword expansion, when using client-server protocol (pserver, ssh both exhibit the problem, local doesn't). I haven't checked into it fully yet, but it appears that the server is performing the MD5 checksum on the un-expanded keywords, but the client is performing it on the expanded keywords. IOW the server is doing an MD5 on:

$Name$

but the client is doing it on

$Name: TAG_v1_0$


Jim Hyslop <jhyslop>
Group Member
Thu 06 Jul 2006 04:48:19 AM UTC, comment #2: 

Weird thing, on SuSE 9.3 I can remove lines 6+7 and recommit - then  I can update without any flaws to any version or tag (using SSH)

Peter Toft <petoft>
Thu 06 Jul 2006 04:41:48 AM UTC, comment #1: 

Date: Wed, 05 Jul 2006 19:24:35 -0400
From: Jim Hyslop <jhyslop@dreampossible.ca>
Cc: -email is unavailable-

Jim can reproduce it

----------------

I (Peter Toft) can also reproduce this error on SuSE Linux 9.3 with CVS 1.12.12 + OpenSSH_3.9p1, OpenSSL 0.9.7e 25 Oct 2004

Peter Toft <petoft>
Wed 05 Jul 2006 10:22:22 AM UTC, original submission:  

Test system
---------------------------------------

  • Linux Red Hat AW 3
  • ssh version : OpenSSH_3.6.1p2, SSH protocols 1.5/2.0, OpenSSL 0x0090701f
  • CVS version 1.12.9 (but the same happens for 1.12.13)


SETUP
---------------------------------------
Make a CVS repository on your workstation - here denoted
"myworkstation" - at e.g. /usr/local/CVSROOT and unpack the attached bad_cvs.tgz in the CVSROOT, i.e. you will get the sub-directory "petoft_test" under CVSROOT.

Ensure that you can use SSH as access "myworkstation" (test this by "ssh-agent tcsh + ssh-add + ssh myworkstation")

It can be noted that the CVSROOT can also be located on another server - it makes no difference to the test case.

Do these steps (the brachets show the command prompt)

[myworkstation - ~] setenv CVS_RSH ssh
[myworkstation - ~] mkdir tests
[myworkstation - ~] cvs -d /usr/local/CVSROOT co petoft_test
[myworkstation - ~] mv petoft_test petoft_test_local
[myworkstation - ~] cvs -d myworkstation:/usr/local/CVSROOT co petoft_test
[myworkstation - ~] mv petoft_test petoft_test_local
 
TEST1 - For the SSH access version
---------------------------------------
[myworkstation - petoft_test_SSH] md5sum test_file
77d336065f5737c7efb92475372579ad  test_file
[myworkstation - petoft_test_SSH]  cvs update -r TAG_v1_0 cvs update: Updating .
P test_file
cvs update: checksum failure after patch to ./test_file; will refetch
cvs client: refetching unpatchable files
cvs update: warning: `test_file' was lost
U test_file
[myworkstation - petoft_test_SSH] md5sum test_file
9c3c54c5e53c0afcf6aec5e027645b90  test_file
[myworkstation - petoft_test_SSH] cvs update -A test_file
P test_file
cvs update: checksum failure after patch to ./test_file; will refetch
cvs client: refetching unpatchable files
cvs update: warning: `test_file' was lost
U test_file
[myworkstation - petoft_test_SSH] md5sum test_file
77d336065f5737c7efb92475372579ad  test_file

TEST2 - For the direct file access version
---------------------------------------
[myworkstation - petoft_test_local]  md5sum test_file
77d336065f5737c7efb92475372579ad  test_file
[myworkstation - petoft_test_local]  cvs update -r TAG_v1_0 cvs update: Updating .
U test_file
[myworkstation - petoft_test_local] md5sum test_file
9c3c54c5e53c0afcf6aec5e027645b90  test_file
[myworkstation - petoft_test_local] cvs update -A test_file
U test_file
[myworkstation - petoft_test_local] md5sum test_file
77d336065f5737c7efb92475372579ad  test_file

Conclusion
---------------------------------------
The two versions produce the same output files - the content
is ok, however using SSH as access bairer can lead to checksum
errors which the user cannot know how bad this is.


best regards

Peter Toft <pto@linuxbog.dk> http://pto.linux.dk

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #10307:  bad_cvs.tgz added by None (910B - application/x-compressed-tar)

 

Digest:
   bug dependencies.

Items that depend on this one: None found

 

CC list is empty

 

There is 1 vote so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 10 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2006-08-28 dprice StatusPostponed Fixed
    Open/ClosedOpen Closed
    Fixed ReleaseNone 1.11.23
    Fixed Feature ReleaseNone 1.12.14
2006-08-24 dprice StatusNone Postponed
    Release 1.11.22
2006-08-24 dprice Dependencies- Depends on bugs #17168
2006-07-05 petoft Carbon-Copy- Added petoft
2006-07-05 petoft Carbon-Copy- Added -email is unavailable-
2006-07-05 None Attached File- Added bad_cvs.tgz, #10307

Back to the top

Powered by Savane 3.13-758e.
Corresponding source code