Package Details: courier-authlib 0.72.1-1

Git Clone URL: https://aur.archlinux.org/courier-authlib.git (read-only, click to copy)
Package Base: courier-authlib
Description: Authentication library for the Courier mailserver(s)
Upstream URL: https://courier-mta.org/authlib/
Licenses: GPL3
Submitter: svenstaro
Maintainer: runnytu
Last Packager: runnytu
Votes: 26
Popularity: 0.000000
First Submitted: 2012-10-13 09:51 (UTC)
Last Updated: 2024-05-04 19:24 (UTC)

Dependencies (17)

Sources (4)

Latest Comments

1 2 3 4 5 6 7 Next › Last »

hjheins commented on 2024-11-23 13:48 (UTC)

Please note that with the current pkgbuild, it is not possible to have pam authorization! This is how it does work (and includes the pam config files and compiles on arm):

PKGBUILD:

pkgname=courier-authlib pkgver=0.72.1 pkgrel=1 pkgdesc="Authentication library for the Courier mailserver(s)" arch=(i686 x86_64 armv7h) license=('GPL2') url="http://courier-mta.org/authlib/" backup=('etc/authlib/authdaemonrc' 'etc/authlib/authldaprc' \ 'etc/authlib/authmysqlrc' 'etc/authlib/authpgsqlrc') depends=('openssl' 'gdbm' 'perl' 'libtool' 'expect' 'courier-unicode>=2.1') makedepends=('procps-ng' 'expect' 'pam' 'libldap' 'libmariadbclient' 'postgresql-libs>=8.3.0') optdepends=('sqlite: With support for the authsqlite authentication module' 'libmariadbclient: With support for the authmysql authentication module' 'libldap: With support for the authldap authentication module' 'postgresql-libs: With support for the authpgsql authentication module' 'pam: With support for the authpam authentication module') options=(!libtool !staticlibs emptydirs) install=${pkgname}.install source=(http://downloads.sourceforge.net/project/courier/authlib/${pkgver}/${pkgname}-${pkgver}.tar.bz2 courier-authlib.tmpfiles authdaemond.service courier.conf imap.install) sha512sums=('2e46f3ee91dc3b0e81e1f2fb2ebae9615fd1bc2349946167ebb0d6701fc60f1ed754f0d9de160730b45991869ab30849f153a0e523777f5eae28f8a38426e814' '5047fea9990cd2cd415e11c81fbd8ff83b70dadf0fc178b2398b2c9930843a4669abb3c6801f2953c1ebfdae73c1f82d0ee8c24e900f3876ee6b3aa689363b62' 'bc874805245bf4a757473936dac8b7be8ecff7e804b74fbd2d08f7cd7a4f7ed75e315fdb9ec6b13dd9135cd9cbaf5fb89f285669119caae15cc862edeb3abe47' '997f755516a64f38abb626790e22e0ad6c3d9fbd7d3e76199cc335ce60f9d5e94dfa083deb637cc36fe039b5b1aa713224e2175b65b1980bf3b304499e3e96e6' '2e0c22fc7265279aaede992d402b4ece829adf5acde6712552a0be6bf5daf28b587dc37bb90c49814116fd060a68725deb9d3737090ae30dcc5b07f23dcfb234')

build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr \ --sbindir=/usr/bin \ --sysconfdir=/etc \ --localstatedir=/var \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --with-db=gdbm \ --with-authpam \ --with-authpwd \ --with-authshadow \ --with-authldap \ --with-authmysql \ --with-authpgsql \ --with-authuserdb \ --with-authcram \ --with-authdaemon \ --with-authdaemonvar=/run/authdaemon #--with-authsqlite --with-sqlite-libs make }

package() { cd "${srcdir}/${pkgname}-${pkgver}"

make DESTDIR="${pkgdir}" install

for _distfile in "${pkgdir}/etc/authlib/"*.dist; do # change ownership - this is usually done by the Makefile where it is assumed the user & group already exist chown 72:72 "${_distfile}" # remove the .dist suffix - mimics the install-configure step of a standard Courier installation mv "${_distfile}" "${pkgdir}/etc/authlib/"basename "${_distfile}" .dist done

# copy the .schema; mostly refered to as courier.schema -> rename it install -Dm 444 authldap.schema "${pkgdir}/etc/openldap/schema/courier.schema"

chown 72:72 "${pkgdir}/usr/lib/courier-authlib"

# Install systemd sysuser file install -Dm 644 "$srcdir/courier.conf" "${pkgdir}/usr/lib/sysusers.d/courier.conf"

# Install service file install -Dm 644 "${srcdir}/authdaemond.service" "${pkgdir}/usr/lib/systemd/system/authdaemond.service"

# Install systemd configuration file install -Dm 644 "$srcdir/courier-authlib.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/courier-authlib.conf"

# Install pam files install -Dm 644 "$srcdir/imap.install" "$pkgdir/etc/pam.d/imap" install -Dm 644 "$srcdir/imap.install" "$pkgdir/etc/pam.d/pop3"

mkdir -p "$pkgdir/var/spool/courier" }

Additional file: imap.install with contents:

auth required pam_nologin.so auth include system-auth account include system-auth session include system-auth

and in authdaemond.service , I changed user and group to root !!!

[Unit] Description=Courier Authentification Daemon

[Service] Type=forking User=root Group=root ExecStart=/usr/bin/authdaemond start ExecReload=/usr/bin/authdaemond restart ExecStop=/usr/bin/authdaemond stop PIDFile=/run/authdaemon/pid AmbientCapabilities=CAP_DAC_OVERRIDE

[Install] WantedBy=multi-user.target

andrej commented on 2022-05-09 09:43 (UTC) (edited on 2022-05-09 09:47 (UTC) by andrej)

Sorry, this was indeed my mistake the whole time. I should have checked the config.log carefully.

The TL;DR is that there was a nasty carriage-return-contaminated file in my /etc/ld.so.conf.d.

(Side note: The file (called libdnssd.so.conf — what a misnomer) originated from a software package for an ATTO SAS controller — probably the worst choice ever, I got rid of ATTO long ago, but still keep finding its mess.)

The problem was not immediately obvious and almost everything worked, except for this configure script that concatenates files from /etc/ld.so.conf.d into one #defined string and leaves the carriage-returns in place.

That^ fails to build, presumably — and it is in the testing program for /usr/include/ltdl.h. This causes configure to assume (and report) that ltdl.h is absent (which is not the case).

Adding to the confusion, Courier had this exact error message with libltdl a few years ago, but from a completely different cause. So I jumped into an incorrect conclusion that this would be a Courier build problem.

vario commented on 2022-05-08 16:41 (UTC)

@andrej, not taking sides, but just wish to say this package compiles and works fine on my server (which AFAIK is standard Arch) with libtool 2.4.7. My configure output differs slightly from yours (lines 105,112-120,122-124,130-133) though whether this is significant I don't know.

runnytu commented on 2022-05-08 15:35 (UTC)

@andrej, this package is still working, never stopped working, if you have issues, is your environment/system.

andrej commented on 2022-05-07 05:09 (UTC) (edited on 2022-05-07 05:10 (UTC) by andrej)

Ping. This is still utterly broken; it won’t build.

It may work as long as the courier-mta version stays compatible with the courier-authlib version, but addressing this sooner rather than later would be very helpful no matter what.

andrej commented on 2022-03-27 15:39 (UTC) (edited on 2022-03-27 15:40 (UTC) by andrej)

This won't build and claims that ltdl.h is unavailable. (This is not true, libtool is installed and /usr/include/ltdl.h exists.)

configure: error: Unable to find ltdl.h. Please install Libtool's ltdl library

Here's the full configure output.

It is unclear to me whether the problem is in the update to libtool 2.4.7 from 2022-03-22 or (already) the update of this package to 0.71.4…

sachcat commented on 2021-11-19 02:34 (UTC) (edited on 2021-11-19 02:38 (UTC) by sachcat)

I'm getting a missing library "mysqlclient.so"
configure: error: --with-authmysql specified but no mysqlclient.so
I have mariadb installed, I tried to link libmysqlclient.so to mysqlclient.so but it doesn't seem to work ?

runnytu commented on 2021-08-11 20:08 (UTC)

@andrej, Added restart to authdaemond.

andrej commented on 2021-08-06 13:15 (UTC) (edited on 2021-08-06 13:16 (UTC) by andrej)

As I mentioned in this comment, courier-mta supports (what systemd means by) reload (i.e., basically a SIGHUP), but calls it (quite oddly) reset. For authdaemond I’ve added a configuration drop-in, /etc/systemd/system/authdaemond.service.d/restart.conf, to get that functionality:

[Service]
ExecReload=/usr/bin/authdaemond restart

It would be nice to have this^^^ in the packaged unit file.

runnytu commented on 2019-08-06 17:54 (UTC)

@lilmike, Fixed with the same version to avoid other users to upgrade.