On Aug 6, 2007, at 6:43 AM, Pierangelo Masarati wrote:
I believe there's something odd in pcache's current behavior. In fact, right now "proxyattrset 0" is already a valid directive, but it implies "proxyattrset 0 *", which means all attributes. Unfortunately, this seems to only work if no attribute is requested, while it fails if a "*" is explicitly requested.
Ah, I was not aware of this behaviour!
I've modified the propxycache code in HEAD so that a "1.1" can only explicitly appear in a list if it's the only string. An empty attribute set is no longer valid, to avoid confusion about the meaning of non-explicit attribute sets. A "*" or a "+" can explicitly appear in a proxyattrset statement, resulting in the expected behavior. Use both to indicate that all attributes are in the set.
Let me confirm, that I should specify "proxyattrset 0 1.1" to match an empty attribute list, and only an empty attribute list. Will a '*' than match emptiness as well, or does it only match where there is some attribute specified by the client?
Please test.
I will work on this as soon as I am able to, although it seems this won't be for a couple of weeks. I will be in touch. Thanks again for your work and for your very timely response.
-Mike