#define RGW_PERM_WRITE_OBJS 0x20
#define RGW_PERM_FULL_CONTROL ( RGW_PERM_READ | RGW_PERM_WRITE | \
RGW_PERM_READ_ACP | RGW_PERM_WRITE_ACP )
-#define RGW_PERM_ALL RGW_PERM_FULL_CONTROL
+#define RGW_PERM_ALL_S3 RGW_PERM_FULL_CONTROL
enum ACLGranteeTypeEnum {
/* numbers are encoded, should not change */
}
void ACLGrant_S3::to_xml(ostream& out) {
+ ACLPermission_S3& perm = static_cast<ACLPermission_S3 &>(permission);
+
+ /* only show s3 compatible permissions */
+ if (!(perm.get_permissions() & RGW_PERM_ALL_S3))
+ return;
+
out << "<Grant>" <<
"<Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"" << ACLGranteeType_S3::to_string(type) << "\">";
switch (type.get_type()) {
break;
}
out << "</Grantee>";
- ACLPermission_S3& perm = static_cast<ACLPermission_S3 &>(permission);
perm.to_xml(out);
out << "</Grant>";
}
using namespace std;
-#define SWIFT_PERM_READ RGW_PERM_READ
-#define SWIFT_PERM_WRITE RGW_PERM_WRITE
+#define SWIFT_PERM_READ RGW_PERM_READ_OBJS
+#define SWIFT_PERM_WRITE RGW_PERM_WRITE_OBJS
static int parse_list(string& uid_list, vector<string>& uids)
{
using namespace std;
-#define RGW_URI_ALL_USERS "http://acs.amazonaws.com/groups/global/AllUsers"
-#define RGW_URI_AUTH_USERS "http://acs.amazonaws.com/groups/global/AuthenticatedUsers"
-
-#define RGW_PERM_READ 0x01
-#define RGW_PERM_WRITE 0x02
-#define RGW_PERM_READ_ACP 0x04
-#define RGW_PERM_WRITE_ACP 0x08
-#define RGW_PERM_FULL_CONTROL ( RGW_PERM_READ | RGW_PERM_WRITE | \
- RGW_PERM_READ_ACP | RGW_PERM_WRITE_ACP )
-#define RGW_PERM_ALL RGW_PERM_FULL_CONTROL
-
class XMLObj;
class XMLObjIter {