On 31 Aug 2018, at 22:19, Yann Ylavic <ylavic....@gmail.com> wrote:

> Actually this updated patch, rather.
> There is no more copy with an apr_table than with an apr_hash (we
> still point to the given key).
> I also added apr_json_object_add() for explicitely allowing doublons,
> while apr_json_object_set() still replaces as before, similarly to
> apr_table_add() vs apr_table_set().
> 
> WDYT?

To fill you in, the purpose of the apr_json.h API is to be RFC8259 compliant, 
which in turn is being used an implementation of JOSE support for APR 
(RFC7515/RFC7516/RFC7519), which in turn depends on a fully RFC compliant 
version of a JSON encode/decoder, meeting specific security requirements.

In the case of the apr_table.h API, keys are case insensitive, meaning that if 
we use apr_tables.h in turn apr_json.h will in turn no longer be RFC compliant 
(object keys will fail comparisons), and therefore neither will any of the JOSE 
code.

As a result, we cannot use the apr_tables.h API for this and remain compliant.

The JOSE code was ready earlier today, but the API changes have meant I need to 
update the code to the new API before being able to commit anything (you just 
beat me to it). Will do that tomorrow when I have had some sleep.

Regards,
Graham
—

Reply via email to