From owner-freebsd-current@FreeBSD.ORG Tue Feb 8 19:31:51 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D2161065674 for ; Tue, 8 Feb 2011 19:31:51 +0000 (UTC) (envelope-from lattera@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 153808FC1A for ; Tue, 8 Feb 2011 19:31:50 +0000 (UTC) Received: by wyf19 with SMTP id 19so6244933wyf.13 for ; Tue, 08 Feb 2011 11:31:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=3dPHdNDL+otZHqLCveufxgoZvNmJ0rUtKrgCCj0yBSs=; b=Xp8L3Toy8ngXOnQdRxcy4g7MfsHqUQs03fDI9JrABbyoNadvd+jdtHLGFT4K/YgT1o ZeXO2ZH5Nr9edYN2BC7nHoeo+jy/iALzvdFMGMAct7oqho+DKSBBY6gVhabduDm1c+wP hFTU6paME9p4ND7uB8J7Q+tjltkyg0MF4z7eg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=kaSsOLHameqsHgrHcm6TLOwxcTL9P2KZsigqFcTGP27hOLLDHEYxCW3cpehyU450Xf DH4JJxLHqJXqvVb1cieNt76JPlhsHO0rZPL8G/zoO/Nyqs1w+6B3e6cuADRUrMYqstfI mmxwLcXK9DW04oDzAoORLcDSARfK9FmsFp2+4= MIME-Version: 1.0 Received: by 10.227.143.198 with SMTP id w6mr17858373wbu.37.1297193509660; Tue, 08 Feb 2011 11:31:49 -0800 (PST) Received: by 10.227.68.204 with HTTP; Tue, 8 Feb 2011 11:31:49 -0800 (PST) In-Reply-To: <4D518BC4.3080905@quip.cz> References: <4D518BC4.3080905@quip.cz> Date: Tue, 8 Feb 2011 12:31:49 -0700 Message-ID: From: Shawn Webb To: Miroslav Lachman <000.fbsd@quip.cz> Content-Type: multipart/mixed; boundary=0016363ba6be592828049bca669c X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: FreeBSD-current Subject: Re: setfacl Recursive Functionality X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2011 19:31:51 -0000 --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--