summaryrefslogtreecommitdiffstats
path: root/wgtpkg-certs.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2015-12-09 14:35:04 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2015-12-09 14:35:04 +0100
commitbf7b5918fcc07713a29b9ca32f766b65b15a4ec2 (patch)
treea4ad318995f3213cee35a2065fc3c4911e2012dc /wgtpkg-certs.c
parent0270b7281b783cbea5c1f0ebb4440d2be1bd79fa (diff)
refactoring sources
Change-Id: Id6d52eee86b706958972e9b345ec0d4d1e488146 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'wgtpkg-certs.c')
-rw-r--r--wgtpkg-certs.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/wgtpkg-certs.c b/wgtpkg-certs.c
deleted file mode 100644
index 1d8b976..0000000
--- a/wgtpkg-certs.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- Copyright 2015 IoT.bzh
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-
-#include <syslog.h>
-#include <openssl/x509.h>
-
-#include "wgtpkg.h"
-
-struct x509l {
- int count;
- X509 **certs;
-};
-
-static struct x509l certificates = { .count = 0, .certs = NULL };
-
-static int add_certificate_x509(X509 *x)
-{
- X509 **p = realloc(certificates.certs, (certificates.count + 1) * sizeof(X509*));
- if (!p) {
- syslog(LOG_ERR, "reallocation failed for certificate");
- return -1;
- }
- certificates.certs = p;
- p[certificates.count++] = x;
- return 0;
-}
-
-static int add_certificate_bin(const char *bin, int len)
-{
- int rc;
- const char *b, *e;
- b = bin;
- e = bin + len;
- while (len) {
- X509 *x = d2i_X509(NULL, (const unsigned char **)&b, e-b);
- if (x == NULL) {
- syslog(LOG_ERR, "d2i_X509 failed");
- return -1;
- }
- rc = add_certificate_x509(x);
- if (rc) {
- X509_free(x);
- return rc;
- }
- }
- return 0;
-}
-
-int add_certificate_b64(const char *b64)
-{
- char *d;
- int l = base64dec(b64, &d);
- if (l > 0) {
- l = add_certificate_bin(d, l);
- free(d);
- }
- return l;
-}
-
-void clear_certificates()
-{
- while(certificates.count)
- X509_free(certificates.certs[--certificates.count]);
-}
-
-