- openscap-productid-cvrf.patch: add a --productid selector

for "oscap cvrf" as upstream does not detect the system yet.
  (might go away)

OBS-URL: https://build.opensuse.org/package/show/security/openscap?expand=0&rev=189
This commit is contained in:
Marcus Meissner 2017-11-14 14:29:43 +00:00 committed by Git OBS Bridge
parent f8d1dd749f
commit 128a9a554b
3 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,70 @@
diff -ru openscap-1.2.16/utils/oscap-cvrf.c openscap-1.2.16.xx/utils/oscap-cvrf.c
--- openscap-1.2.16/utils/oscap-cvrf.c 2017-11-14 12:48:32.000000000 +0100
+++ openscap-1.2.16.xx/utils/oscap-cvrf.c 2017-11-14 14:59:57.353065728 +0100
@@ -60,6 +60,7 @@
.help = "Options:\n"
" --index\r\t\t\t\t - Use index file to evaluate a directory of CVRF files.\n"
" --results\r\t\t\t\t - Filename to which evaluation results will be saved.\n",
+ " --productid\r\t\t\t\t - Product ID to use (currently not yet auto-detected).\n",
};
static struct oscap_module CVRF_EXPORT_MODULE = {
@@ -98,10 +99,18 @@
// Temporary hardcoded CPE until CPE name can be found without input by CVRF functions
// themselves
const char *os_name = "Red Hat Enterprise Linux Desktop Supplementary (v. 6)";
- struct oscap_source *import_source = oscap_source_new_from_file(action->cvrf_action->f_cvrf);
- struct oscap_source *export_source = cvrf_model_get_results_source(import_source, os_name);
- if (export_source == NULL)
+ struct oscap_source *import_source;
+ struct oscap_source *export_source;
+
+ if (action->cvrf_action->f_productid)
+ os_name = action->cvrf_action->f_productid;
+
+ import_source = oscap_source_new_from_file(action->cvrf_action->f_cvrf);
+ export_source = cvrf_model_get_results_source(import_source, os_name);
+ if (export_source == NULL) {
+ fprintf(stderr, "Could not find results for product %s\n", os_name);
return -1;
+ }
if (oscap_source_save_as(export_source, action->cvrf_action->f_results) == -1) {
result = OSCAP_ERROR;
@@ -180,6 +189,7 @@
CVRF_OPT_INDEX,
CVRF_OPT_RESULT_FILE,
CVRF_OPT_OUTPUT_FILE,
+ CVRF_OPT_PRODUCT_ID,
};
bool getopt_cvrf(int argc, char **argv, struct oscap_action *action) {
@@ -191,6 +201,7 @@
{"index", 0, NULL, CVRF_OPT_INDEX},
{"results", 1, NULL, CVRF_OPT_RESULT_FILE},
{"output", 1, NULL, CVRF_OPT_OUTPUT_FILE},
+ {"productid", 1, NULL, CVRF_OPT_PRODUCT_ID},
{0, 0, 0, 0}
};
@@ -206,6 +217,9 @@
case CVRF_OPT_OUTPUT_FILE:
cvrf_action->f_output = optarg;
break;
+ case CVRF_OPT_PRODUCT_ID:
+ cvrf_action->f_productid = optarg;
+ break;
default:
return oscap_module_usage(action->module, stderr, NULL);
}
diff -ru openscap-1.2.16/utils/oscap-tool.h openscap-1.2.16.xx/utils/oscap-tool.h
--- openscap-1.2.16/utils/oscap-tool.h 2017-11-14 12:48:32.000000000 +0100
+++ openscap-1.2.16.xx/utils/oscap-tool.h 2017-11-14 14:58:35.981147877 +0100
@@ -104,6 +104,7 @@
char *f_cvrf;
char *f_results;
char *f_output;
+ char *f_productid;
};
struct oscap_action {

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Nov 14 14:17:28 UTC 2017 - meissner@suse.com
- openscap-productid-cvrf.patch: add a --productid selector
for "oscap cvrf" as upstream does not detect the system yet.
(might go away)
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Nov 14 12:14:41 UTC 2017 - meissner@suse.com Tue Nov 14 12:14:41 UTC 2017 - meissner@suse.com

View File

@ -30,6 +30,7 @@ Source2: sysconfig.oscap-scan
# Generated from http://gitorious.org/test-suite/scap # Generated from http://gitorious.org/test-suite/scap
Source3: scap-yast2sec-xccdf.xml Source3: scap-yast2sec-xccdf.xml
Source4: scap-yast2sec-oval.xml Source4: scap-yast2sec-oval.xml
Patch0: openscap-productid-cvrf.patch
Url: http://www.open-scap.org/ Url: http://www.open-scap.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: doxygen BuildRequires: doxygen
@ -166,6 +167,7 @@ commonly used and require additional dependencies.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build