Lines Matching refs:ca

90   struct cafile_parser *ca = ctx;
92 if(ca->err != CURLE_OK || !ca->in_cert)
94 if(sizeof(ca->dn) - ca->dn_len < len) {
95 ca->err = CURLE_FAILED_INIT;
98 memcpy(ca->dn + ca->dn_len, buf, len);
99 ca->dn_len += len;
104 struct cafile_parser *ca = ctx;
106 if(ca->in_cert)
107 br_x509_decoder_push(&ca->xc, buf, len);
114 struct cafile_parser ca;
139 ca.err = CURLE_OK;
140 ca.in_cert = FALSE;
141 ca.anchors = NULL;
142 ca.anchors_len = 0;
144 br_pem_decoder_setdest(&pc, x509_push, &ca);
158 if(ca.err)
170 br_x509_decoder_init(&ca.xc, append_dn, &ca);
171 ca.in_cert = TRUE;
172 ca.dn_len = 0;
175 if(!ca.in_cert)
177 ca.in_cert = FALSE;
178 if(br_x509_decoder_last_error(&ca.xc)) {
179 ca.err = CURLE_SSL_CACERT_BADFILE;
183 if(ca.anchors_len == SIZE_MAX / sizeof(ca.anchors[0])) {
184 ca.err = CURLE_OUT_OF_MEMORY;
187 new_anchors_len = ca.anchors_len + 1;
188 new_anchors = realloc(ca.anchors,
189 new_anchors_len * sizeof(ca.anchors[0]));
191 ca.err = CURLE_OUT_OF_MEMORY;
194 ca.anchors = new_anchors;
195 ca.anchors_len = new_anchors_len;
196 ta = &ca.anchors[ca.anchors_len - 1];
199 if(br_x509_decoder_isCA(&ca.xc))
201 pkey = br_x509_decoder_get_pkey(&ca.xc);
203 ca.err = CURLE_SSL_CACERT_BADFILE;
209 ta_size = ca.dn_len;
218 ca.err = CURLE_FAILED_INIT;
225 ca.err = CURLE_OUT_OF_MEMORY;
228 memcpy(ta->dn.data, ca.dn, ca.dn_len);
229 ta->dn.len = ca.dn_len;
244 ca.err = CURLE_SSL_CACERT_BADFILE;
250 ca.err = CURLE_READ_ERROR;
251 else if(ca.in_cert)
252 ca.err = CURLE_SSL_CACERT_BADFILE;
257 if(ca.err == CURLE_OK) {
258 *anchors = ca.anchors;
259 *anchors_len = ca.anchors_len;
262 for(i = 0; i < ca.anchors_len; ++i)
263 free(ca.anchors[i].dn.data);
264 free(ca.anchors);
267 return ca.err;