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

 
 

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

Submitted by:  None
Submitted on:  Wed 05 Jul 2006 10:22:22 AM UTC  
Votes:  1  
 
Category: Bug ReportSeverity: 3 - Normal
Item Group: NoneStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: ClosedRelease: 1.11.22
Fixed Release: 1.11.23Fixed Feature Release: 1.12.14

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

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

This appears to work now. Closing.

Derek Robert Price <dprice>
Project 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>
Project 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>
Project 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: -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 File(s):
   
   
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

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 1 encouragement so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 10 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Mon 28 Aug 2006 08:04:00 PM UTCdpriceStatusPostponed=>Fixed
  Open/ClosedOpen=>Closed
  Fixed ReleaseNone=>1.11.23
  Fixed Feature ReleaseNone=>1.12.14
Thu 24 Aug 2006 05:51:30 PM UTCdpriceStatusNone=>Postponed
  Release=>1.11.22
Thu 24 Aug 2006 05:34:21 PM UTCdpriceDependencies-=>Depends on bugs #17168
Wed 05 Jul 2006 01:25:36 PM UTCpetoftCarbon-Copy-=>Added petoft
Wed 05 Jul 2006 10:29:54 AM UTCpetoftCarbon-Copy-=>Added -unavailable-
Wed 05 Jul 2006 10:22:22 AM UTCNoneAttached File-=>Added bad_cvs.tgz, #10307

Back to the top


Powered by Savane 3.1-cleanup1