815fc4f693fd78e276c1668550a04d8cafc55fb5
[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 src="../_static/jquery.js"></script>
25 <script src="../_static/underscore.js"></script>
26 <script src="../_static/doctools.js"></script>
27 <script 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></li>
96 <li class="toctree-l2"><a class="reference internal" href="index_deprecated.html">Deprecated Functionality</a></li>
97 </ul>
98 </li>
99 <li class="toctree-l1"><a class="reference internal" href="index_misc.html">Misc</a><ul>
100 <li class="toctree-l2"><a class="reference internal" href="configuration.html">Configuration</a></li>
101 <li class="toctree-l2"><a class="reference internal" href="constants.html">Constants</a></li>
102 <li class="toctree-l2"><a class="reference internal" href="examples.html">Examples</a></li>
103 <li class="toctree-l2"><a class="reference internal" href="versioning.html">Versioning</a></li>
104 </ul>
105 </li>
106 </ul>
107 <p class="caption"><span class="caption-text">libmemcachedutil</span></p>
108 <ul>
109 <li class="toctree-l1"><a class="reference internal" href="../libmemcachedutil.html">Introduction</a></li>
110 <li class="toctree-l1"><a class="reference internal" href="../libmemcachedutil/index.html">libmemcachedutil API</a><ul>
111 <li class="toctree-l2"><a class="reference internal" href="../libmemcachedutil/memcached_pool.html">Working with memcached pools</a></li>
112 </ul>
113 </li>
114 </ul>
115 <p class="caption"><span class="caption-text">libhashkit</span></p>
116 <ul>
117 <li class="toctree-l1"><a class="reference internal" href="../libhashkit.html">Introduction</a></li>
118 <li class="toctree-l1"><a class="reference internal" href="../libhashkit/index.html">libhashkit API</a><ul>
119 <li class="toctree-l2"><a class="reference internal" href="../libhashkit/hashkit_create.html">Creating a hashkit structure</a></li>
120 <li class="toctree-l2"><a class="reference internal" href="../libhashkit/hashkit_function.html">Set Hash Function</a></li>
121 <li class="toctree-l2"><a class="reference internal" href="../libhashkit/hashkit_functions.html">Available Hashes</a></li>
122 <li class="toctree-l2"><a class="reference internal" href="../libhashkit/hashkit_value.html">Generate hash value</a></li>
123 </ul>
124 </li>
125 </ul>
126 <p class="caption"><span class="caption-text">Client Applications</span></p>
127 <ul>
128 <li class="toctree-l1"><a class="reference internal" href="../bin/index.html">Client Applications</a><ul>
129 <li class="toctree-l2"><a class="reference internal" href="../bin/memcapable.html">memcapable - Checking a Memcached server capabilities and compatibility</a></li>
130 <li class="toctree-l2"><a class="reference internal" href="../bin/memcat.html">memcat - “cat” data from a server</a></li>
131 <li class="toctree-l2"><a class="reference internal" href="../bin/memcp.html">memcp - Copy data to a server</a></li>
132 <li class="toctree-l2"><a class="reference internal" href="../bin/memdump.html">memdump - Dumping your server</a></li>
133 <li class="toctree-l2"><a class="reference internal" href="../bin/memerror.html">memerror - translate an error code to a string</a></li>
134 <li class="toctree-l2"><a class="reference internal" href="../bin/memflush.html">memflush - flush all data from a server</a></li>
135 <li class="toctree-l2"><a class="reference internal" href="../bin/memrm.html">memrm - Remove data from a server</a></li>
136 <li class="toctree-l2"><a class="reference internal" href="../bin/memslap.html">memslap - Load testing and benchmarking a server</a></li>
137 <li class="toctree-l2"><a class="reference internal" href="../bin/memaslap.html">memaslap - Load testing and benchmarking a server</a></li>
138 <li class="toctree-l2"><a class="reference internal" href="../bin/memstat.html">memstat - Gather statistics from a server</a></li>
139 <li class="toctree-l2"><a class="reference internal" href="../bin/memexist.html">memexist - Check for the existence of a key</a></li>
140 <li class="toctree-l2"><a class="reference internal" href="../bin/memparse.html">memparse - Parse an option string</a></li>
141 <li class="toctree-l2"><a class="reference internal" href="../bin/memping.html">memping - Test to see if a server is available.</a></li>
142 <li class="toctree-l2"><a class="reference internal" href="../bin/memtouch.html">memtouch - Touches a key.</a></li>
143 </ul>
144 </li>
145 </ul>
146
147
148
149 </div>
150 </div>
151 </nav>
152
153 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
154
155
156 <nav class="wy-nav-top" aria-label="top navigation">
157
158 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
159 <a href="../index.html">libmemcached</a>
160
161 </nav>
162
163
164 <div class="wy-nav-content">
165
166 <div class="rst-content">
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184 <div role="navigation" aria-label="breadcrumbs navigation">
185
186 <ul class="wy-breadcrumbs">
187
188 <li><a href="../index.html">Docs</a> &raquo;</li>
189
190 <li><a href="index.html">libmemcached API</a> &raquo;</li>
191
192 <li><a href="index_advanced.html">Advanced Topics</a> &raquo;</li>
193
194 <li><a href="index_advanced_aeh.html">Authentication, Encryption &amp; Hashing</a> &raquo;</li>
195
196 <li>SASL support</li>
197
198
199 <li class="wy-breadcrumbs-aside">
200
201
202
203 </li>
204
205 </ul>
206
207
208 <hr/>
209 </div>
210 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
211 <div itemprop="articleBody">
212
213 <div class="section" id="sasl-support">
214 <h1>SASL support<a class="headerlink" href="#sasl-support" title="Permalink to this headline"></a></h1>
215 <div class="section" id="synopsis">
216 <span id="index-0"></span><h2>SYNOPSIS<a class="headerlink" href="#synopsis" title="Permalink to this headline"></a></h2>
217 <p>#include &lt;libmemcached/memcached_pool.h&gt;</p>
218 <dl class="function">
219 <dt id="_CPPv428memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t">
220 <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="sig-name 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>
221 <dd></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="sig-name 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></dd></dl>
227
228 <dl class="function">
229 <dt id="_CPPv428memcached_set_sasl_auth_dataP12memcached_stPKcPKc">
230 <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="sig-name 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>
231 <dd></dd></dl>
232
233 <dl class="function">
234 <dt id="_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st">
235 <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="sig-name 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>
236 <dd></dd></dl>
237
238 <p>Compile and link with -lmemcached</p>
239 </div>
240 <div class="section" id="description">
241 <h2>DESCRIPTION<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
242 <p>libmemcached(3) allows you to plug in your own callbacks function used by
243 libsasl to perform SASL authentication.</p>
244 <p>Please note that SASL requires the memcached binary protocol, and you have
245 to specify the callbacks before you connect to the server.</p>
246 <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
247 the basic functionality for you, but it will store the username and password
248 in memory. If you choose to use this method you have to call
249 <a class="reference internal" href="#_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st" title="memcached_destroy_sasl_auth_data"><code class="xref cpp cpp-type docutils literal notranslate"><span class="pre">memcached_destroy_sasl_auth_data</span></code></a> before calling
250 <a class="reference internal" href="memcached_create.html#_CPPv414memcached_freeP12memcached_st" title="memcached_free"><code class="xref cpp cpp-type docutils literal notranslate"><span class="pre">memcached_free</span></code></a> to avoid a memory leak. You should NOT call
251 <a class="reference internal" href="#_CPPv432memcached_destroy_sasl_auth_dataP12memcached_st" title="memcached_destroy_sasl_auth_data"><code class="xref cpp cpp-type docutils literal notranslate"><span class="pre">memcached_destroy_sasl_auth_data</span></code></a> if you specify your own callback
252 function with <a class="reference internal" href="#_CPPv428memcached_set_sasl_callbacksP12memcached_stPK15sasl_callback_t" title="memcached_set_sasl_callbacks"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_set_sasl_callbacks()</span></code></a>.</p>
253 </div>
254 <div class="section" id="return">
255 <h2>RETURN<a class="headerlink" href="#return" title="Permalink to this headline"></a></h2>
256 <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
257 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
258 <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>
259 </div>
260 <div class="section" id="see-also">
261 <h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline"></a></h2>
262 </div>
263 </div>
264
265
266 </div>
267
268 </div>
269 <footer>
270
271 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
272
273 <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>
274
275
276 <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>
277
278 </div>
279
280
281 <hr/>
282
283 <div role="contentinfo">
284 <p>
285 &copy; <a href="../copyright.html">Copyright</a>
286
287 </p>
288 </div>
289 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>.
290
291 </footer>
292
293 </div>
294 </div>
295
296 </section>
297
298 </div>
299
300
301
302 <script type="text/javascript">
303 jQuery(function () {
304 SphinxRtdTheme.Navigation.enable(true);
305 });
306 </script>
307
308
309
310
311
312
313 </body>
314 </html>