annotate src/auth/passdb-sia.c @ 9575:0a00dcc4f0ea HEAD

lib-storage: Allow shared namespace prefix to use %variable modifiers.
author Timo Sirainen <tss@iki.fi>
date Wed, 26 May 2010 17:07:51 +0100
parents c47b78e843aa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1 /* Copyright (C) 2006 Simon L Jackson */
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3 /* Tru64 SIA support */
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5 #include "common.h"
8217
c47b78e843aa Separate "unknown passdb/userdb X" and "support for X not compiled in" error messages.
Timo Sirainen <tss@iki.fi>
parents: 6411
diff changeset
6 #include "passdb.h"
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8 #ifdef PASSDB_SIA
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10 #include "safe-memset.h"
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 #include <sia.h>
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
13 #include <siad.h>
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14 #include <sys/security.h>
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15
6411
6a64e64fa3a3 Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
Timo Sirainen <tss@iki.fi>
parents: 5259
diff changeset
16 static int checkpw_collect(int timeout ATTR_UNUSED, int rendition,
6a64e64fa3a3 Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
Timo Sirainen <tss@iki.fi>
parents: 5259
diff changeset
17 uchar_t *title ATTR_UNUSED,
6a64e64fa3a3 Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
Timo Sirainen <tss@iki.fi>
parents: 5259
diff changeset
18 int nprompts ATTR_UNUSED,
6a64e64fa3a3 Renamed __attr_*__ to ATTR_*. Renamed __attrs_used__ to ATTRS_DEFINED.
Timo Sirainen <tss@iki.fi>
parents: 5259
diff changeset
19 prompt_t *prompts ATTR_UNUSED)
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 {
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 switch (rendition) {
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22 case SIAONELINER:
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
23 case SIAINFO:
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24 case SIAWARNING:
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
25 return SIACOLSUCCESS;
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
26 }
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
27
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
28 /* everything else is bogus */
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
29 return SIACOLABORT;
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30 }
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
31
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
32 static void
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
33 local_sia_verify_plain(struct auth_request *request, const char *password,
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
34 verify_plain_callback_t *callback)
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
35 {
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
36 char *argutility = "dovecot";
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
37
5259
228eacfb2647 Added more debug logging.
Timo Sirainen <tss@iki.fi>
parents: 4782
diff changeset
38 auth_request_log_debug(request, "sia", "lookup");
228eacfb2647 Added more debug logging.
Timo Sirainen <tss@iki.fi>
parents: 4782
diff changeset
39
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
40 /* check if the password is valid */
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
41 if (sia_validate_user(checkpw_collect, 1, &argutility, NULL,
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
42 (char *)request->user, NULL, NULL, NULL,
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
43 (char *)password) != SIASUCCESS) {
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
44 auth_request_log_info(request, "sia", "password mismatch");
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
45 callback(PASSDB_RESULT_PASSWORD_MISMATCH, request);
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
46 } else {
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
47 callback(PASSDB_RESULT_OK, request);
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
48 }
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
49 }
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
50
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
51 struct passdb_module_interface passdb_sia = {
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
52 "sia",
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
53
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
54 NULL,
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
55 NULL,
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
56 NULL,
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
57
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
58 local_sia_verify_plain,
4782
2c1cc5bbc260 Added auth_request_set_credentials() to modify credentials in passdb and
Timo Sirainen <tss@iki.fi>
parents: 4638
diff changeset
59 NULL,
2c1cc5bbc260 Added auth_request_set_credentials() to modify credentials in passdb and
Timo Sirainen <tss@iki.fi>
parents: 4638
diff changeset
60 NULL
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
61 };
8217
c47b78e843aa Separate "unknown passdb/userdb X" and "support for X not compiled in" error messages.
Timo Sirainen <tss@iki.fi>
parents: 6411
diff changeset
62 #else
c47b78e843aa Separate "unknown passdb/userdb X" and "support for X not compiled in" error messages.
Timo Sirainen <tss@iki.fi>
parents: 6411
diff changeset
63 struct passdb_module_interface passdb_sia = {
c47b78e843aa Separate "unknown passdb/userdb X" and "support for X not compiled in" error messages.
Timo Sirainen <tss@iki.fi>
parents: 6411
diff changeset
64 MEMBER(name) "sia"
c47b78e843aa Separate "unknown passdb/userdb X" and "support for X not compiled in" error messages.
Timo Sirainen <tss@iki.fi>
parents: 6411
diff changeset
65 };
4638
689a02ca02d3 Tru64 SIA authentication support. Patch by Simon L Jackson
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
66 #endif