Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Sep 2002 18:23:34 +0800 (KRAST)
From:      Eugene Grosbein <eugen@www.svzserv.kemerovo.su>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   gnu/42726: cvs -R pserver & val-tags: story continues
Message-ID:  <200209131023.g8DANYaC096317@www.svzserv.kemerovo.su>

next in thread | raw e-mail | index | archive | help

>Number:         42726
>Category:       gnu
>Synopsis:       cvs -R pserver & val-tags: story continues
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 13 03:30:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Eugene Grosbein
>Release:        FreeBSD 4.6-STABLE i386
>Organization:
Svyaz Service JSC
>Environment:
System: FreeBSD 4.6-STABLE, 4.7-PRERELEASE
	cvs-11.1p1, cvs-11.1p2

>Description:
	
	cvs pserver has troubles with read-only repository
	breaking at least 'checkout -r tag' and 'update -r tag'.

	I'm trying to setup anonymous CVS pserver for my mirror of 
	FreeBSD CVS Repository. I've a line in login.conf

>How-To-Repeat:

	I'm trying to setup anonymous CVS pserver for my mirror of 
	FreeBSD CVS Repository. I've in my login.conf:

anoncvs:\
        :datasize=16M:\
        :stacksize=8M:\
        :memoryuse=16M:\
        :priority=15:\
        :umask=022:\
        :openfiles=100:\
        :hushlogin@:\
        :cputime=5m:\
        :coredumpsize=0:\
        :maxproc=32:\
        :tc=default:

	I've in my inetd.conf:

# Limited Anonymous CVS service
cvspserver     stream  tcp     nowait/8/60     anoncvs/anoncvs	/home/cvsupin/anoncvs anoncvs

	I've an executable script /home/cvsupin/anoncvs:

	#!/bin/sh
	exec cvs -R --allow-root=/home/ncvs pserver

	I have created /home/ncvs/CVSROOT/passwd with anoncvs account and
	can now login as anoncvs remotely.

	/home/ncvs is owned by cvsupin:cvsupin and anoncvs is another
	user, it is not a member of cvsupin group. So cvspserver cannot
	write to repository (that's a goal). There is no val-tags 
	in /home/ncvs/CVSROOT.

	I can do 'cvs checkout src/lib/libalias', for example and get it.
	But I can't do 'cd src/lib/libalias; cvs update -r RELENG_3' as
	it says 

cvs [server aborted]: cannot write to /home/ncvs/CVSROOT/val-tags: Permission denied

	There is a patch to fix this problem:

--- src/contrib/cvs/src/tag.c.orig	Fri Sep 13 16:12:05 2002
+++ src/contrib/cvs/src/tag.c	Fri Sep 13 16:12:18 2002
@@ -1229,7 +1229,7 @@
 	/* The tags is valid but not mentioned in val-tags.  Add it.  */
 	datum value;
 
-	if (noexec || nowrite)
+	if (noexec || nowrite || readonlyfs)
 	{
 	    if (db != NULL)
 		dbm_close (db);



	I apply the patch and can now do 'cvs update -r RELENG_3'.
	Now I need natd from RELENG_3. It used to be in src/usr.sbin
	and now it's in src/sbin, so I cannot checkout HEAD and update
	to RELENG_3 - that doesn't produce sources in the working directory.

	So I try to 'cvs checkout -r RELENG_3 src/usr.sbin/natd' but it says

Protocol error: uncounted data discarded.

	I don't know how to fix this. If I use 'cvs pserver' instead of
	'cvs -R pserver' I see it tries to create lock in the Repo and fails.
	It should not try to lock readonly repository but it seems to try
	at the line 107 of src/contrib/cvs/src/recurse.c


Eugene Grosbein

>Fix:

	Unknown to me.
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209131023.g8DANYaC096317>