lib/krb5: unparse_name_fixed ERANGE if zero buffer len
[heimdal.git] / kdc / kdc-audit.h
blob13c9b8f63c33473d4bbd569d05d5b3cf30f504fa
1 /*
2 * Copyright (c) 2006 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
4 * All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the Institute nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
34 /* $Id$ */
36 #ifndef HEIMDAL_KDC_KDC_AUDIT_H
37 #define HEIMDAL_KDC_KDC_AUDIT_H 1
39 #include <heimbase.h>
42 * KDC auditing
45 /* auth event type enumeration, currently for AS only */
46 #define KDC_AUTH_EVENT_INVALID 0 /* no event logged */
47 #define KDC_AUTH_EVENT_CLIENT_AUTHORIZED 1 /* all authn/authz checks passed */
48 #define KDC_AUTH_EVENT_CLIENT_UNKNOWN 2 /* client unknown */
49 #define KDC_AUTH_EVENT_CLIENT_LOCKED_OUT 3 /* client locked out */
50 #define KDC_AUTH_EVENT_CLIENT_TIME_SKEW 4 /* client time skew */
51 #define KDC_AUTH_EVENT_WRONG_LONG_TERM_KEY 5 /* PA failed to validate long term key */
52 #define KDC_AUTH_EVENT_VALIDATED_LONG_TERM_KEY 6 /* PA validated long term key */
53 #define KDC_AUTH_EVENT_CLIENT_NAME_UNAUTHORIZED 7 /* couldn't map GSS/PKINIT name to principal */
54 #define KDC_AUTH_EVENT_PREAUTH_FAILED 8 /* generic PA failure */
55 #define KDC_AUTH_EVENT_PREAUTH_SUCCEEDED 9 /* generic (non-long term key) PA success */
58 * Audit keys to be queried using heim_audit_getkv(). There are other keys
59 * intended for logging that are not defined below; the constants below are
60 * there to ease migration from the older auth_status HDB API.
63 #define KDC_REQUEST_KV_AUTH_EVENT "#auth_event" /* heim_number_t */
64 #define KDC_REQUEST_KV_PA_NAME "pa" /* heim_string_t */
65 #define KDC_REQUEST_KV_PA_ETYPE "pa-etype" /* heim_number_t */
66 #define KDC_REQUEST_KV_GSS_INITIATOR "gss_initiator" /* heim_string_t */
67 #define KDC_REQUEST_KV_PKINIT_CLIENT_CERT "pkinit_client_cert" /* heim_string_t */
69 #endif /* HEIMDAL_KDC_KDC_AUDIT_H */