TEST_WITH(gssapi, $withval, plugin),
want_gssapi=no)
-AC_ARG_WITH(sia,
-AS_HELP_STRING([--with-sia], [Build with Tru64 SIA support]),
- TEST_WITH(sia, $withval),
- want_sia=no)
-
AC_ARG_WITH(ldap,
AS_HELP_STRING([--with-ldap=yes|plugin], [Build with LDAP support]),
TEST_WITH(ldap, $withval, plugin),
DOVECOT_WANT_CHECKPASSWORD
DOVECOT_WANT_BSDAUTH
DOVECOT_WANT_GSSAPI
-DOVECOT_WANT_SIA
DOVECOT_WANT_LDAP
DOVECOT_WANT_DB
DOVECOT_WANT_CDB
+++ /dev/null
-AC_DEFUN([DOVECOT_WANT_SIA], [
- have_sia=no
- if test $want_sia != no; then
- AC_CHECK_FUNC(sia_validate_user, [
- AC_DEFINE(PASSDB_SIA,, [Build with Tru64 SIA support])
- AUTH_LIBS="$AUTH_LIBS -depth_ring_search"
- have_sia=yes
- ], [
- if test $want_sia = yes; then
- AC_ERROR([Can't build with SIA support: sia_validate_user() not found])
- fi
- ])
- fi
-
- if test $have_sia = no; then
- not_passdb="$not_passdb sia"
- else
- passdb="$passdb sia"
- fi
-])
passdb-passwd-file.c \
passdb-pam.c \
passdb-shadow.c \
- passdb-sia.c \
passdb-vpopmail.c \
passdb-sql.c \
passdb-static.c \
+++ /dev/null
-/* Copyright (C) 2006 Simon L Jackson */
-
-/* Tru64 SIA support */
-
-#include "auth-common.h"
-#include "passdb.h"
-
-#ifdef PASSDB_SIA
-
-#include "safe-memset.h"
-
-#include <sia.h>
-#include <siad.h>
-#include <sys/security.h>
-
-static int checkpw_collect(int timeout ATTR_UNUSED, int rendition,
- uchar_t *title ATTR_UNUSED,
- int nprompts ATTR_UNUSED,
- prompt_t *prompts ATTR_UNUSED)
-{
- switch (rendition) {
- case SIAONELINER:
- case SIAINFO:
- case SIAWARNING:
- return SIACOLSUCCESS;
- }
-
- /* everything else is bogus */
- return SIACOLABORT;
-}
-
-static void
-local_sia_verify_plain(struct auth_request *request, const char *password,
- verify_plain_callback_t *callback)
-{
- char *argutility = "dovecot";
-
- e_debug(authdb_event(request), "lookup");
-
- /* check if the password is valid */
- if (sia_validate_user(checkpw_collect, 1, &argutility, NULL,
- (char *)request->fields.user, NULL, NULL, NULL,
- (char *)password) != SIASUCCESS) {
- auth_request_log_password_mismatch(request, AUTH_SUBSYS_DB);
- callback(PASSDB_RESULT_PASSWORD_MISMATCH, request);
- } else {
- callback(PASSDB_RESULT_OK, request);
- }
-}
-
-struct passdb_module_interface passdb_sia = {
- "sia",
-
- NULL,
- NULL,
- NULL,
-
- local_sia_verify_plain,
- NULL,
- NULL
-};
-#else
-struct passdb_module_interface passdb_sia = {
- .name = "sia"
-};
-#endif
extern struct passdb_module_interface passdb_vpopmail;
extern struct passdb_module_interface passdb_ldap;
extern struct passdb_module_interface passdb_sql;
-extern struct passdb_module_interface passdb_sia;
extern struct passdb_module_interface passdb_static;
extern struct passdb_module_interface passdb_oauth2;
passdb_register_module(&passdb_vpopmail);
passdb_register_module(&passdb_ldap);
passdb_register_module(&passdb_sql);
- passdb_register_module(&passdb_sia);
passdb_register_module(&passdb_static);
passdb_register_module(&passdb_oauth2);
}