summaryrefslogtreecommitdiff
path: root/source4/utils/setntacl.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/utils/setntacl.c')
-rw-r--r--source4/utils/setntacl.c90
1 files changed, 1 insertions, 89 deletions
diff --git a/source4/utils/setntacl.c b/source4/utils/setntacl.c
index 0535c3037e..d7fe2f0a68 100644
--- a/source4/utils/setntacl.c
+++ b/source4/utils/setntacl.c
@@ -23,96 +23,8 @@
#include "includes.h"
#include "system/filesys.h"
-#if (defined(HAVE_NO_ACLS) || !defined(HAVE_XATTR_SUPPORT))
-
int main(int argc, char **argv)
{
- printf("ACL support not compiled in.");
+ printf("This utility disabled until rewritten\n");
return 1;
}
-
-#else
-
-static void setntacl(char *filename, struct security_descriptor *sd)
-{
- NTSTATUS status;
- struct ndr_push *ndr;
- ssize_t result;
-
- ndr = ndr_push_init();
-
- status = ndr_push_security_descriptor(
- ndr, NDR_SCALARS|NDR_BUFFERS, sd);
-
- result = setxattr(
- filename, "security.ntacl", ndr->data, ndr->offset, 0);
-
- if (result == -1) {
- fprintf(stderr, "%s: %s\n", filename, strerror(errno));
- exit(1);
- }
-
-}
-
- int main(int argc, char **argv)
-{
- char line[255];
- struct security_descriptor *sd;
- TALLOC_CTX *mem_ctx;
- struct security_acl *acl;
-
- static_init_ntacl;
-
- setup_logging("setntacl", DEBUG_STDOUT);
-
- mem_ctx = talloc_init("setntacl");
-
- sd = sd_initialise(mem_ctx);
-
- fgets(line, sizeof(line), stdin);
- sd->owner_sid = dom_sid_parse_talloc(mem_ctx, line);
-
- fgets(line, sizeof(line), stdin);
- sd->group_sid = dom_sid_parse_talloc(mem_ctx, line);
-
- acl = talloc_p(mem_ctx, struct security_acl);
-
- acl->revision = 2;
- acl->size = 0;
- acl->num_aces = 0;
- acl->aces = NULL;
-
- while(fgets(line, sizeof(line), stdin)) {
- int ace_type, ace_flags;
- uint32 ace_mask;
- char sidstr[255];
- struct dom_sid *sid;
-
- if (sscanf(line, "%d %d 0x%x %s", &ace_type, &ace_flags,
- &ace_mask, sidstr) != 4) {
- fprintf(stderr, "invalid ACL line\ndr");
- return 1;
- }
-
- acl->aces = talloc_realloc(mem_ctx, acl->aces,
- (acl->num_aces + 1) * sizeof(struct security_ace));
-
- acl->aces[acl->num_aces].type = ace_type;
- acl->aces[acl->num_aces].flags = ace_flags;
- acl->aces[acl->num_aces].access_mask = ace_mask;
-
- sid = dom_sid_parse_talloc(mem_ctx, sidstr);
-
- acl->aces[acl->num_aces].trustee = *sid;
-
- acl->num_aces++;
- }
-
- sd->dacl = acl;
-
- setntacl(argv[1], sd);
-
- return 0;
-}
-
-#endif /* HAVE_NO_ACLS */