<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
The file below is LPGL 2.1, and may not be compatible with various projects. Can it be changed to use the OpenSSL license or equivalent?<br class="">
<div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">--</div>
<div class="">-Todd Short</div>
<div class="">// <a href="mailto:tshort@akamai.com" class="">tshort@akamai.com</a></div>
<div class="">// "One if by land, two if by sea, three if by the Internet."</div>
</div>
</div>
</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Nov 3, 2016, at 4:31 PM, Douglas E Engert <<a href="mailto:deengert@gmail.com" class="">deengert@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div bgcolor="#FFFFFF" text="#000000" class=""><br class="">
<br class="">
<div class="moz-cite-prefix">On 11/3/2016 3:11 PM, Benjamin Kaduk wrote:<br class="">
</div>
<blockquote cite="mid:91045f12-b72e-4ad0-40c2-cd084cafad5b@akamai.com" type="cite" class="">
<tt class="">To revitalize an old thread (quoted below but summarized here), some applications may desire source-code compatibility between the 1.0.2 API and the 1.1.0 API.  It seems like the sense of the team is that such accessor functions (or macros) should
 not be committed into the official 1.0.2 tree, but that the community could maintain an external compatibility shim.  Is that correct?<br class="">
<br class="">
Does anyone already have such a compatibility header, or thoughts about where it should/could reside?<br class="">
</tt></blockquote>
<br class="">
OpenSC has such a header file to address most of the OpenSSL functions used withing OpenSC.
<br class="">
<br class="">
<a class="moz-txt-link-freetext" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_OpenSC_OpenSC_blob_master_src_libopensc_sc-2Dossl-2Dcompat.h&d=DgMDaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=QBEcQsqoUDdk1Q26CzlzNPPUkKYWIh1LYsiHAwmtRik&m=xoYIrv5R7W7QHyLEdOuyzFJ-b7mHMoeJeaJ6OXIq3Os&s=nIUo0yfKtaVnPewNDTpig52n6Mbim01ii8UnkmQwYLY&e=">https://github.com/OpenSC/OpenSC/blob/master/src/libopensc/sc-ossl-compat.h</a><br class="">
<br class="">
<tt class=""><br class="">
<br class="">
</tt>
<blockquote cite="mid:91045f12-b72e-4ad0-40c2-cd084cafad5b@akamai.com" type="cite" class="">
<tt class=""><br class="">
We have been noticing that a lot of accessor implementations can be backported as static inline functions to a compatibility header or headers with no further modification.  (But not all, as, e.g., HMAC_CTX has changed to hold pointers instead of embedded structs.)<br class="">
<br class="">
-Ben<br class="">
</tt><br class="">
<div class="moz-cite-prefix">On 01/11/2016 01:20 PM, Matt Caswell wrote:<br class="">
</div>
<blockquote cite="mid:5694008D.20502@openssl.org" type="cite" class="">
<pre wrap="" class="">On 11/01/16 18:29, Viktor Dukhovni wrote:
</pre>
<blockquote type="cite" class="">
<blockquote type="cite" class="">
<pre wrap="" class="">On Jan 11, 2016, at 5:23 AM, Tomas Mraz <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:tmraz@redhat.com"><tmraz@redhat.com></a> wrote:

On Po, 2016-01-11 at 01:09 +0000, Peter Waltenberg wrote:
</pre>
<blockquote type="cite" class="">
<pre wrap="" class="">The point of using accessor FUNCTIONS is that the code doesn't break
if the structure size or offsets of fields in the underlying
structures change across binaries.

Where that mainly has an impact is updating the crypto/ssl libs
underneath existing binaries is more likely to just work.

#defines in the headers do not help at all here.

</pre>
</blockquote>
<pre wrap="" class="">The point is in achieving reverse API compatibility between 1.1 and
1.0.2. No binary compatibility is expected between those branches.

I think that having the API compatibility would be really useful thing
easing porting application code to 1.1 branch.
</pre>
</blockquote>
<pre wrap="" class="">Yes, although in practice may users of 1.0.x will have previous releases
that don't have the accessors, so the issue is difficult to address
retroactively in OpenSSL.  In Postfix, I add the macros myself:

#if OPENSSL_VERSION_NUMBER < 0x10100000L
#define X509_up_ref(x) (CRYPTO_add(&x->references, 1, CRYPTO_LOCK_X509))
#endif

Which means that interestingly enough adding these to 1.0.x would break
my code and similar code elsewhere.

So on the whole forward-compatibility macros don't fully address the
problem, and may do as much harm as good.

I think that applications porting to 1.1.0 can and should implement
their own macros against a stable 1.0.x API that we don't change
at the last minute.  Providing your own forward-compatible glue
is easy enough...

</pre>
</blockquote>
<pre wrap="" class="">Perhaps someone from the community could contribute a (separately
maintained) compatibility layer to provide the relevant macros?

Matt
_______________________________________________
openssl-dev mailing list
To unsubscribe: <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__mta.openssl.org_mailman_listinfo_openssl-2Ddev&d=DgMDaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=QBEcQsqoUDdk1Q26CzlzNPPUkKYWIh1LYsiHAwmtRik&m=xoYIrv5R7W7QHyLEdOuyzFJ-b7mHMoeJeaJ6OXIq3Os&s=PzZDcf-p6tMpMoz0dw0z21yscvoMGdBrpf08ZD7UAq8&e=">https://mta.openssl.org/mailman/listinfo/openssl-dev</a>
</pre>
</blockquote>
<br class="">
<br class="">
<fieldset class="mimeAttachmentHeader"></fieldset> <br class="">
</blockquote>
<br class="">
<pre class="moz-signature" cols="200">-- 

 Douglas E. Engert  <a class="moz-txt-link-rfc2396E" href="mailto:DEEngert@gmail.com"><DEEngert@gmail.com></a>
 
</pre>
</div>
-- <br class="">
openssl-dev mailing list<br class="">
To unsubscribe: <a href="https://mta.openssl.org/mailman/listinfo/openssl-dev" class="">
https://mta.openssl.org/mailman/listinfo/openssl-dev</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</body>
</html>