OpenCoverage

v3_pcons.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/x509v3/v3_pcons.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/*-
2 * Copyright 2003-2016 The OpenSSL Project Authors. All Rights Reserved.-
3 *-
4 * Licensed under the OpenSSL license (the "License"). You may not use-
5 * this file except in compliance with the License. You can obtain a copy-
6 * in the file LICENSE in the source distribution or at-
7 * https://www.openssl.org/source/license.html-
8 */-
9-
10#include <stdio.h>-
11#include "internal/cryptlib.h"-
12#include <openssl/asn1.h>-
13#include <openssl/asn1t.h>-
14#include <openssl/conf.h>-
15#include <openssl/x509v3.h>-
16#include "ext_dat.h"-
17-
18static STACK_OF(CONF_VALUE) *i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD-
19 *method, void *bcons, STACK_OF(CONF_VALUE)-
20 *extlist);-
21static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method,-
22 X509V3_CTX *ctx,-
23 STACK_OF(CONF_VALUE) *values);-
24-
25const X509V3_EXT_METHOD v3_policy_constraints = {-
26 NID_policy_constraints, 0,-
27 ASN1_ITEM_ref(POLICY_CONSTRAINTS),-
28 0, 0, 0, 0,-
29 0, 0,-
30 i2v_POLICY_CONSTRAINTS,-
31 v2i_POLICY_CONSTRAINTS,-
32 NULL, NULL,-
33 NULL-
34};-
35-
36ASN1_SEQUENCE(POLICY_CONSTRAINTS) = {-
37 ASN1_IMP_OPT(POLICY_CONSTRAINTS, requireExplicitPolicy, ASN1_INTEGER,0),-
38 ASN1_IMP_OPT(POLICY_CONSTRAINTS, inhibitPolicyMapping, ASN1_INTEGER,1)-
39} ASN1_SEQUENCE_END(POLICY_CONSTRAINTS)-
40-
41IMPLEMENT_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)
never executed: end of block
never executed: return (POLICY_CONSTRAINTS *)ASN1_item_new((&(POLICY_CONSTRAINTS_it)));
0
42-
43static STACK_OF(CONF_VALUE) *i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD-
44 *method, void *a, STACK_OF(CONF_VALUE)-
45 *extlist)-
46{-
47 POLICY_CONSTRAINTS *pcons = a;-
48 X509V3_add_value_int("Require Explicit Policy",-
49 pcons->requireExplicitPolicy, &extlist);-
50 X509V3_add_value_int("Inhibit Policy Mapping",-
51 pcons->inhibitPolicyMapping, &extlist);-
52 return extlist;
executed 581 times by 1 test: return extlist;
Executed by:
  • libcrypto.so.1.1
581
53}-
54-
55static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method,-
56 X509V3_CTX *ctx,-
57 STACK_OF(CONF_VALUE) *values)-
58{-
59 POLICY_CONSTRAINTS *pcons = NULL;-
60 CONF_VALUE *val;-
61 int i;-
62-
63 if ((pcons = POLICY_CONSTRAINTS_new()) == NULL) {
(pcons = POLIC...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
64 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS, ERR_R_MALLOC_FAILURE);-
65 return NULL;
never executed: return ((void *)0) ;
0
66 }-
67 for (i = 0; i < sk_CONF_VALUE_num(values); i++) {
i < sk_CONF_VALUE_num(values)Description
TRUEnever evaluated
FALSEnever evaluated
0
68 val = sk_CONF_VALUE_value(values, i);-
69 if (strcmp(val->name, "requireExplicitPolicy") == 0) {
never executed: __result = (((const unsigned char *) (const char *) ( val->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "requireExplicitPolicy" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
70 if (!X509V3_get_value_int(val, &pcons->requireExplicitPolicy))
!X509V3_get_va...xplicitPolicy)Description
TRUEnever evaluated
FALSEnever evaluated
0
71 goto err;
never executed: goto err;
0
72 } else if (strcmp(val->name, "inhibitPolicyMapping") == 0) {
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( val->name ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( "inhibitPolicyMapping" ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
73 if (!X509V3_get_value_int(val, &pcons->inhibitPolicyMapping))
!X509V3_get_va...PolicyMapping)Description
TRUEnever evaluated
FALSEnever evaluated
0
74 goto err;
never executed: goto err;
0
75 } else {
never executed: end of block
0
76 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS, X509V3_R_INVALID_NAME);-
77 X509V3_conf_err(val);-
78 goto err;
never executed: goto err;
0
79 }-
80 }-
81 if (!pcons->inhibitPolicyMapping && !pcons->requireExplicitPolicy) {
!pcons->inhibitPolicyMappingDescription
TRUEnever evaluated
FALSEnever evaluated
!pcons->requireExplicitPolicyDescription
TRUEnever evaluated
FALSEnever evaluated
0
82 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS,-
83 X509V3_R_ILLEGAL_EMPTY_EXTENSION);-
84 goto err;
never executed: goto err;
0
85 }-
86-
87 return pcons;
never executed: return pcons;
0
88 err:-
89 POLICY_CONSTRAINTS_free(pcons);-
90 return NULL;
never executed: return ((void *)0) ;
0
91}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2