From owner-freebsd-current@FreeBSD.ORG Tue Feb 8 17:58:44 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 2CCD31065672 for ; Tue, 8 Feb 2011 17:58:44 +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 ADB188FC08 for ; Tue, 8 Feb 2011 17:58:43 +0000 (UTC) Received: by wyf19 with SMTP id 19so6148817wyf.13 for ; Tue, 08 Feb 2011 09:58:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=UKQO7+hjbUVhtpa7JPHZd/nqPU+bKdEyfQMfOT122VA=; b=isUyXnoQkR6vxzBcf4qK0UH4mHVDI7nA7BARgn9YTMXXM7bUGJ3IdaAjeBSG0m5Knd BGetSjUNKfNVeU1hmCOyl3MbMmwbS2CnyoQobnmI/6rWhOOZFYqL8p4vtvLmKISREC8p 28QYcL/50bESx11eGejRlYS308YbBVvx/Duz0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=wnAN+ZY/e53o2Tb9ZDms+HLF571uQiLhvmUFrMFmt1pIMLsG4lcHu9XI4JKfJ/N7gG bUs2r66WyjpU2MgGMt6MxnPi+lqAvijVVU25gK8S9PbXo42jvYfiKVZU2Pl3bNVE+p6k yNq+wqoI0nUNGChYz6fvttQhe/PnOePlhlqYc= MIME-Version: 1.0 Received: by 10.227.143.206 with SMTP id w14mr2878560wbu.66.1297187922464; Tue, 08 Feb 2011 09:58:42 -0800 (PST) Received: by 10.227.68.204 with HTTP; Tue, 8 Feb 2011 09:58:42 -0800 (PST) Date: Tue, 8 Feb 2011 10:58:42 -0700 Message-ID: From: Shawn Webb To: FreeBSD-current Content-Type: multipart/mixed; boundary=0016364592f0535008049bc919ee X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: 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 17:58:44 -0000 --0016364592f0535008049bc919ee Content-Type: text/plain; charset=ISO-8859-1 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. Thanks, Shawn attached: setfacl.patch (universal diff) --0016364592f0535008049bc919ee Content-Type: application/octet-stream; name="setfacl.patch" Content-Disposition: attachment; filename="setfacl.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gjx436vo0 LS0tIC91c3Ivc3JjL2Jpbi9zZXRmYWNsL3NldGZhY2wuYwkyMDExLTAyLTAzIDEyOjExOjAyLjMw MzQ5NjMxOCAtMDcwMAorKysgL3RhbmsvamFpbHMvZGV2L3Vzci9zcmMvYmluL3NldGZhY2wvc2V0 ZmFjbC5jCTIwMTEtMDItMDggMTA6NDc6MTguMTkwOTM2NDg5IC0wNzAwCkBAIC0yMyw3ICsyMyw3 IEBACiAgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQogICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu CiAgKi8KLQorI2RlZmluZSBfQUNMX1BSSVZBVEUKICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KIF9f RkJTRElEKCIkRnJlZUJTRCQiKTsKIApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHN5cy9z dGF0Lmg+CiAjaW5jbHVkZSA8c3lzL2FjbC5oPgogI2luY2x1ZGUgPHN5cy9xdWV1ZS5oPgorI2lu Y2x1ZGUgPGRpcmVudC5oPgogCiAjaW5jbHVkZSA8ZXJyLmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4K QEAgLTQ0LDYgKzQ1LDggQEAKIAogc3RhdGljIHZvaWQJYWRkX2ZpbGVuYW1lKGNvbnN0IGNoYXIg KmZpbGVuYW1lKTsKIHN0YXRpYyB2b2lkCXVzYWdlKHZvaWQpOworc3RhdGljIHZvaWQJcmVjdXJz ZV9kaXJlY3RvcnkoY29uc3QgY2hhciAqZGlybmFtZSwgaW50IHJfZmxhZyk7CitzdGF0aWMgYWNs X3QJcmVtb3ZlX2ludmFsaWRfaW5oZXJpdChzdHJ1Y3Qgc3RhdCAqc2IsIGFjbF90IGFjbCk7CiAK IHN0YXRpYyB2b2lkCiBhZGRfZmlsZW5hbWUoY29uc3QgY2hhciAqZmlsZW5hbWUpCkBAIC02Mywx OSArNjYsODMgQEAKIHVzYWdlKHZvaWQpCiB7CiAKLQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiBz ZXRmYWNsIFstYmRoa25dIFstYSBwb3NpdGlvbiBlbnRyaWVzXSAiCisJZnByaW50ZihzdGRlcnIs ICJ1c2FnZTogc2V0ZmFjbCBbLWJkaGtuUl0gWy1hIHBvc2l0aW9uIGVudHJpZXNdICIKIAkgICAg IlstbSBlbnRyaWVzXSBbLU0gZmlsZV0gWy14IGVudHJpZXNdIFstWCBmaWxlXSBbZmlsZSAuLi5d XG4iKTsKIAlleGl0KDEpOwogfQogCitzdGF0aWMgdm9pZAorcmVjdXJzZV9kaXJlY3RvcnkoY29u c3QgY2hhciAqZGlybmFtZSwgaW50IHJfZmxhZykKK3sKKwlESVIgKmRpcnA7CisJc3RydWN0IGRp cmVudCAqZW50OworCXN0cnVjdCBzdGF0IHNiOworCWNoYXIgbmV3cGF0aFtQQVRIX01BWCsxXTsK KwkKKwlpZiAoc3RhdChkaXJuYW1lLCAmc2IpID09IC0xKSB7CisJCXdhcm4oIiVzOiBzdGF0KCkg ZmFpbGVkIiwgZGlybmFtZSk7CisJCXJldHVybjsKKwl9CisJCisJYWRkX2ZpbGVuYW1lKGRpcm5h bWUpOworCQorCWlmIChyX2ZsYWcgPT0gMCB8fCBTX0lTRElSKHNiLnN0X21vZGUpID09IDApCisJ CXJldHVybjsKKwkKKwlkaXJwID0gb3BlbmRpcihkaXJuYW1lKTsKKwl3aGlsZSAoKGVudCA9IHJl YWRkaXIoZGlycCkpICE9IE5VTEwpIHsKKwkJaWYgKHN0cmNtcChlbnQtPmRfbmFtZSwgIi4iKSA9 PSAwIHx8IHN0cmNtcChlbnQtPmRfbmFtZSwgIi4uIikgPT0gMCkKKwkJCWNvbnRpbnVlOworCQkK KwkJc25wcmludGYobmV3cGF0aCwgUEFUSF9NQVgsICIlcy8lcyIsIGRpcm5hbWUsIGVudC0+ZF9u YW1lKTsgCisJCQorCQlpZiAoc3RhdChuZXdwYXRoLCAmc2IpID09IC0xKSB7CisJCQl3YXJuKCIl czogc3RhdCgpIGZhaWxlZCIsIG5ld3BhdGgpOworCQkJY29udGludWU7CisJCX0KKwkJCisJCWlm IChTX0lTRElSKHNiLnN0X21vZGUpKQorCQkJcmVjdXJzZV9kaXJlY3RvcnkobmV3cGF0aCwgcl9m bGFnKTsKKwkJCisJCWFkZF9maWxlbmFtZShzdHJkdXAobmV3cGF0aCkpOworCX0KKwljbG9zZWRp cihkaXJwKTsKK30KKworc3RhdGljIGFjbF90CityZW1vdmVfaW52YWxpZF9pbmhlcml0KHN0cnVj dCBzdGF0ICpzYiwgYWNsX3QgYWNsKQoreworCWFjbF90IGFjbF9uZXc7CisJaW50IGFjbF9icmFu ZDsKKwlhY2xfZW50cnlfdCBlbnRyeTsKKwlpbnQgZW50cnlfaWQ7CisJCisJYWNsX2dldF9icmFu ZF9ucChhY2wsICZhY2xfYnJhbmQpOworCWlmIChhY2xfYnJhbmQgIT0gQUNMX0JSQU5EX05GUzQp CisJCXJldHVybiBhY2w7CisJCisJaWYgKFNfSVNESVIoc2ItPnN0X21vZGUpICE9IDApCisJCXJl dHVybiBhY2w7CisJCisJYWNsX25ldyA9IGFjbF9kdXAoYWNsKTsKKwkKKwllbnRyeV9pZCA9IEFD TF9GSVJTVF9FTlRSWTsKKwl3aGlsZSAoYWNsX2dldF9lbnRyeShhY2xfbmV3LCBlbnRyeV9pZCwg JmVudHJ5KSA9PSAxKSB7CisJCWVudHJ5X2lkID0gQUNMX05FWFRfRU5UUlk7CisJCWVudHJ5LT5h ZV9mbGFncyA9IDA7CisJfQorCQorCXJldHVybiBhY2xfbmV3OworfQorCiBpbnQKIG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKLQlhY2xfdCBhY2w7CisJYWNsX3QgYWNsLCBhY2xfYmFj a3VwOwogCWFjbF90eXBlX3QgYWNsX3R5cGU7CiAJY2hhciBmaWxlbmFtZVtQQVRIX01BWF07CiAJ aW50IGxvY2FsX2Vycm9yLCBjYXJyaWVkX2Vycm9yLCBjaCwgaSwgZW50cnlfbnVtYmVyLCByZXQ7 Ci0JaW50IGhfZmxhZzsKKwlpbnQgaF9mbGFnLCByX2ZsYWc7CiAJc3RydWN0IHNmX2ZpbGUgKmZp bGU7CiAJc3RydWN0IHNmX2VudHJ5ICplbnRyeTsKIAljb25zdCBjaGFyICpmbl9kdXA7CkBAIC04 NCwxMiArMTUxLDEyIEBACiAKIAlhY2xfdHlwZSA9IEFDTF9UWVBFX0FDQ0VTUzsKIAljYXJyaWVk X2Vycm9yID0gbG9jYWxfZXJyb3IgPSAwOwotCWhfZmxhZyA9IGhhdmVfbWFzayA9IGhhdmVfc3Rk aW4gPSBuX2ZsYWcgPSBuZWVkX21hc2sgPSAwOworCWhfZmxhZyA9IGhhdmVfbWFzayA9IGhhdmVf c3RkaW4gPSBuX2ZsYWcgPSBuZWVkX21hc2sgPSByX2ZsYWcgPSAwOwogCiAJVEFJTFFfSU5JVCgm ZW50cnlsaXN0KTsKIAlUQUlMUV9JTklUKCZmaWxlbGlzdCk7CiAKLQl3aGlsZSAoKGNoID0gZ2V0 b3B0KGFyZ2MsIGFyZ3YsICJNOlg6YTpiZGhrbTpueDoiKSkgIT0gLTEpCisJd2hpbGUgKChjaCA9 IGdldG9wdChhcmdjLCBhcmd2LCAiUk06WDphOmJkaGttOm54OiIpKSAhPSAtMSkKIAkJc3dpdGNo KGNoKSB7CiAJCWNhc2UgJ00nOgogCQkJZW50cnkgPSB6bWFsbG9jKHNpemVvZihzdHJ1Y3Qgc2Zf ZW50cnkpKTsKQEAgLTE2Nyw2ICsyMzQsOSBAQAogCQkJfQogCQkJVEFJTFFfSU5TRVJUX1RBSUwo JmVudHJ5bGlzdCwgZW50cnksIG5leHQpOwogCQkJYnJlYWs7CisJCWNhc2UgJ1InOgorCQkJcl9m bGFnID0gMTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJdXNhZ2UoKTsKIAkJCWJyZWFrOwpA QCAtMTkzLDcgKzI2Myw3IEBACiAJCX0KIAl9IGVsc2UKIAkJZm9yIChpID0gMDsgaSA8IGFyZ2M7 IGkrKykKLQkJCWFkZF9maWxlbmFtZShhcmd2W2ldKTsKKwkJCXJlY3Vyc2VfZGlyZWN0b3J5KGFy Z3ZbaV0sIHJfZmxhZyk7CiAKIAkvKiBjeWNsZSB0aHJvdWdoIGVhY2ggZmlsZSAqLwogCVRBSUxR X0ZPUkVBQ0goZmlsZSwgJmZpbGVsaXN0LCBuZXh0KSB7CkBAIC0yNTAsMTIgKzMyMCwyNCBAQAog CiAJCQlzd2l0Y2goZW50cnktPm9wKSB7CiAJCQljYXNlIE9QX0FERF9BQ0w6CisJCQkJYWNsX2Jh Y2t1cCA9IGVudHJ5LT5hY2w7CisJCQkJZW50cnktPmFjbCA9IHJlbW92ZV9pbnZhbGlkX2luaGVy aXQoJnNiLCBlbnRyeS0+YWNsKTsKIAkJCQlsb2NhbF9lcnJvciArPSBhZGRfYWNsKGVudHJ5LT5h Y2wsCiAJCQkJICAgIGVudHJ5LT5lbnRyeV9udW1iZXIsICZhY2wsIGZpbGUtPmZpbGVuYW1lKTsK KwkJCQlpZiAoZW50cnktPmFjbCAhPSBhY2xfYmFja3VwKSB7CisJCQkJCWFjbF9mcmVlKGVudHJ5 LT5hY2wpOworCQkJCQllbnRyeS0+YWNsID0gYWNsX2JhY2t1cDsKKwkJCQl9CiAJCQkJYnJlYWs7 CiAJCQljYXNlIE9QX01FUkdFX0FDTDoKKwkJCQlhY2xfYmFja3VwID0gZW50cnktPmFjbDsKKwkJ CQllbnRyeS0+YWNsID0gcmVtb3ZlX2ludmFsaWRfaW5oZXJpdCgmc2IsIGVudHJ5LT5hY2wpOwog CQkJCWxvY2FsX2Vycm9yICs9IG1lcmdlX2FjbChlbnRyeS0+YWNsLCAmYWNsLAogCQkJCSAgICBm aWxlLT5maWxlbmFtZSk7CisJCQkJaWYgKGVudHJ5LT5hY2wgIT0gYWNsX2JhY2t1cCkgeworCQkJ CQlhY2xfZnJlZShlbnRyeS0+YWNsKTsKKwkJCQkJZW50cnktPmFjbCA9IGFjbF9iYWNrdXA7CisJ CQkJfQogCQkJCW5lZWRfbWFzayA9IDE7CiAJCQkJYnJlYWs7CiAJCQljYXNlIE9QX1JFTU9WRV9F WFQ6Cg== --0016364592f0535008049bc919ee--