-# $Id: Makefile.am,v 1.146 2009/12/25 21:53:37 mrsam Exp $
#
# Copyright 1998 - 2009 Double Precision, Inc. See COPYING for
# distribution information.
AUTOMAKE_OPTIONS=dist-bzip2
-SUBDIRS=libltdl gdbmobj bdbobj md5 sha1 libhmac numlib makedat userdb unicode rfc822 random128 liblock liblog
+SUBDIRS=libs/gdbmobj libs/bdbobj libs/md5 libs/sha1 libs/libhmac libs/numlib libs/makedat userdb libs/unicode libs/rfc822 libs/random128 libs/liblock liblog
-INCLUDES = $(LTDLINCL)
+AM_CPPFLAGS=-I liblock $(LTDLINCL)
modules=@LIBAUTHUSERDB@ \
@LIBAUTHPAM@ @LIBAUTHPWD@ @LIBAUTHSHADOW@ \
- @LIBAUTHPGSQL@ @LIBAUTHLDAP@ @LIBAUTHMYSQL@ \
+ @LIBAUTHPGSQL@ @LIBAUTHLDAP@ @LIBAUTHMYSQL@ @LIBAUTHSQLITE@ \
@LIBAUTHCUSTOM@ @LIBAUTHPIPE@
pkglibexecdir=$(libexecdir)/courier-authlib
libauthpgsql.la \
libauthldap.la \
libauthmysql.la \
+ libauthsqlite.la \
libauthcustom.la \
libauthpipe.la
-CLEANFILES=authldaprc.h authmysqlrc.h authdaemonrc.h \
+CLEANFILES=authldaprc.h authmysqlrc.h authsqliterc.h authdaemonrc.h \
authpgsqlrc.h authpiperc.h authdaemon \
authlib.3 authlib.html packageversion.h \
authchangepwdir.h sbindir.h pkglibdir.h pkgincludedir.h \
libcourierauthcommon_t=@CRYPTLIBS@
libcourierauthcommon_la_SOURCES= \
auth.h courierauth.h \
+ authgetconfig.c \
authpwdenumerate.c \
authsaslfrombase64.c authsasltobase64.c \
- authstaticlist.h \
+ courierauthstaticlist.h \
authsyschangepwd.c authsyscommon.c \
authldapescape.c \
cramlib.c cramlib.h \
authmoduser2.c authmoduser3.c debug.c \
courierauthdebug.h \
authoption.c
-libcourierauth_la_LIBADD=libhmac/libhmac.la md5/libmd5.la sha1/libsha1.la numlib/libnumlib.la \
- random128/librandom128.la rfc822/libencode.la
+libcourierauth_la_LIBADD=libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la libs/numlib/libnumlib.la \
+ libs/random128/librandom128.la libs/rfc822/libencode.la
libcourierauth_la_LDFLAGS=@NETLIBS@ -avoid-version
# The userdb module
authmysqlrc.h:
echo "#define AUTHMYSQLRC \"@authmysqlrc@\"" >authmysqlrc.h
+# The authsqlite module
+
+libauthsqlite_t=@SQLITE_LIBS@ @NETLIBS@
+
+libauthsqlite_la_SOURCES=authsqlite.c preauthsqlite.c authsqlitelib.c authsqlite.h
+libauthsqlite_la_DEPENDENCIES=$(commonlibdep)
+libauthsqlite_la_LIBADD=$(commonlibadd) $(libauthsqlite_t)
+libauthsqlite_la_LDFLAGS=$(commonldflags)
+
+authsqlitelib.lo: authsqlitelib.c authsqliterc.h
+
+if HAVE_AUTHSQLITE
+install-authsqliterc:
+ $(mkinstalldirs) $(DESTDIR)`dirname @authsqliterc@` || :
+ $(INSTALL_DATA) -m 660 $(srcdir)/authsqliterc \
+ $(DESTDIR)@authsqliterc@.dist
+ -chown @mailuser@ $(DESTDIR)@authsqliterc@.dist
+ -chgrp @mailgroup@ $(DESTDIR)@authsqliterc@.dist
+
+uninstall-authsqliterc:
+ rm -f $(DESTDIR)@authsqliterc@.dist
+
+else
+install-authsqliterc:
+ @:
+
+uninstall-authsqliterc:
+ @:
+endif
+
+authsqliterc.h:
+ echo "#define AUTHSQLITERC \"@authsqliterc@\"" >authsqliterc.h
+
# The authcustom module
libauthcustom_la_SOURCES=authcustom.c preauthcustom.c authcustom.h
echo "#define AUTHDAEMONLOCK AUTHDAEMONVAR \"/lock\"" >>authdaemonrc.h
HTMLFILES=README.html NEWS.html INSTALL.html \
- README.authmysql.html README.authpostgres.html
+ README.authsqlite.html README.authmysql.html README.authpostgres.html
EXTRA_DIST=$(HTMLFILES) sysconftool COPYING COPYING.GPL\
authldap.schema \
authldap.ldif \
- authldaprc authmysqlrc authpgsqlrc README.ldap \
+ authldaprc authmysqlrc authpgsqlrc authsqliterc README.ldap \
README.authmysql.myownquery \
README.authdebug.html.in \
courier-authlib.spec \
authsasl.c courierauthsasl.h \
authsaslcram.c authsasllogin.c authsaslplain.c \
authsaslfrombase64.c authsasltobase64.c
-libcourierauthsasl_la_LIBADD=libcourierauth.la
-libcourierauthsasl_la_LDFLAGS=-export-symbols-regex '^auth_sasl|auth_sasl_ex$$' -avoid-version
+libcourierauthsasl_la_LIBADD=libcourierauthcommon.la libcourierauth.la
+libcourierauthsasl_la_LDFLAGS=-export-symbols-regex '^auth_sasl|auth_sasl_ex|auth_sasl_extract_userid$$' -avoid-version
libcourierauthsaslclient_la_SOURCES=courierauthsaslclient.h \
authsaslclient.c authsaslclient.h authsaslclientcram.c \
libcourierauthsaslclient_la_LDFLAGS=-export-symbols-regex '^auth_sasl_client$$' -avoid-version
include_HEADERS=courier_auth_config.h courierauth.h courierauthsasl.h \
- courierauthsaslclient.h courierauthdebug.h
+ courierauthsaslclient.h courierauthdebug.h courierauthstaticlist.h
courierauthconfig_SOURCES=authinfo.c
authpasswd_SOURCES=authpasswd.c
authpasswd_LDADD=libcourierauthcommon.la \
- libhmac/libhmac.la md5/libmd5.la sha1/libsha1.la rfc822/libencode.la
+ libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la libs/rfc822/libencode.la
authtest_SOURCES=authtest.c
authtest_DEPENDENCIES=libcourierauth.la
authenumerate_SOURCES=authenumerate.c
authenumerate_DEPENDENCIES = libcourierauth.la \
- numlib/libnumlib.la
+ libs/numlib/libnumlib.la
authenumerate_LDADD = libcourierauth.la \
- numlib/libnumlib.la
+ libs/numlib/libnumlib.la
authenumerate_LDFLAGS=
#
authdaemondprog_SOURCES=authdaemond.c
authdaemondprog_DEPENDENCIES=libcourierauthcommon.la \
- liblock/liblock.la $(modules) \
- libhmac/libhmac.la md5/libmd5.la sha1/libsha1.la \
- rfc822/libencode.la numlib/libnumlib.la
-authdaemondprog_LDADD=$(LIBLTDL) libcourierauthcommon.la liblock/liblock.la \
- libhmac/libhmac.la md5/libmd5.la sha1/libsha1.la \
- rfc822/libencode.la numlib/libnumlib.la
+ libs/liblock/liblock.la $(modules) \
+ libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la \
+ libs/rfc822/libencode.la libs/numlib/libnumlib.la
+authdaemondprog_LDADD=$(LIBLTDL) libcourierauthcommon.la libs/liblock/liblock.la \
+ libs/libhmac/libhmac.la libs/md5/libmd5.la libs/sha1/libsha1.la \
+ libs/rfc822/libencode.la libs/numlib/libnumlib.la
authdaemondprog_LDFLAGS=-export-dynamic $(modules:%=-dlopen %) @NETLIBS@
authdaemontest_SOURCES=authdaemontest.c
# automake still a bit stupid...
install-data-hook: install-authdaemonrc install-authpgsqlrc \
- install-authldaprc install-authmysqlrc
+ install-authldaprc install-authmysqlrc install-authsqliterc
:
install-exec-hook:
$(mkinstalldirs) $(DESTDIR)$(bindir) || :
$(mkinstalldirs) $(DESTDIR)$(sbindir) || :
$(mkinstalldirs) $(DESTDIR)$(pkglibexecdir) || :
+ chmod 755 $(DESTDIR)$(pkglibexecdir)
+ -chown @mailuser@ $(DESTDIR)$(pkglibexecdir)
+ -chgrp @mailgroup@ $(DESTDIR)$(pkglibexecdir)
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) authdaemondprog $(DESTDIR)$(pkglibexecdir)/authdaemond
$(mkinstalldirs) $(DESTDIR)@authdaemonvar@ || :
chmod 750 $(DESTDIR)@authdaemonvar@
-chown @mailuser@ $(DESTDIR)@authdaemonvar@
-chgrp @mailgroup@ $(DESTDIR)@authdaemonvar@
test "@LIBAUTHUSERDB@" = "" && exit 0 ;\
- $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) makedat/makedatprog \
+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) libs/makedat/makedatprog \
$(DESTDIR)$(pkglibexecdir)/makedatprog ; \
$(INSTALL_SCRIPT) userdb/pw2userdb \
$(DESTDIR)$(sbindir)/pw2userdb ; \
$(DESTDIR)$(sbindir)/userdbpw ; \
$(INSTALL_SCRIPT) userdb-test-cram-md5.pl \
$(DESTDIR)$(sbindir)/userdb-test-cram-md5
- for f in $(pkglib_LTLIBRARIES); do . ./$$f; rm -f $(DESTDIR)$(pkglibdir)/$$dlname.0 $(DESTDIR)$(pkglibdir)/$$dlname.0.0; ln -s $$dlname $(DESTDIR)$(pkglibdir)/$$dlname.0; done
-
-uninstall-hook: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlrc uninstall-authpgsqlrc
+uninstall-hook: uninstall-authldaprc uninstall-authdaemonrc uninstall-authmysqlrc uninstall-authpgsqlrc uninstall-authsqliterc
rm -f $(DESTDIR)$(pkglibexecdir)/authdaemond
test "@AUTHUSERDB@" = "" && exit 0 ;\
rm -f $(DESTDIR)$(pkglibexecdir)/makedatprog \
$(DESTDIR)$(sbindir)/userdb \
$(DESTDIR)$(sbindir)/userdbpw \
$(DESTDIR)$(sbindir)/userdb-test-cram-md5
- for f in $(pkglib_LTLIBRARIES); do . ./$$f; rm -f $(DESTDIR)$(pkglibdir)/$$dlname.0; done
authlib.html: authlib.html.in
$(SHELL) ./config.status --file=authlib.html
$(SHELL) ./config.status --file=authlib.3
if HAVE_SGML
-authpasswd.html: authpasswd.sgml docbook/sgml2html
- docbook/sgml2html authpasswd.sgml authpasswd.html
+authpasswd.html: authpasswd.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html authpasswd.sgml authpasswd.html
-authpasswd.1: authpasswd.sgml docbook/sgml2man
- docbook/sgml2man authpasswd.sgml authpasswd.1
+authpasswd.1: authpasswd.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man authpasswd.sgml authpasswd.1
-authtest.html: authtest.sgml docbook/sgml2html
- docbook/sgml2html authtest.sgml authtest.html
+authtest.html: authtest.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html authtest.sgml authtest.html
-authtest.1: authtest.sgml docbook/sgml2man
- docbook/sgml2man authtest.sgml authtest.1
+authtest.1: authtest.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man authtest.sgml authtest.1
-authlib.html.in: authlib.sgml docbook/sgml2html
- docbook/sgml2html authlib.sgml authlib.html.in
+authlib.html.in: authlib.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html authlib.sgml authlib.html.in
-authlib.3.in: authlib.sgml docbook/sgml2man
- docbook/sgml2man authlib.sgml authlib.3.in
+authlib.3.in: authlib.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man authlib.sgml authlib.3.in
mv authlib.3 authlib.3.in
-README_authlib.html.in: README_authlib.sgml docbook/sgml2html
- docbook/sgml2html README_authlib.sgml README_authlib.html.in
+README_authlib.html.in: README_authlib.sgml optionlist.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html README_authlib.sgml README_authlib.html.in
-auth_generic.html: auth_generic.sgml authcallback.sgml docbook/sgml2html
- docbook/sgml2html auth_generic.sgml auth_generic.html
+auth_generic.html: auth_generic.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html auth_generic.sgml auth_generic.html
-auth_generic.3: auth_generic.sgml authcallback.sgml docbook/sgml2man
- docbook/sgml2man auth_generic.sgml auth_generic.3
+auth_generic.3: auth_generic.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man auth_generic.sgml auth_generic.3
-auth_login.html: auth_login.sgml authcallback.sgml docbook/sgml2html
- docbook/sgml2html auth_login.sgml auth_login.html
+auth_login.html: auth_login.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html auth_login.sgml auth_login.html
-auth_login.3: auth_login.sgml authcallback.sgml docbook/sgml2man
- docbook/sgml2man auth_login.sgml auth_login.3
+auth_login.3: auth_login.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man auth_login.sgml auth_login.3
-auth_getuserinfo.html: auth_getuserinfo.sgml authcallback.sgml docbook/sgml2html
- docbook/sgml2html auth_getuserinfo.sgml auth_getuserinfo.html
+auth_getuserinfo.html: auth_getuserinfo.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html auth_getuserinfo.sgml auth_getuserinfo.html
-auth_getuserinfo.3: auth_getuserinfo.sgml authcallback.sgml docbook/sgml2man
- docbook/sgml2man auth_getuserinfo.sgml auth_getuserinfo.3
+auth_getuserinfo.3: auth_getuserinfo.sgml authcallback.sgml optionlist.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man auth_getuserinfo.sgml auth_getuserinfo.3
-auth_enumerate.html: auth_enumerate.sgml docbook/sgml2html
- docbook/sgml2html auth_enumerate.sgml auth_enumerate.html
+auth_enumerate.html: auth_enumerate.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html auth_enumerate.sgml auth_enumerate.html
-auth_enumerate.3: auth_enumerate.sgml docbook/sgml2man
- docbook/sgml2man auth_enumerate.sgml auth_enumerate.3
+auth_enumerate.3: auth_enumerate.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man auth_enumerate.sgml auth_enumerate.3
-auth_passwd.html: auth_passwd.sgml docbook/sgml2html
- docbook/sgml2html auth_passwd.sgml auth_passwd.html
+auth_passwd.html: auth_passwd.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html auth_passwd.sgml auth_passwd.html
-auth_passwd.3: auth_passwd.sgml docbook/sgml2man
- docbook/sgml2man auth_passwd.sgml auth_passwd.3
+auth_passwd.3: auth_passwd.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man auth_passwd.sgml auth_passwd.3
-auth_getoption.html: auth_getoption.sgml docbook/sgml2html
- docbook/sgml2html auth_getoption.sgml auth_getoption.html
+auth_getoption.html: auth_getoption.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html auth_getoption.sgml auth_getoption.html
-auth_getoption.3: auth_getoption.sgml docbook/sgml2man
- docbook/sgml2man auth_getoption.sgml auth_getoption.3
+auth_getoption.3: auth_getoption.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man auth_getoption.sgml auth_getoption.3
-auth_sasl.html: auth_sasl.sgml docbook/sgml2html
- docbook/sgml2html auth_sasl.sgml auth_sasl.html
+auth_sasl.html: auth_sasl.sgml libs/docbook/sgml2html
+ libs/docbook/sgml2html auth_sasl.sgml auth_sasl.html
-auth_sasl.3: auth_sasl.sgml docbook/sgml2man
- docbook/sgml2man auth_sasl.sgml auth_sasl.3
+auth_sasl.3: auth_sasl.sgml libs/docbook/sgml2man
+ libs/docbook/sgml2man auth_sasl.sgml auth_sasl.3
auth_sasl_ex.3: auth_sasl.3
touch $@
test -f $(DESTDIR)@authmysqlrc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authmysqlrc@.dist || true
test -f $(DESTDIR)@authpgsqlrc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authpgsqlrc@.dist || true
test -f $(DESTDIR)@authldaprc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authldaprc@.dist || true
+ test -f $(DESTDIR)@authsqliterc@.dist && @SYSCONFTOOL@ $(DESTDIR)@authsqliterc@.dist || true
# For maintainer's use only
distrelease:
umask 022; $(MAKE) distcheck
$(MAKE) rpm
- socksify cvs commit
- socksify cvs tag -F @PACKAGE@-latest
$(MAKE)
$(MAKE)
rm -f @PACKAGE@.spec @PACKAGE@.lpspec
$(MAKE) @PACKAGE@.spec @PACKAGE@.lpspec
$(MAKE) dist
-tagrelease:
- socksify cvs tag -F -r @PACKAGE@-latest \
- `echo @PACKAGE@-@VERSION@ | tr '.' '-'`
-
rpm: rpm-build
rpm-build:
test -z "$(SFPASSWD)" && exit 1; exit 0
rm -f @PACKAGE@-@VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE@-@VERSION@.tar.bz2; test -f @PACKAGE@-@VERSION@.tar.bz2.sig || exit 1
socksify ssh grace.speakeasy.net echo @PACKAGE@-@VERSION@.tar.bz2 `ls -l @PACKAGE@-@VERSION@.tar.bz2 | awk ' { print $$5 } '` \>courier-mta.org/@PACKAGE@.beta
- ../sftools/release.pl mrsam $(SFPASSWD) courier authlib-devel `echo @VERSION@|sed 's/.*\(........\)/\1/'` @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
+ ~/src/sftools/release.pl mrsam $(SFPASSWD) courier authlib-devel `echo @VERSION@|sed 's/.*\(........\)/\1/'` @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
upload-dist:
- rm -f @PACKAGE@-@VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE@-@VERSION@.tar.bz2; test -f @PACKAGE@-@VERSION@.tar.bz2.sig || exit 1
- socksify cvs tag -F -r @PACKAGE@-latest \
- `echo @PACKAGE@-@VERSION@ | tr '.' '-'`
- socksify ../sftools/release.pl mrsam $(SFPASSWD) courier authlib @VERSION@ @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
- socksify ssh grace.speakeasy.net rm -f courier-mta.org/@PACKAGE@.beta
-
-release-dist:
test -z "$(SFPASSWD)" && exit 1; exit 0
- ./changelog.pl >changelog.txt
- emacs releasenotes.txt
- test -f releasenotes.txt || exit 1
- socksify ../sftools/release.pl mrsam $(SFPASSWD) courier authlib @VERSION@ releasenotes.txt changelog.txt @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
- socksify ssh grace.speakeasy.net rm -f courier-mta.org/@PACKAGE@.beta
+ rm -f @PACKAGE@-@VERSION@.tar.bz2.sig; gpg --detach-sign --default-key mrsam@courier-mta.com @PACKAGE@-@VERSION@.tar.bz2; test -f @PACKAGE@-@VERSION@.tar.bz2.sig || exit 1
+ set -e; v="@PACKAGE@/@VERSION@/`date +%Y%m%d%H%M%S`"; git tag -s $$v -m 'Tag version @VERSION@'; cd libs; git tag -s $$v -m 'Tag version @VERSION@'
+ socksify ~/src/sftools/release.pl mrsam $(SFPASSWD) courier authlib @VERSION@ @PACKAGE@-@VERSION@.tar.bz2 @PACKAGE@-@VERSION@.tar.bz2.sig
HTMLDOCFILES=$(HTMLFILES) README.authdebug.html README_authlib.html \
- $(man3:%.3=%.html) $(man1:%.1=%.html)
+ $(man3:%.3=%.html) $(man1:%.1=%.html) userdb/userdb.html userdb/makeuserdb.html userdb/userdbpw.html
htmldoc: $(HTMLDOCFILES)
- for f in $^; do d=`basename $$f`; test "$$d" = "README.html" && d="index2.html"; tidy -i -q --tidy-mark no --doctype transitional --input-encoding utf8 --output-encoding utf8 -asxml <$$f >$$f.tmp ; xsltproc --nonet $$HOME/www/www.courier-mta.org/xsl/authlib.xsl $$f.tmp | perl -ne 's~\$(id):.*\$$~\$(id):'"$$h"'\$$~; print' >html/$$d; rm -f $$f.tmp; done
+ for f in $^; do d=`basename $$f`; test "$$d" = "README.html" && d="index.html"; tidy -i -q --tidy-mark no --doctype transitional --input-encoding utf8 --output-encoding utf8 -asxml <$$f >$$f.tmp ; xsltproc --nonet $$HOME/www/www.courier-mta.org/xsl/authlib.xsl $$f.tmp | perl -ne 's~\$(id):.*\$$~\$(id):'"$$h"'\$$~; print' >$$HOME/www/www.courier-mta.org/authlib/$$d; rm -f $$f.tmp; done