djh@cs.mu.oz.au (David Hornsby) (05/12/91)
The enclosed shar file contains CAP 6.0 patches 6 through 15. The patches are also available from munnari.OZ.AU and (soon) rutgers.edu. Starting with number 6, each patch file now patches the top-level "README" file with the current value of the patch level. This makes it easier to tell the patch level and is from a suggestion by David Dawes <dawes@suphys.physics.su.oz.au>. The majority of the patches are in the "maintenance-fix" category. Of special note are patch numbers 7 and 9 which provide a System 7.0 workaround for AUFS file deletes and added support for printing with the new LaserWriter drivers respectively. Patch 7 has not been tried with a final System 7.0 (it's only May 12th) but it works fine up to 7.0fc5 and is of sufficient importance to be released "as-is". The patch should be applied to any AUFS servers BEFORE users try to use them with System 7.0, unmodified code will appear to hang when an attempt is made to delete a file from a server volume. Patch 9 contains an updated version of the code modifications from Dave Platt. It's not clear at present if the manual procedure is still necessary, but here it is anyway ... > From: Dave Platt <dplatt@ntg.com> > Now, for the procedure: > > - mkdir /tmp/procsets or some other temporary location. Make sure that > this directory is empty. > > - Start up lwsrv. Run it in single-fork mode (-S), debugging the NBP > packets (-dn), giving it a dummy printer name to proxy (-n test), > pointing it to a real LaserWriter (-p MyPrinterName), specifying the > usual font-dictionary file, running in trace mode (-t /tmp/tracefile) > and pointing at the temporary procsets directory (-a /tmp/procsets). > > - On a Mac which has the LaserWriter 6.1 driver installed, fire up the > Chooser, select the LaserWriter 6.1 driver, and select the "test" > printer. Close the Chooser. > > - Open up a Finder window and do a "Print directory". On your Unix > machine, lwsrv should report that it's uploading the procset > "(AppleDict md)" 71 0. It should actually perform the upload twice, > into two different FoundProcSet files. It will then receive, and > dump to the trace file, the Finder's directory output. > > - After the job is finished uploading, hit control-C to terminate > lwsrv. > > - Edit the first of the two FoundProcSet files in /tmp/procsets. Add > the word "persistent" (or anything else, actually) at the end of the > first (%%BeginProcSet) line, after the "71 0" identifier. Add a new > line immediately after the %%BeginProcSet line: > > 0 serverdict begin exitserver > > thus replacing the exitserver which lwsrv had removed. > > - Move the two FoundProcSet files from /tmp/procsets into your real > procset directory. Kill and then restart each of your real lwsrv > processes. > > This should do the trick. When lwsrv starts up, it will see the two > 6.1-based procsets, but it won't confuse the two (because you've changed > the %%BeginProcSet line in the persistent procset). You can arrange to > download the persistent procset to your printers periodically, so that > it's installed whenever a printer reboots. > > This same approach should, I think, work OK with the LaserWriter drivers > which come with System 7.0. I haven't tried it yet. There will be another group of CAP 6.0 patches available by late May. These patches will add additional features to CAP 6.0, including but not only: AppleTalk Phase 2 support on SUNs and (hopefully) ULTRIX 4 ULTRIX packet filter support for dramatically better performance If these remain stable for some period (probably 2-3 weeks) then a CAP 6.1 tar file containing all of the current patches will become available. My thanks to all the CAP contributors for their continued hard work (and patience whilst waiting for their code to appear). - David. #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: cap60.patch006 cap60.patch007 cap60.patch008 # cap60.patch009 cap60.patch010 cap60.patch011 cap60.patch012 # cap60.patch013 cap60.patch014 cap60.patch015 # Wrapped by djh@munnari.OZ.AU on Sun May 12 17:30:51 1991 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'cap60.patch006' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch006'\" else echo shar: Extracting \"'cap60.patch006'\" \(2713 characters\) sed "s/^X//" >'cap60.patch006' <<'END_OF_FILE' XPatch #: 6 XType: bug fix XPriority: high XAffects: sites with long print user/job names XReported: Simon Brock <shb@sys.uea.ac.uk> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch006 XSummary: some character array lengths not very realistic XFile: cap60/applications/lwsrv/lwsrv.c X X*** applications/lwsrv/lwsrv.c.orig Tue May 7 00:21:29 1991 X--- applications/lwsrv/lwsrv.c Tue May 7 01:04:43 1991 X*************** X*** 1,6 **** X! static char rcsid[] = "$Author: djh $ $Date: 91/03/14 13:21:21 $"; X! static char rcsident[] = "$Header: lwsrv.c,v 2.3 91/03/14 13:21:21 djh Exp $"; X! static char revision[] = "$Revision: 2.3 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X--- 1,6 ---- X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/06 15:03:58 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/lwsrv.c,v 2.4 1991/05/06 15:03:58 djh Exp djh $"; X! static char revision[] = "$Revision: 2.4 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X*************** X*** 84,91 **** X export int pcopies; X #endif PAGECOUNT X X! private char username[80],jobname[80]; X! private char buf[100]; X private int srefnum; X X #ifndef TEMPFILE X--- 84,91 ---- X export int pcopies; X #endif PAGECOUNT X X! private char username[128],jobname[1024]; X! private char buf[1024]; X private int srefnum; X X #ifndef TEMPFILE X*************** X*** 495,505 **** X long t; X int argc, i; X FILE *outfile; X! char tname[100],status[80]; X! char pbuf[100],rhbuf[16],jbuf[100]; X! char *childargv[20]; X #ifdef LWSRV_AUFS_SECURITY X! char bbuf[64]; X #endif LWSRV_AUFS_SECURITY X #ifdef NeXT X char dpistring[6]; X--- 495,505 ---- X long t; X int argc, i; X FILE *outfile; X! char tname[256],status[256]; X! char pbuf[256],rhbuf[16],jbuf[1024]; X! char *childargv[32]; X #ifdef LWSRV_AUFS_SECURITY X! char bbuf[256]; X #endif LWSRV_AUFS_SECURITY X #ifdef NeXT X char dpistring[6]; X*************** X*** 753,759 **** X NewStatus(status) X char *status; X { X! char tmp[255]; X X if (*username != '\0') X sprintf(tmp,"job: %s for %s; status: %s", X--- 753,759 ---- X NewStatus(status) X char *status; X { X! char tmp[1024]; X X if (*username != '\0') X sprintf(tmp,"job: %s for %s; status: %s", X*** README.orig Wed May 8 20:45:09 1991 X--- README Wed May 8 20:48:21 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.00, January 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 6, May 1991 X X Introduction X ------------ END_OF_FILE if test 2713 -ne `wc -c <'cap60.patch006'`; then echo shar: \"'cap60.patch006'\" unpacked with wrong size! fi # end of 'cap60.patch006' fi if test -f 'cap60.patch007' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch007'\" else echo shar: Extracting \"'cap60.patch007'\" \(4137 characters\) sed "s/^X//" >'cap60.patch007' <<'END_OF_FILE' XPatch #: 7.0 XType: interim workaround for System 7.0 XPriority: very high XAffects: anyone trying to delete a file from AUFS server XReported: Mike Moya <moyman@ecn.purdue.edu> XAssistance: Mike Bell, Apple Computer Developer Tech Support XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch007 XSummary: Mac "hangs" attempting a read-only byte-range-lock XFile: cap60/applications/aufs/afpos.c XFile: cap60/lib/afp/afposlock.c X X*** applications/aufs/afpos.c.orig Tue May 7 20:47:57 1991 X--- applications/aufs/afpos.c Tue May 7 20:49:48 1991 X*************** X*** 1,7 **** X /* X! * $Author: djh $ $Date: 91/03/20 17:28:44 $ X! * $Header: afpos.c,v 2.3 91/03/20 17:28:44 djh Exp $ X! * $Revision: 2.3 $ X */ X X /* X--- 1,7 ---- X /* X! * $Author: djh $ $Date: 1991/05/07 10:49:34 $ X! * $Header: /mac/src/cap60/applications/aufs/RCS/afpos.c,v 2.4 1991/05/07 10:49:34 djh Exp djh $ X! * $Revision: 2.4 $ X */ X X /* X*************** X*** 2668,2673 **** X--- 2668,2681 ---- X } else if (mode & OFK_MRD) { X ms = "Read"; X mo = O_RDONLY; X+ } X+ X+ /* This is a special case hack for use with System 7.0 */ X+ if (*file == 'T') { /* improve performance a little */ X+ if (strcmp(file, "Trash Can Usage Map") == 0) { X+ ms = "Read/Write"; X+ mo = O_RDWR; X+ } X } X X if (DBOSI) X*** lib/afp/afposlock.c.orig Tue May 7 01:18:27 1991 X--- lib/afp/afposlock.c Tue May 7 01:35:24 1991 X*************** X*** 1,7 **** X /* X! * $Author: djh $ $Date: 91/03/13 19:44:17 $ X! * $Header: afposlock.c,v 2.2 91/03/13 19:44:17 djh Exp $ X! * $Revision: 2.2 $ X */ X X /* X--- 1,7 ---- X /* X! * $Author: djh $ $Date: 1991/05/06 15:34:51 $ X! * $Header: /mac/src/cap60/lib/afp/RCS/afposlock.c,v 2.3 1991/05/06 15:34:51 djh Exp djh $ X! * $Revision: 2.3 $ X */ X X /* X*************** X*** 113,120 **** X { X #ifdef DEBUG X printf("OS Byte Range lock: unimplemented on this OS\n"); X! #endif X return(aeMiscErr); X } X X OSErr X--- 113,123 ---- X { X #ifdef DEBUG X printf("OS Byte Range lock: unimplemented on this OS\n"); X! #endif DEBUG X! #ifdef notdef X return(aeMiscErr); X+ #endif notdef X+ return(aeParamErr); /* specially for System 7.0 */ X } X X OSErr X*************** X*** 172,203 **** X /* not sure if this is the best thing to do */ X case EREMOTE: X return(noErr); X! #endif X #ifdef notdef X return(aeRangeNotLocked); X return(aeRangeOverlap); X! #endif X case EACCES: X case EAGAIN: X #ifdef EINTR X case EINTR: X! #endif X return(aeLockErr); X #ifdef EBADF X case EBADF: /* SunOS */ X! #endif X /* really permission denied (or, unlikely: bad file) */ X #ifndef gould X #ifdef ENOLCK /* sunos */ X case ENOLCK: X! #endif X #endif gould X #ifdef EDEADLK X case EDEADLK: X! #endif X return(aeNoMoreLocks); X default: X! return(aeParamErr); X } X } X return(noErr); X--- 175,210 ---- X /* not sure if this is the best thing to do */ X case EREMOTE: X return(noErr); X! #endif EREMOTE X #ifdef notdef X return(aeRangeNotLocked); X return(aeRangeOverlap); X! #endif notdef X case EACCES: X case EAGAIN: X #ifdef EINTR X case EINTR: X! #endif EINTR X! #ifdef notdef X return(aeLockErr); X+ #endif notdef X #ifdef EBADF X case EBADF: /* SunOS */ X! #endif EBADF X /* really permission denied (or, unlikely: bad file) */ X #ifndef gould X #ifdef ENOLCK /* sunos */ X case ENOLCK: X! #endif ENOLCK X #endif gould X #ifdef EDEADLK X case EDEADLK: X! #endif EDEADLK X! #ifdef notdef X return(aeNoMoreLocks); X+ #endif notdef X default: X! return(aeParamErr); /* specially for System 7.0 */ X } X } X return(noErr); X*** README.orig Wed May 8 20:50:59 1991 X--- README Wed May 8 20:51:12 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 6, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 7, May 1991 X X Introduction X ------------ END_OF_FILE if test 4137 -ne `wc -c <'cap60.patch007'`; then echo shar: \"'cap60.patch007'\" unpacked with wrong size! fi # end of 'cap60.patch007' fi if test -f 'cap60.patch008' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch008'\" else echo shar: Extracting \"'cap60.patch008'\" \(5840 characters\) sed "s/^X//" >'cap60.patch008' <<'END_OF_FILE' XPatch #: 8 XType: bug fix XPriority: medium XAffects: sites printing with Adobe Illustrator XReported: Maarten Carels <maarten@fwi.uva.nl> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch008 XSummary: Shouldn't edit DefineProcset'ed Procsets XFile: cap60/applications/lwsrv/procset.c XFile: cap60/applications/lwsrv/simple.c X X*** applications/lwsrv/procset.c.orig Tue May 7 01:54:31 1991 X--- applications/lwsrv/procset.c Tue May 7 02:06:25 1991 X*************** X*** 1,6 **** X! static char rcsid[] = "$Author: djh $ $Date: 91/02/15 21:15:02 $"; X! static char rcsident[] = "$Header: procset.c,v 2.1 91/02/15 21:15:02 djh Rel $"; X! static char revision[] = "$Revision: 2.1 $"; X X /* X * procset - UNIX AppleTalk spooling program: act as a laserwriter X--- 1,6 ---- X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/06 16:05:38 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/procset.c,v 2.2 1991/05/06 16:05:38 djh Exp djh $"; X! static char revision[] = "$Revision: 2.2 $"; X X /* X * procset - UNIX AppleTalk spooling program: act as a laserwriter X*************** X*** 200,209 **** X } X X void X! ListProcSet(fn, dictdir, outfile) X char *fn; X char *dictdir; X FILE *outfile; X { X char adbuf[ADBUFZ+1]; X FILE *fd; X--- 200,210 ---- X } X X void X! ListProcSet(fn, dictdir, outfile, patchprocset) X char *fn; X char *dictdir; X FILE *outfile; X+ int patchprocset; X { X char adbuf[ADBUFZ+1]; X FILE *fd; X*************** X*** 211,217 **** X X sprintf(adbuf, "%s/%s",dictdir,fn); X if ((fd = fopen(adbuf,"r")) != NULL) { X! if (domultijob) { X fprintf(stderr, "lwsrv: Running in eexec mode\n"); X fprintf(outfile, "%%The following fixes problems where the prep file\n"); X fprintf(outfile, "%%assumes that it is permanently downloaded and an\n"); X--- 212,218 ---- X X sprintf(adbuf, "%s/%s",dictdir,fn); X if ((fd = fopen(adbuf,"r")) != NULL) { X! if (patchprocset && domultijob) { X fprintf(stderr, "lwsrv: Running in eexec mode\n"); X fprintf(outfile, "%%The following fixes problems where the prep file\n"); X fprintf(outfile, "%%assumes that it is permanently downloaded and an\n"); X*************** X*** 220,226 **** X } X while ((cnt = fread(adbuf,sizeof(char),ADBUFZ,fd)) > 0) X fwrite(adbuf,sizeof(char),cnt,outfile); X! if (domultijob) X fprintf(outfile, "%%%%EOF\n"); X fclose(fd); X } else { X--- 221,227 ---- X } X while ((cnt = fread(adbuf,sizeof(char),ADBUFZ,fd)) > 0) X fwrite(adbuf,sizeof(char),cnt,outfile); X! if (patchprocset && domultijob) X fprintf(outfile, "%%%%EOF\n"); X fclose(fd); X } else { X*** applications/lwsrv/simple.c.orig Tue May 7 01:56:36 1991 X--- applications/lwsrv/simple.c Tue May 7 02:06:29 1991 X*************** X*** 1,6 **** X! static char rcsid[] = "$Author: djh $ $Date: 91/02/15 21:15:47 $"; X! static char rcsident[] = "$Header: simple.c,v 2.1 91/02/15 21:15:47 djh Rel $"; X! static char revision[] = "$Revision: 2.1 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X--- 1,6 ---- X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/06 16:05:38 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/simple.c,v 2.2 1991/05/06 16:05:38 djh Exp djh $"; X! static char revision[] = "$Revision: 2.2 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X*************** X*** 559,565 **** X "lwsrv: simple: non-dsc2: Including ProcSet %s = %s\n"), X dl->ad_ver,dl->ad_fn); X fprintf(outfile,"%% ** Procset From File: %s **\n",dl->ad_fn); X! ListProcSet(dl->ad_fn, dictdir, outfile); X fprintf(outfile,"%% ** End of ProcSet **\n"); X } X dl = NULL; /* Close off */ X--- 559,565 ---- X "lwsrv: simple: non-dsc2: Including ProcSet %s = %s\n"), X dl->ad_ver,dl->ad_fn); X fprintf(outfile,"%% ** Procset From File: %s **\n",dl->ad_fn); X! ListProcSet(dl->ad_fn, dictdir, outfile, 0); X fprintf(outfile,"%% ** End of ProcSet **\n"); X } X dl = NULL; /* Close off */ X*************** X*** 610,616 **** X fprintf(stderr,"lwsrv: simple: Including ProcSet %s = %s\n", X dl->ad_ver,dl->ad_fn); X fprintf(outfile,"%% ** Include Procset From File: %s **\n",dl->ad_fn); X! ListProcSet(dl->ad_fn, dictdir, outfile); X fprintf(outfile,"%% ** End of ProcSet **\n"); X dl = NULL; /* close off */ X } else X--- 610,616 ---- X fprintf(stderr,"lwsrv: simple: Including ProcSet %s = %s\n", X dl->ad_ver,dl->ad_fn); X fprintf(outfile,"%% ** Include Procset From File: %s **\n",dl->ad_fn); X! ListProcSet(dl->ad_fn, dictdir, outfile, 1); X fprintf(outfile,"%% ** End of ProcSet **\n"); X dl = NULL; /* close off */ X } else X*************** X*** 697,703 **** X NewStatus(status); X fprintf(stderr,"lwsrv: simple: Using ProcSet %s = %s\n",ver,dl->ad_fn); X fprintf(outfile,"%% ** Prepending ProcSet from: %s **\n",dl->ad_fn); X! ListProcSet(dl->ad_fn, dictdir, outfile); /* prepend appledict */ X fprintf(outfile,"%% ** End of ProcSet **\n"); X } X } else { X--- 697,703 ---- X NewStatus(status); X fprintf(stderr,"lwsrv: simple: Using ProcSet %s = %s\n",ver,dl->ad_fn); X fprintf(outfile,"%% ** Prepending ProcSet from: %s **\n",dl->ad_fn); X! ListProcSet(dl->ad_fn, dictdir, outfile, 1); /* prepend appledict */ X fprintf(outfile,"%% ** End of ProcSet **\n"); X } X } else { X*** README.orig Wed May 8 20:51:56 1991 X--- README Wed May 8 20:52:04 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 7, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 8, May 1991 X X Introduction X ------------ END_OF_FILE if test 5840 -ne `wc -c <'cap60.patch008'`; then echo shar: \"'cap60.patch008'\" unpacked with wrong size! fi # end of 'cap60.patch008' fi if test -f 'cap60.patch009' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch009'\" else echo shar: Extracting \"'cap60.patch009'\" \(6387 characters\) sed "s/^X//" >'cap60.patch009' <<'END_OF_FILE' XPatch #: 9 XType: upgrade XPriority: high XAffects: printing with LaserWriter drivers 6.1, 6.2 and 7.0 (?) XReported: Dave Platt <dplatt@ntg.com> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch009 XSummary: Cope with multiple procsets per print job XFile: cap60/applications/lwsrv/procset.c XFile: cap60/applications/lwsrv/procset.h XFile: cap60/applications/lwsrv/simple.c X X*** applications/lwsrv/procset.c.orig Tue May 7 19:04:49 1991 X--- applications/lwsrv/procset.c Tue May 7 19:19:58 1991 X*************** X*** 1,6 **** X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/06 16:05:38 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/procset.c,v 2.2 1991/05/06 16:05:38 djh Exp djh $"; X! static char revision[] = "$Revision: 2.2 $"; X X /* X * procset - UNIX AppleTalk spooling program: act as a laserwriter X--- 1,6 ---- X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/07 09:19:15 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/procset.c,v 2.3 1991/05/07 09:19:15 djh Exp djh $"; X! static char revision[] = "$Revision: 2.3 $"; X X /* X * procset - UNIX AppleTalk spooling program: act as a laserwriter X*************** X*** 68,74 **** X--- 68,82 ---- X return(NULL); X } X X+ void ClearProcSetsSent() X+ { X+ DictList *dl; X X+ for (dl = dicthead; dl != (DictList *) NULL; dl = dl->ad_next) { X+ dl->ad_sent = FALSE; X+ } X+ } X+ X /* X * checks if the file is there and should be readable X * X*************** X*** 175,180 **** X--- 183,189 ---- X } X dl->ad_ver = strdup(psn); /* remember proc set name */ X dl->ad_fn = strdup(dp->d_name); /* remember file name */ X+ dl->ad_sent = FALSE; X baddict: X free(dp); X } X*** applications/lwsrv/procset.h.orig Tue May 7 19:09:19 1991 X--- applications/lwsrv/procset.h Tue May 7 19:20:48 1991 X*************** X*** 1,6 **** X! /* "$Author: djh $ $Date: 91/02/15 21:15:06 $" */ X! /* "$Header: procset.h,v 2.1 91/02/15 21:15:06 djh Rel $" */ X! /* "$Revision: 2.1 $" */ X X /* X * procset - UNIX AppleTalk spooling program: act as a laserwriter X--- 1,6 ---- X! /* "$Author: djh $ $Date: 1991/05/07 09:20:28 $" */ X! /* "$Header: /mac/src/cap60/applications/lwsrv/RCS/procset.h,v 2.2 1991/05/07 09:20:28 djh Exp djh $" */ X! /* "$Revision: 2.2 $" */ X X /* X * procset - UNIX AppleTalk spooling program: act as a laserwriter X*************** X*** 21,28 **** X--- 21,30 ---- X struct Dict_List *ad_next; /* pointer to next */ X char *ad_fn; /* the file name */ X char *ad_ver; /* the version number */ X+ int ad_sent; /* downloaded during this job? */ X } DictList; X X DictList *GetProcSet(); /* DictList *GetProcSet(char *) */ X+ void ClearProcSetsSent(); X void newdictionary(); /* void newdictionary(DictList *) */ X void ListProcSet(); X*** applications/lwsrv/simple.c.orig Tue May 7 19:13:01 1991 X--- applications/lwsrv/simple.c Tue May 7 19:20:50 1991 X*************** X*** 1,6 **** X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/06 16:05:38 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/simple.c,v 2.2 1991/05/06 16:05:38 djh Exp djh $"; X! static char revision[] = "$Revision: 2.2 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X--- 1,6 ---- X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/07 09:20:28 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/simple.c,v 2.3 1991/05/07 09:20:28 djh Exp djh $"; X! static char revision[] = "$Revision: 2.3 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X*************** X*** 511,519 **** X echo = FALSE; X stripspaces(ts); /* clear off extra spaces */ X if ((dl = GetProcSet(ts)) != NULL) { X! fprintf(stderr, "lwsrv: simple: procset already known\n"); X break; X } X #ifdef xenix5 X sprintf(tmpstr, "%s/Found.%d",dictdir,time(0)); X #else xenix5 X--- 511,520 ---- X echo = FALSE; X stripspaces(ts); /* clear off extra spaces */ X if ((dl = GetProcSet(ts)) != NULL) { X! fprintf(stderr, "lwsrv: simple: procset %s already known\n", ts); X break; X } X+ sleep(1); /* raise odds of unique timestamp */ X #ifdef xenix5 X sprintf(tmpstr, "%s/Found.%d",dictdir,time(0)); X #else xenix5 X*************** X*** 533,538 **** X--- 534,540 ---- X dl->ad_ver = strdup(ts); X dl->ad_fn = strdup(tmpstr+strlen(dictdir)+1); X dl->ad_next = NULL; X+ dl->ad_sent = FALSE; X fprintf(procsetfile, "%%%%BeginProcSet: %s\n", ts); X } X /* copy from BPS to end into file or memory */ X*************** X*** 552,558 **** X newdictionary(dlnew); X dlnew = NULL; /* close off */ X } X! if (dl) { X fprintf(stderr, X ((adobe_dsc2_conformant) ? X "lwsrv: simple: dsc2: document supplied procset %s = %s\n" : X--- 554,560 ---- X newdictionary(dlnew); X dlnew = NULL; /* close off */ X } X! if (dl && !dl->ad_sent) { X fprintf(stderr, X ((adobe_dsc2_conformant) ? X "lwsrv: simple: dsc2: document supplied procset %s = %s\n" : X*************** X*** 561,566 **** X--- 563,569 ---- X fprintf(outfile,"%% ** Procset From File: %s **\n",dl->ad_fn); X ListProcSet(dl->ad_fn, dictdir, outfile, 0); X fprintf(outfile,"%% ** End of ProcSet **\n"); X+ dl->ad_sent = TRUE; X } X dl = NULL; /* Close off */ X break; X*************** X*** 649,654 **** X--- 652,658 ---- X } X if (procsetfile) { X fclose(procsetfile); X+ procsetfile = NULL; X if (dlnew) { X unlink(dlnew->ad_fn); X free(dlnew->ad_fn); /* free fn */ X*************** X*** 699,704 **** X--- 703,709 ---- X fprintf(outfile,"%% ** Prepending ProcSet from: %s **\n",dl->ad_fn); X ListProcSet(dl->ad_fn, dictdir, outfile, 1); /* prepend appledict */ X fprintf(outfile,"%% ** End of ProcSet **\n"); X+ dl->ad_sent = TRUE; X } X } else { X fprintf(stderr,"lwsrv: simple: Unknown ProcSet file for '%s'\n",ver); X*** README.orig Wed May 8 20:52:53 1991 X--- README Wed May 8 20:53:05 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 8, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 9, May 1991 X X Introduction X ------------ END_OF_FILE if test 6387 -ne `wc -c <'cap60.patch009'`; then echo shar: \"'cap60.patch009'\" unpacked with wrong size! fi # end of 'cap60.patch009' fi if test -f 'cap60.patch010' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch010'\" else echo shar: Extracting \"'cap60.patch010'\" \(3966 characters\) sed "s/^X//" >'cap60.patch010' <<'END_OF_FILE' XPatch #: 10 XType: bug fix XPriority: medium XAffects: sites periodically deleting lwsrv log file XReported: Rakesh Patel <rapatel@khnphwzhn.njin.net> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch010 XSummary: log file only opened once at startup XFile: cap60/applications/lwsrv/lwsrv.c X X*** applications/lwsrv/lwsrv.c.orig Tue May 7 23:45:03 1991 X--- applications/lwsrv/lwsrv.c Wed May 8 00:09:59 1991 X*************** X*** 1,6 **** X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/06 15:03:58 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/lwsrv.c,v 2.4 1991/05/06 15:03:58 djh Exp djh $"; X! static char revision[] = "$Revision: 2.4 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X--- 1,6 ---- X! static char rcsid[] = "$Author: djh $ $Date: 1991/05/07 14:09:39 $"; X! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/lwsrv.c,v 2.5 1991/05/07 14:09:39 djh Exp djh $"; X! static char revision[] = "$Revision: 2.5 $"; X X /* X * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter X*************** X*** 280,285 **** X--- 280,312 ---- X exit(0); X } X X+ openlogfile() X+ { X+ int i; X+ X+ if (logfile != NULL) { X+ if ((i = open(logfile,O_WRONLY|O_APPEND)) < 0) X+ i = creat(logfile,0666); X+ if (i != 2) { X+ #ifndef NODUP2 X+ (void) dup2(i,2); X+ #else NODUP2 X+ close(2); /* try again */ X+ (void) dup(0); /* for slot 2 */ X+ #endif NODUP2 X+ (void) close(i); X+ } X+ #ifdef LWSRV_LPR_LOG /* Set up logfile to be also stdout/stderr for lpr */ X+ #ifdef NODUP2 X+ close(1); X+ dup(2); X+ #else NODUP2 X+ dup2 (2, 1); X+ #endif NODUP2 X+ #endif LWSRV_LPR_LOG X+ } X+ } X+ X main(argc,argv) X int argc; X char **argv; X*************** X*** 322,348 **** X #else NODUP2 X (void) dup(0); /* for slot 2 */ X #endif NODUP2 X! } else { X! if ((i = open(logfile,O_WRONLY|O_APPEND)) < 0) X! i = creat(logfile,0666); X! if (i != 2) { X! #ifndef NODUP2 X! (void) dup2(i,2); X! #else NODUP2 X! close(2); /* try again */ X! (void) dup(0); /* for slot 2 */ X! #endif NODUP2 X! (void) close(i); X! } X! #ifdef LWSRV_LPR_LOG /* Set up logfile to be also stdout/stderr for lpr */ X! #ifdef NODUP2 X! close(1); X! dup(2); X! #else NODUP2 X! dup2 (2, 1); X! #endif NODUP2 X! #endif LWSRV_LPR_LOG X! } X #ifdef TIOCNOTTY X if ((i = open("/dev/tty",2)) > 0) { X ioctl(i, TIOCNOTTY,(char *) 0); X--- 349,356 ---- X #else NODUP2 X (void) dup(0); /* for slot 2 */ X #endif NODUP2 X! } else X! openlogfile(); X #ifdef TIOCNOTTY X if ((i = open("/dev/tty",2)) > 0) { X ioctl(i, TIOCNOTTY,(char *) 0); X*************** X*** 388,393 **** X--- 396,402 ---- X #ifdef LWSRV_AUFS_SECURITY X AddrBlock addr; /* budd */ X #endif LWSRV_AUFS_SECURITY X+ openlogfile(); X NewStatus("idle"); X err = GetNextJob(srefnum, &cno, &rcomp); X if (err != noErr) { X*************** X*** 472,477 **** X--- 481,488 ---- X #endif LWSRV_AUFS_SECURITY X X if (!singlefork) { X+ if (logfile != NULL) X+ close(2); /* close log file */ X if (fork() != 0) { X PAPShutdown(cno); /* kill off connection */ X continue; X*************** X*** 481,486 **** X--- 492,498 ---- X } else NewStatus("busy, processing job"); X /* need for multi-forking, nice for single forking */ X /* handle the connection in cno */ X+ openlogfile(); X signal(SIGCHLD,SIG_IGN); X childjob(p_opn(cno, BUFMAX)); X if (!singlefork) X*** README.orig Wed May 8 20:53:43 1991 X--- README Wed May 8 20:53:57 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 9, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 10, May 1991 X X Introduction X ------------ END_OF_FILE if test 3966 -ne `wc -c <'cap60.patch010'`; then echo shar: \"'cap60.patch010'\" unpacked with wrong size! fi # end of 'cap60.patch010' fi if test -f 'cap60.patch011' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch011'\" else echo shar: Extracting \"'cap60.patch011'\" \(6212 characters\) sed "s/^X//" >'cap60.patch011' <<'END_OF_FILE' XPatch #: 11 XType: bug fix XPriority: medium XAffects: sites requiring non-standard source locations etc. XReported: Hitoshi AIDA <aida@escargot.t.u-tokyo.ac.jp> XReported: Rakesh Patel <rapatel@khnphwzhn.njin.net> XReported: Gilbert Taylor-Wood <gtw@extro.ucc.su.OZ.AU> XReported: JQ Johnson <jqj@duff.uoregon.edu> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch011 XSummary: hard-coded filenames, abetalk.o not deleted at cleanup XFile: cap60/Configure XFile: cap60/lib/cap/Makefile.m4 XFile: cap60/support/uab/Makefile.m4 X X*** Configure.orig Wed May 8 02:20:46 1991 X--- Configure Wed May 8 03:33:17 1991 X*************** X*** 1,7 **** X #!/bin/sh X! # $Author: djh $ $Date: 91/03/13 19:31:17 $ X! # $Header: Configure,v 2.2 91/03/13 19:31:17 djh Exp $ X! # $Revision: 2.2 $ X # CAP configuration shell script. This ain't perfect, but it's a start. X # Execute with /bin/sh Configure if your system won't run it (ksh is okay too) X # X--- 1,7 ---- X #!/bin/sh X! # $Author: djh $ $Date: 1991/05/07 17:32:55 $ X! # $Header: /mac/src/cap60/RCS/Configure,v 2.3 1991/05/07 17:32:55 djh Exp djh $ X! # $Revision: 2.3 $ X # CAP configuration shell script. This ain't perfect, but it's a start. X # Execute with /bin/sh Configure if your system won't run it (ksh is okay too) X # X*************** X*** 756,761 **** X--- 756,762 ---- X # MINOR CONFIGURATION: configure various programs X X #define([columbia],1) # so columbia can do things quickly X+ #define([rutgers],1) # so rutgers can do things quickly X #define([debug],1) # testing things (without disrupting) X X # location of include files X*************** X*** 771,776 **** X--- 772,778 ---- X define([capsrvrdestdir],[[/usr/local/cap]]) X # location of some cap data files X define([caplibdestdir],[[/usr/local/lib/cap]]) X+ ifdef([rutgers],[define([caplibdestdir],[[/usr/local/cap/lib]])]) X # location of cap libraries X define([libdestdir],[[/usr/local/lib]]) X # override for aux (doesn't search /usr/local/lib) X*************** X*** 842,848 **** X # X # lwrename: set name of file containing list of printers to be renamed X # X! define([lwrenamefile],[[\"/usr/local/lib/cap/lwrename.list\"]]) X X # X # papif: see applications/papif/README X--- 844,850 ---- X # X # lwrename: set name of file containing list of printers to be renamed X # X! define([lwrenamefile],concat([\"],caplibdestdir,[/lwrename.list\"])) X X # X # papif: see applications/papif/README X*************** X*** 893,899 **** X X # for cap.printers - uncomment and change the following line to point X # papif, et. al. to a location other than /etc/cap.printers. (Note: X! # line below would set it to $etcdir/cap.printers) X # define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"])) X ifdef([columbia], X [define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))]) X--- 895,901 ---- X X # for cap.printers - uncomment and change the following line to point X # papif, et. al. to a location other than /etc/cap.printers. (Note: X! # line below would set it to $etcdest/cap.printers) X # define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"])) X ifdef([columbia], X [define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"]))]) X*************** X*** 901,906 **** X--- 903,909 ---- X # (probably shouldn't). Remember that atalk.local is expected to X # be in etcdest X define([atalklocal],concat([\"],etcdest,[/],[atalk.local],[\"])) X+ define([etalklocal],concat([\"],etcdest,[/],[etalk.local],[\"])) X define([configdir],concat([\"],etcdest,[\"])) X X # in case you want to globally change the c compiler X*************** X*** 1050,1055 **** X--- 1053,1059 ---- X define([capprinters],concat([\"],etcdest,[/],[cap.printers],[\"])) X define([cflags],concat(cflags,[ -I],includedir)) X define([atalklocal],concat([\"],etcdest,[/],[atalk.local],[\"])) X+ define([etalklocal],concat([\"],etcdest,[/],[etalk.local],[\"])) X define([configdir],concat([\"],etcdest,[\"])) X ]) X X*** lib/cap/Makefile.m4.orig Wed May 8 03:38:20 1991 X--- lib/cap/Makefile.m4 Wed May 8 04:03:49 1991 X*************** X*** 48,54 **** X X abetalk.o: X (cd ../../support/ethertalk; make abetalk.o) X! cp ../../support/ethertalk/abetalk.o abetalk.o X X abmkip.o: abkip.c ${DEPENDS} $I/netat/abnbp.h $I/netat/compat.h X cp abkip.c abmkip.c X--- 48,54 ---- X X abetalk.o: X (cd ../../support/ethertalk; make abetalk.o) X! mv ../../support/ethertalk/abetalk.o abetalk.o X X abmkip.o: abkip.c ${DEPENDS} $I/netat/abnbp.h $I/netat/compat.h X cp abkip.c abmkip.c X*************** X*** 56,62 **** X /bin/rm abmkip.c X X atalkdbm.o: atalkdbm.c ${DEPENDS} X! ${CC} ${CFLAGS} -DTAB=atalklocal() -DCONFIGDIR=configdir() -c atalkdbm.c X X authenticate.o: authenticate.c ${DEPENDS} X ${CC} ${CFLAGS} -DAUTHCONFIG=${AUTHCONFIG} -c authenticate.c X--- 56,63 ---- X /bin/rm abmkip.c X X atalkdbm.o: atalkdbm.c ${DEPENDS} X! ${CC} ${CFLAGS} -DTAB=atalklocal() -DETAB=etalklocal() \ X! -DCONFIGDIR=configdir() -c atalkdbm.c X X authenticate.o: authenticate.c ${DEPENDS} X ${CC} ${CFLAGS} -DAUTHCONFIG=${AUTHCONFIG} -c authenticate.c X*** support/uab/Makefile.m4.orig Wed May 8 03:40:33 1991 X--- support/uab/Makefile.m4 Wed May 8 03:43:18 1991 X*************** X*** 25,31 **** X [${INSTALLER} uab ${DESTDIR}]) X X kip_mpx.o: kip_mpx.c mpxddp.h gw.h node.h ddpport.h X! cc -c ${CFLAGS} kip_mpx.c X X uab.o: uab.c mpxddp.h gw.h node.h ddpport.h if_desc.h X cc -c ${CFLAGS} -DUAB_PIDFILE=\"/usr/local/lib/cap/uab.pid\" \ X--- 25,31 ---- X [${INSTALLER} uab ${DESTDIR}]) X X kip_mpx.o: kip_mpx.c mpxddp.h gw.h node.h ddpport.h X! cc -c ${CFLAGS} -DTAB=etalklocal() -DMTAB=etalklocal() kip_mpx.c X X uab.o: uab.c mpxddp.h gw.h node.h ddpport.h if_desc.h X cc -c ${CFLAGS} -DUAB_PIDFILE=\"/usr/local/lib/cap/uab.pid\" \ X*** README.orig Wed May 8 20:54:23 1991 X--- README Wed May 8 20:54:36 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 10, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 11, May 1991 X X Introduction X ------------ END_OF_FILE if test 6212 -ne `wc -c <'cap60.patch011'`; then echo shar: \"'cap60.patch011'\" unpacked with wrong size! fi # end of 'cap60.patch011' fi if test -f 'cap60.patch012' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch012'\" else echo shar: Extracting \"'cap60.patch012'\" \(1595 characters\) sed "s/^X//" >'cap60.patch012' <<'END_OF_FILE' XPatch #: 12 XType: bug fix XPriority: medium XAffects: sites using LWSRV_AUFS_SECURITY feature XReported: Gilbert Taylor-Wood <gtw@extro.ucc.su.OZ.AU> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch012 XSummary: need to cleanup auth-file entries if server dies XFile: cap60/applications/aufs/aufs.c X X*** applications/aufs/aufs.c.orig Wed May 8 20:10:45 1991 X--- applications/aufs/aufs.c Wed May 8 20:21:05 1991 X*************** X*** 1,7 **** X /* X! * $Author: djh $ $Date: 91/03/14 20:00:16 $ X! * $Header: aufs.c,v 2.2 91/03/14 20:00:16 djh Exp $ X! * $Revision: 2.2 $ X */ X X /* X--- 1,7 ---- X /* X! * $Author: djh $ $Date: 1991/05/08 10:20:39 $ X! * $Header: /mac/src/cap60/applications/aufs/RCS/aufs.c,v 2.3 1991/05/08 10:20:39 djh Exp djh $ X! * $Revision: 2.3 $ X */ X X /* X*************** X*** 1077,1082 **** X--- 1077,1085 ---- X /* Try closing just in case */ X SPCloseSession(cno, 3, 2, &comp); /* 3 times, .5 seconds */ X while (comp > 0) { abSleep(30, TRUE); } /* close down if we can */ X+ #ifdef LWSRV_AUFS_SECURITY X+ clearuserlogin(); /* gtw: delete auth-file entry for dead users */ X+ #endif LWSRV_AUFS_SECURITY X exit(0); X } X X*** README.orig Wed May 8 20:55:13 1991 X--- README Wed May 8 20:55:21 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 11, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 12, May 1991 X X Introduction X ------------ END_OF_FILE if test 1595 -ne `wc -c <'cap60.patch012'`; then echo shar: \"'cap60.patch012'\" unpacked with wrong size! fi # end of 'cap60.patch012' fi if test -f 'cap60.patch013' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch013'\" else echo shar: Extracting \"'cap60.patch013'\" \(2623 characters\) sed "s/^X//" >'cap60.patch013' <<'END_OF_FILE' XPatch #: 13 XType: bug fix XPriority: medium XAffects: use of the man keyword flag (-k) XReported: Dan Kegel <dank@jpl.nasa.gov> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch013 XSummary: formatting commands not advisable for .SH NAME entries XFile: cap60/man/AUFS.1 XFile: cap60/man/AUFS.8 XFile: cap60/man/UAB.8 XFile: cap60/man/atprint.1 X X*** man/AUFS.1.orig Wed May 8 21:16:08 1991 X--- man/AUFS.1 Wed May 8 21:20:52 1991 X*************** X*** 1,6 **** X .TH AUFS 1 "20 Jun 1990" "Columbia University" X .SH NAME X! .B aufs X \- AppleTalk file protocol UNIX File Server X .SH SYNOPSIS X AUFS is an implementation of a file server on a UNIX host connected X--- 1,6 ---- X .TH AUFS 1 "20 Jun 1990" "Columbia University" X .SH NAME X! aufs X \- AppleTalk file protocol UNIX File Server X .SH SYNOPSIS X AUFS is an implementation of a file server on a UNIX host connected X*** man/AUFS.8.orig Wed May 8 21:16:44 1991 X--- man/AUFS.8 Wed May 8 21:22:24 1991 X*************** X*** 1,6 **** X .TH aufs 8 "21 June 1990" "Columbia University" X .SH NAME X! .B aufs X \- daemon program to establish AppleTalk filing protocol UNIX File Server X .SH SYNOPSIS X .B aufs X--- 1,6 ---- X .TH aufs 8 "21 June 1990" "Columbia University" X .SH NAME X! aufs X \- daemon program to establish AppleTalk filing protocol UNIX File Server X .SH SYNOPSIS X .B aufs X*** man/UAB.8.orig Wed May 8 21:17:14 1991 X--- man/UAB.8 Wed May 8 21:23:01 1991 X*************** X*** 1,6 **** X .TH uab 8 X .SH NAME X! .I uab X \- Unix AppleTalk Bridge X .SH SYNTAX X .I uab X--- 1,6 ---- X .TH uab 8 X .SH NAME X! uab X \- Unix AppleTalk Bridge X .SH SYNTAX X .I uab X*** man/atprint.1.orig Wed May 8 21:17:53 1991 X--- man/atprint.1 Wed May 8 21:23:03 1991 X*************** X*** 1,6 **** X! .TH "AppleTalk Printing" 1 "20 June 1990" "Columbia University" X .SH NAME X- .B X lwpr, iwpr, tlw, papif, lwsrv, isrv X \- UNIX access to AppleTalk printers and UNIX print spoolers for AppleTalk X .SH DESCRIPTION X--- 1,5 ---- X! .TH AppleTalkPrinting 1 "20 June 1990" "Columbia University" X .SH NAME X lwpr, iwpr, tlw, papif, lwsrv, isrv X \- UNIX access to AppleTalk printers and UNIX print spoolers for AppleTalk X .SH DESCRIPTION X*** README.orig Wed May 8 21:47:05 1991 X--- README Wed May 8 21:47:26 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 12, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 13, May 1991 X X Introduction X ------------ END_OF_FILE if test 2623 -ne `wc -c <'cap60.patch013'`; then echo shar: \"'cap60.patch013'\" unpacked with wrong size! fi # end of 'cap60.patch013' fi if test -f 'cap60.patch014' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch014'\" else echo shar: Extracting \"'cap60.patch014'\" \(1527 characters\) sed "s/^X//" >'cap60.patch014' <<'END_OF_FILE' XPatch #: 14 XType: update XPriority: low/medium XAffects: users of contrib/AufsTools utilities XReported: Rakesh Patel <rapatel@khnphwzhn.njin.net> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch014 XSummary: add <netinet/in.h> for Pyramid XFile: cap60/contrib/AufsTools/mcvert/mactypes.h XFile: cap60/contrib/AufsTools/capit/capit.c X X*** contrib/AufsTools/mcvert/mactypes.h.orig Thu May 9 00:15:22 1991 X--- contrib/AufsTools/mcvert/mactypes.h Thu May 9 00:16:13 1991 X*************** X*** 3,8 **** X--- 3,9 ---- X #include <sys/dir.h> X #include <sys/stat.h> X #include <sys/timeb.h> X+ #include <netinet/in.h> X X /* Useful, though not particularly Mac related, values */ X typedef unsigned char byte; /* one byte, obviously */ X*** contrib/AufsTools/capit/capit.c.orig Thu May 9 00:16:54 1991 X--- contrib/AufsTools/capit/capit.c Thu May 9 00:17:18 1991 X*************** X*** 22,27 **** X--- 22,28 ---- X #include <sys/types.h> X #include <sys/dir.h> X #include <strings.h> X+ #include <netinet/in.h> X X #define BSIZE (128) /* size of blocks in MacBinary file */ X typedef long int4; X*** README.orig Thu May 9 00:24:41 1991 X--- README Thu May 9 00:24:55 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 13, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 14, May 1991 X X Introduction X ------------ END_OF_FILE if test 1527 -ne `wc -c <'cap60.patch014'`; then echo shar: \"'cap60.patch014'\" unpacked with wrong size! fi # end of 'cap60.patch014' fi if test -f 'cap60.patch015' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'cap60.patch015'\" else echo shar: Extracting \"'cap60.patch015'\" \(3660 characters\) sed "s/^X//" >'cap60.patch015' <<'END_OF_FILE' XPatch #: 15 XType: bug fix XPriority: medium XAffects: sites requiring non-standard source locations Mk II XReported: William Roberts <liam@dcs.qmw.ac.uk> XArchived: munnari.OZ.AU mac/cap.patches/cap60.patch015 XSummary: hard-coded file names XFile: cap60/Configure XFile: cap60/support/uab/Makefile.m4 XFile: cap60/support/uab/README X X*** Configure.orig Thu May 9 21:19:33 1991 X--- Configure Thu May 9 21:37:59 1991 X*************** X*** 1,7 **** X #!/bin/sh X! # $Author: djh $ $Date: 1991/05/07 17:32:55 $ X! # $Header: /mac/src/cap60/RCS/Configure,v 2.3 1991/05/07 17:32:55 djh Exp djh $ X! # $Revision: 2.3 $ X # CAP configuration shell script. This ain't perfect, but it's a start. X # Execute with /bin/sh Configure if your system won't run it (ksh is okay too) X # X--- 1,7 ---- X #!/bin/sh X! # $Author: djh $ $Date: 1991/05/09 11:36:18 $ X! # $Header: /mac/src/cap60/RCS/Configure,v 2.4 1991/05/09 11:36:18 djh Exp djh $ X! # $Revision: 2.4 $ X # CAP configuration shell script. This ain't perfect, but it's a start. X # Execute with /bin/sh Configure if your system won't run it (ksh is okay too) X # X*************** X*** 905,910 **** X--- 905,912 ---- X define([atalklocal],concat([\"],etcdest,[/],[atalk.local],[\"])) X define([etalklocal],concat([\"],etcdest,[/],[etalk.local],[\"])) X define([configdir],concat([\"],etcdest,[\"])) X+ define([uabpidfile],concat([\"],caplibdestdir,[/],[uab.pid],[\"])) X+ define([uabbrdescr],concat([\"],caplibdestdir,[/],[bridge_desc],[\"])) X X # in case you want to globally change the c compiler X EOT3 X*** support/uab/Makefile.m4.orig Thu May 9 21:31:38 1991 X--- support/uab/Makefile.m4 Thu May 9 21:39:01 1991 X*************** X*** 28,35 **** X cc -c ${CFLAGS} -DTAB=etalklocal() -DMTAB=etalklocal() kip_mpx.c X X uab.o: uab.c mpxddp.h gw.h node.h ddpport.h if_desc.h X! cc -c ${CFLAGS} -DUAB_PIDFILE=\"/usr/local/lib/cap/uab.pid\" \ X! -DBRIDGE_DESC=\"/usr/local/lib/cap/bridge_desc\" uab.c X X lint: X lint -h uab.c ${SRCS} X--- 28,35 ---- X cc -c ${CFLAGS} -DTAB=etalklocal() -DMTAB=etalklocal() kip_mpx.c X X uab.o: uab.c mpxddp.h gw.h node.h ddpport.h if_desc.h X! cc -c ${CFLAGS} -DUAB_PIDFILE=uabpidfile() \ X! -DBRIDGE_DESC=uabbrdescr() uab.c X X lint: X lint -h uab.c ${SRCS} X*** support/uab/README.orig Thu May 9 21:45:06 1991 X--- support/uab/README Thu May 9 21:46:59 1991 X*************** X*** 38,44 **** X libraries will be set up for UAB use and UAB will be compiled and installed X automatically (in /usr/local/cap by default). X X! YOU MUST STILL MANUALLY EDIT AND INSTALL THE FILE "bridge_desc" in /etc X X The file /etc/etalk.local is written by UAB when it discovers sufficient X information about the connected networks. CAP programs will use this X--- 38,46 ---- X libraries will be set up for UAB use and UAB will be compiled and installed X automatically (in /usr/local/cap by default). X X! YOU MUST STILL MANUALLY EDIT AND INSTALL THE FILE "bridge_desc" (by default X! this file is in /usr/local/lib/cap, unless the 'caplibdestdir' variable is X! modified [for example, to "/etc/"] in m4.setup). X X The file /etc/etalk.local is written by UAB when it discovers sufficient X information about the connected networks. CAP programs will use this X*** README.orig Thu May 9 21:40:11 1991 X--- README Thu May 9 21:40:36 1991 X*************** X*** 3,9 **** X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 14, May 1991 X X Introduction X ------------ X--- 3,9 ---- X (For use with AppleTalk/Ethernet bridge) X X o RELEASE NOTES X! o CAP Distribution 6.0, Patch Level 15, May 1991 X X Introduction X ------------ END_OF_FILE if test 3660 -ne `wc -c <'cap60.patch015'`; then echo shar: \"'cap60.patch015'\" unpacked with wrong size! fi # end of 'cap60.patch015' fi echo shar: End of shell archive. exit 0