Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 499726 Details for
Bug 531540
dev-libs/openssl: revise inclusion of elliptic curves with bindist USE flag
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
openssl-1.0.2l-r1-with-ec-ABI-compat.html
compat_report.html (text/html), 59.22 KB, created by
Robin Johnson
on 2017-10-22 22:46:35 UTC
(
hide
)
Description:
openssl-1.0.2l-r1-with-ec-ABI-compat.html
Filename:
MIME Type:
Creator:
Robin Johnson
Created:
2017-10-22 22:46:35 UTC
Size:
59.22 KB
patch
obsolete
><!-- kind:binary;verdict:incompatible;affected:71.8;added:0;removed:21;type_problems_high:2;type_problems_medium:1;type_problems_low:3;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:2.2 --> ><!-- kind:source;verdict:incompatible;affected:74.4;added:0;removed:21;type_problems_high:3;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:2.2 --> ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> ><head> ><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ><meta name="keywords" content="libssl, compatibility, API, ABI, report" /> ><meta name="description" content="API/ABI compatibility report for the libssl object between 1.0.0 and 1.0.0 versions" /> ><title>libssl: 1.0.0 to 1.0.0 compatibility report</title> ><style type="text/css"> >body { > font-family:Arial, sans-serif; > background-color:White; > color:Black; >} >hr { > color:Black; > background-color:Black; > height:1px; > border:0; >} >h1 { > margin-bottom:0px; > padding-bottom:0px; > font-size:1.625em; >} >h2 { > margin-bottom:0px; > padding-bottom:0px; > font-size:1.25em; > white-space:nowrap; >} >span.section { > font-weight:bold; > cursor:pointer; > color:#003E69; > white-space:nowrap; > margin-left:0.3125em; >} >span.new_sign { > font-weight:bold; > margin-left:1.65em; > color:#003E69; >} >span.new_sign_lbl { > margin-left:3em; > font-size:1em; > color:Black; >} >span:hover.section { > color:#336699; >} >span.sect_aff { > cursor:pointer; > padding-left:1.55em; > font-size:0.875em; > color:#cc3300; >} >span.sect_info { > cursor:pointer; > padding-left:1.55em; > font-size:0.875em; > color:Black; >} >span.ext { > font-weight:normal; >} >span.h_name { > color:#cc3300; > font-size:0.875em; > font-weight:bold; >} >div.h_list, div.lib_list { > font-size:0.94em; > padding-left:0.4em; >} >span.ns { > color:#408080; > font-size:0.94em; >} >span.lib_name { > color:Green; > font-size:0.875em; > font-weight:bold; >} >span.iname { > font-weight:bold; > color:#003E69; > margin-left:0.3125em; >} >span.iname_b { > font-weight:bold; >} >span.iname_a { > color:#333333; > font-weight:bold; > font-size:0.94em; >} >span.sym_p { > font-weight:normal; > white-space:normal; >} >span.sym_pd { > white-space:normal; >} >span.sym_p span, span.sym_pd span { > white-space:nowrap; >} >div.affect { > padding-left:1em; > padding-bottom:10px; > font-size:0.87em; > font-style:italic; > line-height:0.9em; >} >div.affected { > padding-left:1.9em; > padding-top:10px; >} >table.ptable { > border-collapse:collapse; > border:1px outset black; > margin-left:0.95em; > margin-top:3px; > margin-bottom:3px; > width:56.25em; >} >table.ptable td { > border:1px solid gray; > padding:3px; > font-size:0.875em; > text-align:left; > vertical-align:top; > max-width:28em; > word-wrap:break-word; >} >table.ptable th.pn { > width:2%; >} >table.ptable th.chg { > width:47%; >} >table.vtable { > border-collapse:collapse; > border:1px outset black; > margin-left:1.9em; > margin-top:0.7em; >} >table.vtable td { > border:1px solid gray; > padding:3px; > font-size:0.875em; > vertical-align:top; > max-width:450px; > word-wrap:break-word; >} >table.ptable th, table.vtable th { > background-color:#eeeeee; > font-weight:bold; > color:#333333; > font-family:Verdana, Arial; > font-size:0.875em; > border:1px solid gray; > text-align:center; > vertical-align:top; > white-space:nowrap; > padding:3px; >} >table.summary { > border-collapse:collapse; > border:1px outset black; >} >table.summary th { > background-color:#eeeeee; > font-weight:normal; > text-align:left; > font-size:0.94em; > white-space:nowrap; > border:1px inset gray; > padding:3px; >} >table.summary td { > text-align:right; > white-space:nowrap; > border:1px inset gray; > padding:3px 5px 3px 10px; >} >span.mngl { > padding-left:1em; > font-size:0.875em; > cursor:text; > color:#444444; > font-weight:bold; >} >span.pleft { > padding-left:2.5em; >} >span.sym_ver { > color:#333333; > white-space:nowrap; > font-family:"DejaVu Sans Mono", Monospace; >} >span.attr { > color:#333333; > font-weight:normal; >} >span.color_p { > font-style:italic; > color:Brown; >} >span.p { > font-style:italic; >} >span.fp { > font-style:italic; > background-color:#DCDCDC; >} >span.ttype { > font-weight:normal; >} >span.nowrap { > white-space:nowrap; >} >span.value { > font-weight:bold; >} >.passed { > background-color:#CCFFCC; > font-weight:normal; >} >.warning { > background-color:#F4F4AF; > font-weight:normal; >} >.failed { > background-color:#FFCCCC; > font-weight:normal; >} >.new { > background-color:#C6DEFF; > font-weight:normal; >} >.compatible { > background-color:#CCFFCC; > font-weight:normal; >} >.almost_compatible { > background-color:#FFDAA3; > font-weight:normal; >} >.incompatible { > background-color:#FFCCCC; > font-weight:normal; >} >.gray { > background-color:#DCDCDC; > font-weight:normal; >} >.top_ref { > font-size:0.69em; >} >.footer { > font-size:0.75em; >} > >.tabset { > float:left; >} >a.tab { > border:1px solid Black; > float:left; > margin:0px 5px -1px 0px; > padding:3px 5px 3px 5px; > position:relative; > font-size:0.875em; > background-color:#DDD; > text-decoration:none; > color:Black; >} >a.disabled:hover >{ > color:Black; > background:#EEE; >} >a.active:hover >{ > color:Black; > background:White; >} >a.active { > border-bottom-color:White; > background-color:White; >} >div.tab { > border-top:1px solid Black; > padding:0px; > width:100%; > clear:both; >} ></style> ><script type="text/javascript" language="JavaScript"> ><!-- >function showContent(header, id) >{ > e = document.getElementById(id); > if(e.style.display == 'none') > { > e.style.display = 'block'; > e.style.visibility = 'visible'; > header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]"); > } > else > { > e.style.display = 'none'; > e.style.visibility = 'hidden'; > header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]"); > } >} >function initTabs() >{ > var url = window.location.href; > if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1) > { > var tab1 = document.getElementById('BinaryID'); > var tab2 = document.getElementById('SourceID'); > tab1.className='tab disabled'; > tab2.className='tab active'; > } > var sets = document.getElementsByTagName('div'); > for (var i = 0; i < sets.length; i++) > { > if (sets[i].className.indexOf('tabset') != -1) > { > var tabs = []; > var links = sets[i].getElementsByTagName('a'); > for (var j = 0; j < links.length; j++) > { > if (links[j].className.indexOf('tab') != -1) > { > tabs.push(links[j]); > links[j].tabs = tabs; > var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1)); > //reset all tabs on start > if (tab) > { > if (links[j].className.indexOf('active')!=-1) { > tab.style.display = 'block'; > } > else { > tab.style.display = 'none'; > } > } > links[j].onclick = function() > { > var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1)); > if (tab) > { > //reset all tabs before change > for (var k = 0; k < this.tabs.length; k++) > { > document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none'; > this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled'); > } > this.className = 'tab active'; > tab.style.display = 'block'; > // window.location.hash = this.id.replace('ID', ''); > return false; > } > } > } > } > } > } > if(url.indexOf('#')!=-1) { > location.href=location.href; > } >} >if (window.addEventListener) window.addEventListener('load', initTabs, false); >else if (window.attachEvent) window.attachEvent('onload', initTabs); >--> ></script> ></head> ><body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libssl.so</span> object between <span style='color:Red;'>1.0.0</span> and <span style='color:Red;'>1.0.0</span> versions on <span style='color:Blue;'>x86_64</span></h1> > > <br/> > <div class='tabset'> > <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a> > <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a> > </div><div id='BinaryTab' class='tab'> ><h2>Test Info</h2><hr/> ><table class='summary'> ><tr><th>Module Name</th><td>libssl</td></tr> ><tr><th>Version #1</th><td>1.0.0</td></tr> ><tr><th>Version #2</th><td>1.0.0</td></tr> ><tr><th>Arch</th><td>x86_64</td></tr> ><tr><th>GCC Version</th><td>6.4.0</td></tr> ><tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr> ></table> ><h2>Test Results</h2><hr/> ><table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>27</a></td></tr> ><tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>34</a></td></tr> ><tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> ><tr><th>Total Symbols / Types</th><td>328 / 298</td></tr> ><tr><th>Compatibility</th> ><td class='incompatible'>28.2%</td> ></tr> ></table> ><h2>Problem Summary</h2><hr/> ><table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr> ><tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Binary_Removed' style='color:Blue;'>21</a></td></tr> ><tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Binary_Problems_High' style='color:Blue;'>2</a></td></tr> ><tr><td>Medium</td><td class='failed'><a href='#Type_Binary_Problems_Medium' style='color:Blue;'>1</a></td></tr> ><tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>3</a></td></tr> ><tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> ><tr><td>Medium</td><td>0</td></tr> ><tr><td>Low</td><td>0</td></tr> ><tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> ></table> > ><a name='Binary_Removed'></a><a name='Binary_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 21 </span></h2><hr/> ><span class='h_name'>ssl.h</span>, <span class='lib_name'>libssl.so.1.0.0</span><br/> ><span class="iname">SRP_Calc_A_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SRP_generate_client_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> ><span class="iname">SRP_generate_server_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_cb_arg <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>void* <span class='color_p'>arg</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_client_pwd_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char*(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_password <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>password</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_strength <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>strength</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_username <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>name</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_username_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, int*, void*)</span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_verify_param_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> ><span class="iname">SSL_CTX_SRP_CTX_free <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_SRP_CTX_init <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_g <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_N <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_userinfo <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_set_srp_server_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>BIGNUM const* <span class='color_p'>N</span></span>, <span>BIGNUM const* <span class='color_p'>g</span></span>, <span>BIGNUM* <span class='color_p'>sa</span></span>, <span>BIGNUM* <span class='color_p'>v</span></span>, <span>char* <span class='color_p'>info</span></span> )</span></span><br/> ><span class="iname">SSL_set_srp_server_param_pw <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>char const* <span class='color_p'>user</span></span>, <span>char const* <span class='color_p'>pass</span></span>, <span>char const* <span class='color_p'>grp</span></span> )</span></span><br/> ><span class="iname">SSL_SRP_CTX_free <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_SRP_CTX_init <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_srp_server_param_with_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>int* <span class='color_p'>ad</span></span> )</span></span><br/> ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='High_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_High'></a> ><h2>Problems with Data Types, High Severity <span class='failed'> 2 </span></h2><hr/> ><span class='h_name'>ssl.h</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_1')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_ctx_st <span class='failed'> 1 </span></span> ><br/> ><div id="c_1" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>srp_ctx</b> has been removed from the middle position of this structural type.</td> ><td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_2')"> >[+] affected symbols: 88 (26.8%)</span> ><div id="c_2" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CONF_CTX_set_ssl_ctx <span class='sym_p'><span>( SSL_CONF_CTX* <i>cctx</i></span>, <span>SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>2nd parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_client_CA <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>X509* <i>x</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_client_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_server_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_session <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>SSL_SESSION* <i>c</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_callback_ctrl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>cmd</i></span>, <span>void(*<i>fp</i>)()</span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_check_private_key <span class='sym_p'><span>( SSL_CTX const* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><span class="section" onclick="javascript:showContent(this, 'c_3')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_st <span class='failed'> 1 </span></span> ><br/> ><div id="c_3" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>srp_ctx</b> has been removed from the middle position of this structural type.</td> ><td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_4')"> >[+] affected symbols: 206 (62.8%)</span> ><div id="c_4" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> ><div class='affect'>1st parameter 's' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Medium_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Medium'></a> ><h2>Problems with Data Types, Medium Severity <span class='failed'> 1 </span></h2><hr/> ><span class='h_name'>ssl.h</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_5')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_session_st <span class='failed'> 1 </span></span> ><br/> ><div id="c_5" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>srp_username</b> has been removed from this type.</td> ><td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_6')"> >[+] affected symbols: 223 (68%)</span> ><div id="c_6" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>d2i_SSL_SESSION <span class='sym_p'><span>( SSL_SESSION** <span class='fp'>a</span></span>, <span>unsigned char const** <i>pp</i></span>, <span>long <i>length</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'a' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> ><div class='affect'>Field 's.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 's' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a> ><h2>Problems with Data Types, Low Severity <span class='warning'> 3 </span></h2><hr/> ><span class='h_name'>ssl.h</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_7')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_ctx_st <span class='warning'> 1 </span></span> ><br/> ><div id="c_7" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Size of this type has been changed from <b>776</b> bytes to <b>648</b> bytes.</td> ><td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_8')"> >[+] affected symbols: 88 (26.8%)</span> ><div id="c_8" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CONF_CTX_set_ssl_ctx <span class='sym_p'><span>( SSL_CONF_CTX* <i>cctx</i></span>, <span>SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>2nd parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_client_CA <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>X509* <i>x</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_client_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_server_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_session <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>SSL_SESSION* <i>c</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_callback_ctrl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>cmd</i></span>, <span>void(*<i>fp</i>)()</span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_check_private_key <span class='sym_p'><span>( SSL_CTX const* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><span class="section" onclick="javascript:showContent(this, 'c_9')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_session_st <span class='warning'> 1 </span></span> ><br/> ><div id="c_9" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Size of this type has been changed from <b>352</b> bytes to <b>344</b> bytes.</td> ><td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_10')"> >[+] affected symbols: 223 (68%)</span> ><div id="c_10" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>d2i_SSL_SESSION <span class='sym_p'><span>( SSL_SESSION** <span class='fp'>a</span></span>, <span>unsigned char const** <i>pp</i></span>, <span>long <i>length</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'a' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> ><div class='affect'>Field 's.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 's' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><span class="section" onclick="javascript:showContent(this, 'c_11')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_st <span class='warning'> 1 </span></span> ><br/> ><div id="c_11" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Size of this type has been changed from <b>824</b> bytes to <b>696</b> bytes.</td> ><td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_12')"> >[+] affected symbols: 206 (62.8%)</span> ><div id="c_12" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> ><div class='affect'>1st parameter 's' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Headers'></a><h2>Header Files <span class='gray'> 27 </span></h2><hr/> ><div class='h_list'> >asn1.h<br/> >bio.h<br/> >bn.h<br/> >buffer.h<br/> >comp.h<br/> >crypto.h<br/> >dh.h<br/> >dsa.h<br/> >dtls1.h<br/> >ec.h<br/> >evp.h<br/> >hmac.h<br/> >ocsp.h<br/> >ossl_typ.h<br/> >pem.h<br/> >pqueue.h<br/> >rsa.h<br/> >srtp.h<br/> >ssl.h<br/> >ssl2.h<br/> >ssl3.h<br/> >stack.h<br/> >symhacks.h<br/> >tls1.h<br/> >x509.h<br/> >x509_vfy.h<br/> >x509v3.h<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Sources'></a><h2>Source Files <span class='gray'> 34 </span></h2><hr/> ><div class='h_list'> >bio_ssl.c<br/> >d1_both.c<br/> >d1_clnt.c<br/> >d1_meth.c<br/> >d1_srtp.c<br/> >d1_srvr.c<br/> >s23_clnt.c<br/> >s23_meth.c<br/> >s23_srvr.c<br/> >s2_meth.c<br/> >s3_cbc.c<br/> >s3_clnt.c<br/> >s3_enc.c<br/> >s3_meth.c<br/> >s3_srvr.c<br/> >ssl_algs.c<br/> >ssl_asn1.c<br/> >ssl_cert.c<br/> >ssl_ciph.c<br/> >ssl_conf.c<br/> >ssl_err.c<br/> >ssl_err2.c<br/> >ssl_lib.c<br/> >ssl_rsa.c<br/> >ssl_sess.c<br/> >ssl_stat.c<br/> >ssl_txt.c<br/> >t1_clnt.c<br/> >t1_ext.c<br/> >t1_lib.c<br/> >t1_meth.c<br/> >t1_reneg.c<br/> >t1_srvr.c<br/> >tls_srp.c<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> ><div class='lib_list'> >libssl.so.1.0.0<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><br/><br/><br/></div><div id='SourceTab' class='tab'> ><h2>Test Info</h2><hr/> ><table class='summary'> ><tr><th>Module Name</th><td>libssl</td></tr> ><tr><th>Version #1</th><td>1.0.0</td></tr> ><tr><th>Version #2</th><td>1.0.0</td></tr> ><tr><th>Arch</th><td>x86_64</td></tr> ><tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr> ></table> ><h2>Test Results</h2><hr/> ><table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>27</a></td></tr> ><tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>34</a></td></tr> ><tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> ><tr><th>Total Symbols / Types</th><td>328 / 298</td></tr> ><tr><th>Compatibility</th> ><td class='incompatible'>25.6%</td> ></tr> ></table> ><h2>Problem Summary</h2><hr/> ><table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr> ><tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>21</a></td></tr> ><tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Source_Problems_High' style='color:Blue;'>3</a></td></tr> ><tr><td>Medium</td><td>0</td></tr> ><tr><td>Low</td><td>0</td></tr> ><tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> ><tr><td>Medium</td><td>0</td></tr> ><tr><td>Low</td><td>0</td></tr> ><tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> ></table> > ><a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 21 </span></h2><hr/> ><span class='h_name'>ssl.h</span><br/> ><span class="iname">SRP_Calc_A_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SRP_generate_client_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> ><span class="iname">SRP_generate_server_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_cb_arg <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>void* <span class='color_p'>arg</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_client_pwd_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char*(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_password <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>password</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_strength <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>strength</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_username <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>name</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_username_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, int*, void*)</span> )</span></span><br/> ><span class="iname">SSL_CTX_set_srp_verify_param_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> ><span class="iname">SSL_CTX_SRP_CTX_free <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> ><span class="iname">SSL_CTX_SRP_CTX_init <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_g <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_N <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_userinfo <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_get_srp_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_set_srp_server_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>BIGNUM const* <span class='color_p'>N</span></span>, <span>BIGNUM const* <span class='color_p'>g</span></span>, <span>BIGNUM* <span class='color_p'>sa</span></span>, <span>BIGNUM* <span class='color_p'>v</span></span>, <span>char* <span class='color_p'>info</span></span> )</span></span><br/> ><span class="iname">SSL_set_srp_server_param_pw <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>char const* <span class='color_p'>user</span></span>, <span>char const* <span class='color_p'>pass</span></span>, <span>char const* <span class='color_p'>grp</span></span> )</span></span><br/> ><span class="iname">SSL_SRP_CTX_free <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_SRP_CTX_init <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> ><span class="iname">SSL_srp_server_param_with_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>int* <span class='color_p'>ad</span></span> )</span></span><br/> ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='High_Risk_Source_Problems'></a><a name='Type_Source_Problems_High'></a> ><h2>Problems with Data Types, High Severity <span class='failed'> 3 </span></h2><hr/> ><span class='h_name'>ssl.h</span><br/> ><span class="section" onclick="javascript:showContent(this, 'c_13')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_ctx_st <span class='failed'> 1 </span></span> ><br/> ><div id="c_13" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>srp_ctx</b> has been removed from this type.</td> ><td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct ssl_ctx_st</span>' has no member named '<b>srp_ctx</b>'.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_14')"> >[+] affected symbols: 88 (26.8%)</span> ><div id="c_14" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CONF_CTX_set_ssl_ctx <span class='sym_p'><span>( SSL_CONF_CTX* <i>cctx</i></span>, <span>SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>2nd parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_client_CA <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>X509* <i>x</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_client_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_server_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_add_session <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>SSL_SESSION* <i>c</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_callback_ctrl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>cmd</i></span>, <span>void(*<i>fp</i>)()</span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> ><span class='iname_a'>SSL_CTX_check_private_key <span class='sym_p'><span>( SSL_CTX const* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><span class="section" onclick="javascript:showContent(this, 'c_15')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_session_st <span class='failed'> 1 </span></span> ><br/> ><div id="c_15" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>srp_username</b> has been removed from this type.</td> ><td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct ssl_session_st</span>' has no member named '<b>srp_username</b>'.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_16')"> >[+] affected symbols: 223 (68%)</span> ><div id="c_16" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>d2i_SSL_SESSION <span class='sym_p'><span>( SSL_SESSION** <span class='fp'>a</span></span>, <span>unsigned char const** <i>pp</i></span>, <span>long <i>length</i></span> )</span></span><br/> ><div class='affect'>1st parameter 'a' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> ><div class='affect'>Field 's.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 's' (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> ><span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><span class="section" onclick="javascript:showContent(this, 'c_17')"> ><span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_st <span class='failed'> 1 </span></span> ><br/> ><div id="c_17" style="display:none;"> ><table class='ptable'><tr> ><th class='pn'></th> ><th class='chg'>Change</th> ><th>Effect</th></tr><tr> ><th>1</th> ><td>Field <b>srp_ctx</b> has been removed from this type.</td> ><td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct ssl_st</span>' has no member named '<b>srp_ctx</b>'.</td> ></tr> ></table> ><span class="sect_aff" onclick="javascript:showContent(this, 'c_18')"> >[+] affected symbols: 206 (62.8%)</span> ><div id="c_18" style="display:none;"> ><div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> ><div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> ><div class='affect'>1st parameter 's' (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> ><span class='iname_a'>DTLSv1_2_server_method <span class='sym_p'>( )</span></span><br/> ><div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> > <b>...</b> ><br/> ></div> ></div> ><br/><br/></div> > ><br/> ><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Headers'></a><h2>Header Files <span class='gray'> 27 </span></h2><hr/> ><div class='h_list'> >asn1.h<br/> >bio.h<br/> >bn.h<br/> >buffer.h<br/> >comp.h<br/> >crypto.h<br/> >dh.h<br/> >dsa.h<br/> >dtls1.h<br/> >ec.h<br/> >evp.h<br/> >hmac.h<br/> >ocsp.h<br/> >ossl_typ.h<br/> >pem.h<br/> >pqueue.h<br/> >rsa.h<br/> >srtp.h<br/> >ssl.h<br/> >ssl2.h<br/> >ssl3.h<br/> >stack.h<br/> >symhacks.h<br/> >tls1.h<br/> >x509.h<br/> >x509_vfy.h<br/> >x509v3.h<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Sources'></a><h2>Source Files <span class='gray'> 34 </span></h2><hr/> ><div class='h_list'> >bio_ssl.c<br/> >d1_both.c<br/> >d1_clnt.c<br/> >d1_meth.c<br/> >d1_srtp.c<br/> >d1_srvr.c<br/> >s23_clnt.c<br/> >s23_meth.c<br/> >s23_srvr.c<br/> >s2_meth.c<br/> >s3_cbc.c<br/> >s3_clnt.c<br/> >s3_enc.c<br/> >s3_meth.c<br/> >s3_srvr.c<br/> >ssl_algs.c<br/> >ssl_asn1.c<br/> >ssl_cert.c<br/> >ssl_ciph.c<br/> >ssl_conf.c<br/> >ssl_err.c<br/> >ssl_err2.c<br/> >ssl_lib.c<br/> >ssl_rsa.c<br/> >ssl_sess.c<br/> >ssl_stat.c<br/> >ssl_txt.c<br/> >t1_clnt.c<br/> >t1_ext.c<br/> >t1_lib.c<br/> >t1_meth.c<br/> >t1_reneg.c<br/> >t1_srvr.c<br/> >tls_srp.c<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> ><div class='lib_list'> >libssl.so.1.0.0<br/> ></div> ><br/><a class='top_ref' href='#Top'>to the top</a><br/> ><br/><br/><br/></div><hr/> ><div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.2  </i> ></div> ><br/> > ></body></html>
<!-- kind:binary;verdict:incompatible;affected:71.8;added:0;removed:21;type_problems_high:2;type_problems_medium:1;type_problems_low:3;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:2.2 --> <!-- kind:source;verdict:incompatible;affected:74.4;added:0;removed:21;type_problems_high:3;type_problems_medium:0;type_problems_low:0;interface_problems_high:0;interface_problems_medium:0;interface_problems_low:0;changed_constants:0;tool_version:2.2 --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="keywords" content="libssl, compatibility, API, ABI, report" /> <meta name="description" content="API/ABI compatibility report for the libssl object between 1.0.0 and 1.0.0 versions" /> <title>libssl: 1.0.0 to 1.0.0 compatibility report</title> <style type="text/css"> body { font-family:Arial, sans-serif; background-color:White; color:Black; } hr { color:Black; background-color:Black; height:1px; border:0; } h1 { margin-bottom:0px; padding-bottom:0px; font-size:1.625em; } h2 { margin-bottom:0px; padding-bottom:0px; font-size:1.25em; white-space:nowrap; } span.section { font-weight:bold; cursor:pointer; color:#003E69; white-space:nowrap; margin-left:0.3125em; } span.new_sign { font-weight:bold; margin-left:1.65em; color:#003E69; } span.new_sign_lbl { margin-left:3em; font-size:1em; color:Black; } span:hover.section { color:#336699; } span.sect_aff { cursor:pointer; padding-left:1.55em; font-size:0.875em; color:#cc3300; } span.sect_info { cursor:pointer; padding-left:1.55em; font-size:0.875em; color:Black; } span.ext { font-weight:normal; } span.h_name { color:#cc3300; font-size:0.875em; font-weight:bold; } div.h_list, div.lib_list { font-size:0.94em; padding-left:0.4em; } span.ns { color:#408080; font-size:0.94em; } span.lib_name { color:Green; font-size:0.875em; font-weight:bold; } span.iname { font-weight:bold; color:#003E69; margin-left:0.3125em; } span.iname_b { font-weight:bold; } span.iname_a { color:#333333; font-weight:bold; font-size:0.94em; } span.sym_p { font-weight:normal; white-space:normal; } span.sym_pd { white-space:normal; } span.sym_p span, span.sym_pd span { white-space:nowrap; } div.affect { padding-left:1em; padding-bottom:10px; font-size:0.87em; font-style:italic; line-height:0.9em; } div.affected { padding-left:1.9em; padding-top:10px; } table.ptable { border-collapse:collapse; border:1px outset black; margin-left:0.95em; margin-top:3px; margin-bottom:3px; width:56.25em; } table.ptable td { border:1px solid gray; padding:3px; font-size:0.875em; text-align:left; vertical-align:top; max-width:28em; word-wrap:break-word; } table.ptable th.pn { width:2%; } table.ptable th.chg { width:47%; } table.vtable { border-collapse:collapse; border:1px outset black; margin-left:1.9em; margin-top:0.7em; } table.vtable td { border:1px solid gray; padding:3px; font-size:0.875em; vertical-align:top; max-width:450px; word-wrap:break-word; } table.ptable th, table.vtable th { background-color:#eeeeee; font-weight:bold; color:#333333; font-family:Verdana, Arial; font-size:0.875em; border:1px solid gray; text-align:center; vertical-align:top; white-space:nowrap; padding:3px; } table.summary { border-collapse:collapse; border:1px outset black; } table.summary th { background-color:#eeeeee; font-weight:normal; text-align:left; font-size:0.94em; white-space:nowrap; border:1px inset gray; padding:3px; } table.summary td { text-align:right; white-space:nowrap; border:1px inset gray; padding:3px 5px 3px 10px; } span.mngl { padding-left:1em; font-size:0.875em; cursor:text; color:#444444; font-weight:bold; } span.pleft { padding-left:2.5em; } span.sym_ver { color:#333333; white-space:nowrap; font-family:"DejaVu Sans Mono", Monospace; } span.attr { color:#333333; font-weight:normal; } span.color_p { font-style:italic; color:Brown; } span.p { font-style:italic; } span.fp { font-style:italic; background-color:#DCDCDC; } span.ttype { font-weight:normal; } span.nowrap { white-space:nowrap; } span.value { font-weight:bold; } .passed { background-color:#CCFFCC; font-weight:normal; } .warning { background-color:#F4F4AF; font-weight:normal; } .failed { background-color:#FFCCCC; font-weight:normal; } .new { background-color:#C6DEFF; font-weight:normal; } .compatible { background-color:#CCFFCC; font-weight:normal; } .almost_compatible { background-color:#FFDAA3; font-weight:normal; } .incompatible { background-color:#FFCCCC; font-weight:normal; } .gray { background-color:#DCDCDC; font-weight:normal; } .top_ref { font-size:0.69em; } .footer { font-size:0.75em; } .tabset { float:left; } a.tab { border:1px solid Black; float:left; margin:0px 5px -1px 0px; padding:3px 5px 3px 5px; position:relative; font-size:0.875em; background-color:#DDD; text-decoration:none; color:Black; } a.disabled:hover { color:Black; background:#EEE; } a.active:hover { color:Black; background:White; } a.active { border-bottom-color:White; background-color:White; } div.tab { border-top:1px solid Black; padding:0px; width:100%; clear:both; } </style> <script type="text/javascript" language="JavaScript"> <!-- function showContent(header, id) { e = document.getElementById(id); if(e.style.display == 'none') { e.style.display = 'block'; e.style.visibility = 'visible'; header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]"); } else { e.style.display = 'none'; e.style.visibility = 'hidden'; header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]"); } } function initTabs() { var url = window.location.href; if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1) { var tab1 = document.getElementById('BinaryID'); var tab2 = document.getElementById('SourceID'); tab1.className='tab disabled'; tab2.className='tab active'; } var sets = document.getElementsByTagName('div'); for (var i = 0; i < sets.length; i++) { if (sets[i].className.indexOf('tabset') != -1) { var tabs = []; var links = sets[i].getElementsByTagName('a'); for (var j = 0; j < links.length; j++) { if (links[j].className.indexOf('tab') != -1) { tabs.push(links[j]); links[j].tabs = tabs; var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1)); //reset all tabs on start if (tab) { if (links[j].className.indexOf('active')!=-1) { tab.style.display = 'block'; } else { tab.style.display = 'none'; } } links[j].onclick = function() { var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1)); if (tab) { //reset all tabs before change for (var k = 0; k < this.tabs.length; k++) { document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none'; this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled'); } this.className = 'tab active'; tab.style.display = 'block'; // window.location.hash = this.id.replace('ID', ''); return false; } } } } } } if(url.indexOf('#')!=-1) { location.href=location.href; } } if (window.addEventListener) window.addEventListener('load', initTabs, false); else if (window.attachEvent) window.attachEvent('onload', initTabs); --> </script> </head> <body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>libssl.so</span> object between <span style='color:Red;'>1.0.0</span> and <span style='color:Red;'>1.0.0</span> versions on <span style='color:Blue;'>x86_64</span></h1> <br/> <div class='tabset'> <a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a> <a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a> </div><div id='BinaryTab' class='tab'> <h2>Test Info</h2><hr/> <table class='summary'> <tr><th>Module Name</th><td>libssl</td></tr> <tr><th>Version #1</th><td>1.0.0</td></tr> <tr><th>Version #2</th><td>1.0.0</td></tr> <tr><th>Arch</th><td>x86_64</td></tr> <tr><th>GCC Version</th><td>6.4.0</td></tr> <tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr> </table> <h2>Test Results</h2><hr/> <table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>27</a></td></tr> <tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>34</a></td></tr> <tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> <tr><th>Total Symbols / Types</th><td>328 / 298</td></tr> <tr><th>Compatibility</th> <td class='incompatible'>28.2%</td> </tr> </table> <h2>Problem Summary</h2><hr/> <table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr> <tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Binary_Removed' style='color:Blue;'>21</a></td></tr> <tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Binary_Problems_High' style='color:Blue;'>2</a></td></tr> <tr><td>Medium</td><td class='failed'><a href='#Type_Binary_Problems_Medium' style='color:Blue;'>1</a></td></tr> <tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>3</a></td></tr> <tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> <tr><td>Medium</td><td>0</td></tr> <tr><td>Low</td><td>0</td></tr> <tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> </table> <a name='Binary_Removed'></a><a name='Binary_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 21 </span></h2><hr/> <span class='h_name'>ssl.h</span>, <span class='lib_name'>libssl.so.1.0.0</span><br/> <span class="iname">SRP_Calc_A_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SRP_generate_client_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> <span class="iname">SRP_generate_server_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_cb_arg <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>void* <span class='color_p'>arg</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_client_pwd_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char*(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_password <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>password</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_strength <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>strength</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_username <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>name</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_username_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, int*, void*)</span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_verify_param_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> <span class="iname">SSL_CTX_SRP_CTX_free <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> <span class="iname">SSL_CTX_SRP_CTX_init <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_g <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_N <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_userinfo <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_set_srp_server_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>BIGNUM const* <span class='color_p'>N</span></span>, <span>BIGNUM const* <span class='color_p'>g</span></span>, <span>BIGNUM* <span class='color_p'>sa</span></span>, <span>BIGNUM* <span class='color_p'>v</span></span>, <span>char* <span class='color_p'>info</span></span> )</span></span><br/> <span class="iname">SSL_set_srp_server_param_pw <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>char const* <span class='color_p'>user</span></span>, <span>char const* <span class='color_p'>pass</span></span>, <span>char const* <span class='color_p'>grp</span></span> )</span></span><br/> <span class="iname">SSL_SRP_CTX_free <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_SRP_CTX_init <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_srp_server_param_with_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>int* <span class='color_p'>ad</span></span> )</span></span><br/> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='High_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_High'></a> <h2>Problems with Data Types, High Severity <span class='failed'> 2 </span></h2><hr/> <span class='h_name'>ssl.h</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_1')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_ctx_st <span class='failed'> 1 </span></span> <br/> <div id="c_1" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>srp_ctx</b> has been removed from the middle position of this structural type.</td> <td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_2')"> [+] affected symbols: 88 (26.8%)</span> <div id="c_2" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CONF_CTX_set_ssl_ctx <span class='sym_p'><span>( SSL_CONF_CTX* <i>cctx</i></span>, <span>SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>2nd parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_client_CA <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>X509* <i>x</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_client_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_server_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_session <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>SSL_SESSION* <i>c</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_callback_ctrl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>cmd</i></span>, <span>void(*<i>fp</i>)()</span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_check_private_key <span class='sym_p'><span>( SSL_CTX const* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <span class="section" onclick="javascript:showContent(this, 'c_3')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_st <span class='failed'> 1 </span></span> <br/> <div id="c_3" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>srp_ctx</b> has been removed from the middle position of this structural type.</td> <td>1) Previous accesses of applications to the removed field will be incorrect.<br/>2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_4')"> [+] affected symbols: 206 (62.8%)</span> <div id="c_4" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> <div class='affect'>1st parameter 's' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Medium_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Medium'></a> <h2>Problems with Data Types, Medium Severity <span class='failed'> 1 </span></h2><hr/> <span class='h_name'>ssl.h</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_5')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_session_st <span class='failed'> 1 </span></span> <br/> <div id="c_5" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>srp_username</b> has been removed from this type.</td> <td>1) Applications will access incorrect memory when attempting to access this field.<br/>2) Size of the inclusive type has been changed.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_6')"> [+] affected symbols: 223 (68%)</span> <div id="c_6" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>d2i_SSL_SESSION <span class='sym_p'><span>( SSL_SESSION** <span class='fp'>a</span></span>, <span>unsigned char const** <i>pp</i></span>, <span>long <i>length</i></span> )</span></span><br/> <div class='affect'>1st parameter 'a' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> <div class='affect'>Field 's.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 's' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a> <h2>Problems with Data Types, Low Severity <span class='warning'> 3 </span></h2><hr/> <span class='h_name'>ssl.h</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_7')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_ctx_st <span class='warning'> 1 </span></span> <br/> <div id="c_7" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Size of this type has been changed from <b>776</b> bytes to <b>648</b> bytes.</td> <td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_8')"> [+] affected symbols: 88 (26.8%)</span> <div id="c_8" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CONF_CTX_set_ssl_ctx <span class='sym_p'><span>( SSL_CONF_CTX* <i>cctx</i></span>, <span>SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>2nd parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_client_CA <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>X509* <i>x</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_client_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_server_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_session <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>SSL_SESSION* <i>c</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_callback_ctrl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>cmd</i></span>, <span>void(*<i>fp</i>)()</span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_check_private_key <span class='sym_p'><span>( SSL_CTX const* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <span class="section" onclick="javascript:showContent(this, 'c_9')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_session_st <span class='warning'> 1 </span></span> <br/> <div id="c_9" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Size of this type has been changed from <b>352</b> bytes to <b>344</b> bytes.</td> <td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_10')"> [+] affected symbols: 223 (68%)</span> <div id="c_10" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>d2i_SSL_SESSION <span class='sym_p'><span>( SSL_SESSION** <span class='fp'>a</span></span>, <span>unsigned char const** <i>pp</i></span>, <span>long <i>length</i></span> )</span></span><br/> <div class='affect'>1st parameter 'a' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> <div class='affect'>Field 's.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 's' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <span class="section" onclick="javascript:showContent(this, 'c_11')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_st <span class='warning'> 1 </span></span> <br/> <div id="c_11" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Size of this type has been changed from <b>824</b> bytes to <b>696</b> bytes.</td> <td>The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_12')"> [+] affected symbols: 206 (62.8%)</span> <div id="c_12" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> <div class='affect'>1st parameter 's' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Headers'></a><h2>Header Files <span class='gray'> 27 </span></h2><hr/> <div class='h_list'> asn1.h<br/> bio.h<br/> bn.h<br/> buffer.h<br/> comp.h<br/> crypto.h<br/> dh.h<br/> dsa.h<br/> dtls1.h<br/> ec.h<br/> evp.h<br/> hmac.h<br/> ocsp.h<br/> ossl_typ.h<br/> pem.h<br/> pqueue.h<br/> rsa.h<br/> srtp.h<br/> ssl.h<br/> ssl2.h<br/> ssl3.h<br/> stack.h<br/> symhacks.h<br/> tls1.h<br/> x509.h<br/> x509_vfy.h<br/> x509v3.h<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Sources'></a><h2>Source Files <span class='gray'> 34 </span></h2><hr/> <div class='h_list'> bio_ssl.c<br/> d1_both.c<br/> d1_clnt.c<br/> d1_meth.c<br/> d1_srtp.c<br/> d1_srvr.c<br/> s23_clnt.c<br/> s23_meth.c<br/> s23_srvr.c<br/> s2_meth.c<br/> s3_cbc.c<br/> s3_clnt.c<br/> s3_enc.c<br/> s3_meth.c<br/> s3_srvr.c<br/> ssl_algs.c<br/> ssl_asn1.c<br/> ssl_cert.c<br/> ssl_ciph.c<br/> ssl_conf.c<br/> ssl_err.c<br/> ssl_err2.c<br/> ssl_lib.c<br/> ssl_rsa.c<br/> ssl_sess.c<br/> ssl_stat.c<br/> ssl_txt.c<br/> t1_clnt.c<br/> t1_ext.c<br/> t1_lib.c<br/> t1_meth.c<br/> t1_reneg.c<br/> t1_srvr.c<br/> tls_srp.c<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> <div class='lib_list'> libssl.so.1.0.0<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <br/><br/><br/></div><div id='SourceTab' class='tab'> <h2>Test Info</h2><hr/> <table class='summary'> <tr><th>Module Name</th><td>libssl</td></tr> <tr><th>Version #1</th><td>1.0.0</td></tr> <tr><th>Version #2</th><td>1.0.0</td></tr> <tr><th>Arch</th><td>x86_64</td></tr> <tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr> </table> <h2>Test Results</h2><hr/> <table class='summary'><tr><th>Total Header Files</th><td><a href='#Headers' style='color:Blue;'>27</a></td></tr> <tr><th>Total Source Files</th><td><a href='#Sources' style='color:Blue;'>34</a></td></tr> <tr><th>Total Objects</th><td><a href='#Libs' style='color:Blue;'>1</a></td></tr> <tr><th>Total Symbols / Types</th><td>328 / 298</td></tr> <tr><th>Compatibility</th> <td class='incompatible'>25.6%</td> </tr> </table> <h2>Problem Summary</h2><hr/> <table class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Symbols</th><td>-</td><td>0</td></tr> <tr><th>Removed Symbols</th><td>High</td><td class='failed'><a href='#Source_Removed' style='color:Blue;'>21</a></td></tr> <tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Source_Problems_High' style='color:Blue;'>3</a></td></tr> <tr><td>Medium</td><td>0</td></tr> <tr><td>Low</td><td>0</td></tr> <tr><th rowspan='3'>Problems with<br/>Symbols</th><td>High</td><td>0</td></tr> <tr><td>Medium</td><td>0</td></tr> <tr><td>Low</td><td>0</td></tr> <tr><th>Problems with<br/>Constants</th><td>Low</td><td>0</td></tr> </table> <a name='Source_Removed'></a><a name='Source_Withdrawn'></a><h2>Removed Symbols <span class='failed'> 21 </span></h2><hr/> <span class='h_name'>ssl.h</span><br/> <span class="iname">SRP_Calc_A_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SRP_generate_client_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> <span class="iname">SRP_generate_server_master_secret <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>unsigned char* <span class='color_p'>master_key</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_cb_arg <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>void* <span class='color_p'>arg</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_client_pwd_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char*(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_password <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>password</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_strength <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int <span class='color_p'>strength</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_username <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>char* <span class='color_p'>name</span></span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_username_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, int*, void*)</span> )</span></span><br/> <span class="iname">SSL_CTX_set_srp_verify_param_callback <span class='sym_p'><span>( SSL_CTX* <span class='color_p'>ctx</span></span>, <span>int(*<span class='color_p'>cb</span>)(SSL*, void*)</span> )</span></span><br/> <span class="iname">SSL_CTX_SRP_CTX_free <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> <span class="iname">SSL_CTX_SRP_CTX_init <span class='sym_p'><span>( struct ssl_ctx_st* <span class='color_p'>ctx</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_g <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_N <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_userinfo <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_get_srp_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_set_srp_server_param <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>BIGNUM const* <span class='color_p'>N</span></span>, <span>BIGNUM const* <span class='color_p'>g</span></span>, <span>BIGNUM* <span class='color_p'>sa</span></span>, <span>BIGNUM* <span class='color_p'>v</span></span>, <span>char* <span class='color_p'>info</span></span> )</span></span><br/> <span class="iname">SSL_set_srp_server_param_pw <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>char const* <span class='color_p'>user</span></span>, <span>char const* <span class='color_p'>pass</span></span>, <span>char const* <span class='color_p'>grp</span></span> )</span></span><br/> <span class="iname">SSL_SRP_CTX_free <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_SRP_CTX_init <span class='sym_p'><span>( struct ssl_st* <span class='color_p'>s</span></span> )</span></span><br/> <span class="iname">SSL_srp_server_param_with_username <span class='sym_p'><span>( SSL* <span class='color_p'>s</span></span>, <span>int* <span class='color_p'>ad</span></span> )</span></span><br/> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='High_Risk_Source_Problems'></a><a name='Type_Source_Problems_High'></a> <h2>Problems with Data Types, High Severity <span class='failed'> 3 </span></h2><hr/> <span class='h_name'>ssl.h</span><br/> <span class="section" onclick="javascript:showContent(this, 'c_13')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_ctx_st <span class='failed'> 1 </span></span> <br/> <div id="c_13" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>srp_ctx</b> has been removed from this type.</td> <td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct ssl_ctx_st</span>' has no member named '<b>srp_ctx</b>'.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_14')"> [+] affected symbols: 88 (26.8%)</span> <div id="c_14" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CONF_CTX_set_ssl_ctx <span class='sym_p'><span>( SSL_CONF_CTX* <i>cctx</i></span>, <span>SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>2nd parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_client_CA <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>X509* <i>x</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_client_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_server_custom_ext <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>unsigned int <i>ext_type</i></span>, <span>custom_ext_add_cb <i>add_cb</i></span>, <span>custom_ext_free_cb <i>free_cb</i></span>, <span>void* <i>add_arg</i></span>, <span>custom_ext_parse_cb <i>parse_cb</i></span>, <span>void* <i>parse_arg</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_add_session <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>SSL_SESSION* <i>c</i></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_callback_ctrl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>cmd</i></span>, <span>void(*<i>fp</i>)()</span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <span class='iname_a'>SSL_CTX_check_private_key <span class='sym_p'><span>( SSL_CTX const* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>1st parameter 'ctx' (pointer) has base type 'struct ssl_ctx_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <span class="section" onclick="javascript:showContent(this, 'c_15')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_session_st <span class='failed'> 1 </span></span> <br/> <div id="c_15" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>srp_username</b> has been removed from this type.</td> <td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct ssl_session_st</span>' has no member named '<b>srp_username</b>'.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_16')"> [+] affected symbols: 223 (68%)</span> <div id="c_16" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>d2i_SSL_SESSION <span class='sym_p'><span>( SSL_SESSION** <span class='fp'>a</span></span>, <span>unsigned char const** <i>pp</i></span>, <span>long <i>length</i></span> )</span></span><br/> <div class='affect'>1st parameter 'a' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> <div class='affect'>Field 's.d1.r_msg_hdr.saved_retransmit_state.session' in 1st parameter 's' (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0.d1.r_msg_hdr.saved_retransmit_state.session' in the return value (pointer) has base type 'struct ssl_session_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <span class="section" onclick="javascript:showContent(this, 'c_17')"> <span class='ext'>[+]</span> <span class='ttype'>struct</span> ssl_st <span class='failed'> 1 </span></span> <br/> <div id="c_17" style="display:none;"> <table class='ptable'><tr> <th class='pn'></th> <th class='chg'>Change</th> <th>Effect</th></tr><tr> <th>1</th> <td>Field <b>srp_ctx</b> has been removed from this type.</td> <td>Recompilation of a client program may be broken with the error message: '<span class='value'>struct ssl_st</span>' has no member named '<b>srp_ctx</b>'.</td> </tr> </table> <span class="sect_aff" onclick="javascript:showContent(this, 'c_18')"> [+] affected symbols: 206 (62.8%)</span> <div id="c_18" style="display:none;"> <div class='affected'><span class='iname_a'>BIO_new_buffer_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>BIO_new_ssl <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span>, <span>int <i>client</i></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>BIO_new_ssl_connect <span class='sym_p'><span>( SSL_CTX* <span class='fp'>ctx</span></span> )</span></span><br/> <div class='affect'>Field 'ctx.alpn_select_cb.p0' in 1st parameter 'ctx' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>dtls1_retransmit_buffered_messages <span class='sym_p'><span>( SSL* <span class='fp'>s</span></span> )</span></span><br/> <div class='affect'>1st parameter 's' (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLS_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_client_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <span class='iname_a'>DTLSv1_2_server_method <span class='sym_p'>( )</span></span><br/> <div class='affect'>Field 'retval.ssl_accept.p0' in the return value (pointer) has base type 'struct ssl_st'.</div> <b>...</b> <br/> </div> </div> <br/><br/></div> <br/> <a class='top_ref' href='#Top'>to the top</a><br/> <a name='Headers'></a><h2>Header Files <span class='gray'> 27 </span></h2><hr/> <div class='h_list'> asn1.h<br/> bio.h<br/> bn.h<br/> buffer.h<br/> comp.h<br/> crypto.h<br/> dh.h<br/> dsa.h<br/> dtls1.h<br/> ec.h<br/> evp.h<br/> hmac.h<br/> ocsp.h<br/> ossl_typ.h<br/> pem.h<br/> pqueue.h<br/> rsa.h<br/> srtp.h<br/> ssl.h<br/> ssl2.h<br/> ssl3.h<br/> stack.h<br/> symhacks.h<br/> tls1.h<br/> x509.h<br/> x509_vfy.h<br/> x509v3.h<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Sources'></a><h2>Source Files <span class='gray'> 34 </span></h2><hr/> <div class='h_list'> bio_ssl.c<br/> d1_both.c<br/> d1_clnt.c<br/> d1_meth.c<br/> d1_srtp.c<br/> d1_srvr.c<br/> s23_clnt.c<br/> s23_meth.c<br/> s23_srvr.c<br/> s2_meth.c<br/> s3_cbc.c<br/> s3_clnt.c<br/> s3_enc.c<br/> s3_meth.c<br/> s3_srvr.c<br/> ssl_algs.c<br/> ssl_asn1.c<br/> ssl_cert.c<br/> ssl_ciph.c<br/> ssl_conf.c<br/> ssl_err.c<br/> ssl_err2.c<br/> ssl_lib.c<br/> ssl_rsa.c<br/> ssl_sess.c<br/> ssl_stat.c<br/> ssl_txt.c<br/> t1_clnt.c<br/> t1_ext.c<br/> t1_lib.c<br/> t1_meth.c<br/> t1_reneg.c<br/> t1_srvr.c<br/> tls_srp.c<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <a name='Libs'></a><h2>Objects <span class='gray'> 1 </span></h2><hr/> <div class='lib_list'> libssl.so.1.0.0<br/> </div> <br/><a class='top_ref' href='#Top'>to the top</a><br/> <br/><br/><br/></div><hr/> <div class='footer' align='right'><i>Generated by <a href='https://github.com/lvc/abi-compliance-checker'>ABI Compliance Checker</a> 2.2  </i> </div> <br/> </body></html>
View Attachment As Raw
Actions:
View
Attachments on
bug 531540
:
498420
|
498554
|
498580
|
498584
| 499726 |
499728
|
499736
|
499738