[Help-gnutls] Re: Certificate list size in `gnutls_certificate_get_peers ()'

Simon Josefsson simon at josefsson.org
Thu Apr 12 14:38:58 CEST 2007


ludovic.courtes at laas.fr (Ludovic Courtès) writes:

> Hey,
>
> Simon Josefsson <simon at josefsson.org> writes:
>
>> ludovic.courtes at laas.fr (Ludovic Courtès) writes:
>>
>>> Hi,
>>>
>>> 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).

/Simon





More information about the Gnutls-help mailing list