Using cfengine 3.0.1 and cfengine 3 svn 328:
Objective: find unowned files and assign them a default owner.
Problem: search_owners doesn't seem to really accept regexes, as documented
examples suggest. Search_groups suffers this same malady. It's difficult to see
how the required objective could be met without at least working character
classes and the "+" operator.
Test case:
body common control {
bundlesequence => { "s" };
}
bundle agent s {
files:
"/"
file_select => noowner,
perms => pnoowner,
action => warn;
}
body file_select noowner {
search_owners => { "[a-zA-Z0-9_.]+" };
file_result => "!owner";
}
body action warn{
action_policy => "warn";
}
body perms pnoowner {
owners => { "root" };
groups => { "root" };
}
Cf-promises -v -f ./test7.cf:
.
.
.
cf3 > Parsing file ./test7.cf
cf3:./test7.cf:13,38: Scalar item in search_owners => { [a-zA-Z0-9_.]+ } in
rvalue is out of bounds (value should match pattern [a-zA-Z0-9_$.-]+), near
token '}'
.
.
.
Cf-promises -d2 -f ./test7.cf:
.
.
.
------------------------------------------------
- Checking inline constraint/arg file_select[(ext body)] => mappedval
(bundle/body)
------------------------------------------------
Nothing to check for body reference
end CheckConstraintTypeMatch---------
Post Check Constraint files: search_owners => {'[a-zA-Z0-9_.]+'}
------------------------------------------------
- Checking inline constraint/arg search_owners[slist] => mappedval (l)
[a-zA-Z0-9_$.-]+
------------------------------------------------
------------------------------------------------
- Checking inline constraint/arg search_owners[slist] => mappedval (s)
[a-zA-Z0-9_$.-]+
------------------------------------------------
CheckParseString(search_owners => [a-zA-Z0-9_.]+/[a-zA-Z0-9_$.-]+)
Deleting scope match
Object match exists
Adding scope data match
Regex [a-zA-Z0-9_$.-]+ did not match ([a-zA-Z0-9_.]+) exactly, but it matched a
part of it.
IsCf3VarString([a-zA-Z0-9_.]+) - syntax verify
Found 0 variables in ([a-zA-Z0-9_.]+)
Validation: Scalar item in search_owners => { [a-zA-Z0-9_.]+ } in rvalue is out
of bounds (value should match pattern [a-zA-Z0-9_$.-]+)
end CheckConstraintTypeMatch---------
Post Check Constraint files: file_result =>!owner
.
.
.
--
Chris Faehl
Hosting Engineering Systems Manager, RightNow Technologies
_______________________________________________
Bug-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/bug-cfengine