[Help-gnutls] Re: Certificate list size in `gnutls_certificate_get_peers ()'
simon at josefsson.org
Thu Apr 12 14:38:58 CEST 2007
ludovic.courtes at laas.fr (Ludovic Courtès) writes:
> Simon Josefsson <simon at josefsson.org> writes:
>> ludovic.courtes at laas.fr (Ludovic Courtès) writes:
>>> Simon Josefsson <simon at josefsson.org> writes:
>>>> I just realized that we can solve it without an ABI/API change: just
>>>> make the array zero-terminated. You'll have to traverse the list in
>>>> order to find out its size, but perhaps that is not so much trouble.
>>>> What do you think?
>>> Yes, good idea.
>> Patches welcome. :) I'm a bit busy now, but perhaps next week...
> Looks like it may be more complicated than it seems because we don't
> have such an array internally. What we have is an array of
> `gnutls_cert's, each of which contains both the raw certificate and the
> parsed certificate (see `session->internals.selected_cert_list').
> Thus, to provide a (null-terminated) array of raw certificates in
> `gnutls_certificate_get_ours ()', we'd need to allocate that array or
> ask users for storage.
> Or we could change the `gnutls_cert' structure so that it no longer
> includes `raw' and store the raw certificates elsewhere. But that would
> certainly have unforeseen implications on the rest of the code... ;-)
Right, I was thinking of the latter solution, and I also found that it
would require some larger changes.
> I'm a bit busy, too, so I probably won't investigate it any further ATM.
I've added a TODO:
- Make gnutls_certificate_get_out return a zero-terminated array (or
add a new API that return the size of the array).
More information about the Gnutls-help