Craig Mason wrote:
>
> Hi Everybody,
>
> I thought I'd get a few ideas before I start hacking my sendmail to
> pieces. I've just incorporated procmail-3.10 into my sendmail-8.8.4 on
> Solaris-2.5.1. In the procmail FAQ it talks about disabling both the
> fcntl() and lockf() locking so it will work with mailtool but it still
> uses flock. No problem. But when I start sendmail everything looks good
> untill I get mail. I don't loose mail and procmail works but the error I
> get looses me. It is as follows.
>
> Dec 3 20:38:07 fritz sendmail[9050]: UAA09047: SYSERR(root): cannot
> lockf(/etc/mailertable.dir, fd=1, type=1, omode=37777777777, euid=0):
> Bad file number
>
> I do use mailertables here in dbm format not db. And my questions are
>
> 1) Is part of sendmail trying to use lockf while the other part of
> sendmail says use procmail to do the work. And procmail can't use lockf
> because I got rid of it?
> 1) Has anybody seen this before?
> 2) If I use the USEFLOCK option when I compile sendmail will that fix
> it? Or will I run into problems with locking when I do that?
>
> I just thought I'd ask you first. Every time I hack on sendmail I'm here
> forever so I wanted a head start.
>
> --
> Craig Mason System Administrator
>
> 800-333-4613 x3493
> cmason@diasonics.com
A reply from Jack Goldsmith told me there was a patch for the O/S to
make procmail run with Sendmail on SUN machines. He was right but, I was
able to make procmail work without the patch by disabling some of the
locking in procmail. When I installed the patch it allowed me to use the
locking features in procmail but, it didn't fix the errors I was
getting. Here is the patch list. Further down I will tell how I fixed
the error.
2.5/SPARC 103187-xx (xx >= 09)
2.5/x86 103188-xx (xx >= 09)
2.5.1/SPARC 103612-xx (xx >= 06)
2.5.1/x86 103613-xx (xx >= 06)
2.5.1/PPC 103614-xx (xx >= 06)
> Dec 3 20:38:07 fritz sendmail[9050]: UAA09047: SYSERR(root): cannot
> lockf(/etc/mailertable.dir, fd=1, type=1, omode=37777777777, euid=0):
> Bad file number
The error above is the error I was getting. I got that error when mail
went in or out of the building, here was my fix. Don't use a dbm style
mailertable. I changed it to a db style mailertable and here is how I
did that. In the diasonics.mc file I changed
FEATURE(mailertable, dbm /etc/mailertable)
to
FEATURE(mailertable, hash /etc/mailertable.db)
m4'd my diasonics.mc file and installed the new sendmail.cf file and no
more errors.
I wish I could have fixed it using the old dbm method but I couldn't.
The old way used to work but not anymore. I didn't want to look at those
error anymore so I did it this way.
-- Craig Mason System Administrator800-333-4613 x3493 cmason@diasonics.com
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:11:18 CDT