I'm working on issue 1583946. Nagle pointed out that each DN (the "subject" and "issuer" fields in a certificate) may have multiple values for the same attribute name, and I haven't been able to rule this out yet. X.509 DNs are sets of X.500 attributes, and X.500 attributes may be either single-valued or multiple-valued. I haven't found anything in the X.509 standard that prohibits multiple-valued attributes (yet -- I'm still looking), so I'm working on an alternative to using dicts to represent the set of attributes in the certificate that's returned from ssl.sslsocket.getpeercert(). "frozenset" seems the most appropriate -- it's a non-ordered immutable set of attributes. Could use a tuple, but (1) that implies order, and (2) using set operations on the attribute set would be handy to test for various things, particularly "issubset" and "issuperset".
I think frozenset is quite analogous to tuple at this level, and I suggest that a similar set of C construction functions would be a good thing. Bill > I guess nobody has tried to create frozenset instances from C code > before. Almost everyone uses set anyway. What are you trying to do? > > On 9/4/07, Bill Janssen <[EMAIL PROTECTED]> wrote: > > I'm looking at building a "frozenset" instance as a return value from > > a C function, and the C API seems ridiculously clumsy. Maybe I'm > > misunderstanding it. Apparently, I need to create a list object, then > > pass that to PyFrozenSet_New(), then decref the list object. > > > > Is that correct? > > > > What I'd like is something more like > > > > PyFrozenSet_NEW(int) => PySetObject * > > PyFrozenSet_SET_ITEM(s, i, v) > > > > Any idea why these aren't part of the API? > > > > Bill > > _______________________________________________ > > Python-Dev mailing list > > Python-Dev@python.org > > http://mail.python.org/mailman/listinfo/python-dev > > Unsubscribe: > > http://mail.python.org/mailman/options/python-dev/guido%40python.org > > > > > -- > --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com