blob: 799d086a2b9199562e903b6720d2f2600c2dfec8 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Proton DotNet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation.html">Implementation</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl.html">Sasl</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html">ProtonDefaultSaslServerAuthenticator</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a> default SASL server authenticator which fails any incoming authentication requests. A misconfigured engine will not inadvertently allow for SASL authentication to occur but instead reject all attempts with a SASL auth failure.
<a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator:</div>
<div class="dyncontent">
<div class="center">
<img src="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.png" usemap="#Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator_map" alt=""/>
<map id="Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator_map" name="Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator.html" title="Listener for SASL frame arrival to facilitate relevant handling for the SASL authentication of the se..." alt="Apache.Qpid.Proton.Engine.Sasl.ISaslServerAuthenticator" shape="rect" coords="0,0,504,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aaaa893e08d56e113ff24ff6333ce049f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html#aaaa893e08d56e113ff24ff6333ce049f">HandleSaslHeader</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a> context, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport_1_1AmqpHeader.html">AmqpHeader</a> header)</td></tr>
<tr class="memdesc:aaaa893e08d56e113ff24ff6333ce049f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the SASL header has been received and the server is now ready to send the configured SASL mechanisms. The handler should respond be calling the mechanisms send API of the provided server context immediately or later using the same thread that invoked this event handler. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html#aaaa893e08d56e113ff24ff6333ce049f">More...</a><br /></td></tr>
<tr class="separator:aaaa893e08d56e113ff24ff6333ce049f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bfd29121e16ad15cba3f0b8efd2d456"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html#a9bfd29121e16ad15cba3f0b8efd2d456">HandleSaslInit</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a> context, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a> mechanism, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> initResponse)</td></tr>
<tr class="memdesc:a9bfd29121e16ad15cba3f0b8efd2d456"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a SASL init frame has arrived from the client indicating the chosen SASL mechanism and the initial response data if any. Based on the chosen mechanism the server handler should provide additional challenges or complete the SASL negotiation by sending an outcome to the client. The handler can either respond immediately or it should response using the same thread that invoked this handler. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html#a9bfd29121e16ad15cba3f0b8efd2d456">More...</a><br /></td></tr>
<tr class="separator:a9bfd29121e16ad15cba3f0b8efd2d456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af385a70b8feb494ecb71b75834e2b4a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html#af385a70b8feb494ecb71b75834e2b4a7">HandleSaslResponse</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a> context, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> response)</td></tr>
<tr class="memdesc:af385a70b8feb494ecb71b75834e2b4a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when a SASL response frame has arrived from the client. The server should process the response and either offer additional challenges or complete the SASL negotiations based on the mechanics of the chosen SASL mechanism. The server handler should either respond immediately or should respond from the same thread that the response handler was invoked from. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html#af385a70b8feb494ecb71b75834e2b4a7">More...</a><br /></td></tr>
<tr class="separator:af385a70b8feb494ecb71b75834e2b4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator.html">Apache.Qpid.Proton.Engine.Sasl.ISaslServerAuthenticator</a></td></tr>
<tr class="memitem:a78967f574ae2536395b2d245aa66639a inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator.html#a78967f574ae2536395b2d245aa66639a">Initialize</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a> context)</td></tr>
<tr class="memdesc:a78967f574ae2536395b2d245aa66639a inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called before SASL authentication begins to give the server code a clear point to initialize all the server side expectations. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator.html#a78967f574ae2536395b2d245aa66639a">More...</a><br /></td></tr>
<tr class="separator:a78967f574ae2536395b2d245aa66639a inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ac161789877f45f3aeb0f6429cf73954b"><td class="memItemLeft" align="right" valign="top"><a id="ac161789877f45f3aeb0f6429cf73954b"></a>
static readonly <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1Sasl_1_1ProtonDefaultSaslServerAuthenticator.html">ProtonDefaultSaslServerAuthenticator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Instance</b> = new()</td></tr>
<tr class="separator:ac161789877f45f3aeb0f6429cf73954b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a> default SASL server authenticator which fails any incoming authentication requests. A misconfigured engine will not inadvertently allow for SASL authentication to occur but instead reject all attempts with a SASL auth failure. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aaaa893e08d56e113ff24ff6333ce049f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaa893e08d56e113ff24ff6333ce049f">&#9670;&nbsp;</a></span>HandleSaslHeader()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator.HandleSaslHeader </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a>&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport_1_1AmqpHeader.html">AmqpHeader</a>&#160;</td>
<td class="paramname"><em>header</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called when the SASL header has been received and the server is now ready to send the configured SASL mechanisms. The handler should respond be calling the mechanisms send API of the provided server context immediately or later using the same thread that invoked this event handler. </p>
<p>In the event that the server cannot perform the negotiation due to some configuration or other internal issue it should call the failure method of the sasl server context provided here. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The server context handling the SASL exchange</td></tr>
<tr><td class="paramname">header</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator.html#a035cdbae44dd8a49e3498b94a5ed6c9d">Apache.Qpid.Proton.Engine.Sasl.ISaslServerAuthenticator</a>.</p>
</div>
</div>
<a id="a9bfd29121e16ad15cba3f0b8efd2d456"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bfd29121e16ad15cba3f0b8efd2d456">&#9670;&nbsp;</a></span>HandleSaslInit()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator.HandleSaslInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a>&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a>&#160;</td>
<td class="paramname"><em>mechanism</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
<td class="paramname"><em>initResponse</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called when a SASL init frame has arrived from the client indicating the chosen SASL mechanism and the initial response data if any. Based on the chosen mechanism the server handler should provide additional challenges or complete the SASL negotiation by sending an outcome to the client. The handler can either respond immediately or it should response using the same thread that invoked this handler. </p>
<p>In the event that the server cannot perform the negotiation due to some configuration or other internal issue it should call the failure method of the sasl server context provided here. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The server context handling the SASL exchange</td></tr>
<tr><td class="paramname">mechanism</td><td></td></tr>
<tr><td class="paramname">initResponse</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator.html#a8013f6cc133411d77463ff5b90b07754">Apache.Qpid.Proton.Engine.Sasl.ISaslServerAuthenticator</a>.</p>
</div>
</div>
<a id="af385a70b8feb494ecb71b75834e2b4a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af385a70b8feb494ecb71b75834e2b4a7">&#9670;&nbsp;</a></span>HandleSaslResponse()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Engine.Implementation.Sasl.ProtonDefaultSaslServerAuthenticator.HandleSaslResponse </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerContext.html">ISaslServerContext</a>&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
<td class="paramname"><em>response</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called when a SASL response frame has arrived from the client. The server should process the response and either offer additional challenges or complete the SASL negotiations based on the mechanics of the chosen SASL mechanism. The server handler should either respond immediately or should respond from the same thread that the response handler was invoked from. </p>
<p>In the event that the server cannot perform the negotiation due to some configuration or other internal issue it should call the failure method of the sasl server context provided here. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">context</td><td>The server context handling the SASL exchange</td></tr>
<tr><td class="paramname">response</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslServerAuthenticator.html#a56fff6819e995dd3027340f095ea8998">Apache.Qpid.Proton.Engine.Sasl.ISaslServerAuthenticator</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Engine/Implementation/Sasl/ProtonDefaultSaslServerAuthenticator .cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>