"allow *",
"allow r",
"allow rwx",
+ "allow r pool foo ",
+ " allow wx pool taco",
"allow pool foo r",
"allow pool taco wx",
+ "allow wx pool taco object_prefix obj",
+ "allow wx pool taco object_prefix obj_with_underscores_and_no_quotes",
"allow pool taco object_prefix obj wx",
"allow pool taco object_prefix obj_with_underscores_and_no_quotes wx",
- "allow pool 'weird name' rwx",
- "allow pool \"weird name with ''s\" rwx",
+ "allow rwx pool 'weird name'",
+ "allow rwx pool \"weird name with ''s\"",
+ "allow rwx auid 123",
+ "allow rwx pool foo, allow r pool bar",
+ "allow rwx pool foo ; allow r pool bar",
+ "allow rwx pool foo ;allow r pool bar",
+ "allow rwx pool foo; allow r pool bar",
"allow auid 123 rwx",
"allow pool foo rwx, allow pool bar r",
"allow pool foo rwx ; allow pool bar r",
"allow pool foo rwx ;allow pool bar r",
"allow pool foo rwx; allow pool bar r",
+ " allow rwx pool foo; allow r pool bar ",
+ " allow rwx pool foo; allow r pool bar ",
" allow pool foo rwx; allow pool bar r ",
" allow pool foo rwx; allow pool bar r ",
"allow pool data rw, allow pool rbd rwx, allow pool images class rbd foo",
"allow class foo",
"allow class clsname \"clsthingidon'tunderstand\"",
+
+
+ // "allow rw pool data, allow rwx pool rbd, allow pool images class rbd foo",
+ //"allow class foo",
+ //"allow class clsname \"clsthingidon'tunderstand\"",
0
};
const char *parse_bad[] = {
"ALLOW r",
"allow rwx,",
- "allow r pool foo",
- "allow pool taco wwx",
- "allow pool taco^funny&chars wwx",
- "allow pool 'weird name'' rwx",
- "allow object_prefix \"beforepool\" pool weird rwx",
- "allow auid 123 pool asdf rwx",
- "allow pool foo xrwx,, allow pool bar r",
- ";allow pool foo rwx ; allow pool bar r",
- "allow pool foo rwx ;allow pool bar r gibberish",
+ "allow rwx x",
+ "allow r pool foo r",
+ "allow wwx pool taco",
+ "allow wwx pool taco^funny&chars",
+ "allow rwx pool 'weird name''",
+ "allow rwx object_prefix \"beforepool\" pool weird",
+ "allow rwx auid 123 pool asdf",
+ "allow xrwx pool foo,, allow r pool bar",
+ ";allow rwx pool foo rwx ; allow r pool bar",
+ "allow rwx pool foo ;allow r pool bar gibberish",
0
};
TEST(OSDCap, AllowPool) {
OSDCap cap;
- bool r = cap.parse("allow pool foo rwx", NULL);
+ bool r = cap.parse("allow rwx pool foo", NULL);
ASSERT_TRUE(r);
ASSERT_TRUE(cap.is_capable("foo", 0, "", true, true, true));
TEST(OSDCap, AllowPools) {
OSDCap cap;
- bool r = cap.parse("allow pool foo rwx, allow pool bar r", NULL);
+ bool r = cap.parse("allow rwx pool foo, allow r pool bar", NULL);
ASSERT_TRUE(r);
ASSERT_TRUE(cap.is_capable("foo", 0, "", true, true, true));
TEST(OSDCap, AllowPools2) {
OSDCap cap;
- bool r = cap.parse("allow r, allow pool foo rwx", NULL);
+ bool r = cap.parse("allow r, allow rwx pool foo", NULL);
ASSERT_TRUE(r);
ASSERT_TRUE(cap.is_capable("foo", 0, "", true, true, true));
TEST(OSDCap, ObjectPrefix) {
OSDCap cap;
- bool r = cap.parse("allow object_prefix foo rwx", NULL);
+ bool r = cap.parse("allow rwx object_prefix foo", NULL);
ASSERT_TRUE(r);
ASSERT_TRUE(cap.is_capable("bar", 0, "foo", true, true, true));
TEST(OSDCap, ObjectPoolAndPrefix) {
OSDCap cap;
- bool r = cap.parse("allow pool bar object_prefix foo rwx", NULL);
+ bool r = cap.parse("allow rwx pool bar object_prefix foo", NULL);
ASSERT_TRUE(r);
ASSERT_TRUE(cap.is_capable("bar", 0, "foo", true, true, true));