From: Nikos Mavrogiannopoulos Date: Mon, 4 Mar 2013 23:43:24 +0000 (+0100) Subject: handle the interesting variance between directories X-Git-Tag: gnutls_3_1_10~65 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c739ffe5c7a6c2415d55ea8524ea7ddd0e4fcd29;p=thirdparty%2Fgnutls.git handle the interesting variance between directories --- diff --git a/lib/system.c b/lib/system.c index db91179e1a..9983d01f6e 100644 --- a/lib/system.c +++ b/lib/system.c @@ -467,8 +467,8 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags, unsig } #elif defined(ANDROID) || defined(__ANDROID__) # include - -static int load_dir_certs(const char* dirname, gnutls_x509_trust_list_t list, unsigned int tl_flags, unsigned int tl_vflags) +static int load_dir_certs(const char* dirname, gnutls_x509_trust_list_t list, + unsigned int tl_flags, unsigned int tl_vflags, unsigned type) { DIR * dirp; struct dirent *d; @@ -484,7 +484,7 @@ char path[GNUTLS_PATH_MAX]; d = readdir(dirp); if (d != NULL && d->d_type == DT_REG) { snprintf(path, sizeof(path), "%s/%s", dirname, d->d_name); - ret = gnutls_x509_trust_list_add_trust_file(list, path, NULL, GNUTLS_X509_FMT_PEM, tl_flags, tl_vflags); + ret = gnutls_x509_trust_list_add_trust_file(list, path, NULL, type, tl_flags, tl_vflags); if (ret >= 0) r += ret; } @@ -503,11 +503,11 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags, unsig { int r = 0, ret; - ret = load_dir_certs("/system/etc/security/cacerts/", list, tl_flags, tl_vflags); + ret = load_dir_certs("/system/etc/security/cacerts/", list, tl_flags, tl_vflags, GNUTLS_X509_FMT_PEM); if (ret >= 0) r += ret; - ret = load_dir_certs("/data/misc/keychain/cacerts-added/", list, tl_flags, tl_vflags); + ret = load_dir_certs("/data/misc/keychain/cacerts-added/", list, tl_flags, tl_vflags, GNUTLS_X509_FMT_DER); if (ret >= 0) r += ret;