Deploy to GitHub pages
[awesomized/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-awesome 1.1.4 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-awesome
55
56
57
58 </a>
59
60
61
62
63 <div class="version">
64 1.1
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 <ul class="current">
89 <li class="toctree-l1"><a class="reference internal" href="../libmemcached.html">Introduction</a></li>
90 <li class="toctree-l1 current"><a class="reference internal" href="index.html">libmemcached API</a><ul class="current">
91 <li class="toctree-l2"><a class="reference internal" href="index_basics.html">Basics</a></li>
92 <li class="toctree-l2"><a class="reference internal" href="index_data.html">Working with Data</a></li>
93 <li class="toctree-l2"><a class="reference internal" href="index_errors.html">Messages and Errors</a></li>
94 <li class="toctree-l2 current"><a class="reference internal" href="index_advanced.html">Advanced Topics</a><ul class="current">
95 <li class="toctree-l3"><a class="reference internal" href="index_advanced_internals.html">Internal Behavior</a></li>
96 <li class="toctree-l3 current"><a class="reference internal" href="index_advanced_aeh.html">Authentication, Encryption &amp; Hashing</a><ul class="current">
97 <li class="toctree-l4"><a class="reference internal" href="memcached_set_encoding_key.html">Set encryption key</a></li>
98 <li class="toctree-l4"><a class="reference internal" href="memcached_generate_hash_value.html">Generating hash values directly</a></li>
99 <li class="toctree-l4 current"><a class="current reference internal" href="#">SASL support</a></li>
100 </ul>
101 </li>
102 <li class="toctree-l3"><a class="reference internal" href="index_advanced_servers.html">Servers and Server Lists</a></li>
103 <li class="toctree-l3"><a class="reference internal" href="index_advanced_daemon.html">Affecting the memcached Daemon</a></li>
104 <li class="toctree-l3"><a class="reference internal" href="index_advanced_stats.html">Statistics</a></li>
105 </ul>
106 </li>
107 <li class="toctree-l2"><a class="reference internal" href="index_deprecated.html">Deprecated Functionality</a></li>
108 </ul>
109 </li>
110 <li class="toctree-l1"><a class="reference internal" href="../libmemcachedutil/index.html">libmemcachedutil API</a></li>
111 <li class="toctree-l1"><a class="reference internal" href="../libhashkit/index.html">libhashkit API</a></li>
112 <li class="toctree-l1"><a class="reference internal" href="../bin/index.html">Client Applications</a></li>
113 <li class="toctree-l1"><a class="reference internal" href="index_misc.html">Miscellaneous</a></li>
114 </ul>
115 <ul>
116 <li class="toctree-l1"><a class="reference internal" href="../changelogs.html">Change Logs</a></li>
117 <li class="toctree-l1"><a class="reference internal" href="../issues.html">Known issues</a></li>
118 <li class="toctree-l1"><a class="reference internal" href="../copyright.html">Copyright</a></li>
119 </ul>
120
121
122
123 </div>
124 </div>
125 </nav>
126
127 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
128
129
130 <nav class="wy-nav-top" aria-label="top navigation">
131
132 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
133 <a href="../index.html">libmemcached-awesome</a>
134
135 </nav>
136
137
138 <div class="wy-nav-content">
139
140 <div class="rst-content">
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158 <div role="navigation" aria-label="breadcrumbs navigation">
159
160 <ul class="wy-breadcrumbs">
161
162 <li><a href="../index.html">Docs</a> &raquo;</li>
163
164 <li><a href="index.html">libmemcached API</a> &raquo;</li>
165
166 <li><a href="index_advanced.html">Advanced Topics</a> &raquo;</li>
167
168 <li><a href="index_advanced_aeh.html">Authentication, Encryption &amp; Hashing</a> &raquo;</li>
169
170 <li>SASL support</li>
171
172
173 <li class="wy-breadcrumbs-aside">
174
175
176
177 <a href="https://github.com/awesomized/libmemcached/blob/v1.x/docs/source/libmemcached/memcached_sasl.rst" class="fa fa-github"> Edit on GitHub</a>
178
179
180
181 </li>
182
183 </ul>
184
185
186 <hr/>
187 </div>
188 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
189 <div itemprop="articleBody">
190
191 <div class="section" id="sasl-support">
192 <h1>SASL support<a class="headerlink" href="#sasl-support" title="Permalink to this headline"></a></h1>
193 <div class="section" id="synopsis">
194 <h2>SYNOPSIS<a class="headerlink" href="#synopsis" title="Permalink to this headline"></a></h2>
195 <dl class="docutils">
196 <dt>#include &lt;libmemcached/memcached.h&gt;</dt>
197 <dd>Compile and link with -lmemcached</dd>
198 </dl>
199 <dl class="function">
200 <dt id="_CPPv428memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t">
201 <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>
202 <dd><table class="docutils field-list" frame="void" rules="none">
203 <col class="field-name" />
204 <col class="field-body" />
205 <tbody valign="top">
206 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
207 <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>
208 <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>
209 </ul>
210 </td>
211 </tr>
212 </tbody>
213 </table>
214 </dd></dl>
215
216 <dl class="function">
217 <dt id="_CPPv428memcached_get_sasl_callbacksP12memcached_st">
218 <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>
219 <dd><table class="docutils field-list" frame="void" rules="none">
220 <col class="field-name" />
221 <col class="field-body" />
222 <tbody valign="top">
223 <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>
224 </tr>
225 <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>
226 </tr>
227 </tbody>
228 </table>
229 </dd></dl>
230
231 <dl class="function">
232 <dt id="_CPPv428memcached_set_sasl_auth_dataP12memcached_stPKcPKc">
233 <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>
234 <dd><table class="docutils field-list" frame="void" rules="none">
235 <col class="field-name" />
236 <col class="field-body" />
237 <tbody valign="top">
238 <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
239 <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>
240 <li><strong>username</strong> -- </li>
241 <li><strong>password</strong> -- </li>
242 </ul>
243 </td>
244 </tr>
245 <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>
246 </td>
247 </tr>
248 </tbody>
249 </table>
250 </dd></dl>
251
252 <dl class="function">
253 <dt id="_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st">
254 <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>
255 <dd><table class="docutils field-list" frame="void" rules="none">
256 <col class="field-name" />
257 <col class="field-body" />
258 <tbody valign="top">
259 <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>
260 </tr>
261 <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>
262 </tr>
263 </tbody>
264 </table>
265 </dd></dl>
266
267 </div>
268 <div class="section" id="description">
269 <h2>DESCRIPTION<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
270 <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
271 libsasl to perform SASL authentication.</p>
272 <p>Please note that SASL requires the memcached binary protocol, and you have
273 to specify the callbacks before you connect to the server.</p>
274 <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
275 the basic functionality for you, but it will store the username and password
276 in memory. If you choose to use this method you have to call
277 <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
278 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
279 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>
280 </div>
281 <div class="section" id="return-value">
282 <h2>RETURN VALUE<a class="headerlink" href="#return-value" title="Permalink to this headline"></a></h2>
283 <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
284 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
285 <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>
286 </div>
287 <div class="section" id="see-also">
288 <h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline"></a></h2>
289 <ul class="simple">
290 <li><em class="manpage"><a class="manpage reference external" href="https://linux.die.net/man/1/memcached">memcached(1)</a></em></li>
291 <li><a class="reference internal" href="../libmemcached.html"><span class="doc">C/C++ Client Library for memcached</span></a></li>
292 <li><a class="reference internal" href="memcached_strerror.html"><span class="doc">Converting Error Codes to Messages</span></a></li>
293 <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>
294 <li><em class="manpage"><a class="manpage reference external" href="https://linux.die.net/man/3/sasl_callbacks">sasl_callbacks(3)</a></em></li>
295 </ul>
296 </div>
297 </div>
298
299
300 </div>
301
302 </div>
303 <footer>
304
305 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
306
307 <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>
308
309
310 <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>
311
312 </div>
313
314
315 <hr/>
316
317 <div role="contentinfo">
318 <p>
319 &copy; <a href="../copyright.html">Copyright</a>
320
321 </p>
322 </div>
323 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>.
324
325 </footer>
326
327 </div>
328 </div>
329
330 </section>
331
332 </div>
333
334
335
336 <script type="text/javascript">
337 jQuery(function () {
338 SphinxRtdTheme.Navigation.enable(true);
339 });
340 </script>
341
342
343
344
345
346
347 </body>
348 </html>