2 * Copyright (C) 1989,1990,1991,1992,1993,1994,1995,2000,2001, 2003 by the Massachusetts Institute of Technology,
3 * Cambridge, MA, USA. All Rights Reserved.
5 * This software is being provided to you, the LICENSEE, by the
6 * Massachusetts Institute of Technology (M.I.T.) under the following
7 * license. By obtaining, using and/or copying this software, you agree
8 * that you have read, understood, and will comply with these terms and
11 * Export of this software from the United States of America may
12 * require a specific license from the United States Government.
13 * It is the responsibility of any person or organization contemplating
14 * export to obtain such a license before exporting.
16 * WITHIN THAT CONSTRAINT, permission to use, copy, modify and distribute
17 * this software and its documentation for any purpose and without fee or
18 * royalty is hereby granted, provided that you agree to comply with the
19 * following copyright notice and statements, including the disclaimer, and
20 * that the same appear on ALL copies of the software and documentation,
21 * including modifications that you make for internal use or for
24 * THIS SOFTWARE IS PROVIDED "AS IS", AND M.I.T. MAKES NO REPRESENTATIONS
25 * OR WARRANTIES, EXPRESS OR IMPLIED. By way of example, but not
26 * limitation, M.I.T. MAKES NO REPRESENTATIONS OR WARRANTIES OF
27 * MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
28 * THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
29 * PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
31 * The name of the Massachusetts Institute of Technology or M.I.T. may NOT
32 * be used in advertising or publicity pertaining to distribution of the
33 * software. Title to copyright in this software and any associated
34 * documentation shall at all times remain with M.I.T., and USER agrees to
37 * Furthermore if you modify this software you must label
38 * your software as modified software and not distribute it in such a
39 * fashion that it might be confused with the original M.I.T. software.
43 * Copyright (C) 1998 by the FundsXpress, INC.
45 * All rights reserved.
47 * Export of this software from the United States of America may require
48 * a specific license from the United States Government. It is the
49 * responsibility of any person or organization contemplating export to
50 * obtain such a license before exporting.
52 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
53 * distribute this software and its documentation for any purpose and
54 * without fee is hereby granted, provided that the above copyright
55 * notice appear in all copies and that both that copyright notice and
56 * this permission notice appear in supporting documentation, and that
57 * the name of FundsXpress. not be used in advertising or publicity pertaining
58 * to distribution of the software without specific, written prior
59 * permission. FundsXpress makes no representations about the suitability of
60 * this software for any purpose. It is provided "as is" without express
61 * or implied warranty.
63 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
64 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
65 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
69 * Copyright 1993 by OpenVision Technologies, Inc.
71 * Permission to use, copy, modify, distribute, and sell this software
72 * and its documentation for any purpose is hereby granted without fee,
73 * provided that the above copyright notice appears in all copies and
74 * that both that copyright notice and this permission notice appear in
75 * supporting documentation, and that the name of OpenVision not be used
76 * in advertising or publicity pertaining to distribution of the software
77 * without specific, written prior permission. OpenVision makes no
78 * representations about the suitability of this software for any
79 * purpose. It is provided "as is" without express or implied warranty.
81 * OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
82 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
83 * EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
84 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
85 * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
86 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
87 * PERFORMANCE OF THIS SOFTWARE.
90 #ifndef _MIT_INTERNALS_H_
91 #define _MIT_INTERNALS_H_
93 /* must be included after krb5.h to override definitons from there */
96 * MIT Kerberos 1.3.x replay cache implementation causes major problems
97 * with Microsoft Kerberos5 implementation by incorrectly detecting
98 * Microsoft authenticators as replays. The problem is being worked on
99 * by both MIT and Microsoft but until a definite fix is available, we
100 * must disable the replay cache in order to work with Microsoft clients.
101 * The only working way to do this seems to be overriding the function
102 * that stores authenticators in replay cache with one that does nothing.
103 * Note that disabling replay cache is potentially unsecure.
106 /* Definition from MIT krb5-1.3.3 krb5.h */
107 typedef struct _krb5_donot_replay_internal {
109 char *server; /* null-terminated */
110 char *client; /* null-terminated */
112 krb5_timestamp ctime;
113 } krb5_donot_replay_internal;
115 /* Definitions from MIT krb5-1.3.3 k5-int.h */
116 struct _krb5_rc_ops_internal {
119 krb5_error_code (KRB5_CALLCONV *init)
120 (krb5_context, krb5_rcache,krb5_deltat); /* create */
121 krb5_error_code (KRB5_CALLCONV *recover)
122 (krb5_context, krb5_rcache); /* open */
123 krb5_error_code (KRB5_CALLCONV *destroy)
124 (krb5_context, krb5_rcache);
125 krb5_error_code (KRB5_CALLCONV *close)
126 (krb5_context, krb5_rcache);
127 krb5_error_code (KRB5_CALLCONV *store)
128 (krb5_context, krb5_rcache,krb5_donot_replay_internal *);
129 krb5_error_code (KRB5_CALLCONV *expunge)
130 (krb5_context, krb5_rcache);
131 krb5_error_code (KRB5_CALLCONV *get_span)
132 (krb5_context, krb5_rcache,krb5_deltat *);
133 char *(KRB5_CALLCONV *get_name)
134 (krb5_context, krb5_rcache);
135 krb5_error_code (KRB5_CALLCONV *resolve)
136 (krb5_context, krb5_rcache, char *);
139 typedef struct _krb5_rc_ops_internal krb5_rc_ops_internal;
141 /* Definitions from MIT krb5-1.3.3 rc_dfl.h */
142 extern krb5_error_code KRB5_CALLCONV krb5_rc_dfl_init
146 extern krb5_error_code KRB5_CALLCONV krb5_rc_dfl_recover
149 extern krb5_error_code KRB5_CALLCONV krb5_rc_dfl_destroy
152 extern krb5_error_code KRB5_CALLCONV krb5_rc_dfl_close
155 extern krb5_error_code KRB5_CALLCONV krb5_rc_dfl_expunge
158 extern krb5_error_code KRB5_CALLCONV krb5_rc_dfl_get_span
162 extern char * KRB5_CALLCONV krb5_rc_dfl_get_name
165 extern krb5_error_code KRB5_CALLCONV krb5_rc_dfl_resolve
170 /* Definition from MIT krb5-1.3.3 k5-int.h */
171 /* kouril: use the _internal suffix in order to avoid conflicts with
172 * the definition in krb5.h */
173 struct krb5_rc_st_internal {
175 const struct _krb5_rc_ops_internal *ops;
179 typedef struct krb5_rc_st_internal *krb5_rcache_internal;
181 /* Definitions from MIT krb5-1.3.3 gssapiP_krb5.h */
182 typedef struct _krb5_gss_cred_id_rec {
183 /* name/type of credential */
184 gss_cred_usage_t usage;
185 krb5_principal princ; /* this is not interned as a gss_name_t */
189 /* keytab (accept) data */
191 krb5_rcache_internal rcache;
193 /* ccache (init) data */
195 krb5_timestamp tgt_expire;
196 } krb5_gss_cred_id_rec, *krb5_gss_cred_id_t;
198 #endif /* _MIT_INTERNALS_H_ */