Date: Thu, 2 Sep 1999 17:51:21 -0400 (EDT) From: gad@santropez.acs.rpi.edu To: FreeBSD-gnats-submit@freebsd.org Cc: gad@eclipse.acs.rpi.edu Subject: bin/13549: Fix for 'lpc start queue' problem (see PR bin/9362) Message-ID: <199909022151.RAA20924@santropez.acs.rpi.edu>
next in thread | raw e-mail | index | archive | help
>Number: 13549 >Category: bin >Synopsis: [PATCH] Fix for 'lpc start queue' problem (see PR bin/9362) >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Sep 2 15:00:01 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Garance A Drosehn >Release: FreeBSD 3.2-RELEASE i386 >Organization: >Environment: Bug is in all releases after 3.1 (and probably earlier), including freebsd-current as of a week or so ago. >Description: /usr/sbin/lpc start queuename will not in fact start the queue named. It claims to, but it does not really do it. >How-To-Repeat: Use lpc to stop a queue. Use lpc to start a queue. Use lpc to check the status of a queue, and you will see it isn't actually started. >Fix: A patch is appended to this message. (is this how I should submit patches? it seems a bit messy to me). This patch assumes you are in directory /usr/src/usr.sbin/lpr . It was made against the lpr in Freebsd-current (as of a week or so ago), but should also apply to lpr in freebsd-stable. *** lpc/cmds.c.orig Fri Sep 11 14:49:31 1998 --- lpc/cmds.c Thu Sep 2 17:31:22 1999 *************** *** 587,598 **** printf("%s:\n", pp->printer); /* ! * Turn off the owner execute bit of the lock file to enable printing. */ seteuid(euid); if (enable && stat(lf, &stbuf) >= 0) { ! mode_t bits = (enable == 2 ? 0 ! : (LFM_PRINT_DIS | LFM_QUEUE_DIS)); if (chmod(lf, stbuf.st_mode & (LOCK_FILE_MODE | bits)) < 0) printf("\tcannot enable printing\n"); else --- 587,599 ---- printf("%s:\n", pp->printer); /* ! * For enable==1 ('start'), turn off the LFM_PRINT_DIS bit of the lock ! * file to re-enable printing. For enable==2 ('up'), also turn off ! * the LFM_QUEUE_DIS bit to re-enable queuing. */ seteuid(euid); if (enable && stat(lf, &stbuf) >= 0) { ! mode_t bits = (enable == 2 ? 0 : LFM_QUEUE_DIS); if (chmod(lf, stbuf.st_mode & (LOCK_FILE_MODE | bits)) < 0) printf("\tcannot enable printing\n"); else >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909022151.RAA20924>