Patch #: 141 Type: bug fix Priority: medium Affects: sites running lwsrv in single threaded mode with RUN_AS_USER Affects: sites running lwsrv with RUN_AS_USER & LWSRV_AUFS_SECURITY Submitted: John P. Rouillard Archived: munnari.OZ.AU mac/cap.patches/cap60.patch141 Application: 'cd cap60; patch -p < cap60.patches/cap60.patch141' Summary: remove code interactions, move setuid() File: cap60/applications/lwsrv/lwsrv.c *** applications/lwsrv/lwsrv.c.orig Tue Apr 13 18:39:15 1993 --- applications/lwsrv/lwsrv.c Tue May 4 23:53:22 1993 *************** *** 1,6 **** ! static char rcsid[] = "$Author: djh $ $Date: 1993/04/13 08:38:23 $"; ! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/lwsrv.c,v 2.28 1993/04/13 08:38:23 djh Rel djh $"; ! static char revision[] = "$Revision: 2.28 $"; /* * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter --- 1,6 ---- ! static char rcsid[] = "$Author: djh $ $Date: 1993/05/04 13:52:55 $"; ! static char rcsident[] = "$Header: /mac/src/cap60/applications/lwsrv/RCS/lwsrv.c,v 2.29 1993/05/04 13:52:55 djh Rel djh $"; ! static char revision[] = "$Revision: 2.29 $"; /* * lwsrv - UNIX AppleTalk spooling program: act as a laserwriter *************** *** 875,884 **** (void) time(&t); #ifdef RUN_AS_USER ! if ((uid = unixuid(username))) { chown(tname, uid, -1); - setuid(uid); - } #ifdef USER_REQUIRED else { int n; --- 875,887 ---- (void) time(&t); #ifdef RUN_AS_USER ! #ifdef LWSRV_AUFS_SECURITY ! if (((uid = requid) != 0) ! || (uid = unixuid(username))) ! #else LWSRV_AUFS_SECURITY ! if ((uid = unixuid(username))) ! #endif LWSRV_AUFS_SECURITY chown(tname, uid, -1); #ifdef USER_REQUIRED else { int n; *************** *** 1039,1044 **** --- 1042,1052 ---- switch (fork()) { case 0: + #ifdef RUN_AS_USER + #ifndef LWSRV_AUFS_SECURITY + setuid(uid); + #endif LWSRV_AUFS_SECURITY + #endif RUN_AS_USER #ifdef LWSRV_AUFS_SECURITY if (aufsdb) { /* *** lib/cap/abversion.c.orig Tue May 4 23:00:59 1993 --- lib/cap/abversion.c Tue May 4 23:55:09 1993 *************** *** 1,7 **** /* ! * $Author: djh $ $Date: 1993/05/04 13:00:53 $ ! * $Header: /mac/src/cap60/lib/cap/RCS/abversion.c,v 2.40 1993/05/04 13:00:53 djh Rel djh $ ! * $Revision: 2.40 $ */ /* --- 1,7 ---- /* ! * $Author: djh $ $Date: 1993/05/04 13:55:04 $ ! * $Header: /mac/src/cap60/lib/cap/RCS/abversion.c,v 2.41 1993/05/04 13:55:04 djh Rel djh $ ! * $Revision: 2.41 $ */ /* *************** *** 31,37 **** myversion.cv_name = "CAP"; myversion.cv_version = 6; myversion.cv_subversion = 0; ! myversion.cv_patchlevel = 140; myversion.cv_rmonth = "May"; myversion.cv_ryear = "1993"; switch (lap_proto) { --- 31,37 ---- myversion.cv_name = "CAP"; myversion.cv_version = 6; myversion.cv_subversion = 0; ! myversion.cv_patchlevel = 141; myversion.cv_rmonth = "May"; myversion.cv_ryear = "1993"; switch (lap_proto) { *** README.orig Tue May 4 22:59:59 1993 --- README Tue May 4 23:55:59 1993 *************** *** 2,8 **** CAP - Columbia AppleTalk Package for UNIX o RELEASE NOTES ! o CAP Distribution 6.0, Patch Level 140, May 1993 Notice ------ --- 2,8 ---- CAP - Columbia AppleTalk Package for UNIX o RELEASE NOTES ! o CAP Distribution 6.0, Patch Level 141, May 1993 Notice ------