[Zope-dev] LoginManager ownership bug!

Phillip J. Eby pje@telecommunity.com
Fri, 06 Oct 2000 11:36:56 -0500


At 04:01 PM 10/6/00 +0000, Ty Sarna wrote:
>
>I think this is due to Shane's fix for allowing LM's as non-top-level
>acl_users. I had it originally so that _owner was a class attribute,
>which works fine. With the change, it was added as an instance
>attribute. Now, UnownableOwner is just an empty list, []. Zope checks
>for UnownableOwner using an identity check, that is in python: "_owner is
>UnownableOwner". When the LM is pickled to ZODB and reloaded, _owner is
>still an empty list, but it's not *the* empty list. That is, in python
>terms: it's still *equal* to UO, but it isn't "is" UO.
>
>We could go back to just having it as a class attribute, but then that
>breaks when adding a LM anywhere other than the top folder, because Zope
>wants to delete the _owner from it.

Actually, Ty, AFAIK this is now fixed in Zope 2.2.x;  IIRC Brian made some
changes to the ownership machinery to deal with _owner being a class
variable.  We should probably put out a new LM release to go with ZPatterns
0.4.3.