Derek Price wrote:
Jim Hyslop wrote:


Either way, if the server is compromised, the local file ends up
containing the exploit.



Yes, but if I ignore keyword expansion entirely (other than giving a
warning or error when keywords are present in the file at commit time),
then you won't have a CVS executable that tells you you have a valid,
signed, base revision just before it installs compromised code in your
sandbox.

I'm working up a discussion paper, which outlines various attacks and compares how the two approaches can detect them. In order to do this properly, I need to know exactly how you propose to ignore RCS keywords (it's glossed over in the discussion document on the wiki).

Suppose I have rev 1.2 of a file checked out, and it contains:

#include <stdio.h>
int main( int argc, char ** argv )
{
  printf("Hello, revision $Revision: 1.2$\n");
  return 0;
}

will this be signed as if I am checking in the un-expanded keyword, i.e. as if the file contains:

#include <stdio.h>
int main( int argc, char ** argv )
{
  printf("Hello, revision $Revision$\n");
  return 0;
}

--
Jim



_______________________________________________
Bug-cvs mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/bug-cvs

Reply via email to