98ed5f76306dfb6394959c63989bb9820eabbc01
[platform/upstream/krb5.git] / doc / html / plugindev / ccselect.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6   <head>
7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8     
9     <title>Credential cache selection interface (ccselect) &mdash; MIT Kerberos Documentation</title>
10     
11     <link rel="stylesheet" href="../_static/agogo.css" type="text/css" />
12     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13     <link rel="stylesheet" href="../_static/kerb.css" type="text/css" />
14     
15     <script type="text/javascript">
16       var DOCUMENTATION_OPTIONS = {
17         URL_ROOT:    '../',
18         VERSION:     '1.15.2',
19         COLLAPSE_INDEX: false,
20         FILE_SUFFIX: '.html',
21         HAS_SOURCE:  true
22       };
23     </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     <link rel="author" title="About these documents" href="../about.html" />
28     <link rel="copyright" title="Copyright" href="../copyright.html" />
29     <link rel="top" title="MIT Kerberos Documentation" href="../index.html" />
30     <link rel="up" title="For plugin module developers" href="index.html" />
31     <link rel="next" title="Password quality interface (pwqual)" href="pwqual.html" />
32     <link rel="prev" title="KDC preauthentication interface (kdcpreauth)" href="kdcpreauth.html" /> 
33   </head>
34   <body>
35     <div class="header-wrapper">
36         <div class="header">
37             
38             
39             <h1><a href="../index.html">MIT Kerberos Documentation</a></h1>
40             
41             <div class="rel">
42                 
43         <a href="../index.html" title="Full Table of Contents"
44             accesskey="C">Contents</a> |
45         <a href="kdcpreauth.html" title="KDC preauthentication interface (kdcpreauth)"
46             accesskey="P">previous</a> |
47         <a href="pwqual.html" title="Password quality interface (pwqual)"
48             accesskey="N">next</a> |
49         <a href="../genindex.html" title="General Index"
50             accesskey="I">index</a> |
51         <a href="../search.html" title="Enter search criteria"
52             accesskey="S">Search</a> |
53     <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__Credential cache selection interface (ccselect)">feedback</a>
54             </div>
55         </div>
56     </div>
57
58     <div class="content-wrapper">
59       <div class="content">
60         <div class="document">
61             
62       <div class="documentwrapper">
63         <div class="bodywrapper">
64           <div class="body">
65             
66   <div class="section" id="credential-cache-selection-interface-ccselect">
67 <span id="ccselect-plugin"></span><h1>Credential cache selection interface (ccselect)<a class="headerlink" href="#credential-cache-selection-interface-ccselect" title="Permalink to this headline">ΒΆ</a></h1>
68 <p>The ccselect interface allows modules to control how credential caches
69 are chosen when a GSSAPI client contacts a service.  For a detailed
70 description of the ccselect interface, see the header file
71 <tt class="docutils literal"><span class="pre">&lt;krb5/ccselect_plugin.h&gt;</span></tt>.</p>
72 <p>The primary ccselect method is <strong>choose</strong>, which accepts a server
73 principal as input and returns a ccache and/or principal name as
74 output.  A module can use the krb5_cccol APIs to iterate over the
75 cache collection in order to find an appropriate ccache to use.</p>
76 <p>A module can create and destroy per-library-context state objects by
77 implementing the <strong>init</strong> and <strong>fini</strong> methods.  State objects have
78 the type krb5_ccselect_moddata, which is an abstract pointer type.  A
79 module should typically cast this to an internal type for the state
80 object.</p>
81 <p>A module can have one of two priorities, &#8220;authoritative&#8221; or
82 &#8220;heuristic&#8221;.  Results from authoritative modules, if any are
83 available, will take priority over results from heuristic modules.  A
84 module communicates its priority as a result of the <strong>init</strong> method.</p>
85 </div>
86
87
88           </div>
89         </div>
90       </div>
91         </div>
92         <div class="sidebar">
93     <h2>On this page</h2>
94     <ul>
95 <li><a class="reference internal" href="#">Credential cache selection interface (ccselect)</a></li>
96 </ul>
97
98     <br/>
99     <h2>Table of contents</h2>
100     <ul class="current">
101 <li class="toctree-l1"><a class="reference internal" href="../user/index.html">For users</a></li>
102 <li class="toctree-l1"><a class="reference internal" href="../admin/index.html">For administrators</a></li>
103 <li class="toctree-l1"><a class="reference internal" href="../appdev/index.html">For application developers</a></li>
104 <li class="toctree-l1 current"><a class="reference internal" href="index.html">For plugin module developers</a><ul class="current">
105 <li class="toctree-l2"><a class="reference internal" href="general.html">General plugin concepts</a></li>
106 <li class="toctree-l2"><a class="reference internal" href="clpreauth.html">Client preauthentication interface (clpreauth)</a></li>
107 <li class="toctree-l2"><a class="reference internal" href="kdcpreauth.html">KDC preauthentication interface (kdcpreauth)</a></li>
108 <li class="toctree-l2 current"><a class="current reference internal" href="">Credential cache selection interface (ccselect)</a></li>
109 <li class="toctree-l2"><a class="reference internal" href="pwqual.html">Password quality interface (pwqual)</a></li>
110 <li class="toctree-l2"><a class="reference internal" href="kadm5_hook.html">KADM5 hook interface (kadm5_hook)</a></li>
111 <li class="toctree-l2"><a class="reference internal" href="hostrealm.html">Host-to-realm interface (hostrealm)</a></li>
112 <li class="toctree-l2"><a class="reference internal" href="localauth.html">Local authorization interface (localauth)</a></li>
113 <li class="toctree-l2"><a class="reference internal" href="locate.html">Server location interface (locate)</a></li>
114 <li class="toctree-l2"><a class="reference internal" href="profile.html">Configuration interface (profile)</a></li>
115 <li class="toctree-l2"><a class="reference internal" href="gssapi.html">GSSAPI mechanism interface</a></li>
116 <li class="toctree-l2"><a class="reference internal" href="internal.html">Internal pluggable interfaces</a></li>
117 </ul>
118 </li>
119 <li class="toctree-l1"><a class="reference internal" href="../build/index.html">Building Kerberos V5</a></li>
120 <li class="toctree-l1"><a class="reference internal" href="../basic/index.html">Kerberos V5 concepts</a></li>
121 <li class="toctree-l1"><a class="reference internal" href="../formats/index.html">Protocols and file formats</a></li>
122 <li class="toctree-l1"><a class="reference internal" href="../mitK5features.html">MIT Kerberos features</a></li>
123 <li class="toctree-l1"><a class="reference internal" href="../build_this.html">How to build this documentation from the source</a></li>
124 <li class="toctree-l1"><a class="reference internal" href="../about.html">Contributing to the MIT Kerberos Documentation</a></li>
125 <li class="toctree-l1"><a class="reference internal" href="../resources.html">Resources</a></li>
126 </ul>
127
128     <br/>
129     <h4><a href="../index.html">Full Table of Contents</a></h4>
130     <h4>Search</h4>
131     <form class="search" action="../search.html" method="get">
132       <input type="text" name="q" size="18" />
133       <input type="submit" value="Go" />
134       <input type="hidden" name="check_keywords" value="yes" />
135       <input type="hidden" name="area" value="default" />
136     </form>
137         </div>
138         <div class="clearer"></div>
139       </div>
140     </div>
141
142     <div class="footer-wrapper">
143         <div class="footer" >
144             <div class="right" ><i>Release: 1.15.2</i><br />
145                 &copy; <a href="../copyright.html">Copyright</a> 1985-2017, MIT.
146             </div>
147             <div class="left">
148                 
149         <a href="../index.html" title="Full Table of Contents"
150             >Contents</a> |
151         <a href="kdcpreauth.html" title="KDC preauthentication interface (kdcpreauth)"
152             >previous</a> |
153         <a href="pwqual.html" title="Password quality interface (pwqual)"
154             >next</a> |
155         <a href="../genindex.html" title="General Index"
156             >index</a> |
157         <a href="../search.html" title="Enter search criteria"
158             >Search</a> |
159     <a href="mailto:krb5-bugs@mit.edu?subject=Documentation__Credential cache selection interface (ccselect)">feedback</a>
160             </div>
161         </div>
162     </div>
163
164   </body>
165 </html>