summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509v3/v3_pcons.c
diff options
context:
space:
mode:
authorjsing <>2014-05-26 12:10:11 +0000
committerjsing <>2014-05-26 12:10:11 +0000
commit0995a92809472b446ca1bf18277538657c614595 (patch)
tree1adbb75e5e24e4d93c2bd12fb748f9eb26f2d739 /src/lib/libcrypto/x509v3/v3_pcons.c
parent1918fecccdef550d51f6267a095575731f873b2b (diff)
downloadopenbsd-0995a92809472b446ca1bf18277538657c614595.tar.gz
openbsd-0995a92809472b446ca1bf18277538657c614595.tar.bz2
openbsd-0995a92809472b446ca1bf18277538657c614595.zip
KNF.
Diffstat (limited to 'src/lib/libcrypto/x509v3/v3_pcons.c')
-rw-r--r--src/lib/libcrypto/x509v3/v3_pcons.c74
1 files changed, 39 insertions, 35 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_pcons.c b/src/lib/libcrypto/x509v3/v3_pcons.c
index 30ca652351..c622cae85a 100644
--- a/src/lib/libcrypto/x509v3/v3_pcons.c
+++ b/src/lib/libcrypto/x509v3/v3_pcons.c
@@ -10,7 +10,7 @@
10 * are met: 10 * are met:
11 * 11 *
12 * 1. Redistributions of source code must retain the above copyright 12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer. 13 * notice, this list of conditions and the following disclaimer.
14 * 14 *
15 * 2. Redistributions in binary form must reproduce the above copyright 15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in 16 * notice, this list of conditions and the following disclaimer in
@@ -66,75 +66,79 @@
66 66
67static STACK_OF(CONF_VALUE) * 67static STACK_OF(CONF_VALUE) *
68i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *bcons, 68i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *bcons,
69 STACK_OF(CONF_VALUE) *extlist); 69 STACK_OF(CONF_VALUE) *extlist);
70static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, 70static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method,
71 X509V3_CTX *ctx, 71 X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
72 STACK_OF(CONF_VALUE) *values);
73 72
74const X509V3_EXT_METHOD v3_policy_constraints = { 73const X509V3_EXT_METHOD v3_policy_constraints = {
75NID_policy_constraints, 0, 74 NID_policy_constraints, 0,
76ASN1_ITEM_ref(POLICY_CONSTRAINTS), 75 ASN1_ITEM_ref(POLICY_CONSTRAINTS),
770,0,0,0, 76 0, 0, 0, 0,
780,0, 77 0, 0,
79i2v_POLICY_CONSTRAINTS, 78 i2v_POLICY_CONSTRAINTS,
80v2i_POLICY_CONSTRAINTS, 79 v2i_POLICY_CONSTRAINTS,
81NULL,NULL, 80 NULL, NULL,
82NULL 81 NULL
83}; 82};
84 83
85ASN1_SEQUENCE(POLICY_CONSTRAINTS) = { 84ASN1_SEQUENCE(POLICY_CONSTRAINTS) = {
86 ASN1_IMP_OPT(POLICY_CONSTRAINTS, requireExplicitPolicy, ASN1_INTEGER,0), 85 ASN1_IMP_OPT(POLICY_CONSTRAINTS, requireExplicitPolicy,
87 ASN1_IMP_OPT(POLICY_CONSTRAINTS, inhibitPolicyMapping, ASN1_INTEGER,1) 86 ASN1_INTEGER, 0),
87 ASN1_IMP_OPT(POLICY_CONSTRAINTS, inhibitPolicyMapping, ASN1_INTEGER, 1)
88} ASN1_SEQUENCE_END(POLICY_CONSTRAINTS) 88} ASN1_SEQUENCE_END(POLICY_CONSTRAINTS)
89 89
90IMPLEMENT_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) 90IMPLEMENT_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS)
91 91
92
93static STACK_OF(CONF_VALUE) * 92static STACK_OF(CONF_VALUE) *
94i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *a, 93i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *a,
95 STACK_OF(CONF_VALUE) *extlist) 94 STACK_OF(CONF_VALUE) *extlist)
96{ 95{
97 POLICY_CONSTRAINTS *pcons = a; 96 POLICY_CONSTRAINTS *pcons = a;
97
98 X509V3_add_value_int("Require Explicit Policy", 98 X509V3_add_value_int("Require Explicit Policy",
99 pcons->requireExplicitPolicy, &extlist); 99 pcons->requireExplicitPolicy, &extlist);
100 X509V3_add_value_int("Inhibit Policy Mapping", 100 X509V3_add_value_int("Inhibit Policy Mapping",
101 pcons->inhibitPolicyMapping, &extlist); 101 pcons->inhibitPolicyMapping, &extlist);
102 return extlist; 102 return extlist;
103} 103}
104 104
105static void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, 105static void *
106 X509V3_CTX *ctx, 106v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
107 STACK_OF(CONF_VALUE) *values) 107 STACK_OF(CONF_VALUE) *values)
108{ 108{
109 POLICY_CONSTRAINTS *pcons=NULL; 109 POLICY_CONSTRAINTS *pcons = NULL;
110 CONF_VALUE *val; 110 CONF_VALUE *val;
111 int i; 111 int i;
112 if(!(pcons = POLICY_CONSTRAINTS_new())) { 112
113 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS, ERR_R_MALLOC_FAILURE); 113 if (!(pcons = POLICY_CONSTRAINTS_new())) {
114 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS,
115 ERR_R_MALLOC_FAILURE);
114 return NULL; 116 return NULL;
115 } 117 }
116 for(i = 0; i < sk_CONF_VALUE_num(values); i++) { 118 for (i = 0; i < sk_CONF_VALUE_num(values); i++) {
117 val = sk_CONF_VALUE_value(values, i); 119 val = sk_CONF_VALUE_value(values, i);
118 if(!strcmp(val->name, "requireExplicitPolicy")) { 120 if (!strcmp(val->name, "requireExplicitPolicy")) {
119 if(!X509V3_get_value_int(val, 121 if (!X509V3_get_value_int(val,
120 &pcons->requireExplicitPolicy)) goto err; 122 &pcons->requireExplicitPolicy)) goto err;
121 } else if(!strcmp(val->name, "inhibitPolicyMapping")) { 123 } else if (!strcmp(val->name, "inhibitPolicyMapping")) {
122 if(!X509V3_get_value_int(val, 124 if (!X509V3_get_value_int(val,
123 &pcons->inhibitPolicyMapping)) goto err; 125 &pcons->inhibitPolicyMapping)) goto err;
124 } else { 126 } else {
125 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS, X509V3_R_INVALID_NAME); 127 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS,
128 X509V3_R_INVALID_NAME);
126 X509V3_conf_err(val); 129 X509V3_conf_err(val);
127 goto err; 130 goto err;
128 } 131 }
129 } 132 }
130 if (!pcons->inhibitPolicyMapping && !pcons->requireExplicitPolicy) { 133 if (!pcons->inhibitPolicyMapping && !pcons->requireExplicitPolicy) {
131 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS, X509V3_R_ILLEGAL_EMPTY_EXTENSION); 134 X509V3err(X509V3_F_V2I_POLICY_CONSTRAINTS,
135 X509V3_R_ILLEGAL_EMPTY_EXTENSION);
132 goto err; 136 goto err;
133 } 137 }
134 138
135 return pcons; 139 return pcons;
136 err: 140
141err:
137 POLICY_CONSTRAINTS_free(pcons); 142 POLICY_CONSTRAINTS_free(pcons);
138 return NULL; 143 return NULL;
139} 144}
140