[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cvs checkout error!!
From: |
mm rao |
Subject: |
Re: Cvs checkout error!! |
Date: |
Wed, 2 May 2001 08:16:06 -0700 (PDT) |
Hi Larry,
I need your help here.
I got the patches from
http://www.maui.co.uk/downloads/cvs_propogate/
for controlling permissions to different users.
Now as I said before, the entries in inetd.conf file
are having the following effects.
with -L -P -f options it's giving following error:
Unrecognised auth reposnse from localhost. cvs options
are .....
with -L -P options, there is no effect of patches.
with only -L option controlling access to only
individula directory level.
What are these P and f options. I guess those are
mentioned in the patch but I don't know what it meant
for. Unfortunately I couldn't catch author of this
patch as he is out of station. For your convienience
I am pasting the patch below. Please let me know your
suggestions.
Thank you very mecu for your help,
Thanks,
MM,
*** cvs-1.11/src/ChangeLog.orig Wed Mar 21 09:55:00
2001
--- cvs-1.11/src/ChangeLog Wed Mar 21 09:56:13 2001
***************
*** 1,3 ****
--- 1,9 ----
+ 2001-03-21 Marty Lee <address@hidden>
+
+ * updated perms.c so that if the files perms and
owner are not found
+ in the current directory, work back up the tree
until CVSROOT is hit,
+ at which point the error is generated.
+
2000-09-19 Larry Jones <address@hidden>
* version.c: Version 1.11.
*** cvs-1.11/src/main.c.orig Thu Mar 22 15:51:45 2001
--- cvs-1.11/src/main.c Thu Mar 22 17:11:15 2001
***************
*** 451,457 ****
int help = 0; /* Has the user asked for help?
This
lets us support the `cvs -H cmd'
convention to give help for cmd. */
! static const char short_options[] =
"+Qqrwtnlvb:T:e:d:LHfz:s:xa";
static struct option long_options[] =
{
{"help", 0, NULL, 'H'},
--- 451,457 ----
int help = 0; /* Has the user asked for help?
This
lets us support the `cvs -H cmd'
convention to give help for cmd. */
! static const char short_options[] =
"+Qqrwtnlvb:T:e:d:LPHfz:s:xa";
static struct option long_options[] =
{
{"help", 0, NULL, 'H'},
***************
*** 627,632 ****
--- 627,635 ----
case 'L':
local_security = 1;
break;
+ case 'P':
+ propogate_security=1;
+ break;
case 'H':
help = 1;
break;
*** cvs-1.11/src/add.c.orig Thu Mar 22 15:51:57 2001
--- cvs-1.11/src/add.c Thu Mar 22 17:11:06 2001
***************
*** 774,781 ****
(void) umask (omask);
if (local_security)
{
! change_owner(rcsdir, CVS_Username);
! change_perms(rcsdir, "", NULL);
}
}
--- 774,783 ----
(void) umask (omask);
if (local_security)
{
! if(!propogate_security) {
! change_owner(rcsdir, CVS_Username);
! change_perms(rcsdir, "", NULL);
! }
}
}
*** cvs-1.11/src/perms.c.orig Tue Mar 20 19:01:22 2001
--- cvs-1.11/src/perms.c Thu Mar 22 17:10:55 2001
***************
*** 14,19 ****
--- 14,20 ----
#include <getline.h>
int local_security = 0; /* Only use
the built-in CVS security system */
+ int propogate_security=0; /* Use
propogated security model */
int
verify_admin ()
***************
*** 101,116 ****
+ 1);
strcpy (filename, dir);
! strcat (filename, "/owner");
! fp = CVS_FOPEN (filename, "r");
! if (fp == NULL)
{
- error (0, errno, "cannot open %s", filename);
- retval = 0;
- }
- else
- {
if (getline (&linebuf, &linebuf_len, fp) >= 0)
{
owner = strtok(linebuf, "\n");
--- 102,125 ----
+ 1);
strcpy (filename, dir);
! do {
! strcat (filename, "/owner");
! fp = CVS_FOPEN (filename, "r");
! if (fp == NULL)
! {
! strcpy(filename, (char*)dirname(filename));
! strcpy(filename, (char*)dirname(filename));
! if(strncmp(filename, CVSroot_directory,
strlen(filename)) == 0) {
! error (0, errno, "cannot find owner file
in %s", dir);
! retval = 0;
! break;
! }
! }
! } while((propogate_security == 1) && (fp == NULL)
&& (strlen(filename) > strlen(CVSroot_directory)));
!
! if (fp != NULL)
{
if (getline (&linebuf, &linebuf_len, fp) >= 0)
{
owner = strtok(linebuf, "\n");
***************
*** 169,184 ****
+ 1);
strcpy (filename, dir);
! strcat (filename, "/perms");
! fp = CVS_FOPEN (filename, "r");
! if (fp == NULL)
{
- error (0, errno, "cannot open %s", filename);
- retval = 1;
- }
- else
- {
while (getline (&linebuf, &linebuf_len, fp) >=
0)
{
name = strtok(linebuf, ":");
--- 178,201 ----
+ 1);
strcpy (filename, dir);
! do {
! strcat (filename, "/perms");
! fp = CVS_FOPEN (filename, "r");
! if (fp == NULL)
! {
! strcpy(filename, (char*)dirname(filename));
! strcpy(filename, (char*)dirname(filename));
! if(strncmp(filename, CVSroot_directory,
strlen(filename)) == 0) {
! error (0, errno, "cannot find perms
file in %s", dir);
! retval = 1;
! break;
! }
! }
! } while((propogate_security == 1) && (fp == NULL)
&& (strlen(filename) > strlen(CVSroot_directory)));
!
! if ( fp != NULL)
{
while (getline (&linebuf, &linebuf_len, fp) >=
0)
{
name = strtok(linebuf, ":");
*** cvs-1.11/src/cvs.h.orig Thu Mar 22 15:51:34 2001
--- cvs-1.11/src/cvs.h Thu Mar 22 15:52:35 2001
***************
*** 385,390 ****
--- 385,391 ----
extern char *CVSroot_directory; /* the directory
name */
extern int local_security; /* Only use the built-in
CVS security system */
+ extern int propogate_security; /* Do we create
perms/owner files at all levels */
/* Verification routines for local security, will
always return 1
if local_security is false, otherwise will return
1 if the operations
*** cvs-1.11/ChangeLog.orig Wed Mar 21 10:00:51 2001
--- cvs-1.11/ChangeLog Wed Mar 21 09:58:25 2001
***************
*** 1,3 ****
--- 1,10 ----
+ 2001-03-21 Marty Lee <address@hidden>
+
+ * Chnaged the way perms.c looks for owner and perms
files, so that
+ if they are not found in a specific directory, work
back up the tree
+ to look for a parent who does have one. When it
gets to CVSROOT, stop
+ and DO NOT look for them at that level.
+
2001-02-11 Corey Minyard <address@hidden>, Mark
Ferrell (address@hidden)
* Renamed the permissions subcommands to
more sane names: lsacl,
--- Larry Jones <address@hidden> wrote:
> mm rao writes:
> >
> > Terminated with fatal signal 11
> > Core dumped; preserving /tmp/cvs-serv9187 on
> server.
> > CVS locks may need cleaning up.
> [...]
> > this is with the Corey Mineyard & Marty patches
> for
> > CVS permissions).
>
> Where did you get those patches? The problem is
> almost certainly bad
> code of some sort. If you have PreservePermissions
> enabled in your
> CVSROOT/config file, that could explain the problem:
> that code is
> notoriously buggy and should not be enabled. It's
> also possible that
> the patches you have installed are defective.
>
> -Larry Jones
>
> These pictures will remind us of more than we want
> to remember.
> -- Calvin's Mom
>
> _______________________________________________
> Info-cvs mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/info-cvs
__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/
- Re: Cvs checkout error!!,
mm rao <=