Richard Frovarp wrote:
Jörn Nettingsmeier wrote:
i agree we could think about this some more and provide a generally useful solution, but only after it has been demonstrated to this bear of very little brain that there really is a general problem, and only after 2.0.

The problem is that AC Authoring, AC Trash, and AC Archive all allow privilege escalation. There are two very large problems with this.

handing out the admin role is what allows privilege escalation.

i see what your problem is, and it surely needs to be solved in trunk. but i'm still not convinced we should introduce fundamentally new role semantics when all we need is a new usecase that allows users to grant a configurable subset of roles. ideally only those they own themselves (the WITH GRANT OPTION from SQL land) - although this can also lead to escalation if two rogue maintainers join forces, but we can ignore this threat imho.

1) It is quite advantageous to allow an admin to partition control over AC Authoring out over parts of subtrees to individuals who may not be admins fo the entire site. There is no way to do this without a fix. For example go to Archive, then AC Archive with alice. From there (without the patch) you could give yourself the admin role. After you have the admin role, you can just click on ADMIN and away you go with full admin rights.

2) If we don't want people to partition control over AC Authoring out to other users we have a HUGE documentation nightmare. The real admins obviously still need to get to AC Auth to partition out edit and review roles. They have to be told to never ever ever ever under any
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
circumstances to grant someone the admin role.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

actually, i find this quite obvious, but you are right, our tree-based roles easily make people expect otherwise. that is a documentation issue. or else, all our ac usecases have to be made tree context sensitive so that they behave as people would expect.

And why should I have to write a modified usecase to avoid the problem when it's a core problem that EVERY deployment will have. I'm guessing we want to deploy this to locations that don't have Lenya devs on staff. So we need to fix this problem and it needs to be before 2.0.

agreed. i'm just not convinced it should be handled via new roles semantics.

I know I don't have any say over the manner, but from my experience with Lenya being deployed that's how I feel.

well, you have certainly as much say about this as yours truly. if everyone else thinks this approach is ok, i'm accepting it. hell, it's not as if i have tried to implement a really good solution myself yet, so talk is cheap. i just feel we've been a bit too easy in the past with introducing fundamentally new features to quickly solve the issue of the day, and excuse my french but it has lead to a bloody fscking mess. if despite my heckling everyone still thinks it's the approach to go for, that's fine. i just want to make sure that everybody has considered the implications of new role semantics vs. just writing a new usecase.

Andreas' patches are really quite minimal if you look at it. r597037 just makes it so that you can set roles that are not assignable. r597055 prevents circumvention of this by URL manipulation. They are a clean and simple fix to the problem. However, they are such that any publication already deployed will require some changes. Upgrading from 2.0 to 2.0.1 should be a simple matter.

I have not done large scale testing of the fix, but all of my testing has been with the patch in place and have not found any issues.

as i said, if you still think it's appropriate, i'm trusting your judgement. i don't have time atm to come up with something simpler, and you obviously need this thing fixed, so go ahead.

--
Jörn Nettingsmeier

"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to