OpenCoverage

pcy_lib.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/x509v3/pcy_lib.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: pcy_lib.c,v 1.5 2015/02/07 13:19:15 doug Exp $ */-
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL-
3 * project 2004.-
4 */-
5/* ====================================================================-
6 * Copyright (c) 2004 The OpenSSL Project. 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-
17 * the documentation and/or other materials provided with the-
18 * distribution.-
19 *-
20 * 3. All advertising materials mentioning features or use of this-
21 * software must display the following acknowledgment:-
22 * "This product includes software developed by the OpenSSL Project-
23 * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"-
24 *-
25 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to-
26 * endorse or promote products derived from this software without-
27 * prior written permission. For written permission, please contact-
28 * licensing@OpenSSL.org.-
29 *-
30 * 5. Products derived from this software may not be called "OpenSSL"-
31 * nor may "OpenSSL" appear in their names without prior written-
32 * permission of the OpenSSL Project.-
33 *-
34 * 6. Redistributions of any form whatsoever must retain the following-
35 * acknowledgment:-
36 * "This product includes software developed by the OpenSSL Project-
37 * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"-
38 *-
39 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY-
40 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
41 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-
42 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR-
43 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-
44 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT-
45 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;-
46 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
47 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,-
48 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)-
49 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED-
50 * OF THE POSSIBILITY OF SUCH DAMAGE.-
51 * ====================================================================-
52 *-
53 * This product includes cryptographic software written by Eric Young-
54 * (eay@cryptsoft.com). This product includes software written by Tim-
55 * Hudson (tjh@cryptsoft.com).-
56 *-
57 */-
58-
59#include <openssl/x509.h>-
60#include <openssl/x509v3.h>-
61-
62#include "pcy_int.h"-
63-
64/* accessor functions */-
65-
66/* X509_POLICY_TREE stuff */-
67-
68int-
69X509_policy_tree_level_count(const X509_POLICY_TREE *tree)-
70{-
71 if (!tree)
!treeDescription
TRUEnever evaluated
FALSEnever evaluated
0
72 return 0;
never executed: return 0;
0
73 return tree->nlevel;
never executed: return tree->nlevel;
0
74}-
75-
76X509_POLICY_LEVEL *-
77X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, int i)-
78{-
79 if (!tree || (i < 0) || (i >= tree->nlevel))
!treeDescription
TRUEnever evaluated
FALSEnever evaluated
(i < 0)Description
TRUEnever evaluated
FALSEnever evaluated
(i >= tree->nlevel)Description
TRUEnever evaluated
FALSEnever evaluated
0
80 return NULL;
never executed: return ((void *)0) ;
0
81 return tree->levels + i;
never executed: return tree->levels + i;
0
82}-
83-
84STACK_OF(X509_POLICY_NODE) *-
85X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree)-
86{-
87 if (!tree)
!treeDescription
TRUEnever evaluated
FALSEnever evaluated
0
88 return NULL;
never executed: return ((void *)0) ;
0
89 return tree->auth_policies;
never executed: return tree->auth_policies;
0
90}-
91-
92STACK_OF(X509_POLICY_NODE) *-
93X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree)-
94{-
95 if (!tree)
!treeDescription
TRUEnever evaluated
FALSEnever evaluated
0
96 return NULL;
never executed: return ((void *)0) ;
0
97 if (tree->flags & POLICY_FLAG_ANY_POLICY)
tree->flags & 0x2Description
TRUEnever evaluated
FALSEnever evaluated
0
98 return tree->auth_policies;
never executed: return tree->auth_policies;
0
99 else-
100 return tree->user_policies;
never executed: return tree->user_policies;
0
101}-
102-
103/* X509_POLICY_LEVEL stuff */-
104-
105int-
106X509_policy_level_node_count(X509_POLICY_LEVEL *level)-
107{-
108 int n;-
109 if (!level)
!levelDescription
TRUEnever evaluated
FALSEnever evaluated
0
110 return 0;
never executed: return 0;
0
111 if (level->anyPolicy)
level->anyPolicyDescription
TRUEnever evaluated
FALSEnever evaluated
0
112 n = 1;
never executed: n = 1;
0
113 else-
114 n = 0;
never executed: n = 0;
0
115 if (level->nodes)
level->nodesDescription
TRUEnever evaluated
FALSEnever evaluated
0
116 n += sk_X509_POLICY_NODE_num(level->nodes);
never executed: n += sk_num(((_STACK*) (1 ? (level->nodes) : (struct stack_st_X509_POLICY_NODE*)0)));
0
117 return n;
never executed: return n;
0
118}-
119-
120X509_POLICY_NODE *-
121X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i)-
122{-
123 if (!level)
!levelDescription
TRUEnever evaluated
FALSEnever evaluated
0
124 return NULL;
never executed: return ((void *)0) ;
0
125 if (level->anyPolicy) {
level->anyPolicyDescription
TRUEnever evaluated
FALSEnever evaluated
0
126 if (i == 0)
i == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
127 return level->anyPolicy;
never executed: return level->anyPolicy;
0
128 i--;-
129 }
never executed: end of block
0
130 return sk_X509_POLICY_NODE_value(level->nodes, i);
never executed: return ((X509_POLICY_NODE *)sk_value(((_STACK*) (1 ? (level->nodes) : (struct stack_st_X509_POLICY_NODE*)0)), (i)));
0
131}-
132-
133/* X509_POLICY_NODE stuff */-
134-
135const ASN1_OBJECT *-
136X509_policy_node_get0_policy(const X509_POLICY_NODE *node)-
137{-
138 if (!node)
!nodeDescription
TRUEnever evaluated
FALSEnever evaluated
0
139 return NULL;
never executed: return ((void *)0) ;
0
140 return node->data->valid_policy;
never executed: return node->data->valid_policy;
0
141}-
142-
143STACK_OF(POLICYQUALINFO) *-
144X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node)-
145{-
146 if (!node)
!nodeDescription
TRUEnever evaluated
FALSEnever evaluated
0
147 return NULL;
never executed: return ((void *)0) ;
0
148 return node->data->qualifier_set;
never executed: return node->data->qualifier_set;
0
149}-
150-
151const X509_POLICY_NODE *-
152X509_policy_node_get0_parent(const X509_POLICY_NODE *node)-
153{-
154 if (!node)
!nodeDescription
TRUEnever evaluated
FALSEnever evaluated
0
155 return NULL;
never executed: return ((void *)0) ;
0
156 return node->parent;
never executed: return node->parent;
0
157}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2