| Summary: | cyrus-sasl-2.1.18-r2 has some db/ sasl problems | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | John Davis (zhen) (RETIRED) <zhen> |
| Component: | New packages | Assignee: | Net-Mail Packages <net-mail+disabled> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | critical | CC: | alpeterson |
| Priority: | High | ||
| Version: | 2004.1 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
it appears that the new ebuild warns if both useflags are in place. it then shows the user how to do the package.use functionality to turn off berkleydb... and keep gdb I wish this stuff would just be configured automagically... I have no idea which db is better... Anyway, I think this big is fixed for .19 hm, I will test .19 and let you know how it goes ok, I tried .19 and it does in fact work. I just had to change one option in the /etc/conf.d/saslauthd:
SASLAUTHD_OPTS="${SASLAUTH_MECH} -a pam"
to:
SASLAUTHD_OPTS="${SASLAUTH_MECH} -a pam -r"
which "assembles the string to user@realm" (adds support for old style sasl auth, I guess).
Additionally, to fix berkdb I put the following my /etc/portage/package.use:
dev-libs/cyrus-sasl -gdbm berkdb (the ebuild recommended gdbm -berkdb, which may be broken??).
either way, I would say that 2.1.18-r2 is broken and .19 needs bumped to stable .
> Additionally, to fix berkdb I put the following my /etc/portage/package.use: > dev-libs/cyrus-sasl -gdbm berkdb (the ebuild recommended gdbm -berkdb, which may > be broken??). John, many packages in portage prefer GNU DB over Berkley DB, so we just follow the 'trend'. If you previously build/create your SASLdb with Berkley then you have to stick with it for subsequence update. Somewhere in the past, someone changed the ebuild to default to GNU DB if you have both 'gdbm' and 'berkdb' in your USE flags unless you specify explicitly '-gdbm'; that why it was 'broken' with your setup. It has been reported with bug #57543. 2.1.18-r2 has a security fix and stable on many arch so I don't want to modified it without testing the new database USE flag logic thingy. @Aaron > I wish this stuff would just be configured automagically... I have no idea > which db is better... I've changed cyrus-sasl-2.1.19 default back to gdbm if both 'gdbm' and 'berkdb' present with a warning to let anyone prefers/needs to use Berkeley DB know they still be able to build Cyrus-sasl with Berkeley DB support. * You have both "gdbm" and "berkdb" in your USE flags. * Will default to GNU DB as your SASLdb database backend. * If you want to build with Berkeley DB support; hit Control-C now. * Change your USE flag -gdbm and emerge again. * It would be best practice to add the set of USE flags that you use for this * package to the file: /etc/portage/package.use. Example: * `echo "dev-libs/cyrus-sasl -gdbm berkdb" >> /etc/portage/package.use` * to build cyrus-sasl with Berkeley database as your SASLdb backend. * Waiting 30 seconds before starting... * (Control-C to abort)... I'll resolve this as duplicated of bug #57543 because the main issue is from lacking berkdb USE flag support. *** This bug has been marked as a duplicate of 57543 *** |
on my mailserver, the upgrade from 2.1.14 to 2.1.18-r2 borked my smtp auth. /var/log/auth.log snips: Jul 26 01:45:12 mail.pauldavisautomation.com saslpasswd2: auxpropfunc error no mechanism available Jul 26 01:45:12 mail.pauldavisautomation.com saslpasswd2: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql Jul 26 01:45:12 mail.pauldavisautomation.com saslpasswd2: setpass succeeded for login Jul 26 01:45:12 mail.pauldavisautomation.com saslpasswd2: Couldn't delete entry in /var/tmp/portage/cyrus-sasl-2.1.18-r2/image//etc/sasl2/sasldb2: gdbm_errno=15 Jul 26 01:45:12 mail.pauldavisautomation.com saslpasswd2: Couldn't delete entry in /var/tmp/portage/cyrus-sasl-2.1.18-r2/image//etc/sasl2/sasldb2: gdbm_errno=15 Jul 26 01:45:12 mail.pauldavisautomation.com saslpasswd2: Couldn't delete entry in /var/tmp/portage/cyrus-sasl-2.1.18-r2/image//etc/sasl2/sasldb2: gdbm_errno=15 Jul 26 01:46:13 mail.pauldavisautomation.com saslauthd[7797]: server_exit : master exited: 7797 Jul 26 01:46:14 mail.pauldavisautomation.com saslauthd[25914]: detach_tty : master pid is: 25914 Jul 26 01:46:14 mail.pauldavisautomation.com saslauthd[25914]: ipc_init : listening on socket: /var/lib/sasl2/mux Jul 26 01:46:22 mail.pauldavisautomation.com postfix/smtpd[25924]: sql_select option missing that was with the useflags gdbm, mysql, pam, pam-mysql, and ssl USEFLAGS set. downgrading to .14 solved the problem. i did notice a diff between the two versions. .14 had a "berkdb" USEFLAG, this version does not. Perhaps this explains the "gdbm_errno=15"? Additionally, not sure if this was fixed in .18, but the bash in /etc/conf.d/saslauthd is borked: # Tack the above options together [ -n ${SASL_AUTHMECH} ] && \ SASLAUTHD_OPTS="-a ${SASL_AUTHMECH}" [ -n ${SASL_RIMAP_HOSTNAME} ] && \ SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -H ${SASL_RIMAP_HOSTNAME}" [ -n ${SASL_TIME_OF_DAY_LOGIN_RESTRICTIONS} ] && \ SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -T" All of the vars being tested by "-n" need to be surrounded by quotes or else they are *always* true. Let me know if you need any more info.