I originally wrote:

> > I used to be able to commit like this:
>  >     cvs commit -m"foo changes"  foo.c ../include/foo.h
>  > After upgrading to CVS 1.10.8, I get this error:
>  >     protocol error: '..' has too many ..
>  > This worked in 1.10.1.  Is this a bug, or was it incorporated to fix 
some 
>  > other condition?  If so, what was the reason?

Pavel Roskin, [EMAIL PROTECTED], replies:

>  I believe this was a quick fix to close a security hole. Instead of
>  checking that the target directory is still under the allowed root, CVS
>  just forbids using ".." for some (not fot all) commands.

Larry Jones, [EMAIL PROTECTED] replies:

>  I think this is a bug -- the client is supposed to tell the server how many
>  levels of .. it expects to send and the server compensates, but when the
>  code was rearranged to support multiple repositories the code to send
>  the information was moved so that it happens too late in the process.

Ok, which is it?  :)  Bug or quick fix to a security problem?

Larry Jones, [EMAIL PROTECTED] continues:

>  > If I pass the full pathname of the file (e.g., 
>  > "$HOME/cvs/foo/include/foo.h"), I get
>  >     absolute pathname '/home/hal/cvs/foo/include' illegal for server
>  
>  This is intentional.

Was there some security problem associated with it?  Do you recall the 
details?  Just a curiosity...

Thanks, guys!

:)hal mahaffey

Reply via email to