pushed the following commits:\
[m6w6/libmemcached] / libmemcached / memcached_sasl.html
1
2
3 <!DOCTYPE html>
4 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6 <head>
7 <meta charset="utf-8">
8
9 <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
11 <title>SASL support &mdash; libmemcached 1.0.99 documentation</title>
12
13
14
15
16
17
18
19
20 <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
21
22
23 <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
24 <script type="text/javascript" src="../_static/jquery.js"></script>
25 <script type="text/javascript" src="../_static/underscore.js"></script>
26 <script type="text/javascript" src="../_static/doctools.js"></script>
27 <script type="text/javascript" src="../_static/language_data.js"></script>
28
29 <script type="text/javascript" src="../_static/js/theme.js"></script>
30
31
32
33
34 <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
35 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
36 <link rel="index" title="Index" href="../genindex.html" />
37 <link rel="search" title="Search" href="../search.html" />
38 <link rel="copyright" title="Copyright" href="../copyright.html" />
39 <link rel="next" title="Servers and Server Lists" href="index_advanced_servers.html" />
40 <link rel="prev" title="Generating hash values directly" href="memcached_generate_hash_value.html" />
41 </head>
42
43 <body class="wy-body-for-nav">
44
45
46 <div class="wy-grid-for-nav">
47
48 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
49 <div class="wy-side-scroll">
50 <div class="wy-side-nav-search" >
51
52
53
54 <a href="../index.html" class="icon icon-home"> libmemcached
55
56
57
58 </a>
59
60
61
62
63 <div class="version">
64 1.0
65 </div>
66
67
68
69
70 <div role="search">
71 <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
72 <input type="text" name="q" placeholder="Search docs" />
73 <input type="hidden" name="check_keywords" value="yes" />
74 <input type="hidden" name="area" value="default" />
75 </form>
76 </div>
77
78
79 </div>
80
81 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
82
83
84
85
86
87
88 <p class="caption"><span class="caption-text">libmemcached</span></p>
89 <ul class="current">
90 <li class="toctree-l1"><a class="reference internal" href="../libmemcached.html">Introduction</a></li>
91 <li class="toctree-l1 current"><a class="reference internal" href="index.html">libmemcached API</a><ul class="current">
92 <li class="toctree-l2"><a class="reference internal" href="index_basics.html">Basics</a></li>
93 <li class="toctree-l2"><a class="reference internal" href="index_data.html">Working with Data</a></li>
94 <li class="toctree-l2"><a class="reference internal" href="index_errors.html">Messages and Errors</a></li>
95 <li class="toctree-l2 current"><a class="reference internal" href="index_advanced.html">Advanced Topics</a><ul class="current">
96 <li class="toctree-l3"><a class="reference internal" href="index_advanced_internals.html">Internal Behavior</a></li>
97 <li class="toctree-l3 current"><a class="reference internal" href="index_advanced_aeh.html">Authentication, Encryption &amp; Hashing</a><ul class="current">
98 <li class="toctree-l4"><a class="reference internal" href="memcached_set_encoding_key.html">Set encryption key</a></li>
99 <li class="toctree-l4"><a class="reference internal" href="memcached_generate_hash_value.html">Generating hash values directly</a></li>
100 <li class="toctree-l4 current"><a class="current reference internal" href="#">SASL support</a></li>
101 </ul>
102 </li>
103 <li class="toctree-l3"><a class="reference internal" href="index_advanced_servers.html">Servers and Server Lists</a></li>
104 <li class="toctree-l3"><a class="reference internal" href="index_advanced_daemon.html">Affecting the memcached Daemon</a></li>
105 <li class="toctree-l3"><a class="reference internal" href="index_advanced_stats.html">Statistics</a></li>
106 </ul>
107 </li>
108 <li class="toctree-l2"><a class="reference internal" href="index_deprecated.html">Deprecated Functionality</a></li>
109 </ul>
110 </li>
111 <li class="toctree-l1"><a class="reference internal" href="index_misc.html">Misc</a></li>
112 </ul>
113 <p class="caption"><span class="caption-text">libmemcachedutil</span></p>
114 <ul>
115 <li class="toctree-l1"><a class="reference internal" href="../libmemcachedutil.html">Introduction</a></li>
116 <li class="toctree-l1"><a class="reference internal" href="../libmemcachedutil/index.html">libmemcachedutil API</a></li>
117 </ul>
118 <p class="caption"><span class="caption-text">libhashkit</span></p>
119 <ul>
120 <li class="toctree-l1"><a class="reference internal" href="../libhashkit.html">Introduction</a></li>
121 <li class="toctree-l1"><a class="reference internal" href="../libhashkit/index.html">libhashkit API</a></li>
122 </ul>
123 <p class="caption"><span class="caption-text">Client Applications</span></p>
124 <ul>
125 <li class="toctree-l1"><a class="reference internal" href="../bin/index.html">Client Applications</a></li>
126 </ul>
127 <p class="caption"><span class="caption-text">Copyright</span></p>
128 <ul>
129 <li class="toctree-l1"><a class="reference internal" href="../copyright.html">Copyright</a></li>
130 </ul>
131
132
133
134 </div>
135 </div>
136 </nav>
137
138 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
139
140
141 <nav class="wy-nav-top" aria-label="top navigation">
142
143 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
144 <a href="../index.html">libmemcached</a>
145
146 </nav>
147
148
149 <div class="wy-nav-content">
150
151 <div class="rst-content">
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169 <div role="navigation" aria-label="breadcrumbs navigation">
170
171 <ul class="wy-breadcrumbs">
172
173 <li><a href="../index.html">Docs</a> &raquo;</li>
174
175 <li><a href="index.html">libmemcached API</a> &raquo;</li>
176
177 <li><a href="index_advanced.html">Advanced Topics</a> &raquo;</li>
178
179 <li><a href="index_advanced_aeh.html">Authentication, Encryption &amp; Hashing</a> &raquo;</li>
180
181 <li>SASL support</li>
182
183
184 <li class="wy-breadcrumbs-aside">
185
186
187
188 </li>
189
190 </ul>
191
192
193 <hr/>
194 </div>
195 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
196 <div itemprop="articleBody">
197
198 <div class="section" id="sasl-support">
199 <h1>SASL support<a class="headerlink" href="#sasl-support" title="Permalink to this headline"></a></h1>
200 <div class="section" id="synopsis">
201 <h2>SYNOPSIS<a class="headerlink" href="#synopsis" title="Permalink to this headline"></a></h2>
202 <dl class="docutils">
203 <dt>#include &lt;libmemcached/memcached.h&gt;</dt>
204 <dd>Compile and link with -lmemcached</dd>
205 </dl>
206 <dl class="function">
207 <dt id="_CPPv428memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t">
208 <span id="_CPPv328memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t"></span><span id="_CPPv228memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t"></span><span id="memcached_set_sasl_callbacks__memcached_stP.sasl_callback_tCP"></span>void <code class="descname">memcached_set_sasl_callbacks</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> sasl_callback_t *<em>callbacks</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv428memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t" title="Permalink to this definition"></a><br /></dt>
209 <dd><table class="docutils field-list" frame="void" rules="none">
210 <col class="field-name" />
211 <col class="field-body" />
212 <tbody valign="top">
213 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
214 <li><strong>ptr</strong> -- pointer to initialized <a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_st</span></code></a> struct</li>
215 <li><strong>callbacks</strong> -- pointer to <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">sasl_callbacks_t</span></code> holding the callbacks to use</li>
216 </ul>
217 </td>
218 </tr>
219 </tbody>
220 </table>
221 </dd></dl>
222
223 <dl class="function">
224 <dt id="_CPPv428memcached_get_sasl_callbacksP12memcached_st">
225 <span id="_CPPv328memcached_get_sasl_callbacksP12memcached_st"></span><span id="_CPPv228memcached_get_sasl_callbacksP12memcached_st"></span><span id="memcached_get_sasl_callbacks__memcached_stP"></span><em class="property">const</em> sasl_callback_t *<code class="descname">memcached_get_sasl_callbacks</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv428memcached_get_sasl_callbacksP12memcached_st" title="Permalink to this definition"></a><br /></dt>
226 <dd><table class="docutils field-list" frame="void" rules="none">
227 <col class="field-name" />
228 <col class="field-body" />
229 <tbody valign="top">
230 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>ptr</strong> -- pointer to initialized <a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_st</span></code></a> struct</td>
231 </tr>
232 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">pointer to <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">sasl_callbacks_t</span></code> holding the callbacks currently used</td>
233 </tr>
234 </tbody>
235 </table>
236 </dd></dl>
237
238 <dl class="function">
239 <dt id="_CPPv428memcached_set_sasl_auth_dataP12memcached_stPKcPKc">
240 <span id="_CPPv328memcached_set_sasl_auth_dataP12memcached_stPKcPKc"></span><span id="_CPPv228memcached_set_sasl_auth_dataP12memcached_stPKcPKc"></span><span id="memcached_set_sasl_auth_data__memcached_stP.cCP.cCP"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="descname">memcached_set_sasl_auth_data</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> char *<em>username</em>, <em class="property">const</em> char *<em>password</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv428memcached_set_sasl_auth_dataP12memcached_stPKcPKc" title="Permalink to this definition"></a><br /></dt>
241 <dd><table class="docutils field-list" frame="void" rules="none">
242 <col class="field-name" />
243 <col class="field-body" />
244 <tbody valign="top">
245 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
246 <li><strong>ptr</strong> -- pointer to initialized <a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_st</span></code></a> struct</li>
247 <li><strong>username</strong> -- </li>
248 <li><strong>password</strong> -- </li>
249 </ul>
250 </td>
251 </tr>
252 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_return_t</span></code></a> indicating success</p>
253 </td>
254 </tr>
255 </tbody>
256 </table>
257 </dd></dl>
258
259 <dl class="function">
260 <dt id="_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st">
261 <span id="_CPPv332memcached_destroy_sasl_auth_dataP12memcached_st"></span><span id="_CPPv232memcached_destroy_sasl_auth_dataP12memcached_st"></span><span id="memcached_destroy_sasl_auth_data__memcached_stP"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="descname">memcached_destroy_sasl_auth_data</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st" title="Permalink to this definition"></a><br /></dt>
262 <dd><table class="docutils field-list" frame="void" rules="none">
263 <col class="field-name" />
264 <col class="field-body" />
265 <tbody valign="top">
266 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>ptr</strong> -- pointer to initialized <a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_st</span></code></a> struct</td>
267 </tr>
268 <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_return_t</span></code></a> indicating success</td>
269 </tr>
270 </tbody>
271 </table>
272 </dd></dl>
273
274 </div>
275 <div class="section" id="description">
276 <h2>DESCRIPTION<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
277 <p><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">libmemcached</span></code> allows you to plug in your own callbacks function used by
278 libsasl to perform SASL authentication.</p>
279 <p>Please note that SASL requires the memcached binary protocol, and you have
280 to specify the callbacks before you connect to the server.</p>
281 <p><a class="reference internal" href="#_CPPv428memcached_set_sasl_auth_dataP12memcached_stPKcPKc" title="memcached_set_sasl_auth_data"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_set_sasl_auth_data()</span></code></a> is a helper function defining
282 the basic functionality for you, but it will store the username and password
283 in memory. If you choose to use this method you have to call
284 <a class="reference internal" href="#_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st" title="memcached_destroy_sasl_auth_data"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_destroy_sasl_auth_data()</span></code></a> before calling <a class="reference internal" href="memcached_create.html#_CPPv414memcached_freeP12memcached_st" title="memcached_free"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_free()</span></code></a> to avoid a
285 memory leak. You should NOT call <a class="reference internal" href="#_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st" title="memcached_destroy_sasl_auth_data"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_destroy_sasl_auth_data()</span></code></a> if you
286 specify your own callback function with <a class="reference internal" href="#_CPPv428memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t" title="memcached_set_sasl_callbacks"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_set_sasl_callbacks()</span></code></a>.</p>
287 </div>
288 <div class="section" id="return-value">
289 <h2>RETURN VALUE<a class="headerlink" href="#return-value" title="Permalink to this headline"></a></h2>
290 <p><a class="reference internal" href="#_CPPv428memcached_get_sasl_callbacksP12memcached_st" title="memcached_get_sasl_callbacks"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_get_sasl_callbacks()</span></code></a> returns the callbacks currently used by
291 this memcached handle. <a class="reference internal" href="#_CPPv428memcached_set_sasl_auth_dataP12memcached_stPKcPKc" title="memcached_set_sasl_auth_data"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_set_sasl_auth_data()</span></code></a> returns
292 <a class="reference internal" href="memcached_return_t.html#_CPPv4N18memcached_return_t17MEMCACHED_SUCCESSE" title="MEMCACHED_SUCCESS"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MEMCACHED_SUCCESS</span></code></a> upon success.</p>
293 </div>
294 <div class="section" id="see-also">
295 <h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline"></a></h2>
296 <ul class="simple">
297 <li><em class="manpage"><a class="manpage reference external" href="https://linux.die.net/man/1/memcached">memcached(1)</a></em></li>
298 <li><a class="reference internal" href="../libmemcached.html"><span class="doc">C/C++ Client Library for memcached</span></a></li>
299 <li><a class="reference internal" href="memcached_strerror.html"><span class="doc">Converting Error Codes to Messages</span></a></li>
300 <li><em class="manpage"><a class="manpage reference external" href="https://linux.die.net/man/3/sasl_client_new">sasl_client_new(3)</a></em></li>
301 <li><em class="manpage"><a class="manpage reference external" href="https://linux.die.net/man/3/sasl_callbacks">sasl_callbacks(3)</a></em></li>
302 </ul>
303 </div>
304 </div>
305
306
307 </div>
308
309 </div>
310 <footer>
311
312 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
313
314 <a href="index_advanced_servers.html" class="btn btn-neutral float-right" title="Servers and Server Lists" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
315
316
317 <a href="memcached_generate_hash_value.html" class="btn btn-neutral float-left" title="Generating hash values directly" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
318
319 </div>
320
321
322 <hr/>
323
324 <div role="contentinfo">
325 <p>
326 &copy; <a href="../copyright.html">Copyright</a>
327
328 </p>
329 </div>
330 Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
331
332 </footer>
333
334 </div>
335 </div>
336
337 </section>
338
339 </div>
340
341
342
343 <script type="text/javascript">
344 jQuery(function () {
345 SphinxRtdTheme.Navigation.enable(true);
346 });
347 </script>
348
349
350
351
352
353
354 </body>
355 </html>