diff options
Diffstat (limited to 'src/auth/Makefile.am')
-rw-r--r-- | src/auth/Makefile.am | 301 |
1 files changed, 301 insertions, 0 deletions
diff --git a/src/auth/Makefile.am b/src/auth/Makefile.am new file mode 100644 index 0000000..9e6200b --- /dev/null +++ b/src/auth/Makefile.am @@ -0,0 +1,301 @@ +noinst_LTLIBRARIES = libpassword.la libauth.la +auth_moduledir = $(moduledir)/auth + +# automake seems to force making this unconditional.. +NOPLUGIN_LDFLAGS = + +if GSSAPI_PLUGIN +GSSAPI_LIB = libmech_gssapi.la +endif + +if LDAP_PLUGIN +LDAP_LIB = libauthdb_ldap.la +endif + +LUA_LIB = +AUTH_LUA_LIBS = +AUTH_LUA_LDADD = + +if HAVE_LUA +if AUTH_LUA_PLUGIN +LUA_LIB += libauthdb_lua.la +else +AUTH_LUA_LIBS += $(LIBDOVECOT_LUA) +AUTH_LUA_LDADD += $(LUA_LIBS) +endif +endif + +auth_module_LTLIBRARIES = \ + $(GSSAPI_LIB) \ + $(LDAP_LIB) \ + $(LUA_LIB) \ + libauthdb_imap.la + +pkglibexecdir = $(libexecdir)/dovecot + +pkglibexec_PROGRAMS = auth checkpassword-reply + +AM_CPPFLAGS = \ + -I$(top_srcdir)/src/lib \ + -I$(top_srcdir)/src/lib-auth \ + -I$(top_srcdir)/src/lib-test \ + -I$(top_srcdir)/src/lib-dict \ + -I$(top_srcdir)/src/lib-dns \ + -I$(top_srcdir)/src/lib-http \ + -I$(top_srcdir)/src/lib-sql \ + -I$(top_srcdir)/src/lib-settings \ + -I$(top_srcdir)/src/lib-old-stats \ + -I$(top_srcdir)/src/lib-otp \ + -I$(top_srcdir)/src/lib-master \ + -I$(top_srcdir)/src/lib-oauth2 \ + -I$(top_srcdir)/src/lib-ssl-iostream \ + -I$(top_srcdir)/src/lib-lua \ + -I$(top_srcdir)/src/lib-dcrypt \ + -DAUTH_MODULE_DIR=\""$(auth_moduledir)"\" \ + -DPKG_LIBEXECDIR=\""$(pkglibexecdir)"\" \ + -DPKG_RUNDIR=\""$(rundir)"\" \ + -DSYSCONFDIR=\""$(sysconfdir)/dovecot"\" \ + $(LUA_CFLAGS) \ + $(AUTH_CFLAGS) + +auth_LDFLAGS = -export-dynamic + +libpassword_la_SOURCES = \ + crypt-blowfish.c \ + mycrypt.c \ + password-scheme.c \ + password-scheme-crypt.c \ + password-scheme-md5crypt.c \ + password-scheme-scram.c \ + password-scheme-otp.c \ + password-scheme-pbkdf2.c \ + password-scheme-sodium.c +libpassword_la_CFLAGS = $(AM_CPPFLAGS) $(LIBSODIUM_CFLAGS) + +auth_libs = \ + libauth.la \ + libstats_auth.la \ + libpassword.la \ + ../lib-otp/libotp.la \ + $(AUTH_LUA_LIBS) \ + $(LIBDOVECOT_SQL) + +auth_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +auth_LDADD = $(auth_libs) $(LIBDOVECOT) $(AUTH_LIBS) $(BINARY_LDFLAGS) $(AUTH_LUA_LDADD) +auth_DEPENDENCIES = $(auth_libs) $(LIBDOVECOT_DEPS) +auth_SOURCES = main.c + +ldap_sources = db-ldap.c passdb-ldap.c userdb-ldap.c +lua_sources = db-lua.c passdb-lua.c userdb-lua.c + +libauth_la_DEPENDENCIES = $(LIBDOVECOT_DEPS) +libauth_la_SOURCES = \ + auth.c \ + auth-cache.c \ + auth-client-connection.c \ + auth-master-connection.c \ + auth-policy.c \ + mech-otp-common.c \ + mech-plain-common.c \ + auth-penalty.c \ + auth-request.c \ + auth-request-fields.c \ + auth-request-handler.c \ + auth-request-stats.c \ + auth-request-var-expand.c \ + auth-settings.c \ + auth-fields.c \ + auth-token.c \ + auth-worker-client.c \ + auth-worker-server.c \ + db-checkpassword.c \ + db-dict.c \ + db-dict-cache-key.c \ + db-oauth2.c \ + db-sql.c \ + db-passwd-file.c \ + mech.c \ + mech-anonymous.c \ + mech-plain.c \ + mech-login.c \ + mech-cram-md5.c \ + mech-digest-md5.c \ + mech-external.c \ + mech-gssapi.c \ + mech-otp.c \ + mech-scram.c \ + mech-apop.c \ + mech-winbind.c \ + mech-dovecot-token.c \ + mech-oauth2.c \ + passdb.c \ + passdb-blocking.c \ + passdb-bsdauth.c \ + passdb-cache.c \ + passdb-checkpassword.c \ + passdb-dict.c \ + passdb-oauth2.c \ + passdb-passwd.c \ + passdb-passwd-file.c \ + passdb-pam.c \ + passdb-shadow.c \ + passdb-sql.c \ + passdb-static.c \ + passdb-template.c \ + userdb.c \ + userdb-blocking.c \ + userdb-checkpassword.c \ + userdb-dict.c \ + userdb-passwd.c \ + userdb-passwd-file.c \ + userdb-prefetch.c \ + userdb-static.c \ + userdb-sql.c \ + userdb-template.c \ + $(ldap_sources) \ + $(lua_sources) + +headers = \ + auth.h \ + auth-cache.h \ + auth-client-connection.h \ + auth-common.h \ + auth-master-connection.h \ + mech-otp-common.h \ + mech-plain-common.h \ + mech-digest-md5-private.h \ + mech-scram.h \ + auth-penalty.h \ + auth-policy.h \ + auth-request.h \ + auth-request-handler.h \ + auth-request-handler-private.h \ + auth-request-stats.h \ + auth-request-var-expand.h \ + auth-settings.h \ + auth-stats.h \ + auth-fields.h \ + auth-token.h \ + auth-worker-client.h \ + auth-worker-server.h \ + db-dict.h \ + db-ldap.h \ + db-sql.h \ + db-passwd-file.h \ + db-checkpassword.h \ + db-oauth2.h \ + mech.h \ + mycrypt.h \ + passdb.h \ + passdb-blocking.h \ + passdb-cache.h \ + passdb-template.h \ + password-scheme.h \ + userdb.h \ + userdb-blocking.h \ + userdb-template.h + +if GSSAPI_PLUGIN +libmech_gssapi_la_LDFLAGS = -module -avoid-version +libmech_gssapi_la_LIBADD = $(KRB5_LIBS) +libmech_gssapi_la_CPPFLAGS = $(AM_CPPFLAGS) $(KRB5_CFLAGS) -DPLUGIN_BUILD +libmech_gssapi_la_SOURCES = mech-gssapi.c +endif + +if LDAP_PLUGIN +libauthdb_ldap_la_LDFLAGS = -module -avoid-version +libauthdb_ldap_la_LIBADD = $(LDAP_LIBS) +libauthdb_ldap_la_CPPFLAGS = $(AM_CPPFLAGS) -DPLUGIN_BUILD +libauthdb_ldap_la_SOURCES = $(ldap_sources) +endif + +if AUTH_LUA_PLUGIN +libauthdb_lua_la_LDFLAGS = -module -avoid-version +libauthdb_lua_la_LIBADD = $(LIBDOVECOT_LUA) +libauthdb_lua_la_CPPFLAGS = $(AM_CPPFLAGS) -DPLUGIN_BUILD +libauthdb_lua_la_SOURCES = $(lua_sources) +endif + +libauthdb_imap_la_LDFLAGS = -module -avoid-version +libauthdb_imap_la_LIBADD = \ + ../lib-imap-client/libimap_client.la \ + $(LIBDOVECOT) +libauthdb_imap_la_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -I$(top_srcdir)/src/lib-imap \ + -I$(top_srcdir)/src/lib-imap-client +libauthdb_imap_la_SOURCES = passdb-imap.c + +pkginc_libdir=$(pkgincludedir) +pkginc_lib_HEADERS = $(headers) + +checkpassword_reply_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) +checkpassword_reply_LDADD = $(LIBDOVECOT) $(BINARY_LDFLAGS) +checkpassword_reply_DEPENDENCIES = $(LIBDOVECOT_DEPS) + +checkpassword_reply_sources = \ + checkpassword-reply.c + +stats_moduledir = $(moduledir)/old-stats +stats_module_LTLIBRARIES = libstats_auth.la + +libstats_auth_la_LDFLAGS = -module -avoid-version +libstats_auth_la_LIBADD = $(LIBDOVECOT) +libstats_auth_la_DEPENDENCIES = $(LIBDOVECOT_DEPS) +libstats_auth_la_SOURCES = auth-stats.c + +test_programs = \ + test-libpassword \ + test-auth-cache \ + test-auth \ + test-mech + +noinst_PROGRAMS = $(test_programs) + +noinst_HEADERS = test-auth.h crypt-blowfish.h db-lua.h + +test_libs = \ + ../lib-dovecot/libdovecot.la + +test_libpassword_SOURCES = test-libpassword.c +test_libpassword_LDADD = \ + libpassword.la \ + ../lib-otp/libotp.la \ + $(CRYPT_LIBS) \ + $(LIBDOVECOT_SQL) \ + $(LIBSODIUM_LIBS) \ + $(test_libs) \ + $(BINARY_LDFLAGS) + +test_libpassword_DEPENDENCIES = libpassword.la +test_libpassword_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) + +test_auth_cache_SOURCES = auth-cache.c test-auth-cache.c +test_auth_cache_LDADD = $(test_libs) +test_auth_cache_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(test_libs) +# this is needed to force auth-cache.c recompilation +test_auth_cache_CPPFLAGS = $(AM_CPPFLAGS) + +test_auth_SOURCES = \ + test-auth-request-var-expand.c \ + test-auth-request-fields.c \ + test-username-filter.c \ + test-db-dict.c \ + test-lua.c \ + test-mock.c \ + test-main.c + +test_auth_LDADD = $(test_libs) $(auth_libs) $(AUTH_LIBS) $(LUA_LIBS) +test_auth_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(test_libs) + +test_mech_SOURCES = \ + test-mock.c \ + test-mech.c + +test_mech_LDADD = $(test_libs) $(auth_libs) $(AUTH_LIBS) $(LUA_LIBS) +test_mech_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(test_libs) + +check-local: + for bin in $(test_programs); do \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ + done |