From: Jo-Philipp Wich Date: Sat, 18 Feb 2017 14:04:02 +0000 (+0100) Subject: libopkg: remove Curl support X-Git-Url: https://git.librecmc.org/?p=oweals%2Fopkg-lede.git;a=commitdiff_plain;h=1a4c5369c4f62b0fc573f22fa53724603672910a libopkg: remove Curl support Signed-off-by: Jo-Philipp Wich --- diff --git a/libopkg/opkg.c b/libopkg/opkg.c index 99e8c6d..c58d54d 100644 --- a/libopkg/opkg.c +++ b/libopkg/opkg.c @@ -137,9 +137,6 @@ err0: void opkg_free(void) { -#ifdef HAVE_CURL - opkg_curl_cleanup(); -#endif opkg_conf_deinit(); } diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c index 03a9489..bed4d14 100644 --- a/libopkg/opkg_conf.c +++ b/libopkg/opkg_conf.c @@ -73,18 +73,6 @@ opkg_option_t options[] = { #if defined(HAVE_OPENSSL) {"signature_ca_file", OPKG_OPT_TYPE_STRING, &_conf.signature_ca_file}, {"signature_ca_path", OPKG_OPT_TYPE_STRING, &_conf.signature_ca_path}, -#endif -#if defined(HAVE_SSLCURL) && defined(HAVE_CURL) - {"ssl_engine", OPKG_OPT_TYPE_STRING, &_conf.ssl_engine}, - {"ssl_cert", OPKG_OPT_TYPE_STRING, &_conf.ssl_cert}, - {"ssl_cert_type", OPKG_OPT_TYPE_STRING, &_conf.ssl_cert_type}, - {"ssl_key", OPKG_OPT_TYPE_STRING, &_conf.ssl_key}, - {"ssl_key_type", OPKG_OPT_TYPE_STRING, &_conf.ssl_key_type}, - {"ssl_key_passwd", OPKG_OPT_TYPE_STRING, &_conf.ssl_key_passwd}, - {"ssl_ca_file", OPKG_OPT_TYPE_STRING, &_conf.ssl_ca_file}, - {"ssl_ca_path", OPKG_OPT_TYPE_STRING, &_conf.ssl_ca_path}, - {"ssl_dont_verify_peer", OPKG_OPT_TYPE_BOOL, - &_conf.ssl_dont_verify_peer}, #endif {NULL, 0, NULL} }; diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h index acb7fa0..9cf7681 100644 --- a/libopkg/opkg_conf.h +++ b/libopkg/opkg_conf.h @@ -89,22 +89,6 @@ struct opkg_conf { int download_only; char *cache; -#ifdef HAVE_SSLCURL - /* some options could be used by - * wget if curl support isn't builtin - * If someone want to try... - */ - char *ssl_engine; - char *ssl_cert; - char *ssl_cert_type; - char *ssl_key; - char *ssl_key_type; - char *ssl_key_passwd; - char *ssl_ca_file; - char *ssl_ca_path; - int ssl_dont_verify_peer; -#endif - /* proxy options */ char *http_proxy; char *ftp_proxy; diff --git a/libopkg/opkg_download.c b/libopkg/opkg_download.c index c52f058..f1553ab 100644 --- a/libopkg/opkg_download.c +++ b/libopkg/opkg_download.c @@ -31,11 +31,7 @@ #include "opkg_defines.h" #include "libbb/libbb.h" -#ifdef HAVE_CURL -#include -#endif - -#if defined(HAVE_SSLCURL) || defined(HAVE_OPENSSL) +#if defined(HAVE_OPENSSL) #include #include #include @@ -50,7 +46,7 @@ #include #endif -#if defined(HAVE_OPENSSL) || defined(HAVE_SSLCURL) +#if defined(HAVE_OPENSSL) static void openssl_init(void); #endif @@ -58,15 +54,6 @@ static void openssl_init(void); static X509_STORE *setup_verify(char *CAfile, char *CApath); #endif -#ifdef HAVE_CURL -/* - * Make curl an instance variable so we don't have to instanciate it - * each time - */ -static CURL *curl = NULL; -static CURL *opkg_curl_init(curl_progress_func cb, void *data); -#endif - static int str_starts_with(const char *str, const char *prefix) { return (strncmp(str, prefix, strlen(prefix)) == 0); @@ -120,33 +107,7 @@ opkg_download(const char *src, const char *dest_file_name, conf->no_proxy); setenv("no_proxy", conf->no_proxy, 1); } -#ifdef HAVE_CURL - CURLcode res; - FILE *file = fopen(tmp_file_location, "w"); - - curl = opkg_curl_init(cb, data); - if (curl) { - curl_easy_setopt(curl, CURLOPT_URL, src); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, file); - res = curl_easy_perform(curl); - fclose(file); - if (res) { - long error_code; - curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, - &error_code); - opkg_msg(hide_error ? DEBUG2 : ERROR, - "Failed to download %s: %s.\n", src, - curl_easy_strerror(res)); - free(tmp_file_location); - return -1; - } - - } else { - free(tmp_file_location); - return -1; - } -#else { int res; const char *argv[8]; @@ -175,7 +136,6 @@ opkg_download(const char *src, const char *dest_file_name, return -1; } } -#endif err = file_move(tmp_file_location, dest_file_name); @@ -433,7 +393,7 @@ verify_file_end: #endif } -#if defined(HAVE_OPENSSL) || defined(HAVE_SSLCURL) +#if defined(HAVE_OPENSSL) static void openssl_init(void) { static int init = 0; @@ -502,126 +462,3 @@ end: } #endif - -#ifdef HAVE_CURL -void opkg_curl_cleanup(void) -{ - if (curl != NULL) { - curl_easy_cleanup(curl); - curl = NULL; - } -} - -static CURL *opkg_curl_init(curl_progress_func cb, void *data) -{ - - if (curl == NULL) { - curl = curl_easy_init(); - -#ifdef HAVE_SSLCURL - openssl_init(); - - if (conf->ssl_engine) { - - /* use crypto engine */ - if (curl_easy_setopt - (curl, CURLOPT_SSLENGINE, - conf->ssl_engine) != CURLE_OK) { - opkg_msg(ERROR, - "Can't set crypto engine '%s'.\n", - conf->ssl_engine); - - opkg_curl_cleanup(); - return NULL; - } - /* set the crypto engine as default */ - if (curl_easy_setopt - (curl, CURLOPT_SSLENGINE_DEFAULT, 1L) != CURLE_OK) { - opkg_msg(ERROR, - "Can't set crypto engine '%s' as default.\n", - conf->ssl_engine); - - opkg_curl_cleanup(); - return NULL; - } - } - - /* cert & key can only be in PEM case in the same file */ - if (conf->ssl_key_passwd) { - if (curl_easy_setopt - (curl, CURLOPT_SSLKEYPASSWD, - conf->ssl_key_passwd) != CURLE_OK) { - opkg_msg(DEBUG, - "Failed to set key password.\n"); - } - } - - /* sets the client certificate and its type */ - if (conf->ssl_cert_type) { - if (curl_easy_setopt - (curl, CURLOPT_SSLCERTTYPE, - conf->ssl_cert_type) != CURLE_OK) { - opkg_msg(DEBUG, - "Failed to set certificate format.\n"); - } - } - /* SSL cert name isn't mandatory */ - if (conf->ssl_cert) { - curl_easy_setopt(curl, CURLOPT_SSLCERT, conf->ssl_cert); - } - - /* sets the client key and its type */ - if (conf->ssl_key_type) { - if (curl_easy_setopt - (curl, CURLOPT_SSLKEYTYPE, - conf->ssl_key_type) != CURLE_OK) { - opkg_msg(DEBUG, "Failed to set key format.\n"); - } - } - if (conf->ssl_key) { - if (curl_easy_setopt - (curl, CURLOPT_SSLKEY, conf->ssl_key) != CURLE_OK) { - opkg_msg(DEBUG, "Failed to set key.\n"); - } - } - - /* Should we verify the peer certificate ? */ - if (conf->ssl_dont_verify_peer) { - /* - * CURLOPT_SSL_VERIFYPEER default is nonzero (curl => 7.10) - */ - curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0); - } - - /* certification authority file and/or path */ - if (conf->ssl_ca_file) { - curl_easy_setopt(curl, CURLOPT_CAINFO, - conf->ssl_ca_file); - } - if (conf->ssl_ca_path) { - curl_easy_setopt(curl, CURLOPT_CAPATH, - conf->ssl_ca_path); - } -#endif - - curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1); - curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1); - if (conf->http_proxy || conf->ftp_proxy) { - char *userpwd; - sprintf_alloc(&userpwd, "%s:%s", conf->proxy_user, - conf->proxy_passwd); - curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, userpwd); - free(userpwd); - } - } - - curl_easy_setopt(curl, CURLOPT_NOPROGRESS, (cb == NULL)); - if (cb) { - curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, data); - curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, cb); - } - - return curl; - -} -#endif diff --git a/libopkg/opkg_download.h b/libopkg/opkg_download.h index 8fc4350..7415cf3 100644 --- a/libopkg/opkg_download.h +++ b/libopkg/opkg_download.h @@ -33,7 +33,4 @@ int opkg_download_pkg(pkg_t * pkg, const char *dir); int opkg_prepare_url_for_install(const char *url, char **namep); int opkg_verify_file(char *text_file, char *sig_file); -#ifdef HAVE_CURL -void opkg_curl_cleanup(void); -#endif #endif diff --git a/src/opkg-cl.c b/src/opkg-cl.c index eff84a9..e73e042 100644 --- a/src/opkg-cl.c +++ b/src/opkg-cl.c @@ -440,9 +440,6 @@ int main(int argc, char *argv[]) err = opkg_cmd_exec(cmd, argc - opts, (const char **)(argv + opts)); -#ifdef HAVE_CURL - opkg_curl_cleanup(); -#endif err1: opkg_conf_deinit();