[cvsnt] Re: Using SSPI destroys fileattr.xml

Jelinek, Robert jelinek.robert at siemens.com
Fri May 5 13:24:18 BST 2006


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Ok, I will try to repeat everything:

Client: Windows XP, SP2, hostname testclient joined to domain WW
Server: Debian GNU/Linux, hostname cvsserver.ww.net, joined via samba to
domain WW

Username (on Client): WW/testuser
CVSNT on Servers runs as local user cvsadmin

Repository (/cvsrep) on the server consists of the CVSROOT-Directory and
one module named test and a file named test.txt.
No fileattr.xml exists.

Now the commands (on the client)(output is also included!)
D:\> cvs -d:sspi:cvsserver.ww.net:/cvsrep co test
	cvs server: Updating test
	U test/test.txt
D:\> cd test
D:\test\> cvs ver
	Client: Concurrent Versions System (CVSNT) 2.5.03 (Scorpio)
Build 2260 (client/server)
	Server: Concurrent Versions System (CVSNT) 2.5.03 (Scorpio)
Build 2260 (client/server)
D:\test\> cvs edit test.txt
D:\test\> cvs unedit test.txt
	Error in xml_read: not well-formed (invalid token) at line 4
	cvs [server aborted]: Malformed fileattr.xml file in
/cvsrep/test/CVS.  Please fix or delete this file

And now the malformed fileattr.xml:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
  <file name="test.txt">
    <editor[@name=U'WW [@name=U'WW="=U'WW">
      <testuser']>
        <hostname>testclient </hostname>
        <pathname>D:\test</pathname>
        <tag>HEAD</tag>
        <time>Fri May  5 12:07:50 2006 GMT</time>
      </testuser']>
    </editor[@name=U'WW>
    <watcher[@name=U'WW [@name=U'WW="=U'WW">
      <testuser']>
        <temp_commit />
        <temp_edit />
        <temp_unedit />
      </testuser']>
    </watcher[@name=U'WW>
  </file>
</fileattr>

The malformed fileattr.xml was created during the edit-command. The
unedit-command only shows the effect of the malformed fileattr.xml to
the client.

My intention:
I do not want a support, I have solved the problem for me by patching
the cvs-source on the server. I only want to contribute my results.

The reason for the malformed fileattr.xml:
Call of CXmlNode::Lookup with the parameter
"file[@name=F'test.txt']/editor[@name=U'WW/testuser']". This routine
should split this parameters into "file[@name=F'test.txt']" and
"editor[@name=U'WW/testuser']", but it splits it into three parameters
("file[@name=F'test.txt']", "editor[@name=U'WW" and "testuser']"). With
this three parameters it writes an entry into fileattr.xml, which can
not be interpreted later (f.e doing cvs unedit test.txt fails). This
behaviour of CXmlNode::Lookup is caused by the character '/', which is
used for separation of the parameters and is not allowed as a valid
member of the filename or username. The routine should be extended to
allow '/' as a valid character, if it is inside of a string which is
surrounded by '.

I hope, that now everything is clear!

with kind regards,
Robert Jelinek



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook