ASSERT_TRUE(cap.parse(g_ceph_context, "allow *", NULL));
ASSERT_TRUE(cap.allow_all());
- ASSERT_TRUE(cap.is_capable("foo/bar", 0, 0, 0777, 0, MAY_READ | MAY_WRITE));
+ ASSERT_TRUE(cap.is_capable("foo/bar", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE));
}
TEST(MDSAuthCaps, AllowUid) {
MDSAuthCaps cap;
ASSERT_TRUE(cap.parse(g_ceph_context, "allow * uid=10", NULL));
ASSERT_FALSE(cap.allow_all());
- ASSERT_TRUE(cap.is_capable("foo", 0, 0, 0777, 10, MAY_READ | MAY_WRITE));
- ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, -1, MAY_READ | MAY_WRITE));
- ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, MAY_READ | MAY_WRITE));
+ ASSERT_TRUE(cap.is_capable("foo", 0, 0, 0777, 10, 0, MAY_READ | MAY_WRITE));
+ ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, -1, 0, MAY_READ | MAY_WRITE));
+ ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE));
+ ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0775, 10, 10, MAY_READ));
+ ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0777, 10, 10, MAY_WRITE));
+ ASSERT_TRUE(cap.is_capable("foo", 10, 10, 0755, 10, 10, MAY_WRITE));
+ ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, 10, MAY_READ|MAY_CREATE));
+ ASSERT_FALSE(cap.is_capable("foo", 10, 10, 0755, 0, 0, MAY_READ));
+ ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0777, 10, 10, MAY_READ|MAY_CREATE));
+ ASSERT_TRUE(cap.is_capable("foo", 0, 10, 0557, 10, 10, MAY_READ));
+ ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0557, 10, 10, MAY_READ|MAY_CREATE));
+ ASSERT_FALSE(cap.is_capable("foo", 10, 10, 0577, 10, 10, MAY_WRITE));
}
TEST(MDSAuthCaps, AllowPath) {
MDSAuthCaps cap;
ASSERT_TRUE(cap.parse(g_ceph_context, "allow * path=/sandbox", NULL));
ASSERT_FALSE(cap.allow_all());
- ASSERT_TRUE(cap.is_capable("sandbox/foo", 0, 0, 0777, 0, MAY_READ | MAY_WRITE));
- ASSERT_TRUE(cap.is_capable("sandbox", 0, 0, 0777, 0, MAY_READ | MAY_WRITE));
- ASSERT_FALSE(cap.is_capable("sandboxed", 0, 0, 0777, 0, MAY_READ | MAY_WRITE));
- ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, MAY_READ | MAY_WRITE));
+ ASSERT_TRUE(cap.is_capable("sandbox/foo", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE));
+ ASSERT_TRUE(cap.is_capable("sandbox", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE));
+ ASSERT_FALSE(cap.is_capable("sandboxed", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE));
+ ASSERT_FALSE(cap.is_capable("foo", 0, 0, 0777, 0, 0, MAY_READ | MAY_WRITE));
}
TEST(MDSAuthCaps, OutputParsed) {
ASSERT_TRUE(cap.parse(g_ceph_context, test_values[i].input, &cout));
ASSERT_EQ(test_values[i].output, stringify(cap));
}
-}
-
+}
\ No newline at end of file