info-cvs
[Top][All Lists]
Advanced

[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/



reply via email to

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