1 /*
2 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
6 #ifndef _SERVER_ACL_H
7 #define _SERVER_ACL_H
8
9 #pragma ident "@(#)server_acl.h 1.5 04/09/08 SMI"
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15
16 /*
17 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
18 *
19 * Openvision retains the copyright to derivative works of
20 * this source code. Do *NOT* create a derivative of this
21 * source code before consulting with your legal department.
22 * Do *NOT* integrate *ANY* of this source code into another
23 * product before consulting with your legal department.
24 *
25 * For further information, read the top-level Openvision
26 * copyright which is contained in the top-level MIT Kerberos
27 * copyright.
28 *
29 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
76 #define DPRINT(l1, cl, al) if ((cl & l1) != 0) printf al
77 #else /* DEBUG */
78 #define DPRINT(l1, cl, al)
79 #endif /* DEBUG */
80 #define DLOG(l1, cl, msg) if ((cl & l1) != 0) \
81 com_err(programname, 0, msg)
82
83 /*
84 * Access control bits.
85 */
86 #define ACL_INQUIRE 1 /* GET */
87 #define ACL_ADD 2
88 #define ACL_MODIFY 4
89 #define ACL_DELETE 8
90 #define ACL_LIST 16
91 #define ACL_CHANGEPW 32
92 /* #define ACL_CHANGE_OWN_PW 16 */
93 /* #define ACL_EXTRACT 64 */
94 #define ACL_SETKEY 256
95 #define ACL_MIGRATE 512 /* pam_krb5_migrate */
96 #define ACL_RENAME (ACL_ADD+ACL_DELETE)
97
98 #define ACL_ALL_MASK (ACL_ADD | \
99 ACL_DELETE | \
100 ACL_MODIFY | \
101 ACL_CHANGEPW | \
102 ACL_INQUIRE | \
103 ACL_LIST | \
104 ACL_MIGRATE | \
105 ACL_SETKEY)
106
107 typedef struct _restriction {
108 long mask;
109 krb5_flags require_attrs;
110 krb5_flags forbid_attrs;
111 krb5_deltat princ_lifetime;
112 krb5_deltat pw_lifetime;
113 krb5_deltat max_life;
114 krb5_deltat max_renewable_life;
115 long aux_attributes;
116 char *policy;
117 } restriction_t;
118
119 krb5_error_code acl_init
120 KRB5_PROTOTYPE((krb5_context,
121 int,
122 char *));
123 void acl_finish
|
1 /*
2 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
6 #ifndef _SERVER_ACL_H
7 #define _SERVER_ACL_H
8
9 #pragma ident "@(#)server_acl.h 1.4 04/04/01 SMI"
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15
16 /*
17 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
18 *
19 * Openvision retains the copyright to derivative works of
20 * this source code. Do *NOT* create a derivative of this
21 * source code before consulting with your legal department.
22 * Do *NOT* integrate *ANY* of this source code into another
23 * product before consulting with your legal department.
24 *
25 * For further information, read the top-level Openvision
26 * copyright which is contained in the top-level MIT Kerberos
27 * copyright.
28 *
29 * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
76 #define DPRINT(l1, cl, al) if ((cl & l1) != 0) printf al
77 #else /* DEBUG */
78 #define DPRINT(l1, cl, al)
79 #endif /* DEBUG */
80 #define DLOG(l1, cl, msg) if ((cl & l1) != 0) \
81 com_err(programname, 0, msg)
82
83 /*
84 * Access control bits.
85 */
86 #define ACL_INQUIRE 1 /* GET */
87 #define ACL_ADD 2
88 #define ACL_MODIFY 4
89 #define ACL_DELETE 8
90 #define ACL_LIST 16
91 #define ACL_CHANGEPW 32
92 /* #define ACL_CHANGE_OWN_PW 16 */
93 /* #define ACL_EXTRACT 64 */
94 #define ACL_SETKEY 256
95 #define ACL_MIGRATE 512 /* pam_krb5_migrate */
96 #define ACL_IPROP 65536 /* SUNW IProp */
97 #define ACL_RENAME (ACL_ADD+ACL_DELETE)
98
99 #define ACL_ALL_MASK (ACL_ADD | \
100 ACL_DELETE | \
101 ACL_MODIFY | \
102 ACL_CHANGEPW | \
103 ACL_INQUIRE | \
104 ACL_LIST | \
105 ACL_IPROP | \
106 ACL_MIGRATE | \
107 ACL_SETKEY)
108
109 typedef struct _restriction {
110 long mask;
111 krb5_flags require_attrs;
112 krb5_flags forbid_attrs;
113 krb5_deltat princ_lifetime;
114 krb5_deltat pw_lifetime;
115 krb5_deltat max_life;
116 krb5_deltat max_renewable_life;
117 long aux_attributes;
118 char *policy;
119 } restriction_t;
120
121 krb5_error_code acl_init
122 KRB5_PROTOTYPE((krb5_context,
123 int,
124 char *));
125 void acl_finish
|