2 * Copyright (c) 1997-2000 Messaging Direct Ltd.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY MESSAGING DIRECT LTD. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MESSAGING DIRECT LTD. OR
18 * ITS EMPLOYEES OR AGENTS BE LIABLE FOR ANY DIRECT, INDIRECT,
19 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
20 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
21 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
23 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
24 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
29 #ident "$Id: mechanisms.h,v 1.10 2006/03/13 20:17:09 mel Exp $"
35 #include "saslauthd.h"
37 /* PUBLIC DEPENDENCIES */
38 /* Authentication mechanism dispatch table definition */
40 char *name; /* name of the mechanism */
41 int (*initialize)(void); /* initialization function */
42 char *(*authenticate)(const char *, const char *,
43 const char *, const char *); /* authentication
47 extern authmech_t mechanisms[]; /* array of supported auth mechs */
48 extern authmech_t *authmech; /* auth mech daemon is using */
49 /* END PUBLIC DEPENDENCIES */
52 * Figure out which optional drivers we support.
55 # if defined(HAVE_KRB5_H) && defined(HAVE_GSSAPI)
61 # if defined(HAVE_KRB)
67 # if defined(HAVE_USERSEC_H) && defined(HAVE_AUTHENTICATE)
73 # if defined(HAVE_GETSPNAM) || defined(HAVE_GETUSERPW)
79 # if defined(HAVE_SIA_VALIDATE_USER)
98 # define AUTH_HTTPFORM
102 #endif /* _MECHANISMS_H */