diff --git a/libenv/sysinfo.c b/libenv/sysinfo.c index b72f5de1d1..d6420e55cf 100644 --- a/libenv/sysinfo.c +++ b/libenv/sysinfo.c @@ -1067,6 +1067,7 @@ static void BuiltinClasses(EvalContext *ctx) char vbuff[CF_BUFSIZE]; EvalContextClassPutHard(ctx, "any", "source=agent"); /* This is a reserved word / wildcard */ + EvalContextClassPutHard(ctx, "true", "source=agent"); snprintf(vbuff, CF_BUFSIZE, "cfengine_%s", CanonifyName(Version())); CreateHardClassesFromCanonification(ctx, vbuff, "inventory,attribute_name=none,source=agent"); diff --git a/libpromises/generic_agent.c b/libpromises/generic_agent.c index 1995536703..f92c67d6dd 100644 --- a/libpromises/generic_agent.c +++ b/libpromises/generic_agent.c @@ -406,7 +406,8 @@ static bool LoadAugmentsData(EvalContext *ctx, const char *filename, const JsonE if (!(StringEqual(key, "vars") || StringEqual(key, "classes") || StringEqual(key, "inputs") || - StringEqual(key, "augments"))) + StringEqual(key, "augments") || + StringEqual(key, "variables"))) { Log(LOG_LEVEL_VERBOSE, "Unknown augments key '%s' in file '%s', skipping it", key, filename); @@ -1590,8 +1591,6 @@ void GenericAgentInitialize(EvalContext *ctx, GenericAgentConfig *config) OpenLog(default_facility); SetSyslogFacility(default_facility); - EvalContextClassPutHard(ctx, "any", "source=agent"); - GenericAgentAddEditionClasses(ctx); // May set "enterprise_edition" class const Class *enterprise_edition = EvalContextClassGet(ctx, "default", "enterprise_edition"); diff --git a/libpromises/logic_expressions.c b/libpromises/logic_expressions.c index c98533ff51..f63a87fd16 100644 --- a/libpromises/logic_expressions.c +++ b/libpromises/logic_expressions.c @@ -250,10 +250,6 @@ ExpressionValue EvalExpression(const Expression *expr, { return EXPRESSION_VALUE_ERROR; } - else if (strcmp("true", name) == 0) - { - ret = EXPRESSION_VALUE_TRUE; - } else if (strcmp("false", name) == 0) { ret = EXPRESSION_VALUE_FALSE; diff --git a/tests/acceptance/00_basics/def.json/class_from_classexpression.cf b/tests/acceptance/00_basics/def.json/class_from_classexpression.cf index 80531c1716..ca1598d62a 100644 --- a/tests/acceptance/00_basics/def.json/class_from_classexpression.cf +++ b/tests/acceptance/00_basics/def.json/class_from_classexpression.cf @@ -29,6 +29,8 @@ bundle agent main "augments_class_from_classexpression_not", "augments_class_from_classexpression_or", "augments_class_from_classexpression_complex", + "augments_class_from_true", + not("augments_class_from_false") }; diff --git a/tests/acceptance/00_basics/def.json/class_from_classexpression.cf.json b/tests/acceptance/00_basics/def.json/class_from_classexpression.cf.json index cdbb1484eb..e7ae376103 100644 --- a/tests/acceptance/00_basics/def.json/class_from_classexpression.cf.json +++ b/tests/acceptance/00_basics/def.json/class_from_classexpression.cf.json @@ -6,6 +6,8 @@ "augments_class_from_classexpression_and": [ "cfengine.cfengine_3::" ], "augments_class_from_classexpression_not": [ "!MISSING::" ], "augments_class_from_classexpression_or": [ "cfengine|cfengine_3::" ], - "augments_class_from_classexpression_complex": [ "(cfengine|cfengine_3).!MISSING::" ] + "augments_class_from_classexpression_complex": [ "(cfengine|cfengine_3).!MISSING::" ], + "augments_class_from_true": [ true ], + "augments_class_from_false": [ false ] } }