From owner-freebsd-bugs Mon Nov 3 01:00:05 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id BAA18881 for bugs-outgoing; Mon, 3 Nov 1997 01:00:05 -0800 (PST) (envelope-from owner-freebsd-bugs) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id BAA18845; Mon, 3 Nov 1997 01:00:01 -0800 (PST) (envelope-from gnats) Date: Mon, 3 Nov 1997 01:00:01 -0800 (PST) Message-Id: <199711030900.BAA18845@hub.freebsd.org> To: freebsd-bugs Cc: From: Vasim Valejev Subject: Re: bin/4925: sendmail ignores user quotas Reply-To: Vasim Valejev Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk The following reply was made to PR bin/4925; it has been noted by GNATS. From: Vasim Valejev To: toasty@dragondata.com Cc: freebsd-gnats-submit@FreeBSD.ORG, GNATS Management , freebsd-bugs@hub.freebsd.org Subject: Re: bin/4925: sendmail ignores user quotas Date: Mon, 3 Nov 1997 13:53:28 +0500 (ES) Hi ! On Sun, 2 Nov 1997 toasty@dragondata.com wrote: > >Number: 4925 > >Category: bin > >Synopsis: sendmail ignores user quotas > >Confidential: no > >Severity: non-critical > >Priority: low > >Responsible: freebsd-bugs > >State: open > >Class: sw-bug > >Submitter-Id: current-users > >Arrival-Date: Sun Nov 2 22:10:01 PST 1997 > >Last-Modified: > >Originator: Kevin Day > >Organization: > DragonData > >Release: 2.2.1-RELEASE > >Environment: > FreeBSD home.dragondata.com 2.2.1-RELEASE FreeBSD 2.2.1-RELEASE #0: Thu Sep 25 0 > 0:27:55 CDT 1997 toasty@home.dragondata.com:/usr/src/sys/compile/HOME i386 2.2-STABLE and 3.0-CURRENT too :( . > >Description: > Users can receive mail well over their hard space limit. I'd like to be able to stop this from happening. /var/spool/mail is on it's own partition, so I thought I could apply a quota to prevent users from getting mailbombed, and also from just saving t oo much mail on the server. > > repquota shows the correct amount used, and will even show them going over the hard limit, but sendmail still dumps more data in their mail file. > > Is this a bug? Probably not, but it's not really consistant behavior, as nearly every other service will stop when their limit is reached. > It's problem in /usr/libexec/mail.local . This program open and write in user's mailboxes under root . > >How-To-Repeat: > Enable quotas, and send a ton of mail to a user with very little space left. > >Fix: Possible fix (not tested) for /usr/src/libexec/mail.local/mail.local.c : *** mail.local.c.orig Sat Oct 25 14:09:39 1997 --- mail.local.c Mon Nov 3 13:24:53 1997 *************** *** 266,271 **** --- 266,287 ---- } } + if (mbfd == -1) { + e_to_sys(errno); + warn("%s: %s", path, strerror(errno)); + return; + } + + close(mbfd); + + if (setuid(pw->pw_uid) < 0) + { + e_to_sys(errno); + warn("%d: %s", pw->pw_uid, strerror(errno)); + return; + } + + mbfd = open(path, O_APPEND|O_WRONLY, 0); if (mbfd == -1) { e_to_sys(errno); warn("%s: %s", path, strerror(errno)); > > >Audit-Trail: > >Unformatted: > Vasim V. (2:5011/27 http://members.tripod.com/~Vasim VV86-RIPE)