Patch to avoid conflicts with OpenSSL headers

Ken Murchison murch at andrew.cmu.edu
Sat Jan 30 08:22:03 EST 2016


Hi Adam,

Thanks for the patch, but I'm reluctant to apply it because any existing 
software using the MD5 implementation in Cyrus SASL would be broken by 
this change.  Also, OpenSSL and Cyrus SASL have co-existed for quite 
some time and the two MD5_CTX haven't been a big problem as far as I 
know, but I could be wrong.

I've cc'd the cyrus-devel list to see if others have opinions.


On 01/29/2016 03:16 PM, Adam Langley via Cyrus-sasl wrote:
> I'm not sure of your preferred process for submitting patches, so
> please advise if this isn't it.
>
> The attached git patch renames the MD5_CTX structure to avoid
> conflicts with OpenSSL:
>
>      Rename MD5_CTX to SASL_MD5_CTX.
>
>      Both this code and OpenSSL picked up the same MD5 naming from
>      twenty-five years ago. Since C doesn't have namespaces, this causes
>      conflicts when headers from cyrus-sasl and OpenSSL are included in the
>      same file. This is fairly common and, indeed, occurs within several
>      plugins included in cyrus-sasl.
>
>      This change renames the MD5_CTX structure in cyrus-sasl to SASL_MD5_CTX
>      to avoid this conflict. It also removes the workarounds that several
>      plugins needed in order to use OpenSSL.
>
>
> Cheers
>
> AGL
>

-- 
Kenneth Murchison
Principal Systems Software Engineeer
Carnegie Mellon University



More information about the Cyrus-devel mailing list