bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Anonymous CVS broken?


From: Pavel Roskin
Subject: Anonymous CVS broken?
Date: Wed, 3 Oct 2001 14:37:11 -0400 (EDT)

Hello!

The anonymous access to the CVS resository is broken today.

$ cvs -d :pserver:guest@cvs.cvshome.org:/cvs co ccvs
User guest doesnt have <Update> access to ccvs
$ cvs -d :pserver:guest@cvs.cvshome.org:/cvs rdiff -s -r 0 -r HEAD ccvs
User guest doesnt have <Diff> access to project ccvs
$ cvs -d :pserver:guest@cvs.cvshome.org:/cvs version
Client: Concurrent Versions System (CVS) 1.11.1.1 (client/server)
Server: Concurrent Versions System (CVS) 1.11.1p1 (client/server)
$ cvs -d :pserver:guest@cvs.cvshome.org:/cvs annotate ..
User guest doesnt have <Blame> access to ..

I couldn't find "doesnt" anywhere in the CVS sources - it must be a local
misconfiguration.  By the way, this is most impressive:

$ cvs -d :pserver:guest@cvs.cvshome.org:/cvs rdiff -s -r 0 -r HEAD .
cvs: lock.c:178: lock_name: Assertion `(__extension__
(__builtin_constant_p ( strlen (current_parsed_root->directory))
&& ((__builtin_constant_p (repository) && strlen (repository)
< ((size_t) ( strlen (current_parsed_root->directory)))) ||
(__builtin_constant_p ( current_parsed_root->directory)
&& strlen ( current_parsed_root->directory) < ((size_t) (
strlen (current_parsed_root->directory))))) ? __extension__ ({
size_t __s1_len, __s2_len; (__builtin_constant_p (repository) &&
__builtin_constant_p ( current_parsed_root->directory) && (__s1_len =
strlen (repository), __s2_len = strlen ( current_parsed_root->directory),
(!((size_t)(const void *)((repository) + 1) - (size_t)(const
void *)(repository) == 1) || __s1_len >= 4) && (!((size_t)(const
void *)(( current_parsed_root->directory) + 1) - (size_t)(const
void *)( current_parsed_root->directory) == 1) || __s2_len >=
4)) ? memcmp ((__const char *) (repository), (__const char *) (
current_parsed_root->directory), (__s1_len < __s2_len ? __s1_len :
__s2_len) + 1) : (__builtin_constant_p (repository) && ((size_t)(const
void *)((repository) + 1) - (size_t)(const void *)(repository) == 1) &&
(__s1_len = strlen (repository), __s1_len < 4) ? (__builtin_constant_p
( current_parsed_root->directory) && ((size_t)(const void *)((
current_parsed_root->directory) + 1) - (size_t)(const void *)(
current_parsed_root->directory) == 1) ? (__extension__ ({ register
int __result = (((__const unsigned char *) (__const char *)
(repository))[0] - ((__const unsigned char *) (__const char *)(
current_parsed_root->directory))[0]); if ( __s1_len > 0 && __result
== 0) { __result = (((__const unsigned char *) (__const char *)
(repository))[1] - ((__const unsigned char *) (__const char *) (
current_parsed_root->directory))[1]); if ( __s1_len > 1 && __result
== 0) { __result = (((__const unsigned char *) (__const char *)
(repository))[2] - ((__const unsigned char *) (__const char *)
( current_parsed_root->directory))[2]); if ( __s1_len > 2 &&
__result == 0) __result = (((__const unsigned char *) (__const char
*) (repository))[3] - ((__const unsigned char *) (__const char *) (
current_parsed_root->directory))[3]); } } __result; })) : (__extension__
({ __const unsigned char *__s2 = (__const unsigned char *) (__const
char *) ( current_parsed_root->directory); register int __result =
(((__const unsigned char *) (__const char *) (repository))[0]
- __s2[0]); if ( __s1_len > 0 && __result == 0) { __result =
(((__const unsigned char *) (__const char *) (repository))[1] -
__s2[1]); if ( __s1_len > 1 && __result == 0) { __result = (((__const
unsigned char *) (__const char *) (repository))[2] - __s2[2]); if (
__s1_len > 2 && __result == 0) __result = (((__const unsigned char *)
(__const char *) (repository))[3] - __s2[3]); } } __result; }))) :
(__builtin_constant_p ( current_parsed_root->directory) && ((size_t)(const
void *)(( current_parsed_root->directory) + 1) - (size_t)(const void
*)( current_parsed_root->directory) == 1) && (__s2_len = strlen (
current_parsed_root->directory), __s2_len < 4) ? (__builtin_constant_p
(repository) && ((size_t)(const void *)((repository) + 1) - (size_t)(const
void *)(repository) == 1) ? (__extension__ ({ register int __result =
(((__const unsigned char *) (__const char *) (repository))[0] - ((__const
unsigned char *) (__const char *)( current_parsed_root->directory))[0]);
if ( __s2_len > 0 && __result == 0) { __result = (((__const unsigned
char *) (__const char *) (repository))[1] - ((__const unsigned char
*) (__const char *) ( current_parsed_root->directory))[1]); if (
__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *)
(__const char *) (repository))[2] - ((__const unsigned char *) (__const
char *) ( current_parsed_root->directory))[2]); if ( __s2_len > 2 &&
__result == 0) __result = (((__const unsigned char *) (__const char
*) (repository))[3] - ((__const unsigned char *) (__const char *) (
current_parsed_root->directory))[3]); } } __result; })) : (__extension__
({ __const unsigned char *__s1 = (__const unsigned char *) (__const char
*) (repository); register int __result = __s1[0] - ((__const unsigned char
*) (__const char *) ( current_parsed_root->directory))[0]; if ( __s2_len
> 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *)
(__const char *) ( current_parsed_root->directory))[1]); if ( __s2_len >
1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *)
(__const char *) ( current_parsed_root->directory))[2]); if ( __s2_len
> 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *)
(__const char *) ( current_parsed_root->directory))[3]); } } __result;
}))) : strcmp (repository, current_parsed_root->directory))));
}) : strncmp (repository, current_parsed_root->directory, strlen
(current_parsed_root->directory)))) == 0' failed.
cvs [server aborted]: received abort signal

In lock.c (CVS HEAD as of yesterday), it looks as:

        assert (strncmp (repository, current_parsed_root->directory,
                         strlen (current_parsed_root->directory)) == 0);

-- 
Regards,
Pavel Roskin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]