Bug 1781181

Summary: Removing libdb dependency from sendmail
Product: [Fedora] Fedora Reporter: Filip Januš <fjanus>
Component: sendmailAssignee: Jaroslav Škarvada <jskarvad>
Status: ASSIGNED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 39CC: anon.amish, jskarvad, redhat-bugzilla
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1940427 (view as bug list) Environment:
Last Closed: 2021-05-25 15:13:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1778802, 1940427    

Description Filip Januš 2019-12-09 13:42:16 UTC
Description of problem:
According to more restrictive libdb licence policy exists effort to remove libdb's dependencies.
Sendmail is now built with libdb requirement, this package could be build with gdbm or other database supporting ndbm interface. Files stored by BerkelyDB we should be able to convert to GDBM format using makemap and makemap tools.

Comment 1 Robert Scheck 2019-12-09 14:08:37 UTC
Filip, do you see any chance for some libdb vs. lmdb code hacking in order to replace libdb by lmdb in Sendmail?

Maybe I'm wrong, but I've somehow in my mind that the single GDBM maintainer is quite busy. https://seclists.org/oss-sec/2018/q2/206 contains also some GDBM flaws, where I'm not sure if they're all fixed meanwhile.

Comment 2 Jaroslav Škarvada 2020-01-15 15:47:09 UTC
It seems sendmail compiles wight gdbm in rawhide (f32), but it seems it's unsupported, content of the sendmail's README file:
...
GDBM GDBM does not work with sendmail because the additional
     security checks and file locking cause problems.  Unfortunately,
     gdbm does not provide a compile flag in its version of ndbm.h so
     the code can adapt.  Until the GDBM authors can fix these problems,
     GDBM will not be supported.  Please use Berkeley DB instead.
...

I haven't tried how functional it is.

Comment 3 Ben Cotton 2020-02-11 17:35:24 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 4 Filip Januš 2020-12-02 09:24:41 UTC
Are there some news with GDBM and sendmail compatibility? 
We would like to move forward, so if it stuck in this point, we should find some solution, because nobody want maintain libdb longer than it's necessary.

Comment 5 Jaroslav Škarvada 2020-12-02 12:57:06 UTC
(In reply to Filip Januš from comment #4)
> Are there some news with GDBM and sendmail compatibility? 
> We would like to move forward, so if it stuck in this point, we should find
> some solution, because nobody want maintain libdb longer than it's necessary.

AFAIK no progress in upstream. I also found notice in the Sendmail Installation and Operational guide that the gdbm doesn't work.

Comment 7 Jaroslav Škarvada 2020-12-02 18:09:40 UTC
IMHO currently REGEX, DB, NIS, NIS+, LDAP, DNS maps are supported. By dropping DB we would lose local db support. Unfortunately, I don't have influence on the sendmail upstream and currently I am not aware of matured downstream patch adding some DB replacement. It's the same even with the development version of the sendmail (8.17.0.PreAlpha1). Maybe we could switch to CDB, which seems supported for a while, but personally I have no experience with CDB and sendmail but I will try to compile with tinyCDB in rawhide.

Comment 8 Jaroslav Škarvada 2020-12-02 20:20:36 UTC
(In reply to Jaroslav Škarvada from comment #7)

I enabled CDB map support in sendmail-8.16.1-3.fc34 for testing.

Comment 9 Filip Januš 2020-12-03 08:53:17 UTC
Ok, great I hope, it will work. If I can somehow help. I'd like to do so.

Comment 10 Fedora Program Management 2021-04-29 16:00:48 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 11 Ben Cotton 2021-05-25 15:13:06 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 14 Ben Cotton 2023-02-07 15:09:51 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 38 development cycle.
Changing version to 38.

Comment 15 Fedora Release Engineering 2023-08-16 07:04:26 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.