X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=src%2Fopkg-cl.c;h=01c6e94627af927a59bd63542b9f65e670d64ed5;hb=4318ab1de6881f00ccb3a04c755893dee5f068ed;hp=29072313929f9602bb97bb6fd6bf0fefcdd6cf68;hpb=021ed5c3deec5ae89b47acdd74f9e2c7894ce2e0;p=project%2Fopkg-lede.git diff --git a/src/opkg-cl.c b/src/opkg-cl.c index 2907231..01c6e94 100644 --- a/src/opkg-cl.c +++ b/src/opkg-cl.c @@ -20,8 +20,6 @@ */ #define _GNU_SOURCE -#include "config.h" - #include #include #include @@ -54,6 +52,8 @@ enum { ARGS_OPT_AUTOREMOVE, ARGS_OPT_CACHE, ARGS_OPT_FORCE_SIGNATURE, + ARGS_OPT_NO_CHECK_CERTIFICATE, + ARGS_OPT_VERIFY_PROGRAM, ARGS_OPT_SIZE, }; @@ -93,6 +93,8 @@ static struct option long_options[] = { {"force_checksum", 0, 0, ARGS_OPT_FORCE_CHECKSUM}, {"force-signature", 0, 0, ARGS_OPT_FORCE_SIGNATURE}, {"force_signature", 0, 0, ARGS_OPT_FORCE_SIGNATURE}, + {"no-check-certificate", 0, 0, ARGS_OPT_NO_CHECK_CERTIFICATE}, + {"no_check_certificate", 0, 0, ARGS_OPT_NO_CHECK_CERTIFICATE}, {"noaction", 0, 0, ARGS_OPT_NOACTION}, {"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY}, {"nodeps", 0, 0, ARGS_OPT_NODEPS}, @@ -108,6 +110,8 @@ static struct option long_options[] = { {"lists-dir", 1, 0, 'l'}, {"lists_dir", 1, 0, 'l'}, {"verbosity", 2, 0, 'V'}, + {"verify-program", 1, 0, ARGS_OPT_VERIFY_PROGRAM}, + {"verify_program", 1, 0, ARGS_OPT_VERIFY_PROGRAM}, {"version", 0, 0, 'v'}, {0, 0, 0, 0} }; @@ -228,6 +232,12 @@ static int args_parse(int argc, char *argv[]) case ARGS_OPT_FORCE_SIGNATURE: conf->force_signature = 1; break; + case ARGS_OPT_NO_CHECK_CERTIFICATE: + conf->no_check_certificate = 1; + break; + case ARGS_OPT_VERIFY_PROGRAM: + conf->verify_program = xstrdup(optarg); + break; case ':': parse_err = -1; break; @@ -318,6 +328,8 @@ static void usage() printf(" directory name in a pinch).\n"); printf("\t-o Use as the root directory for\n"); printf("\t--offline-root offline installation of packages.\n"); + printf + ("\t--verify-program Use the given program to verify usign signatures\n"); printf ("\t--add-arch : Register architecture with given priority\n"); printf @@ -337,6 +349,7 @@ static void usage() printf ("\t--force-remove Remove package even if prerm script fails\n"); printf("\t--force-checksum Don't fail on checksum mismatches\n"); + printf("\t--no-check-certificate Don't validate SSL certificates\n"); printf("\t--noaction No action -- test only\n"); printf("\t--download-only No action -- download only\n"); printf("\t--nodeps Do not follow dependencies\n"); @@ -393,7 +406,9 @@ int main(int argc, char *argv[]) !strcmp(cmd_name, "print-architecture") || !strcmp(cmd_name, "print_architecture") || !strcmp(cmd_name, "print-installation-architecture") || - !strcmp(cmd_name, "print_installation_architecture")) + !strcmp(cmd_name, "print_installation_architecture") || + !strcmp(cmd_name, "compare_versions") || + !strcmp(cmd_name, "compare-versions")) nocheckfordirorfile = 1; if (!strcmp(cmd_name, "flag") || @@ -402,13 +417,13 @@ int main(int argc, char *argv[]) !strcmp(cmd_name, "remove") || !strcmp(cmd_name, "files") || !strcmp(cmd_name, "search") || - !strcmp(cmd_name, "compare_versions") || - !strcmp(cmd_name, "compare-versions") || + !strcmp(cmd_name, "list") || !strcmp(cmd_name, "list_installed") || !strcmp(cmd_name, "list-installed") || !strcmp(cmd_name, "list_changed_conffiles") || !strcmp(cmd_name, "list-changed-conffiles") || - !strcmp(cmd_name, "status")) + !strcmp(cmd_name, "status") || + !strcmp(cmd_name, "update")) noreadfeedsfile = 1; cmd = opkg_cmd_find(cmd_name); @@ -425,11 +440,11 @@ int main(int argc, char *argv[]) if (!nocheckfordirorfile) { if (!noreadfeedsfile) { - if (pkg_hash_load_feeds(SF_NEED_DETAIL)) + if (pkg_hash_load_feeds(SF_NEED_DETAIL, NULL, NULL)) goto err1; } - if (pkg_hash_load_status_files()) + if (pkg_hash_load_status_files(NULL, NULL)) goto err1; } @@ -442,9 +457,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();