1 /*
2 * Copyright (c) 1997 - 2008 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
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.
16 *
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.
20 *
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.
32 */
33
34 #include "krb5_locl.h"
35
36 #ifndef HEIMDAL_SMALLER
37 #define DES3_OLD_ENCTYPE 1
38 #endif
39
40 static struct _krb5_key_type keytype_null = {
41 ENCTYPE_NULL,
42 "null",
43 0,
44 0,
45 0,
46 NULL,
47 NULL,
48 NULL
49 };
50
51 static krb5_error_code
NONE_checksum(krb5_context context,struct _krb5_key_data * key,const void * data,size_t len,unsigned usage,Checksum * C)52 NONE_checksum(krb5_context context,
53 struct _krb5_key_data *key,
54 const void *data,
55 size_t len,
56 unsigned usage,
57 Checksum *C)
58 {
59 return 0;
60 }
61
62 struct _krb5_checksum_type _krb5_checksum_none = {
63 CKSUMTYPE_NONE,
64 "none",
65 1,
66 0,
67 0,
68 NONE_checksum,
69 NULL
70 };
71
72 static krb5_error_code
NULL_encrypt(krb5_context context,struct _krb5_key_data * key,void * data,size_t len,krb5_boolean encryptp,int usage,void * ivec)73 NULL_encrypt(krb5_context context,
74 struct _krb5_key_data *key,
75 void *data,
76 size_t len,
77 krb5_boolean encryptp,
78 int usage,
79 void *ivec)
80 {
81 return 0;
82 }
83
84 struct _krb5_encryption_type _krb5_enctype_null = {
85 ETYPE_NULL,
86 "null",
87 1,
88 1,
89 0,
90 &keytype_null,
91 &_krb5_checksum_none,
92 NULL,
93 F_DISABLED,
94 NULL_encrypt,
95 0,
96 NULL
97 };
98