Date: Tue, 8 Feb 2011 12:31:49 -0700 From: Shawn Webb <lattera@gmail.com> To: Miroslav Lachman <000.fbsd@quip.cz> Cc: FreeBSD-current <freebsd-current@freebsd.org> Subject: Re: setfacl Recursive Functionality Message-ID: <AANLkTimfyhi4wz59-1pyMRkUE6K0PCZmK9br-E=9psCq@mail.gmail.com> In-Reply-To: <4D518BC4.3080905@quip.cz> References: <AANLkTi=%2BWtmRz07m=Cg7hbXJGw7eWRHC1ASGeufTSLBB@mail.gmail.com> <4D518BC4.3080905@quip.cz>
next in thread | previous in thread | raw e-mail | index | archive | help
--0016363ba6be592828049bca669c Content-Type: text/plain; charset=ISO-8859-1 Attached is the patch. I'm also storing my FreeBSD patches at https://github.com/lattera/patches Thanks, Shawn On Tue, Feb 8, 2011 at 11:30 AM, Miroslav Lachman <000.fbsd@quip.cz> wrote: > Shawn Webb wrote: > >> I've just finished a patch to add recursive functionality to setfacl. >> Before >> I officially submit it, I'd like a few suggestions on how to improve the >> patch. >> >> The part I'm worried about involves the #define directive at top. I'm not >> sure what ramifications using that define might have. I needed it for my >> remove_invalid_inherit() function to work. >> > > Can it be extended to getfacl too? I am waiting for recursive functionality > for a long time. It is available on linux and maybe some other OSes. > > Miroslav Lachman > --0016363ba6be592828049bca669c Content-Type: application/octet-stream; name="getfacl_recursive.path" Content-Disposition: attachment; filename="getfacl_recursive.path" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gjx7hwz40 LS0tIC91c3Ivc3JjL2Jpbi9nZXRmYWNsL2dldGZhY2wuYwkyMDExLTAyLTAzIDEyOjExOjAwLjg1 MTQ5MzA2MSAtMDcwMAorKysgYmluL2dldGZhY2wvZ2V0ZmFjbC5jCTIwMTEtMDItMDggMTI6MjY6 NTIuMDcyMTg2NDgwIC0wNzAwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+ CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZGly ZW50Lmg+CiAKIGludAltb3JlX3RoYW5fb25lID0gMDsKIApAQCAtMjYwLDggKzI2MSw1NiBAQAog fQogCiBzdGF0aWMgaW50CityZWN1cnNlX2RpcmVjdG9yeShjaGFyICpwYXRoLCBhY2xfdHlwZV90 IHR5cGUsIGludCBoZmxhZywgaW50IGlmbGFnLAorICAgIGludCBuZmxhZywgaW50IHFmbGFnLCBp bnQgdmZsYWcsIGludCByZmxhZykKK3sKKwlESVIgKmRpcnA7CisJc3RydWN0IGRpcmVudCAqZW50 OworCXN0cnVjdCBzdGF0IHNiOworCWNoYXIgbmV3cGF0aFtQQVRIX01BWCsxXTsKKwlpbnQJY2Fy cmllZF9lcnJvciA9IDAsIGVycm9yOworCQorCWlmIChzdGF0KHBhdGgsICZzYikgPT0gLTEpIHsK KwkJd2FybigiJXM6IHN0YXQoKSBmYWlsZWQiLCBwYXRoKTsKKwkJcmV0dXJuIC0xOworCX0KKwkK KwllcnJvciA9IHByaW50X2FjbChwYXRoLCB0eXBlLCBoZmxhZywgaWZsYWcsIG5mbGFnLCBxZmxh ZywgdmZsYWcpOworCQorCWlmIChyZmxhZyA9PSAwIHx8IFNfSVNESVIoc2Iuc3RfbW9kZSkgPT0g MCkKKwkJcmV0dXJuIGVycm9yOworCQorCWlmIChlcnJvciA9PSAtMSkKKwkJY2FycmllZF9lcnJv ciA9IC0xOworCQorCWRpcnAgPSBvcGVuZGlyKHBhdGgpOworCXdoaWxlICgoZW50ID0gcmVhZGRp cihkaXJwKSkgIT0gTlVMTCkgeworCQlpZiAoc3RyY21wKGVudC0+ZF9uYW1lLCAiLiIpID09IDAg fHwgc3RyY21wKGVudC0+ZF9uYW1lLCAiLi4iKSA9PSAwKQorCQkJY29udGludWU7CisJCQorCQlz bnByaW50ZihuZXdwYXRoLCBQQVRIX01BWCwgIiVzLyVzIiwgcGF0aCwgZW50LT5kX25hbWUpOyAK KwkJCisJCWlmIChzdGF0KG5ld3BhdGgsICZzYikgPT0gLTEpIHsKKwkJCXdhcm4oIiVzOiBzdGF0 KCkgZmFpbGVkIiwgbmV3cGF0aCk7CisJCQljb250aW51ZTsKKwkJfQorCQkKKwkJaWYgKFNfSVNE SVIoc2Iuc3RfbW9kZSkpCisJCQllcnJvciA9IHJlY3Vyc2VfZGlyZWN0b3J5KG5ld3BhdGgsIHR5 cGUsIGhmbGFnLCBpZmxhZywKKwkJCSAgICBuZmxhZywgcWZsYWcsIHZmbGFnLCByZmxhZyk7CisJ CWVsc2UKKwkJCWVycm9yID0gcHJpbnRfYWNsKG5ld3BhdGgsIHR5cGUsIGhmbGFnLCBpZmxhZywg bmZsYWcsIHFmbGFnLCB2ZmxhZyk7CisJCWlmIChlcnJvciA9PSAtMSkKKwkJCWNhcnJpZWRfZXJy b3IgPSAtMTsKKwl9CisJY2xvc2VkaXIoZGlycCk7CisJCisJcmV0dXJuIGNhcnJpZWRfZXJyb3I7 Cit9CisKK3N0YXRpYyBpbnQKIHByaW50X2FjbF9mcm9tX3N0ZGluKGFjbF90eXBlX3QgdHlwZSwg aW50IGhmbGFnLCBpbnQgaWZsYWcsIGludCBuZmxhZywKLSAgICBpbnQgcWZsYWcsIGludCB2Zmxh ZykKKyAgICBpbnQgcWZsYWcsIGludCB2ZmxhZywgaW50IHJmbGFnKQogewogCWNoYXIJKnAsIHBh dGhuYW1lW1BBVEhfTUFYXTsKIAlpbnQJY2FycmllZF9lcnJvciA9IDA7CkBAIC0yNjksOCArMzE4 LDggQEAKIAl3aGlsZSAoZmdldHMocGF0aG5hbWUsIChpbnQpc2l6ZW9mKHBhdGhuYW1lKSwgc3Rk aW4pKSB7CiAJCWlmICgocCA9IHN0cmNocihwYXRobmFtZSwgJ1xuJykpICE9IE5VTEwpCiAJCQkq cCA9ICdcMCc7Ci0JCWlmIChwcmludF9hY2wocGF0aG5hbWUsIHR5cGUsIGhmbGFnLCBpZmxhZywg bmZsYWcsCi0JCSAgICBxZmxhZywgdmZsYWcpID09IC0xKSB7CisJCWlmIChyZWN1cnNlX2RpcmVj dG9yeShwYXRobmFtZSwgdHlwZSwgaGZsYWcsIGlmbGFnLCBuZmxhZywKKwkJICAgIHFmbGFnLCB2 ZmxhZywgcmZsYWcpID09IC0xKSB7CiAJCQljYXJyaWVkX2Vycm9yID0gLTE7CiAJCX0KIAl9CkBA IC0yODQsMTQgKzMzMywxNSBAQAogCWFjbF90eXBlX3QJdHlwZSA9IEFDTF9UWVBFX0FDQ0VTUzsK IAlpbnQJY2FycmllZF9lcnJvciA9IDA7CiAJaW50CWNoLCBlcnJvciwgaTsKLQlpbnQJaGZsYWcs IGlmbGFnLCBxZmxhZywgbmZsYWcsIHZmbGFnOworCWludAloZmxhZywgaWZsYWcsIHFmbGFnLCBu ZmxhZywgdmZsYWcsIHJmbGFnOwogCiAJaGZsYWcgPSAwOwogCWlmbGFnID0gMDsKIAlxZmxhZyA9 IDA7CiAJbmZsYWcgPSAwOwogCXZmbGFnID0gMDsKLQl3aGlsZSAoKGNoID0gZ2V0b3B0KGFyZ2Ms IGFyZ3YsICJkaGlucXYiKSkgIT0gLTEpCisJcmZsYWcgPSAwOworCXdoaWxlICgoY2ggPSBnZXRv cHQoYXJnYywgYXJndiwgIlJkaGlucXYiKSkgIT0gLTEpCiAJCXN3aXRjaChjaCkgewogCQljYXNl ICdkJzoKIAkJCXR5cGUgPSBBQ0xfVFlQRV9ERUZBVUxUOwpAQCAtMzExLDYgKzM2MSw5IEBACiAJ CWNhc2UgJ3YnOgogCQkJdmZsYWcgPSAxOwogCQkJYnJlYWs7CisJCWNhc2UgJ1InOgorCQkJcmZs YWcgPSAxOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQl1c2FnZSgpOwogCQkJcmV0dXJuKC0x KTsKQEAgLTMyMCwxOSArMzczLDE5IEBACiAKIAlpZiAoYXJnYyA9PSAwKSB7CiAJCWVycm9yID0g cHJpbnRfYWNsX2Zyb21fc3RkaW4odHlwZSwgaGZsYWcsIGlmbGFnLCBuZmxhZywKLQkJICAgIHFm bGFnLCB2ZmxhZyk7CisJCSAgICBxZmxhZywgdmZsYWcsIHJmbGFnKTsKIAkJcmV0dXJuKGVycm9y ID8gMSA6IDApOwogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKIAkJaWYgKCFz dHJjbXAoYXJndltpXSwgIi0iKSkgewogCQkJZXJyb3IgPSBwcmludF9hY2xfZnJvbV9zdGRpbih0 eXBlLCBoZmxhZywgaWZsYWcsIG5mbGFnLAotCQkJICAgIHFmbGFnLCB2ZmxhZyk7CisJCQkgICAg cWZsYWcsIHZmbGFnLCByZmxhZyk7CiAJCQlpZiAoZXJyb3IgPT0gLTEpCiAJCQkJY2FycmllZF9l cnJvciA9IC0xOwogCQl9IGVsc2UgewotCQkJZXJyb3IgPSBwcmludF9hY2woYXJndltpXSwgdHlw ZSwgaGZsYWcsIGlmbGFnLCBuZmxhZywKLQkJCSAgICBxZmxhZywgdmZsYWcpOworCQkJZXJyb3Ig PSByZWN1cnNlX2RpcmVjdG9yeShhcmd2W2ldLCB0eXBlLCBoZmxhZywgaWZsYWcsIG5mbGFnLAor CQkJICAgIHFmbGFnLCB2ZmxhZywgcmZsYWcpOwogCQkJaWYgKGVycm9yID09IC0xKQogCQkJCWNh cnJpZWRfZXJyb3IgPSAtMTsKIAkJfQo= --0016363ba6be592828049bca669c--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimfyhi4wz59-1pyMRkUE6K0PCZmK9br-E=9psCq>