[comp.protocols.appletalk] CAP Bug Reports: 0006 to 0009

cck@cunixc.columbia.edu (Charlie C. Kim) (09/24/87)

All of these bug reports except bug.0009 are "advisory" in nature in
that they do not contain patch code.

Charlie C. Kim
User Services
Columbia University


**********************************************************************
CAP Pre-Release Distribution 4.00 with Patches 5,6,7
Bug Report: 0006

 Date: 9/11/87
 Problem: atis doesn't really handle nbp enumerators correctly
 Reported by: Dan Tappan, BBN
 Priority: Low
 Diagnosis: atis did not return the "database" value of the
enumerator.  In any event, this enumerator, which is used to
distinguish between entries with different names and the same net,
node and socket, is computed in a non-intutive fashion.  In
particular, the enumerator is incremented for every installed entry --
the inititutive method is to use it to "count" and "tag" nbp entities
with the same AddrBlock.  This may cause confusion when looking at the
code making it seem that the enumerator is used to enumerate the
various nbp entities.  With any reasonable nbp implementation, this
should cause no problems and function in the proper way.
 Solution: Rewrite the code so that the enumerator value is changed
iff there are duplicate "addrblocks".  We have no plans to do this in
the near future.  In reality, the entire nisaux module could use a
general overhaul - it was written to work and not necessarily
work in the best possible fashion.


**********************************************************************
CAP Pre-Release Distribution 4.00 with Patches 5,6,7
Bug Report: 0007

 Date: 9/11/87
 Problem: cap directories have undergone drastic reorganization.
 Reported by: Charlie C. Kim, User Services, Columbia Univ.
 Priority: Medium
 Diagnosis: The cap directories have been shuffled about drastically.
This means that an update from CAP distribution 4 + Patches 5, 6, 7
will probably not be feasible to CAP distribution 5.
 Solution: Apologize profusely.  Blame it all on Bill.  Blame it all
on Charlie.  To be honest, we felt this was necessary (a) to put
things in more logical places, and (b) to make future distributions
easier for Columbia and you.  In addition, there have been substantial
changes in a couple of the programs.




**********************************************************************
CAP Pre-Release Distribution 4.00 with Patches 5,6,7
Bug Report: 0008

 Date: Reported 6/1/87
 Problem: papif coredumps
 Reported by: Theresa Breckon at LBL
 Priority: Medium
 Diagnosis: papif has some problems in relation to signals and fork.
Basically, papif was allowing signals when forking which caused it
some problems.
 Solution: put some masking code around the fork call to keep everyone
happy.  You'll see this in the next release.

**********************************************************************
CAP Pre-Release Distribution 4.00 with Patches 5,6,7
Bug Report: 0009

 Date: 9/15/87
 Problem: Aufs does not change protections of .resource & .finderinfo
directories when doing a "change protections"
 Reported by: Rob Cartolano, User Services, Columbia University
 Priority: Medium
 Diagnosis: Aufs does not change protections of directories when doing
the "change protections" (though it does reprotect files underneath).
 Solution: Make it change protections for the special directories
.resource and .finderinfo. as per the following patch:

--- START OF PATCH ---
*** /tmp/,RCSt1004937	Tue Sep 15 12:25:18 1987
--- afpos.c	Tue Sep 15 11:56:35 1987
***************
*** 1279,1286
  	printf("os_chmod: stat failed for %s\n",path);
        continue;				/*  some error... */
      }
!     if (S_ISDIR(stb.st_mode)) 		/* directory? */
!       continue;				/* yes.. skip it */
      err = unix_chmod(path,mode);	/* set the mode for this file */
  #ifdef notdef
      /* ignore errors */

--- 1279,1291 -----
  	printf("os_chmod: stat failed for %s\n",path);
        continue;				/*  some error... */
      }
!     if (S_ISDIR(stb.st_mode)) {
!       if (dp->d_name[0] != '.')
! 	continue;
!       /* if not .resource or .finderinfo then skip */
!       if (strcmp(dp->d_name,RFDIRFN) != 0 && strcmp(dp->d_name, FIDIRFN) != 0)
! 	continue;
!     }
      err = unix_chmod(path,mode);	/* set the mode for this file */
  #ifdef notdef
      /* ignore errors */
--- END OF PATCH ---