[ZCM] [ZC] 2333/ 4 Accept "Five.browser.metaconfigure.page doesn't protect names from interface superclasses"

"Collector: Zope Bugs, Features, and Patches ..." <[email protected]> Mon, 25 Jun 2007 11:06:33 -0400
Newsgroups gmane.comp.web.zope.devel.collector-monitor
Message-ID <[email protected]>
Issue #2333 Update (Accept) "Five.browser.metaconfigure.page doesn't protect names from interface superclasses"
 Status Accepted, Zope/bug+solution medium
To followup, visit:
  http://www.zope.org/Collectors/Zope/2333

==============================================================
= Accept - Entry #4 by tseaver on Jun 25, 2007 11:06 am

 Status: Pending => Accepted

 Supporters added: tseaver

I will get this checked in for Zope 2.9, Zope 2.10, and the trunk.
________________________________________
= Comment - Entry #3 by tuppence on Jun 21, 2007 6:56 pm


Uploaded:  "allowed_interface_security2.diff"
 - http://www.zope.org/Collectors/Zope/2333/allowed_interface_security2.diff/view
Just for completeness, here is the tiny diff that actually fixes the issue.
________________________________________
= Comment - Entry #2 by tuppence on Jun 21, 2007 6:54 pm


Uploaded:  "allowed_interface_security_tests.diff"
 - http://www.zope.org/Collectors/Zope/2333/allowed_interface_security_tests.diff/view
> I'm attaching a patch to fix and a test that I hope exercises the bug.  I
>   say "hope" because I've been unable to run (just) the Five tests on my
>   Windows platform.  Hopefully this is enough for it to be easy for someone
>   to fix this.

Right, now I actually know how to run Five tests, I'm attaching a patch that tests for the issue.  It fails without the interfaces.names(all=True) change in Five/browser/metaconfigure.py, and passes with the change.
________________________________________
= Request - Entry #1 by tuppence on Jun 9, 2007 10:39 am


Uploaded:  "allowed_interface_security.diff"
 - http://www.zope.org/Collectors/Zope/2333/allowed_interface_security.diff/view
Subject line says it all.  The bug stems from the security setup code calling <interface>.names() rather than <interface>.names(all=True).  philiKON asserts it's a bug.

I'm attaching a patch to fix and a test that I hope exercises the bug.  I say "hope" because I've been unable to run (just) the Five tests on my Windows platform.  Hopefully this is enough for it to be easy for someone to fix this.
==============================================================