[Open-scap] [PATCH] [probes] rpminfo - add OVAL_OPERATION_NOT_EQUAL to supported operations
Petr Lautrbach
plautrba at redhat.com
Tue Jul 19 08:53:59 UTC 2011
---
src/OVAL/probes/unix/linux/rpminfo.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/src/OVAL/probes/unix/linux/rpminfo.c b/src/OVAL/probes/unix/linux/rpminfo.c
index 4918026..1c37a77 100644
--- a/src/OVAL/probes/unix/linux/rpminfo.c
+++ b/src/OVAL/probes/unix/linux/rpminfo.c
@@ -186,6 +186,20 @@ static int get_rpminfo (struct rpminfo_req *req, struct rpminfo_rep **rep)
ret = rpmdbGetIteratorCount (match);
break;
+ case OVAL_OPERATION_NOT_EQUAL:
+ match = rpmtsInitIterator (g_rpm.rpmts, RPMDBI_PACKAGES, NULL, 0);
+ if (match == NULL) {
+ ret = 0;
+ goto ret;
+ }
+
+ if (rpmdbSetIteratorRE (match, RPMTAG_NAME, RPMMIRE_GLOB, "*") != 0)
+ {
+ ret = -1;
+ goto ret;
+ }
+
+ break;
case OVAL_OPERATION_PATTERN_MATCH:
match = rpmtsInitIterator (g_rpm.rpmts, RPMDBI_PACKAGES, NULL, 0);
@@ -303,6 +317,7 @@ int probe_main (probe_ctx *ctx, void *arg)
switch (request_st.op) {
case OVAL_OPERATION_EQUALS:
+ case OVAL_OPERATION_NOT_EQUAL:
case OVAL_OPERATION_PATTERN_MATCH:
break;
default:
--
1.7.5.4
More information about the Open-scap-list
mailing list