/*
- Copyright 2015 IoT.bzh
+ Copyright 2015, 2016, 2017 IoT.bzh
+
+ author: José Bollo <jose.bollo@iot.bzh>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
*/
-#include <syslog.h>
#include <unistd.h>
#include <stdio.h>
#include <dirent.h>
#include "verbose.h"
-#include "wgtpkg.h"
+#include "wgtpkg-files.h"
+#include "wgtpkg-workdir.h"
+#include "wgtpkg-xmlsec.h"
static int initstatus;
static int initdone;
static xmlSecKeysMngrPtr keymgr;
-#ifndef CA_ROOT_DIRECTORY
-#define CA_ROOT_DIRECTORY "./ca-certificates"
-#endif
+static const char trusted_certificates_directory[] = WGTPKG_TRUSTED_CERT_DIR;
/* checks if a file match uri (should not be a distributor signature) */
static int file_match_cb(const char *uri)
/* read the opened file */
static int file_read_cb(void *context, char *buffer, int len)
{
- size_t r = fread(buffer, 1, len, (FILE*)context);
+ size_t r = fread(buffer, 1, (unsigned)len, (FILE*)context);
return r ? (int)r : feof((FILE*)context) ? 0 : - 1;
}
ERROR("xmlSecCryptoAppDefaultKeysMngrInit failed.");
goto end;
}
- fill_trusted_keys_dir(CA_ROOT_DIRECTORY);
+ fill_trusted_keys_dir(trusted_certificates_directory);
initstatus = 0;
end:
/* create a signature of 'index' (0 for author, other values for distributors)
using the private 'key' (filename) and the certificates 'certs' (filenames)
as trusted chain */
-xmlDocPtr xmlsec_create(int index, const char *key, const char **certs)
+xmlDocPtr xmlsec_create(unsigned int index, const char *key, const char **certs)
{
unsigned int i, fc, mask;
struct filedesc *fdesc;