Line data Source code
1 : /*
2 : * Copyright (c) 1997-2004 Kungliga Tekniska Högskolan
3 : * (Royal Institute of Technology, Stockholm, Sweden).
4 : * Copyright (c) 2011 Andrew Bartlett
5 : *
6 : * All rights reserved.
7 : *
8 : * Redistribution and use in source and binary forms, with or without
9 : * modification, are permitted provided that the following conditions
10 : * are met:
11 : *
12 : * 1. Redistributions of source code must retain the above copyright
13 : * notice, this list of conditions and the following disclaimer.
14 : *
15 : * 2. Redistributions in binary form must reproduce the above copyright
16 : * notice, this list of conditions and the following disclaimer in the
17 : * documentation and/or other materials provided with the distribution.
18 : *
19 : * 3. Neither the name of the Institute nor the names of its contributors
20 : * may be used to endorse or promote products derived from this software
21 : * without specific prior written permission.
22 : *
23 : * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
24 : * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 : * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 : * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
27 : * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 : * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 : * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 : * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 : * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 : * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 : * SUCH DAMAGE.
34 : */
35 :
36 : #include "includes.h"
37 : #include "krb5_samba.h"
38 :
39 : #if !defined(HAVE_KRB5_KT_COMPARE)
40 0 : krb5_boolean smb_krb5_kt_compare(krb5_context context,
41 : krb5_keytab_entry *entry,
42 : krb5_const_principal principal,
43 : krb5_kvno kvno,
44 : krb5_enctype enctype)
45 : {
46 0 : if (principal) {
47 0 : if (!krb5_principal_compare(context,
48 0 : entry->principal, principal)) {
49 0 : return false;
50 : }
51 : }
52 0 : if (kvno) {
53 0 : if (entry->vno != kvno) {
54 0 : return false;
55 : }
56 : }
57 0 : if (enctype) {
58 0 : if (KRB5_KEY_TYPE(KRB5_KT_KEY(entry)) != enctype) {
59 0 : return false;
60 : }
61 : }
62 :
63 0 : return true;
64 : }
65 : #endif
|