> On 18 Jun 2018, at 15:38, Emmanuel Hocdet <[email protected]> wrote:
> 
> 
>> Le 18 juin 2018 à 15:30, Thierry Fournier <[email protected]> a 
>> écrit :
>> 
>> 
>> 
>>> On 18 Jun 2018, at 14:37, Emmanuel Hocdet <[email protected]> wrote:
>>> 
>>>> 
>>>> Le 18 juin 2018 à 10:43, Thierry Fournier <[email protected]> 
>>>> a écrit :
>>>> 
>>>> 
>>>>> On 18 Jun 2018, at 10:33, Willy Tarreau <[email protected]> wrote:
>>>>> 
>>>>> On Sun, Jun 17, 2018 at 09:44:50PM +0200, [email protected] 
>>>>> wrote:
>>>>>> Finally, I got it ! It works with luck because we have 1 bug in Haproxy
>>>>>> and 1 error (I suppose) in a OpenSSL compatibility layer.
>>>>> (...)
>>>>>> I join two patch. The first which fix the cipher capture must be
>>>>>> backported to 1.8, for the second patch wich fix the app data
>>>>>> compatibility, I dont known (at least 1.8).
>>>>> 
>>>>> Good job! I imagine you didn't have a funny week-end playing with this 
>>>>> one :-/
>>>> 
>>>> 
>>>> Yes, including the Friday :-) But I hope this path improve stability. If 
>>>> someone
>>>> have time and is interested by the subject, it may be interesting to see 
>>>> in the
>>>> OpenSSL code if the slot 0 used without reservation works fine, or works 
>>>> because
>>>> we have luck.
>>>> 
>>> 
>>> It work find because slot 0 is natively reserved for old *_{set, 
>>> get}_app_data API compatibility.
>> 
>> 
>> Ok, thanks. So the classifcation BUG/MAJOR can be changed for BUG/MEDIUM
>> because it impacts only the usage of SSL join with the cipherlist hash.
>> Too late :-)
>> 
> 
> I think it should not be a bug at all (second patch), and set of ex_data 
> without reservation
> (first patch and my patch) should be the only sources of bugs.
> 

I don’t known. In fact it works, so it is not a bug. But, when I use the
reservation for an ex_data slot, it returns the slot 0, and this slot is
used for the compatibility layer and can be crush some data. I conclude
that is a bug in Openssl. The reservation function must give a slot
starting to 1.

Maybe, the recommendation is to not mix the compatibility functions
like set_app_data() with *ex_data*() functions. But, I don’t see 
anything about this.

thierry

Reply via email to