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