Description of problem: Trying to use sendmail's access/access.db file (for authinfo) but access.db is nver created. running makemap hash /etc/mail/access < /etc/mail/access gives /etc/mail/access.db: Invalid type 5 specified makemap: error opening type hash map /etc/mail/access: Invalid argument Searching google i found that replacing the BerkeleyDB version might help. Version-Release number of selected component (if applicable): sendmail-8.14.3-10.fc13.i686 db4-4.8.26-1.fc13.i686 How reproducible: try to compile /etc/mail/access, making sure the data is put into access.db Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
This bug has also been noticed in gentoo: http://bugs.gentoo.org/show_bug.cgi?id=294819 And debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565242 Similar bug in PHP: http://bugs.php.net/bug.php?id=51086 Similar bug in nvi: http://bugs.gentoo.org/286352 Brief discussion in upstream forum for Berkeley DB: http://forums.oracle.com/forums/thread.jspa?threadID=1031805 It seems that everybody is relying on undefined behaviour of DB4, and it *may* be getting reverted to the old behaviour in the next release of that, whenever that will be. In the meantime, sendmail with BDB 4.8 is rather broken.
This bug appears to have been reported against 'rawhide' during the Fedora 13 development cycle. Changing version to '13'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
*** Bug 575989 has been marked as a duplicate of this bug. ***
sendmail-8.14.4-4.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/sendmail-8.14.4-4.fc13
Fixing this in sendmail seems to be little tricky (locking, race conditions...). That's why I rather rebuilt with compatdb-4.7.25 that resulted in sendmail-8.14.4-4.fc13. I pushed it through Bodhi and I will wait how this issue evolves. I leave this bug in modified state until fixed by upstream (sendmail or bdb).
*** Bug 577136 has been marked as a duplicate of this bug. ***
Why the manual dependency on compat-db47? Is the automatic dependency on libdb-4.7.so not sufficient?
It should be sufficient. Thank you, I will correct this if there will be update. Please think about this as temporal solution, I will revert back to db-4.8 as soon as possible.
Seems fixed in Berkeley DB 11gR2 (aka DB5): http://www.oracle.com/technology/documentation/berkeley-db/db/installation/changelog_5_0.html#id3379472 >> 16. Fixed a bug that would generate an error if a non-BDB file was used to create a database and the DB_TRUNCATE flag was specified. [#18373] Not tested with sendmail, this BDB is not in Rawhide for now - Bug 580220.
In the mean time you could try the BDB 5.0 which is planned to be included in rawhide as a separate package: https://bugzilla.redhat.com/show_bug.cgi?id=580873 Also it would be nice if someone can help me with the review so that it occurs in rawhide as soon as possible. Thanks.
Thanks Jindrich, I tried to review it. The bad new, the sendmail doesn't build with BDB 5.0 and needs patching. Also same with Sendmail 8.14.5.Alpha0. I will look on it later.
Created attachment 406854 [details] Patch for sendmail to build with DB 5.0. The patch is trivial: The cpp doesn't use short-circuit evaluation for logical operators, thus another expression must be added (as in attachment) to DB version evaluation or in case if there is no problem with 4.0 version (I don't know), the patch can be more simplified with minor version check removed. I will submit the patch upstream. Sendmail basic functionality test passed, thus looking forward for DB 5.0. For testing, the sendmail scratch builds are here: http://jskarvad.fedorapeople.org/sendmail/
sendmail-8.14.4-4.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
DB 4.8.30 is out now, with a changelog indicating that this problem may be resolved there too: * Allow any file to be truncated even if its not a db file. [#18373]
Sendmail in F13 uses compat-db, sendmail in F14 and rawhide uses db5 and all work, thus closing this.