Bug 559479 - Constant reporting of 'unable to dlopen /usr/lib64/sasl2/libkerberos4.so: libkrb4.so.2:' in /var/log/messages
Summary: Constant reporting of 'unable to dlopen /usr/lib64/sasl2/libkerberos4.so: lib...
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: cyrus-imapd
Version: 12
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
Assignee: Michal Hlavinka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-28 09:16 UTC by Scott Marshall
Modified: 2010-02-12 13:54 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-02-12 13:54:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Complete (sorted) package list of installation (53.34 KB, application/octet-stream)
2010-01-28 09:16 UTC, Scott Marshall
no flags Details
ZIPped configuration files (2.52 KB, application/zip)
2010-01-28 09:28 UTC, Scott Marshall
no flags Details

Description Scott Marshall 2010-01-28 09:16:15 UTC
Created attachment 387272 [details]
Complete (sorted) package list of installation

Description of problem:
Installation of Cyrus-SASL & Cyrus-imapd with postfix/lmtp constantly attempts to reference "/usr/lib64/sasl2/libkerberos4.so: libkrb4.so.2"

Error messages include as follows:

Jan 28 16:13:20 XXXXX imap[12177]: unable to dlopen /usr/lib64/sasl2/libkerberos
4.so: libkrb4.so.2: cannot open shared object file: No such file or directory

Jan 28 16:13:47 XXXXX lmtpunix[12180]: unable to dlopen /usr/lib64/sasl2/libkerb
eros4.so: libkrb4.so.2: cannot open shared object file: No such file or director
y

Jan 28 20:02:02 XXXXX pop3[16234]: unable to dlopen /usr/lib64/sasl2/libkerberos4.so: libkrb4.so.2: cannot open shared object file: No such file or directory


Version-Release number of selected component (if applicable):
Fedora 12 x86_64
cyrus-imapd-2.3.16-1.fc12.x86_64
cyrus-imapd-devel-2.3.16-1.fc12.x86_64
cyrus-imapd-perl-2.3.16-1.fc12.x86_64
cyrus-imapd-utils-2.3.16-1.fc12.x86_64
cyrus-sasl-2.1.23-4.fc12.x86_64
cyrus-sasl-devel-2.1.23-4.fc12.x86_64
cyrus-sasl-gssapi-2.1.23-4.fc12.x86_64
cyrus-sasl-krb4-2.1.22-22.fc11.x86_64
cyrus-sasl-ldap-2.1.23-4.fc12.x86_64
cyrus-sasl-lib-2.1.23-4.fc12.x86_64
cyrus-sasl-md5-2.1.23-4.fc12.x86_64
cyrus-sasl-ntlm-2.1.23-4.fc12.x86_64
cyrus-sasl-plain-2.1.23-4.fc12.x86_64
cyrus-sasl-sql-2.1.23-4.fc12.x86_64

krb5-auth-dialog-0.13-2.fc12.x86_64
krb5-devel-1.7-18.fc12.x86_64
krb5-libs-1.7-18.fc12.x86_64
krb5-workstation-1.7-18.fc12.x86_64
pam_krb5-2.3.7-2.fc12.x86_64

contents of /usr/lib64/sasl2/smtpd.conf:
pwcheck_method: saslauthd auxprop
mech_list: plain login
auxprop_plugin: sasldb sasldb2

contents of directory /usr/lib64/sasl2 ("file" output):
libanonymous.so:        symbolic link to `libanonymous.so.2.0.23'
libanonymous.so.2:      symbolic link to `libanonymous.so.2.0.23'
libanonymous.so.2.0.23: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libcrammd5.so:          symbolic link to `libcrammd5.so.2.0.23'
libcrammd5.so.2:        symbolic link to `libcrammd5.so.2.0.23'
libcrammd5.so.2.0.23:   ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libdigestmd5.so:        symbolic link to `libdigestmd5.so.2.0.23'
libdigestmd5.so.2:      symbolic link to `libdigestmd5.so.2.0.23'
libdigestmd5.so.2.0.23: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libgssapiv2.so:         symbolic link to `libgssapiv2.so.2.0.23'
libgssapiv2.so.2:       symbolic link to `libgssapiv2.so.2.0.23'
libgssapiv2.so.2.0.23:  ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libkerberos4.so:        symbolic link to `libkerberos4.so.2.0.22'
libkerberos4.so.2:      symbolic link to `libkerberos4.so.2.0.22'
libkerberos4.so.2.0.22: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libldapdb.so:           symbolic link to `libldapdb.so.2.0.23'
libldapdb.so.2:         symbolic link to `libldapdb.so.2.0.23'
libldapdb.so.2.0.23:    ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
liblogin.so:            symbolic link to `liblogin.so.2.0.23'
liblogin.so.2:          symbolic link to `liblogin.so.2.0.23'
liblogin.so.2.0.23:     ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libntlm.so:             symbolic link to `libntlm.so.2.0.23'
libntlm.so.2:           symbolic link to `libntlm.so.2.0.23'
libntlm.so.2.0.23:      ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libplain.so:            symbolic link to `libplain.so.2.0.23'
libplain.so.2:          symbolic link to `libplain.so.2.0.23'
libplain.so.2.0.23:     ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libsasldb.so:           symbolic link to `libsasldb.so.2.0.23'
libsasldb.so.2:         symbolic link to `libsasldb.so.2.0.23'
libsasldb.so.2.0.23:    ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
libsql.so:              symbolic link to `libsql.so.2.0.23'
libsql.so.2:            symbolic link to `libsql.so.2.0.23'
libsql.so.2.0.23:       ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
smtpd.conf:             ASCII text
smtpd.conf.rpmnew:      ASCII text

How reproducible:
Easily

Steps to Reproduce:
1.  Install Fedora 12
2.  Install postfix, cyrus-sasl, cyrus-imap etc, remove sendmail
3.  Configure cyrus with sasl2db authentication

No configuration specifically set to use kerberos.
  
Actual results:
pop3, lmtpunix, imap daemons/processes always report unable to dlopen the kerberos4 libkrb4.so.2 file.

Expected results:
Kerberos 4 does not appear to be available for Fedora 12.
Either switch to kerberos 5 in the cyrus builds, or not use kerberos at all if authentication mechanisms don't specify kerberos.
Alternatively, have the kerberos 5 environment provide a kerberos 4 compatibility module.

Additional info:

Comment 1 Scott Marshall 2010-01-28 09:28:07 UTC
Created attachment 387276 [details]
ZIPped configuration files

Contents of ZIP file:
/etc/cyrus.conf
/etc/imapd.conf
/etc/pam.d/password-auth
/etc/pam.d/imap
/etc/pam.d/lmtp
/etc/pam.d/pop
/etc/pam.d/smtp.postfix

Comment 2 Michal Hlavinka 2010-02-09 14:16:27 UTC
I can't reproduce this.
Anyway, it seems you have installed krb4 package form Fedora 11 on Fedora 12 system, why do you have this package?

> cyrus-sasl-krb4-2.1.22-22.fc11.x86_64

Comment 3 Scott Marshall 2010-02-09 18:47:42 UTC
In answer to your question, because the systems in question were originally Fedora 11, and were upgraded to Fedora 12.

We were using SASL authentication under F11, and it required the cyrus-sasl-krb4 package.

After seeing your comment, I ran 'rpm --query --whatrequires cyrus-sasl-krb4' which reported that no package required 'cyrus-sasl-krb4', which would suggest that we don't need it, and would *also* suggest that the Fedora 12 updater or a subsequent 'yum update' should have removed it as a redundant package.

Here's a full "whatrequires" list of any "cyrus" related package on the systems in question:
$ for PKG in $(rpm --query --queryformat '%{NAME}\n' $(rpm -qa | grep -i cyrus | sort)); do echo '*** What requires '${PKG}':'; rpm --query --whatrequires ${PKG}; echo; done

*** What requires cyrus-imapd:
no package requires cyrus-imapd

*** What requires cyrus-imapd-devel:
no package requires cyrus-imapd-devel

*** What requires cyrus-imapd-perl:
cyrus-imapd-utils-2.3.16-2.fc12.x86_64

*** What requires cyrus-imapd-utils:
cyrus-imapd-2.3.16-2.fc12.x86_64

*** What requires cyrus-sasl:
cyrus-sasl-devel-2.1.23-4.fc12.x86_64
postfix-2.6.5-2.fc12.x86_64
libvirt-client-0.7.1-15.fc12.x86_64

*** What requires cyrus-sasl-devel:
openldap-devel-2.4.19-1.fc12.x86_64

*** What requires cyrus-sasl-gssapi:
no package requires cyrus-sasl-gssapi

*** What requires cyrus-sasl-krb4:
no package requires cyrus-sasl-krb4

*** What requires cyrus-sasl-ldap:
no package requires cyrus-sasl-ldap

*** What requires cyrus-sasl-lib:
cyrus-sasl-krb4-2.1.22-22.fc11.x86_64
cyrus-sasl-plain-2.1.23-4.fc12.x86_64
cyrus-sasl-2.1.23-4.fc12.x86_64
cyrus-sasl-md5-2.1.23-4.fc12.x86_64
cyrus-sasl-devel-2.1.23-4.fc12.x86_64
cyrus-sasl-gssapi-2.1.23-4.fc12.x86_64
cyrus-sasl-sql-2.1.23-4.fc12.x86_64
cyrus-sasl-ldap-2.1.23-4.fc12.x86_64
cyrus-sasl-ntlm-2.1.23-4.fc12.x86_64
cyrus-imapd-2.3.16-2.fc12.x86_64

*** What requires cyrus-sasl-md5:
libvirt-client-0.7.1-15.fc12.x86_64
libpurple-2.6.5-1.fc12.x86_64

*** What requires cyrus-sasl-ntlm:
no package requires cyrus-sasl-ntlm

*** What requires cyrus-sasl-plain:
libpurple-2.6.5-1.fc12.x86_64

*** What requires cyrus-sasl-sql:
no package requires cyrus-sasl-sql

Comment 4 Michal Hlavinka 2010-02-10 12:25:35 UTC
ok, so nothing requires it, could you remove that package and see if it fixes the problem?

I'll ask about c-s-krb4 its maintainer meanwhile, but afaik if there is no replacement and the package is just retired, there can't be any 'obsoletes' or something so, yum could not do too much in that case.

Comment 5 Scott Marshall 2010-02-10 19:57:06 UTC
(In reply to comment #4)
> ok, so nothing requires it, could you remove that package and see if it fixes
> the problem?
> 
> I'll ask about c-s-krb4 its maintainer meanwhile, but afaik if there is no
> replacement and the package is just retired, there can't be any 'obsoletes' or
> something so, yum could not do too much in that case.    

I've removed the package ('yum erase cyrus-sasl-krb4-2.1.22-22.fc11.x86_64') and that has indeed resolved the problem of the incessant 'dlopen' errors.

The cyrus-imapd & cyrus-pop3d daemons remained active, and a restart of the cyrus environment showed no complaints about the absence of the krb4 module.

The maillog shows successful connections from the various imap & pop3 client that use that server.

I would conclude that the change was successful.

Thanks for your help - I've looked at this for ages and at first didn't see the 'fc11' in the package name (given that it was surrounded by all the other 'fc12' packages) and then when I *did* see that, I presumed that because it was still present after the FC11 -> FC12 upgrade it was still required.
Oh well, just goes to show that even we old & crusty & experienced IT types can still slip up.

I would still like to know which package has replaced or absorbed the krb4 module (if any).

Cheers!

Comment 6 Michal Hlavinka 2010-02-12 13:54:35 UTC
> I would still like to know which package has replaced or absorbed
> the krb4 module (if any).

no package absorbed krb4 sub-package, it just died out, because it was depending on krb4 library that died out. cyrus-sasl-gssapi can be considered as successor, but it's not exact successor so it can't absorb (obsolete) krb4 sub-package because when there would be some other package requiring -krb4 it would just remove that package without any usable replacement thus breaking some things.

closing as worksforme because this problem will not occur on clean F12 installation and also it is the closest reason available even not 100 % correct


Note You need to log in before you can comment on or make changes to this bug.