8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / lib / pam_modules / krb5 / utils.h
blob1e90d00268ab016ed75f0d63facd43ec88586720
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
26 #ifndef _UTILS_H
27 #define _UTILS_H
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
33 #include <security/pam_appl.h>
34 #include <security/pam_impl.h>
35 #include <krb5.h>
36 #include <netdb.h>
38 #define KRB5_DATA "SUNW-KRB5-AUTH-DATA"
39 #define ROOT_UNAME "root"
41 enum preauth_types {
42 KRB_PASSWD,
43 KRB_PKINIT };
45 typedef struct {
46 char *user;
47 int debug;
48 int warn;
49 int err_on_exp;
50 int auth_status;
51 char *env; /* don't free! sent to putenv... */
52 krb5_ccache ccache; /* file credential cache */
53 krb5_context kcontext;
54 krb5_creds initcreds; /* initial creds from */
55 /* pam_authenticate() */
56 char *password;
57 int age_status;
58 krb5_timestamp expiration;
59 int auth_calls;
60 enum preauth_types preauth_type;
61 } krb5_module_data_t;
63 int get_pw_uid(char *, uid_t *);
64 int get_pw_gid(char *, gid_t *);
65 int get_kmd_kuser(krb5_context, const char *, char *, int);
66 int key_in_keytab(const char *, int);
68 #ifdef __cplusplus
70 #endif
72 #endif /* _UTILS_H */