[viewvc-dev] svnauthz using svn bindings

Phil Richardson <[email protected]> Mon, 14 Dec 2015 16:36:11 +0000
Newsgroups gmane.comp.version-control.cvs.viewcvs.devel
Message-ID <CALyekZGaKGhnqWNrnbd9O2yErDsT00-5ON6KLFm06SyfAAiBRg__32081.8786662587$1450449949$gmane$org@mail.gmail.com>
------=_Part_10702_1808537768.1450449933210
Content-Type: multipart/alternative; 
	boundary="----=_Part_10703_610727138.1450449933210"

------=_Part_10703_610727138.1450449933210
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I am currently using experimental features from future subversion releases.
These specifically impact my ability to use the svnauthz authorizer.

One thing that cropped up that I could not locate a prior post regarding.

Is there a reason why the svn bindings are not used to perform the authz
logic?

Attached is a replacement which I used under the module svnauthzbindings

This essentially proxies through what svn itself implements. The exception
being I can only 1 in return check_root_access, otherwise access is denied
(other path checking takes care of real access rules though).

I'm also exploring the missing "authz in repositiory" as well, but it's not
a problem for what I am doing right now.

------------------------------------------------------
http://viewvc.tigris.org/ds/viewMessage.do?dsForumId=4251&dsMessageId=3150887

To unsubscribe from this discussion, e-mail: [[email protected]].
------=_Part_10703_610727138.1450449933210
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I am currently using experimental features from future sub=
version releases. These specifically impact my ability to use the svnauthz =
authorizer.<div><br></div><div>One thing that cropped up that I could not l=
ocate a prior post regarding.</div><div><br></div><div>Is there a reason wh=
y the svn bindings are not used to perform the authz logic?</div><div><br><=
/div><div>Attached is a replacement which I used under the module svnauthzb=
indings</div><div><br></div><div>This essentially proxies through what svn =
itself implements. The exception being I can only 1 in return=C2=A0check_ro=
ot_access, otherwise access is denied (other path checking takes care of re=
al access rules though).</div><div><br></div><div>I&#39;m also exploring th=
e missing &quot;authz in repositiory&quot; as well, but it&#39;s not a prob=
lem for what I am doing right now.</div></div>

------=_Part_10703_610727138.1450449933210--

------=_Part_10702_1808537768.1450449933210
Content-Type: text/x-python; charset=US-ASCII; name=__init__.py
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ii65t5c10
Content-Disposition: attachment; filename=__init__.py

IyAtKi1weXRob24tKi0KIwojIENvcHlyaWdodCAoQykgMjAwNi0yMDE1IFRoZSBWaWV3Q1ZTIEdy
b3VwLiBBbGwgUmlnaHRzIFJlc2VydmVkLgojCiMgQnkgdXNpbmcgdGhpcyBmaWxlLCB5b3UgYWdy
ZWUgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHNldCBmb3J0aCBpbgojIHRoZSBMSUNFTlNF
Lmh0bWwgZmlsZSB3aGljaCBjYW4gYmUgZm91bmQgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgVmll
d1ZDCiMgZGlzdHJpYnV0aW9uIG9yIGF0IGh0dHA6Ly92aWV3dmMub3JnL2xpY2Vuc2UtMS5odG1s
LgojCiMgRm9yIG1vcmUgaW5mb3JtYXRpb24sIHZpc2l0IGh0dHA6Ly92aWV3dmMub3JnLwojCiMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIyAoYykgMjAwNiBTZXJnZXkgTGFwaW4gPHNsYXBpbkBkYXRhYXJ0LmNv
bT4KCmltcG9ydCB2Y2F1dGgKaW1wb3J0IHN0cmluZwppbXBvcnQgb3MucGF0aAppbXBvcnQgZGVi
dWcKCmltcG9ydCBzdm4ucmVwb3MKZnJvbSBzdm4ucmVwb3MgaW1wb3J0IGF1dGh6X2NoZWNrX2Fj
Y2Vzcwpmcm9tIHN2bi5yZXBvcyBpbXBvcnQgc3ZuX2F1dGh6X3JlYWQgYXMgc3ZuX3IKCmNsYXNz
IFZpZXdWQ0F1dGhvcml6ZXIodmNhdXRoLkdlbmVyaWNWaWV3VkNBdXRob3JpemVyKToKICAiIiJT
dWJ2ZXJzaW9uIGF1dGh6IGF1dGhvcml6ZXIgbW9kdWxlIiIiCiAgCiAgZGVmIF9faW5pdF9fKHNl
bGYsIHJvb3RfbG9va3VwX2Z1bmMsIHVzZXJuYW1lLCBwYXJhbXM9e30pOgogICAgc2VsZi5yb290
cGF0aHMgPSB7IH0gICMge3Jvb3QgLT4geyBwYXRocyAtPiBhY2Nlc3MgYm9vbGVhbiBmb3IgVVNF
Uk5BTUUgfX0KICAgIHNlbGYucm9vdF9sb29rdXBfZnVuYyA9IHJvb3RfbG9va3VwX2Z1bmMKICAg
IAogICAgIyBHZXQgdGhlIGF1dGh6IGZpbGUgbG9jYXRpb24gZnJvbSBleGFjdGx5IG9uZSBvZiBv
dXIgcmVsYXRlZAogICAgIyBwYXNzZWQtaW4gcGFyYW1ldGVycy4KICAgIHNlbGYuYXV0aHpfZmls
ZSA9IHBhcmFtcy5nZXQoJ2F1dGh6ZmlsZScpCiAgICBzZWxmLnJlbF9hdXRoel9maWxlID0gcGFy
YW1zLmdldCgncm9vdF9yZWxhdGl2ZV9hdXRoemZpbGUnKQogICAgaWYgbm90IChzZWxmLmF1dGh6
X2ZpbGUgb3Igc2VsZi5yZWxfYXV0aHpfZmlsZSk6CiAgICAgIHJhaXNlIGRlYnVnLlZpZXdWQ0V4
Y2VwdGlvbigiTm8gYXV0aHpmaWxlIGNvbmZpZ3VyZWQiKQogICAgaWYgc2VsZi5hdXRoel9maWxl
IGFuZCBzZWxmLnJlbF9hdXRoel9maWxlOgogICAgICByYWlzZSBkZWJ1Zy5WaWV3VkNFeGNlcHRp
b24oIk11bHRpcGxlIGF1dGh6ZmlsZSBsb2NhdGlvbnMgZGVmaW5lZCIpCgogICAgIyBTZWUgaWYg
dGhlIGFkbWluIHdhbnRzIHVzIHRvIGRvIGNhc2Ugbm9ybWFsaXphdGlvbiBvZiB1c2VybmFtZXMu
CiAgICBzZWxmLmZvcmNlX3VzZXJuYW1lX2Nhc2UgPSBwYXJhbXMuZ2V0KCdmb3JjZV91c2VybmFt
ZV9jYXNlJykKICAgIGlmIHNlbGYuZm9yY2VfdXNlcm5hbWVfY2FzZSA9PSAidXBwZXIiOgogICAg
ICBzZWxmLnVzZXJuYW1lID0gdXNlcm5hbWUgYW5kIHN0cmluZy51cHBlcih1c2VybmFtZSkgb3Ig
dXNlcm5hbWUKICAgIGVsaWYgc2VsZi5mb3JjZV91c2VybmFtZV9jYXNlID09ICJsb3dlciI6CiAg
ICAgIHNlbGYudXNlcm5hbWUgPSB1c2VybmFtZSBhbmQgc3RyaW5nLmxvd2VyKHVzZXJuYW1lKSBv
ciB1c2VybmFtZQogICAgZWxpZiBub3Qgc2VsZi5mb3JjZV91c2VybmFtZV9jYXNlOgogICAgICBz
ZWxmLnVzZXJuYW1lID0gdXNlcm5hbWUKICAgIGVsc2U6CiAgICAgIHJhaXNlIGRlYnVnLlZpZXdW
Q0V4Y2VwdGlvbigiSW52YWxpZCB2YWx1ZSBmb3IgZm9yY2VfdXNlcm5hbWVfY2FzZSAiCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9uIikKCiAgZGVmIF9nZXRfYXV0aHpf
ZmlsZShzZWxmLCByb290bmFtZSk6CiAgICBpZiBzZWxmLnJlbF9hdXRoel9maWxlOgogICAgICBy
b290dHlwZSwgcm9vdHBhdGggPSBzZWxmLnJvb3RfbG9va3VwX2Z1bmMocm9vdG5hbWUpCiAgICAg
IHJldHVybiBvcy5wYXRoLmpvaW4ocm9vdHBhdGgsIHNlbGYucmVsX2F1dGh6X2ZpbGUpCiAgICBl
bHNlOgogICAgICByZXR1cm4gc2VsZi5hdXRoel9maWxlCiAgICAKICBkZWYgX2dldF9wYXRoc19m
b3Jfcm9vdChzZWxmLCByb290bmFtZSk6CiAgICBpZiBzZWxmLnJvb3RwYXRocy5oYXNfa2V5KHJv
b3RuYW1lKToKICAgICAgcmV0dXJuIHNlbGYucm9vdHBhdGhzW3Jvb3RuYW1lXQoKICAgIHBhdGhz
X2Zvcl9yb290ID0gTm9uZQogICAgCiAgICAjIFBhcnNlIHRoZSBhdXRoeiBmaWxlIHVzaW5nIHB5
dGhvbiBiaW5kaW5ncwogICAgdHJ5OgogICAgICBwYXRoc19mb3Jfcm9vdCA9IHN2bi5yZXBvcy5h
dXRoel9yZWFkKHNlbGYuX2dldF9hdXRoel9maWxlKHJvb3RuYW1lKSwgRmFsc2UpCiAgICBleGNl
cHQ6CiAgICAgIHJhaXNlIGRlYnVnLlZpZXdWQ0V4Y2VwdGlvbigiVW5hYmxlIHRvIHBhcnNlIGNv
bmZpZ3VyZWQgYXV0aHpmaWxlIGZpbGUiKQoKICAgIHNlbGYucm9vdHBhdGhzW3Jvb3RuYW1lXSA9
IHBhdGhzX2Zvcl9yb290CiAgICByZXR1cm4gcGF0aHNfZm9yX3Jvb3QKCiAgZGVmIGNoZWNrX3Jv
b3RfYWNjZXNzKHNlbGYsIHJvb3RuYW1lKToKICAgIHJldHVybiAxCiAgCiAgZGVmIGNoZWNrX3Vu
aXZlcnNhbF9hY2Nlc3Moc2VsZiwgcm9vdG5hbWUpOgogICAgcmV0dXJuIE5vbmUKICAgIAogIGRl
ZiBjaGVja19wYXRoX2FjY2VzcyhzZWxmLCByb290bmFtZSwgcGF0aF9wYXJ0cywgcGF0aHR5cGUs
IHJldj1Ob25lKToKICAgIHBhdGhzID0gc2VsZi5fZ2V0X3BhdGhzX2Zvcl9yb290KHJvb3RuYW1l
KQogICAgaWYgcGF0aHMgaXMgTm9uZToKICAgICAgcmV0dXJuIDAKICAgIHBhcnRzID0gcGF0aF9w
YXJ0c1s6XQogICAgcGF0aCA9ICcvJyArIHN0cmluZy5qb2luKHBhcnRzLCAnLycpCiAgICByZXR1
cm4gYXV0aHpfY2hlY2tfYWNjZXNzKHBhdGhzLCByb290bmFtZSwgcGF0aCwgc2VsZi51c2VybmFt
ZSwgc3ZuX3IpCgo=
------=_Part_10702_1808537768.1450449933210--