Red Hat Bugzilla – Bug 477301
Please compile gdbm with fcntl instead of flock usage to make nfs safe.
Last modified: 2011-01-19 09:18:02 EST
Description of problem:
gdbm can't lock the database when on a nfs client, because it uses by default flock() which fails on nfs, instead of fcntl(), which works. Other distributions like debian compile libgdbm with #undef HAVE_FLOCK:
(NOTE: DO NOT TURN OFF LOCKING, NO MATTER HOW TEMPTING IT LOOKS!)
This means that for example /usr/bin/vacation does not work for nfs hosted home directories. Yes, vacation can be told to use another database pathname, but in our case, the mailserver is a machine that people don't have access to, and so they can't initialise the database unless it is in their home directory, which is of course nfs mounted.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. compile /usr/bin/vacation, linking to redhat's gdbm
2. set up a test account's .forward: test, "|/usr/bin/vacation test"
3. Send a mail to test account.
look in the mail server's logfile for entries like:
Dec 20 16:10:53 aaocbn vacation: vacation: .vacation: No locks available
Dec 20 16:10:53 aaocbn sendmail: mBK5Arlu006621: to="|/usr/bin/vacation test", ctladdr=<test@domain> (582/15), delay=00:00:00,xdelay=00:00:00, mailer=prog, pri=62265, dsn=5.6.0, stat=Data format error
mail delivered normally because vacation was able to use gdbm, which worked because it was able to make lockfiles on the nfs hosted home directory.
Also affects redhat enterprise 5.
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated in the
current release, Red Hat is unfortunately unable to address this
request at this time. Red Hat invites you to ask your support
representative to propose this request, if appropriate and relevant,
in the next release of Red Hat Enterprise Linux.
Moving to RHEL-5 - now it is too late for RHEL-4 which now adresses only critical and security fixes.
Additionally, could you please contact Red Hat Product Support directly? Bugzilla is just bug tracking tool and RHEL updates are based on customer requests tracked by support team - so direct contact to support will increase chances of having this (and any bugfix) fixed in RHEL-5.
*** This bug has been marked as a duplicate of bug 477300 ***