diff options
Diffstat (limited to 'doc/doxyout/krb5/html')
62 files changed, 11430 insertions, 9062 deletions
diff --git a/doc/doxyout/krb5/html/annotated.html b/doc/doxyout/krb5/html/annotated.html index 2438f064dce0..0aad08250679 100644 --- a/doc/doxyout/krb5/html/annotated.html +++ b/doc/doxyout/krb5/html/annotated.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Data Structures</title> +<title>Data Structures</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,28 +8,31 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> - <div class="tabs"> - <ul> - <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Data Structures</div> </div> +</div><!--header--> <div class="contents"> -<h1>Data Structures</h1>Here are the data structures with brief descriptions:<table> - <tr><td class="indexkey"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a></td><td class="indexvalue"></td></tr> +<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory"> +<table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkrb5__crypto__iov.html" target="_self">krb5_crypto_iov</a></td><td class="desc"></td></tr> +<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkrb5plugin__an2ln__ftable__desc.html" target="_self">krb5plugin_an2ln_ftable_desc</a></td><td class="desc">Description of the krb5_aname_to_lname(3) plugin facility </td></tr> +<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkrb5plugin__db__ftable__desc.html" target="_self">krb5plugin_db_ftable_desc</a></td><td class="desc">Description of the krb5 DB plugin facility </td></tr> +<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkrb5plugin__kuserok__ftable__desc.html" target="_self">krb5plugin_kuserok_ftable_desc</a></td><td class="desc">Description of the krb5_kuserok(3) plugin facility </td></tr> </table> -</div> +</div><!-- directory --> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/bc_s.png b/doc/doxyout/krb5/html/bc_s.png Binary files differnew file mode 100644 index 000000000000..224b29aa9847 --- /dev/null +++ b/doc/doxyout/krb5/html/bc_s.png diff --git a/doc/doxyout/krb5/html/bdwn.png b/doc/doxyout/krb5/html/bdwn.png Binary files differnew file mode 100644 index 000000000000..940a0b950443 --- /dev/null +++ b/doc/doxyout/krb5/html/bdwn.png diff --git a/doc/doxyout/krb5/html/classes.html b/doc/doxyout/krb5/html/classes.html new file mode 100644 index 000000000000..36a41d791cd2 --- /dev/null +++ b/doc/doxyout/krb5/html/classes.html @@ -0,0 +1,39 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Data Structure Index</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<p> +<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> +</p> +<!-- end of header marker --> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Data Structure Index</div> </div> +</div><!--header--> +<div class="contents"> +<div class="qindex"><a class="qindex" href="#letter_k">k</a></div> +<table class="classindex"> +<tr><td rowspan="2" valign="bottom"><a name="letter_k"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  k  </div></td></tr></table> +</td><td valign="top"><a class="el" href="structkrb5plugin__an2ln__ftable__desc.html">krb5plugin_an2ln_ftable_desc</a>   </td><td valign="top"><a class="el" href="structkrb5plugin__kuserok__ftable__desc.html">krb5plugin_kuserok_ftable_desc</a>   </td></tr> +<tr><td valign="top"><a class="el" href="structkrb5plugin__db__ftable__desc.html">krb5plugin_db_ftable_desc</a>   </td><td></td></tr> +<tr><td valign="top"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a>   </td><td></td><td></td></tr> +<tr><td></td><td></td><td></td></tr> +</table> +<div class="qindex"><a class="qindex" href="#letter_k">k</a></div> +</div><!-- contents --> +<hr size="1"><address style="text-align: right;"><small> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> +</body> +</html> diff --git a/doc/doxyout/krb5/html/closed.png b/doc/doxyout/krb5/html/closed.png Binary files differnew file mode 100644 index 000000000000..98cc2c909da3 --- /dev/null +++ b/doc/doxyout/krb5/html/closed.png diff --git a/doc/doxyout/krb5/html/doc.png b/doc/doxyout/krb5/html/doc.png Binary files differnew file mode 100644 index 000000000000..17edabff95f7 --- /dev/null +++ b/doc/doxyout/krb5/html/doc.png diff --git a/doc/doxyout/krb5/html/doxygen.css b/doc/doxyout/krb5/html/doxygen.css index 22c484301dd1..4f1ab9195b44 100644 --- a/doc/doxyout/krb5/html/doxygen.css +++ b/doc/doxyout/krb5/html/doxygen.css @@ -1,473 +1,1596 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; } -BODY,TD { - font-size: 90%; + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; } -H1 { - text-align: center; - font-size: 160%; + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; } -H2 { - font-size: 120%; + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; } -H3 { + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { font-size: 100%; } -CAPTION { - font-weight: bold + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; } -DIV.qindex { - width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; } -DIV.navpath { + +div.qindex, div.navpath { width: 100%; - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; line-height: 140%; } -DIV.navtab { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; + +div.navtab { + margin-right: 15px; } -TD.navtab { - font-size: 70%; + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; } -A.qindex { - text-decoration: none; - font-weight: bold; - color: #1A419D; + +.contents a:visited { + color: #4665A2; } -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #1A419D + +a:hover { + text-decoration: underline; } -A.qindex:hover { - text-decoration: none; - background-color: #ddddff; + +a.qindex { + font-weight: bold; } -A.qindexHL { - text-decoration: none; + +a.qindexHL { font-weight: bold; - background-color: #6666cc; + background-color: #9CAFD4; color: #ffffff; - border: 1px double #9295C2; + border: 1px double #869DCA; } -A.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; + +.contents a.qindexHL:visited { + color: #ffffff; } -A.qindexHL:visited { - text-decoration: none; - background-color: #6666cc; - color: #ffffff + +a.el { + font-weight: bold; } -A.el { - text-decoration: none; - font-weight: bold + +a.elRef { } -A.elRef { - font-weight: bold + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; } -A.code:link { - text-decoration: none; - font-weight: normal; - color: #0000FF + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; } -A.code:visited { - text-decoration: none; - font-weight: normal; - color: #0000FF + +/* @end */ + +dl.el { + margin-left: -1cm; } -A.codeRef:link { - font-weight: normal; - color: #0000FF + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; } -A.codeRef:visited { - font-weight: normal; - color: #0000FF + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; } -A:hover { - text-decoration: none; - background-color: #f2f2ff + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; } -DL.el { - margin-left: -1cm + +div.line:after { + content:"\000A"; + white-space: pre; } -.fragment { - font-family: monospace, fixed; - font-size: 95%; + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; } -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; } -DIV.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px +span.lineno a { + background-color: #D8D8D8; } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; +span.lineno a:hover { + background-color: #C8C8C8; } -DIV.groupText { - margin-left: 16px; - font-style: italic; - font-size: 90% + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); } -TD.indexkey { - background-color: #e8eef2; + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #e8eef2; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { - text-align: center; -} -IMG.formulaDsp { -} -IMG.formulaInl { - vertical-align: middle; -} -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -SPAN.vhdldigit { color: #ff00ff } -SPAN.vhdlchar { color: #000000 } -SPAN.vhdlkeyword { color: #700070 } -SPAN.vhdllogic { color: #ff0000 } - -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; } -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; + +div.groupText { + margin-left: 16px; font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; } -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +body { + background-color: white; + color: black; + margin: 0; } -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; } -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; } -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; } -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 80%; + +tr.memlist { + background-color: #EEF1F7; } -.search { + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { color: #003399; font-weight: bold; } -FORM.search { + +form.search { margin-bottom: 0px; margin-top: 0px; } -INPUT.search { + +input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } -TD.tiny { +*/ + +td.tiny { font-size: 75%; } -a { - color: #1A41A8; -} -a:visited { - color: #2A3798; -} -.dirtab { + +.dirtab { padding: 4px; border-collapse: collapse; - border: 1px solid #84b0c7; + border: 1px solid #A3B4D7; } -TH.dirtab { - background: #e8eef2; + +th.dirtab { + background: #EBEFF6; font-weight: bold; } -HR { + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; border: none; - border-top: 1px solid black; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; } -/* Style for detailed member documentation */ .memtemplate { font-size: 80%; - color: #606060; + color: #4665A2; font-weight: normal; - margin-left: 3px; -} -.memnav { - background-color: #e8eef2; - border: 1px solid #84b0c7; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } + +.mempage { + width: 100%; +} + .memitem { - padding: 4px; - background-color: #eef3f5; - border-width: 1px; - border-style: solid; - border-color: #dedeee; - -moz-border-radius: 8px 8px 8px 8px; + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; } + .memname { - white-space: nowrap; - font-weight: bold; + font-weight: 400; + margin-left: 6px; } -.memdoc{ - padding-left: 10px; + +.memname td { + vertical-align: bottom; } -.memproto { - background-color: #d5e1e8; - width: 100%; - border-width: 1px; - border-style: solid; - border-color: #84b0c7; - font-weight: bold; - -moz-border-radius: 8px 8px 8px 8px; + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; } + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + .paramkey { text-align: right; } + .paramtype { white-space: nowrap; } + .paramname { color: #602020; - font-style: italic; white-space: nowrap; } -/* End Styling for detailed member documentation */ +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin:0.5em; +#powerTip div.ttname a { + font-weight: bold; } -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; } -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; + +#powerTip.se:after, #powerTip.se:before { + left: 14px; } -/* The following two styles can be used to replace the root node title */ -/* with an image of your choice. Simply uncomment the next two styles, */ -/* specify the name of your image and be sure to set 'height' to the */ -/* proper pixel height of your image. */ +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} -/* .directory h3.swap { */ -/* height: 61px; */ -/* background-repeat: no-repeat; */ -/* background-image: url("yourimage.gif"); */ -/* } */ -/* .directory h3.swap span { */ -/* display: none; */ -/* } */ +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} -.directory > h3 { - margin-top: 0; +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } } -.directory p { - margin: 0px; - white-space: nowrap; + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; } -.directory div { - display: none; - margin: 0px; + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; } -.directory img { - vertical-align: -30%; + +table.markdownTableHead tr { } -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; } -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; } -.directory-alt > h3 { - margin-top: 0; + +th.markdownTableHeadLeft { + text-align: left } -.directory-alt p { - margin: 0px; - white-space: nowrap; + +th.markdownTableHeadRight { + text-align: right } -.directory-alt div { - display: none; - margin: 0px; + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left } -.directory-alt img { - vertical-align: -30%; + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center } + +/* @end */ diff --git a/doc/doxyout/krb5/html/doxygen.png b/doc/doxyout/krb5/html/doxygen.png Binary files differindex f0a274bbaffd..3ff17d807fd8 100644 --- a/doc/doxyout/krb5/html/doxygen.png +++ b/doc/doxyout/krb5/html/doxygen.png diff --git a/doc/doxyout/krb5/html/dynsections.js b/doc/doxyout/krb5/html/dynsections.js new file mode 100644 index 000000000000..85e183690954 --- /dev/null +++ b/doc/doxyout/krb5/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l<level+1) { + i.removeClass('iconfopen iconfclosed').addClass('iconfopen'); + a.html('▼'); + $(this).show(); + } else if (l==level+1) { + i.removeClass('iconfclosed iconfopen').addClass('iconfclosed'); + a.html('►'); + $(this).show(); + } else { + $(this).hide(); + } + }); + updateStripes(); +} + +function toggleFolder(id) +{ + // the clicked row + var currentRow = $('#row_'+id); + + // all rows after the clicked row + var rows = currentRow.nextAll("tr"); + + var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub + + // only match elements AFTER this one (can't hide elements before) + var childRows = rows.filter(function() { return this.id.match(re); }); + + // first row is visible we are HIDING + if (childRows.filter(':first').is(':visible')===true) { + // replace down arrow by right arrow for current row + var currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + currentRowSpans.filter(".arrow").html('►'); + rows.filter("[id^=row_"+id+"]").hide(); // hide all children + } else { // we are SHOWING + // replace right arrow by down arrow for current row + var currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen"); + currentRowSpans.filter(".arrow").html('▼'); + // replace down arrows by right arrows for child rows + var childRowsSpans = childRows.find("span"); + childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + childRowsSpans.filter(".arrow").html('►'); + childRows.show(); //show all children + } + updateStripes(); +} + + +function toggleInherit(id) +{ + var rows = $('tr.inherit.'+id); + var img = $('tr.inherit_header.'+id+' img'); + var src = $(img).attr('src'); + if (rows.filter(':first').is(':visible')===true) { + rows.css('display','none'); + $(img).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + rows.css('display','table-row'); // using show() causes jump in firefox + $(img).attr('src',src.substring(0,src.length-10)+'open.png'); + } +} + diff --git a/doc/doxyout/krb5/html/folderclosed.png b/doc/doxyout/krb5/html/folderclosed.png Binary files differnew file mode 100644 index 000000000000..bb8ab35edce8 --- /dev/null +++ b/doc/doxyout/krb5/html/folderclosed.png diff --git a/doc/doxyout/krb5/html/folderopen.png b/doc/doxyout/krb5/html/folderopen.png Binary files differnew file mode 100644 index 000000000000..d6c7f676a3b3 --- /dev/null +++ b/doc/doxyout/krb5/html/folderopen.png diff --git a/doc/doxyout/krb5/html/graph_legend.dot b/doc/doxyout/krb5/html/graph_legend.dot deleted file mode 100644 index 4df0f1aa4864..000000000000 --- a/doc/doxyout/krb5/html/graph_legend.dot +++ /dev/null @@ -1,22 +0,0 @@ -digraph G -{ - edge [fontname="FreeSans",fontsize=10,labelfontname="FreeSans",labelfontsize=10]; - node [fontname="FreeSans",fontsize=10,shape=record]; - Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"]; - Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"]; - Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"]; - Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="FreeSans"]; - Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"]; - Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="FreeSans"]; - Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"]; - Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="grey75"]; - Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans"]; - Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"]; - Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="FreeSans"]; - Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"]; - Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="FreeSans"]; - Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"]; -} diff --git a/doc/doxyout/krb5/html/graph_legend.html b/doc/doxyout/krb5/html/graph_legend.html index 315a1ed8bc72..6c4d24f0d46b 100644 --- a/doc/doxyout/krb5/html/graph_legend.html +++ b/doc/doxyout/krb5/html/graph_legend.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Graph Legend</title> +<title>Graph Legend</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,69 +8,39 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Graph Legend</div> </div> +</div><!--header--> <div class="contents"> -<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p> -Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span> -<span class="keyword">class </span>Invisible { }; -<span class="comment"></span> -<span class="comment">/*! Truncated class, inheritance relation is hidden */</span> -<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { }; - -<span class="comment">/* Class not documented with doxygen comments */</span> -<span class="keyword">class </span>Undocumented { }; -<span class="comment"></span> -<span class="comment">/*! Class that is inherited using public inheritance */</span> -<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { }; -<span class="comment"></span> -<span class="comment">/*! A template class */</span> -<span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">class </span>Templ { }; -<span class="comment"></span> -<span class="comment">/*! Class that is inherited using protected inheritance */</span> -<span class="keyword">class </span>ProtectedBase { }; -<span class="comment"></span> -<span class="comment">/*! Class that is inherited using private inheritance */</span> -<span class="keyword">class </span>PrivateBase { }; -<span class="comment"></span> -<span class="comment">/*! Class that is used by the Inherited class */</span> -<span class="keyword">class </span>Used { }; -<span class="comment"></span> -<span class="comment">/*! Super class that inherits a number of other classes */</span> -<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase, - <span class="keyword">protected</span> ProtectedBase, - <span class="keyword">private</span> PrivateBase, - <span class="keyword">public</span> Undocumented, - <span class="keyword">public</span> Templ<int> -{ - <span class="keyword">private</span>: - Used *m_usedClass; -}; -</pre></div> If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p> -<center><div align="center"> -<img src="graph_legend.png" alt="graph_legend.png"> +<p>This page explains how to interpret the graphs that are generated by doxygen.</p> +<p>Consider the following example: </p><div class="fragment"><div class="line">/*! Invisible class because of truncation */</div><div class="line">class Invisible { };</div><div class="line"></div><div class="line">/*! Truncated class, inheritance relation is hidden */</div><div class="line">class Truncated : public Invisible { };</div><div class="line"></div><div class="line">/* Class not documented with doxygen comments */</div><div class="line">class Undocumented { };</div><div class="line"></div><div class="line">/*! Class that is inherited using public inheritance */</div><div class="line">class PublicBase : public Truncated { };</div><div class="line"></div><div class="line">/*! A template class */</div><div class="line">template<class T> class Templ { };</div><div class="line"></div><div class="line">/*! Class that is inherited using protected inheritance */</div><div class="line">class ProtectedBase { };</div><div class="line"></div><div class="line">/*! Class that is inherited using private inheritance */</div><div class="line">class PrivateBase { };</div><div class="line"></div><div class="line">/*! Class that is used by the Inherited class */</div><div class="line">class Used { };</div><div class="line"></div><div class="line">/*! Super class that inherits a number of other classes */</div><div class="line">class Inherited : public PublicBase,</div><div class="line"> protected ProtectedBase,</div><div class="line"> private PrivateBase,</div><div class="line"> public Undocumented,</div><div class="line"> public Templ<int></div><div class="line">{</div><div class="line"> private:</div><div class="line"> Used *m_usedClass;</div><div class="line">};</div></div><!-- fragment --><p> This will result in the following graph:</p> +<center><div class="image"> +<img src="graph_legend.png"/> </div> -</center> <p> -The boxes in the above graph have the following meaning: <ul> +</center><p>The boxes in the above graph have the following meaning: </p> +<ul> <li> A filled gray box represents the struct or class for which the graph is generated. </li> <li> A box with a black border denotes a documented struct or class. </li> <li> -A box with a grey border denotes an undocumented struct or class. </li> +A box with a gray border denotes an undocumented struct or class. </li> <li> A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li> </ul> -The arrows have the following meaning: <ul> +<p>The arrows have the following meaning: </p> +<ul> <li> A dark blue arrow is used to visualize a public inheritance relation between two classes. </li> <li> @@ -78,12 +48,12 @@ A dark green arrow is used for protected inheritance. </li> <li> A dark red arrow is used for private inheritance. </li> <li> -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li> +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li> <li> -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li> +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li> </ul> -</div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/graph_legend.md5 b/doc/doxyout/krb5/html/graph_legend.md5 new file mode 100644 index 000000000000..a06ed050cbb5 --- /dev/null +++ b/doc/doxyout/krb5/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff
\ No newline at end of file diff --git a/doc/doxyout/krb5/html/graph_legend.png b/doc/doxyout/krb5/html/graph_legend.png Binary files differindex 9b96937bfd5f..881e40f9c0a2 100644 --- a/doc/doxyout/krb5/html/graph_legend.png +++ b/doc/doxyout/krb5/html/graph_legend.png diff --git a/doc/doxyout/krb5/html/group__krb5.html b/doc/doxyout/krb5/html/group__krb5.html index 9ec9766e2c31..35aba87ad950 100644 --- a/doc/doxyout/krb5/html/group__krb5.html +++ b/doc/doxyout/krb5/html/group__krb5.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 library</title> +<title>Heimdal Kerberos 5 library</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,2230 +8,2214 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 library</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 library</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc03fc138d472dd7743a0ab7ecb3061c1">krb5_add_et_list</a> (krb5_context context, void(*func)(struct et_list **))</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g02611e3966053f79eda248d76dccc282">krb5_set_password</a> (krb5_context context, krb5_creds *creds, const char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context</a> (krb5_context *context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd30312a0ba95a71478de1b5fba34db3f">krb5_copy_context</a> (krb5_context context, krb5_context *out)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context</a> (krb5_context context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd4453861fbfc0372e3c44b59325f62aa">krb5_set_config_files</a> (krb5_context context, char **filenames)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gad9a3fd7b838f053a71424d95bf73d40">krb5_prepend_config_files_default</a> (const char *filelist, char ***pfilenames)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g4276c71bee1ba0c9f2bbd659cd351cb3">krb5_get_default_config_files</a> (char ***pfilenames)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files</a> (char **filenames)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> -krb5_enctype *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g92110f6472a4fb0a5e0a35da81af4fa2">krb5_kerberos_enctypes</a> (krb5_context context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g5e028d8b3b0444c98b251f46eb48235a">krb5_set_default_in_tkt_etypes</a> (krb5_context context, const krb5_enctype *etypes)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga2bba3d683f1280ddfe8430d834bd5e8">krb5_get_default_in_tkt_etypes</a> (krb5_context context, krb5_pdu pdu_type, krb5_enctype **etypes)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g0f4f2bf6056a5fd472d9dd3d393f133e">krb5_init_ets</a> (krb5_context context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3e1564b6d147482eba7bfb5e40a4ff6f">krb5_set_use_admin_kdc</a> (krb5_context context, krb5_boolean flag)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc68122daa411ea028bd521e6e9d2ca6b">krb5_get_use_admin_kdc</a> (krb5_context context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga3776874e66baaaad19316d65aeeb4b5">krb5_add_extra_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3c326674110a2d1c7d3523a0c308dddd">krb5_set_extra_addresses</a> (krb5_context context, const krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g0c24a484850684f9252c0f494da2e4c5">krb5_get_extra_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g666a78a6b321bdc7d174343329d0eae9">krb5_add_ignore_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g4d9823757dea2b9884c136fb959383bc">krb5_set_ignore_addresses</a> (krb5_context context, const krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g6f089725948937875bc2594d9b8cbaf7">krb5_get_ignore_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g2f77d43f11ad41cd9b5676cc73f052bc">krb5_set_fcache_version</a> (krb5_context context, int version)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g913ff7c6bd16cd3d3cb07529345b65ba">krb5_get_fcache_version</a> (krb5_context context, int *version)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc5664b887b62be61c00c70fa9e290611">krb5_is_thread_safe</a> (void)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g798fb21edcec6c7b251709f1e447b21b">krb5_set_dns_canonicalize_hostname</a> (krb5_context context, krb5_boolean flag)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gef9f47692fc31c50afc14b581b7aa2fa">krb5_get_dns_canonicalize_hostname</a> (krb5_context context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfacf61debb011b06e22e78251104efa0">krb5_get_kdc_sec_offset</a> (krb5_context context, int32_t *sec, int32_t *usec)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfd16890e03f6dff6f6d013d97e0ee185">krb5_set_kdc_sec_offset</a> (krb5_context context, int32_t sec, int32_t usec)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION time_t <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gbefb8ef32ceedc5ffe6c9440c093a533">krb5_get_max_time_skew</a> (krb5_context context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g2257aeff745924c48f12d1893d7523ba">krb5_set_max_time_skew</a> (krb5_context context, time_t t)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access</a> (krb5_context context, krb5_boolean allow)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ge730027c647c418850393bce518f9d66">krb5_copy_host_realm</a> (krb5_context context, const krb5_realm *from, krb5_realm **to)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents</a> (krb5_context context, krb5_creds *c)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc4fbae1d00b395ec9d69edabd93f432c">krb5_copy_creds_contents</a> (krb5_context context, const krb5_creds *incred, krb5_creds *c)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gcb70cd95ac6806c3265ee6cec400b60d">krb5_copy_creds</a> (krb5_context context, const krb5_creds *incred, krb5_creds **outcred)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g5224797a3ca4c450466ef5102164ee85">krb5_free_creds</a> (krb5_context context, krb5_creds *c)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g45afc77b07b201272eeeaad9890b63cf">krb5_compare_creds</a> (krb5_context context, krb5_flags whichfields, const krb5_creds *mcreds, const krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION unsigned <br> -long KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3e6ea2e16872304ac5cc3bed2a0abb88">krb5_creds_get_ticket_flags</a> (krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero</a> (krb5_data *p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free</a> (krb5_data *p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g9494f7751d3751c45a5ed4a89a5323b4">krb5_free_data</a> (krb5_context context, krb5_data *p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gf5b03734f6027c752381986ac0975ea9">krb5_data_alloc</a> (krb5_data *p, int len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g0602c7a4b056d9004db090df9886811c">krb5_data_realloc</a> (krb5_data *p, int len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfb664221cde2d10fb5d1b3dfb5c55e04">krb5_data_copy</a> (krb5_data *p, const void *data, size_t len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g963388a0eea15e4e43dbe9c983e3e212">krb5_copy_data</a> (krb5_context context, const krb5_data *indata, krb5_data **outdata)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gfad0906fca85d7dea0f6b762822d0ff4">krb5_data_cmp</a> (const krb5_data *data1, const krb5_data *data2)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gcbeb984ec39d6f8ccb582816c14318ab">krb5_data_ct_cmp</a> (const krb5_data *data1, const krb5_data *data2)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g8dcc8bb7370f2bd91bea895df7e1b1a2">krb5_krbhst_get_addrinfo</a> (krb5_context context, krb5_krbhst_info *host, struct addrinfo **ai)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g3d994aef26269ee2b15e4d34acb28fed">krb5_free_ticket</a> (krb5_context context, krb5_ticket *ticket)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gc2c0c5fe2dc17714287a20785623be45">krb5_copy_ticket</a> (krb5_context context, const krb5_ticket *from, krb5_ticket **to)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g6cf23f11044d79441ea1456a01ebe7d7">krb5_ticket_get_client</a> (krb5_context context, const krb5_ticket *ticket, krb5_principal *client)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gd1f40ffc29f379b7dec60144eefdb553">krb5_ticket_get_server</a> (krb5_context context, const krb5_ticket *ticket, krb5_principal *server)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION time_t <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g118b98784ccadd98cdaaa1ee5076c9fb">krb5_ticket_get_endtime</a> (krb5_context context, const krb5_ticket *ticket)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga7387c09a85bf3aabe5bae8a2ec4af73">krb5_ticket_get_authorization_data_type</a> (krb5_context context, krb5_ticket *ticket, int type, krb5_data *data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#g1bb5d4ab0e2ebd85414903617b1ac36b">krb5_set_real_time</a> (krb5_context context, krb5_timestamp sec, int32_t usec)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gac03fc138d472dd7743a0ab7ecb3061c1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gac03fc138d472dd7743a0ab7ecb3061c1">krb5_add_et_list</a> (krb5_context context, void(*func)(struct et_list **))</td></tr> +<tr class="separator:gac03fc138d472dd7743a0ab7ecb3061c1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga02611e3966053f79eda248d76dccc282"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga02611e3966053f79eda248d76dccc282">krb5_set_password</a> (krb5_context context, krb5_creds *creds, const char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string)</td></tr> +<tr class="separator:ga02611e3966053f79eda248d76dccc282"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabd94206e186c58a093975424a4a567a8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context</a> (krb5_context *context)</td></tr> +<tr class="separator:gabd94206e186c58a093975424a4a567a8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad30312a0ba95a71478de1b5fba34db3f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gad30312a0ba95a71478de1b5fba34db3f">krb5_copy_context</a> (krb5_context context, krb5_context *out)</td></tr> +<tr class="separator:gad30312a0ba95a71478de1b5fba34db3f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae51d83f5d5f589883f1cd10887892777"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gae51d83f5d5f589883f1cd10887892777">krb5_free_context</a> (krb5_context context)</td></tr> +<tr class="separator:gae51d83f5d5f589883f1cd10887892777"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad4453861fbfc0372e3c44b59325f62aa"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gad4453861fbfc0372e3c44b59325f62aa">krb5_set_config_files</a> (krb5_context context, char **filenames)</td></tr> +<tr class="separator:gad4453861fbfc0372e3c44b59325f62aa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaad9a3fd7b838f053a71424d95bf73d40"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gaad9a3fd7b838f053a71424d95bf73d40">krb5_prepend_config_files_default</a> (const char *filelist, char ***pfilenames)</td></tr> +<tr class="separator:gaad9a3fd7b838f053a71424d95bf73d40"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4276c71bee1ba0c9f2bbd659cd351cb3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga4276c71bee1ba0c9f2bbd659cd351cb3">krb5_get_default_config_files</a> (char ***pfilenames)</td></tr> +<tr class="separator:ga4276c71bee1ba0c9f2bbd659cd351cb3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gace1b568d05875e7c4fbc6e5af5a8bdbf"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gace1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files</a> (char **filenames)</td></tr> +<tr class="separator:gace1b568d05875e7c4fbc6e5af5a8bdbf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga92110f6472a4fb0a5e0a35da81af4fa2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const krb5_enctype *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga92110f6472a4fb0a5e0a35da81af4fa2">krb5_kerberos_enctypes</a> (krb5_context context)</td></tr> +<tr class="separator:ga92110f6472a4fb0a5e0a35da81af4fa2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5e028d8b3b0444c98b251f46eb48235a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga5e028d8b3b0444c98b251f46eb48235a">krb5_set_default_in_tkt_etypes</a> (krb5_context context, const krb5_enctype *etypes)</td></tr> +<tr class="separator:ga5e028d8b3b0444c98b251f46eb48235a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa2bba3d683f1280ddfe8430d834bd5e8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gaa2bba3d683f1280ddfe8430d834bd5e8">krb5_get_default_in_tkt_etypes</a> (krb5_context context, krb5_pdu pdu_type, krb5_enctype **etypes)</td></tr> +<tr class="separator:gaa2bba3d683f1280ddfe8430d834bd5e8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0f4f2bf6056a5fd472d9dd3d393f133e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga0f4f2bf6056a5fd472d9dd3d393f133e">krb5_init_ets</a> (krb5_context context)</td></tr> +<tr class="separator:ga0f4f2bf6056a5fd472d9dd3d393f133e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3e1564b6d147482eba7bfb5e40a4ff6f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga3e1564b6d147482eba7bfb5e40a4ff6f">krb5_set_use_admin_kdc</a> (krb5_context context, krb5_boolean flag)</td></tr> +<tr class="separator:ga3e1564b6d147482eba7bfb5e40a4ff6f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac68122daa411ea028bd521e6e9d2ca6b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gac68122daa411ea028bd521e6e9d2ca6b">krb5_get_use_admin_kdc</a> (krb5_context context)</td></tr> +<tr class="separator:gac68122daa411ea028bd521e6e9d2ca6b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa3776874e66baaaad19316d65aeeb4b5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gaa3776874e66baaaad19316d65aeeb4b5">krb5_add_extra_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> +<tr class="separator:gaa3776874e66baaaad19316d65aeeb4b5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3c326674110a2d1c7d3523a0c308dddd"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga3c326674110a2d1c7d3523a0c308dddd">krb5_set_extra_addresses</a> (krb5_context context, const krb5_addresses *addresses)</td></tr> +<tr class="separator:ga3c326674110a2d1c7d3523a0c308dddd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0c24a484850684f9252c0f494da2e4c5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga0c24a484850684f9252c0f494da2e4c5">krb5_get_extra_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> +<tr class="separator:ga0c24a484850684f9252c0f494da2e4c5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga666a78a6b321bdc7d174343329d0eae9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga666a78a6b321bdc7d174343329d0eae9">krb5_add_ignore_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> +<tr class="separator:ga666a78a6b321bdc7d174343329d0eae9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4d9823757dea2b9884c136fb959383bc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga4d9823757dea2b9884c136fb959383bc">krb5_set_ignore_addresses</a> (krb5_context context, const krb5_addresses *addresses)</td></tr> +<tr class="separator:ga4d9823757dea2b9884c136fb959383bc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6f089725948937875bc2594d9b8cbaf7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga6f089725948937875bc2594d9b8cbaf7">krb5_get_ignore_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> +<tr class="separator:ga6f089725948937875bc2594d9b8cbaf7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2f77d43f11ad41cd9b5676cc73f052bc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga2f77d43f11ad41cd9b5676cc73f052bc">krb5_set_fcache_version</a> (krb5_context context, int version)</td></tr> +<tr class="separator:ga2f77d43f11ad41cd9b5676cc73f052bc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga913ff7c6bd16cd3d3cb07529345b65ba"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga913ff7c6bd16cd3d3cb07529345b65ba">krb5_get_fcache_version</a> (krb5_context context, int *version)</td></tr> +<tr class="separator:ga913ff7c6bd16cd3d3cb07529345b65ba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac5664b887b62be61c00c70fa9e290611"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gac5664b887b62be61c00c70fa9e290611">krb5_is_thread_safe</a> (void)</td></tr> +<tr class="separator:gac5664b887b62be61c00c70fa9e290611"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga798fb21edcec6c7b251709f1e447b21b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga798fb21edcec6c7b251709f1e447b21b">krb5_set_dns_canonicalize_hostname</a> (krb5_context context, krb5_boolean flag)</td></tr> +<tr class="separator:ga798fb21edcec6c7b251709f1e447b21b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaef9f47692fc31c50afc14b581b7aa2fa"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gaef9f47692fc31c50afc14b581b7aa2fa">krb5_get_dns_canonicalize_hostname</a> (krb5_context context)</td></tr> +<tr class="separator:gaef9f47692fc31c50afc14b581b7aa2fa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafacf61debb011b06e22e78251104efa0"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gafacf61debb011b06e22e78251104efa0">krb5_get_kdc_sec_offset</a> (krb5_context context, int32_t *sec, int32_t *usec)</td></tr> +<tr class="separator:gafacf61debb011b06e22e78251104efa0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafd16890e03f6dff6f6d013d97e0ee185"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gafd16890e03f6dff6f6d013d97e0ee185">krb5_set_kdc_sec_offset</a> (krb5_context context, int32_t sec, int32_t usec)</td></tr> +<tr class="separator:gafd16890e03f6dff6f6d013d97e0ee185"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabefb8ef32ceedc5ffe6c9440c093a533"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gabefb8ef32ceedc5ffe6c9440c093a533">krb5_get_max_time_skew</a> (krb5_context context)</td></tr> +<tr class="separator:gabefb8ef32ceedc5ffe6c9440c093a533"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2257aeff745924c48f12d1893d7523ba"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga2257aeff745924c48f12d1893d7523ba">krb5_set_max_time_skew</a> (krb5_context context, time_t t)</td></tr> +<tr class="separator:ga2257aeff745924c48f12d1893d7523ba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3a8e40d622ff1460b2f554d83a9059ea"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access</a> (krb5_context context, krb5_boolean allow)</td></tr> +<tr class="separator:ga3a8e40d622ff1460b2f554d83a9059ea"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae730027c647c418850393bce518f9d66"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gae730027c647c418850393bce518f9d66">krb5_copy_host_realm</a> (krb5_context context, const krb5_realm *from, krb5_realm **to)</td></tr> +<tr class="separator:gae730027c647c418850393bce518f9d66"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad89c4c7b633646c39e4a34a7230c94e1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gad89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents</a> (krb5_context context, krb5_creds *c)</td></tr> +<tr class="separator:gad89c4c7b633646c39e4a34a7230c94e1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac4fbae1d00b395ec9d69edabd93f432c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gac4fbae1d00b395ec9d69edabd93f432c">krb5_copy_creds_contents</a> (krb5_context context, const krb5_creds *incred, krb5_creds *c)</td></tr> +<tr class="separator:gac4fbae1d00b395ec9d69edabd93f432c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gacb70cd95ac6806c3265ee6cec400b60d"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gacb70cd95ac6806c3265ee6cec400b60d">krb5_copy_creds</a> (krb5_context context, const krb5_creds *incred, krb5_creds **outcred)</td></tr> +<tr class="separator:gacb70cd95ac6806c3265ee6cec400b60d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5224797a3ca4c450466ef5102164ee85"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga5224797a3ca4c450466ef5102164ee85">krb5_free_creds</a> (krb5_context context, krb5_creds *c)</td></tr> +<tr class="separator:ga5224797a3ca4c450466ef5102164ee85"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga45afc77b07b201272eeeaad9890b63cf"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga45afc77b07b201272eeeaad9890b63cf">krb5_compare_creds</a> (krb5_context context, krb5_flags whichfields, const krb5_creds *mcreds, const krb5_creds *creds)</td></tr> +<tr class="separator:ga45afc77b07b201272eeeaad9890b63cf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3e6ea2e16872304ac5cc3bed2a0abb88"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga3e6ea2e16872304ac5cc3bed2a0abb88">krb5_creds_get_ticket_flags</a> (krb5_creds *creds)</td></tr> +<tr class="separator:ga3e6ea2e16872304ac5cc3bed2a0abb88"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa059e96dde4e0b8c082eb6f3d570b7bc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gaa059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero</a> (krb5_data *p)</td></tr> +<tr class="separator:gaa059e96dde4e0b8c082eb6f3d570b7bc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab4b80ac7a8bbab89fe947ae1c7828ea8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free</a> (krb5_data *p)</td></tr> +<tr class="separator:gab4b80ac7a8bbab89fe947ae1c7828ea8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9494f7751d3751c45a5ed4a89a5323b4"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga9494f7751d3751c45a5ed4a89a5323b4">krb5_free_data</a> (krb5_context context, krb5_data *p)</td></tr> +<tr class="separator:ga9494f7751d3751c45a5ed4a89a5323b4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf5b03734f6027c752381986ac0975ea9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gaf5b03734f6027c752381986ac0975ea9">krb5_data_alloc</a> (krb5_data *p, int len)</td></tr> +<tr class="separator:gaf5b03734f6027c752381986ac0975ea9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0602c7a4b056d9004db090df9886811c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga0602c7a4b056d9004db090df9886811c">krb5_data_realloc</a> (krb5_data *p, int len)</td></tr> +<tr class="separator:ga0602c7a4b056d9004db090df9886811c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafb664221cde2d10fb5d1b3dfb5c55e04"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gafb664221cde2d10fb5d1b3dfb5c55e04">krb5_data_copy</a> (krb5_data *p, const void *data, size_t len)</td></tr> +<tr class="separator:gafb664221cde2d10fb5d1b3dfb5c55e04"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga963388a0eea15e4e43dbe9c983e3e212"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga963388a0eea15e4e43dbe9c983e3e212">krb5_copy_data</a> (krb5_context context, const krb5_data *indata, krb5_data **outdata)</td></tr> +<tr class="separator:ga963388a0eea15e4e43dbe9c983e3e212"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafad0906fca85d7dea0f6b762822d0ff4"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gafad0906fca85d7dea0f6b762822d0ff4">krb5_data_cmp</a> (const krb5_data *data1, const krb5_data *data2)</td></tr> +<tr class="separator:gafad0906fca85d7dea0f6b762822d0ff4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gacbeb984ec39d6f8ccb582816c14318ab"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gacbeb984ec39d6f8ccb582816c14318ab">krb5_data_ct_cmp</a> (const krb5_data *data1, const krb5_data *data2)</td></tr> +<tr class="separator:gacbeb984ec39d6f8ccb582816c14318ab"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0d0ba2f97ba34b1ebe89271c50bb3f1b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga0d0ba2f97ba34b1ebe89271c50bb3f1b">krb5_get_err_text</a> (krb5_context context, krb5_error_code code) KRB5_DEPRECATED_FUNCTION("Use <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message</a> instead")</td></tr> +<tr class="separator:ga0d0ba2f97ba34b1ebe89271c50bb3f1b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8dcc8bb7370f2bd91bea895df7e1b1a2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga8dcc8bb7370f2bd91bea895df7e1b1a2">krb5_krbhst_get_addrinfo</a> (krb5_context context, krb5_krbhst_info *host, struct addrinfo **ai)</td></tr> +<tr class="separator:ga8dcc8bb7370f2bd91bea895df7e1b1a2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3d994aef26269ee2b15e4d34acb28fed"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga3d994aef26269ee2b15e4d34acb28fed">krb5_free_ticket</a> (krb5_context context, krb5_ticket *ticket)</td></tr> +<tr class="separator:ga3d994aef26269ee2b15e4d34acb28fed"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac2c0c5fe2dc17714287a20785623be45"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gac2c0c5fe2dc17714287a20785623be45">krb5_copy_ticket</a> (krb5_context context, const krb5_ticket *from, krb5_ticket **to)</td></tr> +<tr class="separator:gac2c0c5fe2dc17714287a20785623be45"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6cf23f11044d79441ea1456a01ebe7d7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga6cf23f11044d79441ea1456a01ebe7d7">krb5_ticket_get_client</a> (krb5_context context, const krb5_ticket *ticket, krb5_principal *client)</td></tr> +<tr class="separator:ga6cf23f11044d79441ea1456a01ebe7d7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad1f40ffc29f379b7dec60144eefdb553"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gad1f40ffc29f379b7dec60144eefdb553">krb5_ticket_get_server</a> (krb5_context context, const krb5_ticket *ticket, krb5_principal *server)</td></tr> +<tr class="separator:gad1f40ffc29f379b7dec60144eefdb553"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga118b98784ccadd98cdaaa1ee5076c9fb"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga118b98784ccadd98cdaaa1ee5076c9fb">krb5_ticket_get_endtime</a> (krb5_context context, const krb5_ticket *ticket)</td></tr> +<tr class="separator:ga118b98784ccadd98cdaaa1ee5076c9fb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa7387c09a85bf3aabe5bae8a2ec4af73"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#gaa7387c09a85bf3aabe5bae8a2ec4af73">krb5_ticket_get_authorization_data_type</a> (krb5_context context, krb5_ticket *ticket, int type, krb5_data *data)</td></tr> +<tr class="separator:gaa7387c09a85bf3aabe5bae8a2ec4af73"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1bb5d4ab0e2ebd85414903617b1ac36b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5.html#ga1bb5d4ab0e2ebd85414903617b1ac36b">krb5_set_real_time</a> (krb5_context context, krb5_timestamp sec, int32_t usec)</td></tr> +<tr class="separator:ga1bb5d4ab0e2ebd85414903617b1ac36b"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="gc03fc138d472dd7743a0ab7ecb3061c1"></a><!-- doxytag: member="add_et_list.c::krb5_add_et_list" ref="gc03fc138d472dd7743a0ab7ecb3061c1" args="(krb5_context context, void(*func)(struct et_list **))" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="gac03fc138d472dd7743a0ab7ecb3061c1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac03fc138d472dd7743a0ab7ecb3061c1">◆ </a></span>krb5_add_et_list()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_et_list </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_et_list </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void(*)(struct et_list **) </td> - <td class="paramname"> <em>func</em></td><td> </td> + <td class="paramtype">void(*)(struct et_list **) </td> + <td class="paramname"><em>func</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Add a specified list of error messages to the et list in context. Call func (probably a comerr-generated function) with a pointer to the current et_list.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>The generated com_err et function.</td></tr> +</div><div class="memdoc"> +<p>Add a specified list of error messages to the et list in context. Call func (probably a comerr-generated function) with a pointer to the current et_list.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A kerberos context. </td></tr> + <tr><td class="paramname">func</td><td>The generated com_err et function.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga3776874e66baaaad19316d65aeeb4b5"></a><!-- doxytag: member="context.c::krb5_add_extra_addresses" ref="ga3776874e66baaaad19316d65aeeb4b5" args="(krb5_context context, krb5_addresses *addresses)" --> +</div> +<a id="gaa3776874e66baaaad19316d65aeeb4b5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa3776874e66baaaad19316d65aeeb4b5">◆ </a></span>krb5_add_extra_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_extra_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_extra_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Add extra address to the address list that the library will add to the client's address list when communicating with the KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td>addreses to add</td></tr> +</div><div class="memdoc"> +<p>Add extra address to the address list that the library will add to the client's address list when communicating with the KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">addresses</td><td>addreses to add</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g666a78a6b321bdc7d174343329d0eae9"></a><!-- doxytag: member="context.c::krb5_add_ignore_addresses" ref="g666a78a6b321bdc7d174343329d0eae9" args="(krb5_context context, krb5_addresses *addresses)" --> +</div> +<a id="ga666a78a6b321bdc7d174343329d0eae9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga666a78a6b321bdc7d174343329d0eae9">◆ </a></span>krb5_add_ignore_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_ignore_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_ignore_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Add extra addresses to ignore when fetching addresses from the underlaying operating system.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td>addreses to ignore</td></tr> +</div><div class="memdoc"> +<p>Add extra addresses to ignore when fetching addresses from the underlaying operating system.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">addresses</td><td>addreses to ignore</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g45afc77b07b201272eeeaad9890b63cf"></a><!-- doxytag: member="creds.c::krb5_compare_creds" ref="g45afc77b07b201272eeeaad9890b63cf" args="(krb5_context context, krb5_flags whichfields, const krb5_creds *mcreds, const krb5_creds *creds)" --> +</div> +<a id="ga45afc77b07b201272eeeaad9890b63cf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga45afc77b07b201272eeeaad9890b63cf">◆ </a></span>krb5_compare_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_compare_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_compare_creds </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>whichfields</em>, </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>whichfields</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_creds * </td> - <td class="paramname"> <em>mcreds</em>, </td> + <td class="paramtype">const krb5_creds * </td> + <td class="paramname"><em>mcreds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">const krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return TRUE if `mcreds' and `creds' are equal (`whichfields' determines what equal means).<p> -The following flags, set in whichfields affects the comparison:<ul> -<li>KRB5_TC_MATCH_SRV_NAMEONLY Consider all realms equal when comparing the service principal.</li><li>KRB5_TC_MATCH_KEYTYPE Compare enctypes.</li><li>KRB5_TC_MATCH_FLAGS_EXACT Make sure that the ticket flags are identical.</li><li>KRB5_TC_MATCH_FLAGS Make sure that all ticket flags set in mcreds are also present in creds .</li><li>KRB5_TC_MATCH_TIMES_EXACT Compares the ticket times exactly.</li><li>KRB5_TC_MATCH_TIMES Compares only the expiration times of the creds.</li><li>KRB5_TC_MATCH_AUTHDATA Compares the authdata fields.</li><li>KRB5_TC_MATCH_2ND_TKT Compares the second tickets (used by user-to-user authentication).</li><li>KRB5_TC_MATCH_IS_SKEY Compares the existance of the second ticket.</li></ul> -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>whichfields</em> </td><td>which fields to compare. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>mcreds</em> </td><td>cred to compare with. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>cred to compare with.</td></tr> +</div><div class="memdoc"> +<p>Return TRUE if `mcreds' and `creds' are equal (`whichfields' determines what equal means).</p> +<p>The following flags, set in whichfields affects the comparison:</p><ul> +<li>KRB5_TC_MATCH_SRV_NAMEONLY Consider all realms equal when comparing the service principal.</li> +<li>KRB5_TC_MATCH_KEYTYPE Compare enctypes.</li> +<li>KRB5_TC_MATCH_FLAGS_EXACT Make sure that the ticket flags are identical.</li> +<li>KRB5_TC_MATCH_FLAGS Make sure that all ticket flags set in mcreds are also present in creds .</li> +<li>KRB5_TC_MATCH_TIMES_EXACT Compares the ticket times exactly.</li> +<li>KRB5_TC_MATCH_TIMES Compares only the expiration times of the creds.</li> +<li>KRB5_TC_MATCH_AUTHDATA Compares the authdata fields.</li> +<li>KRB5_TC_MATCH_2ND_TKT Compares the second tickets (used by user-to-user authentication).</li> +<li>KRB5_TC_MATCH_IS_SKEY Compares the existance of the second ticket.</li> +</ul> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">whichfields</td><td>which fields to compare. </td></tr> + <tr><td class="paramname">mcreds</td><td>cred to compare with. </td></tr> + <tr><td class="paramname">creds</td><td>cred to compare with.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>return TRUE if mcred and creds are equal, FALSE if not. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>return TRUE if mcred and creds are equal, FALSE if not. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd30312a0ba95a71478de1b5fba34db3f"></a><!-- doxytag: member="context.c::krb5_copy_context" ref="gd30312a0ba95a71478de1b5fba34db3f" args="(krb5_context context, krb5_context *out)" --> +</div> +<a id="gad30312a0ba95a71478de1b5fba34db3f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad30312a0ba95a71478de1b5fba34db3f">◆ </a></span>krb5_copy_context()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_context </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_context </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_context * </td> - <td class="paramname"> <em>out</em></td><td> </td> + <td class="paramtype">krb5_context * </td> + <td class="paramname"><em>out</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Make a copy for the Kerberos 5 context, the new krb5_context shoud be freed with <a class="el" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>the Kerberos context to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>the copy of the Kerberos, set to NULL error.</td></tr> +</div><div class="memdoc"> +<p>Make a copy for the Kerberos 5 context, the new krb5_context shoud be freed with <a class="el" href="group__krb5.html#gae51d83f5d5f589883f1cd10887892777">krb5_free_context()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>the Kerberos context to copy </td></tr> + <tr><td class="paramname">out</td><td>the copy of the Kerberos, set to NULL error.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gcb70cd95ac6806c3265ee6cec400b60d"></a><!-- doxytag: member="creds.c::krb5_copy_creds" ref="gcb70cd95ac6806c3265ee6cec400b60d" args="(krb5_context context, const krb5_creds *incred, krb5_creds **outcred)" --> +</div> +<a id="gacb70cd95ac6806c3265ee6cec400b60d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gacb70cd95ac6806c3265ee6cec400b60d">◆ </a></span>krb5_copy_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_creds * </td> - <td class="paramname"> <em>incred</em>, </td> + <td class="paramtype">const krb5_creds * </td> + <td class="paramname"><em>incred</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds ** </td> - <td class="paramname"> <em>outcred</em></td><td> </td> + <td class="paramtype">krb5_creds ** </td> + <td class="paramname"><em>outcred</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy krb5_creds.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>incred</em> </td><td>source credential </td></tr> - <tr><td valign="top"></td><td valign="top"><em>outcred</em> </td><td>destination credential, free with <a class="el" href="group__krb5.html#g5224797a3ca4c450466ef5102164ee85">krb5_free_creds()</a>.</td></tr> +</div><div class="memdoc"> +<p>Copy krb5_creds.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">incred</td><td>source credential </td></tr> + <tr><td class="paramname">outcred</td><td>destination credential, free with <a class="el" href="group__krb5.html#ga5224797a3ca4c450466ef5102164ee85">krb5_free_creds()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc4fbae1d00b395ec9d69edabd93f432c"></a><!-- doxytag: member="creds.c::krb5_copy_creds_contents" ref="gc4fbae1d00b395ec9d69edabd93f432c" args="(krb5_context context, const krb5_creds *incred, krb5_creds *c)" --> +</div> +<a id="gac4fbae1d00b395ec9d69edabd93f432c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac4fbae1d00b395ec9d69edabd93f432c">◆ </a></span>krb5_copy_creds_contents()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds_contents </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_creds_contents </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_creds * </td> - <td class="paramname"> <em>incred</em>, </td> + <td class="paramtype">const krb5_creds * </td> + <td class="paramname"><em>incred</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>c</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>c</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy content of krb5_creds.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>incred</em> </td><td>source credential </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>destination credential, free with <a class="el" href="group__krb5.html#gd89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents()</a>.</td></tr> +</div><div class="memdoc"> +<p>Copy content of krb5_creds.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">incred</td><td>source credential </td></tr> + <tr><td class="paramname">c</td><td>destination credential, free with <a class="el" href="group__krb5.html#gad89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g963388a0eea15e4e43dbe9c983e3e212"></a><!-- doxytag: member="data.c::krb5_copy_data" ref="g963388a0eea15e4e43dbe9c983e3e212" args="(krb5_context context, const krb5_data *indata, krb5_data **outdata)" --> +</div> +<a id="ga963388a0eea15e4e43dbe9c983e3e212"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga963388a0eea15e4e43dbe9c983e3e212">◆ </a></span>krb5_copy_data()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_data </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_data </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_data * </td> - <td class="paramname"> <em>indata</em>, </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>indata</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data ** </td> - <td class="paramname"> <em>outdata</em></td><td> </td> + <td class="paramtype">krb5_data ** </td> + <td class="paramname"><em>outdata</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy the data into a newly allocated krb5_data.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>indata</em> </td><td>the krb5_data data to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>outdata</em> </td><td>new krb5_date to copy too. Free with <a class="el" href="group__krb5.html#g9494f7751d3751c45a5ed4a89a5323b4">krb5_free_data()</a>.</td></tr> +</div><div class="memdoc"> +<p>Copy the data into a newly allocated krb5_data.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">indata</td><td>the krb5_data data to copy </td></tr> + <tr><td class="paramname">outdata</td><td>new krb5_date to copy too. Free with <a class="el" href="group__krb5.html#ga9494f7751d3751c45a5ed4a89a5323b4">krb5_free_data()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> </div> -</div><p> -<a class="anchor" name="ge730027c647c418850393bce518f9d66"></a><!-- doxytag: member="copy_host_realm.c::krb5_copy_host_realm" ref="ge730027c647c418850393bce518f9d66" args="(krb5_context context, const krb5_realm *from, krb5_realm **to)" --> +</div> +<a id="gae730027c647c418850393bce518f9d66"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae730027c647c418850393bce518f9d66">◆ </a></span>krb5_copy_host_realm()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_host_realm </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_host_realm </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_realm * </td> - <td class="paramname"> <em>from</em>, </td> + <td class="paramtype">const krb5_realm * </td> + <td class="paramname"><em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_realm ** </td> - <td class="paramname"> <em>to</em></td><td> </td> + <td class="paramtype">krb5_realm ** </td> + <td class="paramname"><em>to</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy the list of realms from `from' to `to'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>list of realms to copy from. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>list of realms to copy to, free list of <a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm()</a>.</td></tr> +</div><div class="memdoc"> +<p>Copy the list of realms from `from' to `to'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">from</td><td>list of realms to copy from. </td></tr> + <tr><td class="paramname">to</td><td>list of realms to copy to, free list of <a class="el" href="group__krb5__support.html#gaca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc2c0c5fe2dc17714287a20785623be45"></a><!-- doxytag: member="ticket.c::krb5_copy_ticket" ref="gc2c0c5fe2dc17714287a20785623be45" args="(krb5_context context, const krb5_ticket *from, krb5_ticket **to)" --> +</div> +<a id="gac2c0c5fe2dc17714287a20785623be45"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac2c0c5fe2dc17714287a20785623be45">◆ </a></span>krb5_copy_ticket()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_ticket </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_ticket </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ticket * </td> - <td class="paramname"> <em>from</em>, </td> + <td class="paramtype">const krb5_ticket * </td> + <td class="paramname"><em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ticket ** </td> - <td class="paramname"> <em>to</em></td><td> </td> + <td class="paramtype">krb5_ticket ** </td> + <td class="paramname"><em>to</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy ticket and content<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>ticket to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>new copy of ticket, free with <a class="el" href="group__krb5.html#g3d994aef26269ee2b15e4d34acb28fed">krb5_free_ticket()</a></td></tr> +</div><div class="memdoc"> +<p>Copy ticket and content</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">from</td><td>ticket to copy </td></tr> + <tr><td class="paramname">to</td><td>new copy of ticket, free with <a class="el" href="group__krb5.html#ga3d994aef26269ee2b15e4d34acb28fed">krb5_free_ticket()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3e6ea2e16872304ac5cc3bed2a0abb88"></a><!-- doxytag: member="creds.c::krb5_creds_get_ticket_flags" ref="g3e6ea2e16872304ac5cc3bed2a0abb88" args="(krb5_creds *creds)" --> +</div> +<a id="ga3e6ea2e16872304ac5cc3bed2a0abb88"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3e6ea2e16872304ac5cc3bed2a0abb88">◆ </a></span>krb5_creds_get_ticket_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL krb5_creds_get_ticket_flags </td> + <td class="memname">KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL krb5_creds_get_ticket_flags </td> <td>(</td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em> </td> - <td> ) </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Returns the ticket flags for the credentials in creds. See also <a class="el" href="group__krb5__ticket.html#gb6a75ab695ff8478394084138af9eb16">krb5_ticket_get_flags()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>credential to get ticket flags from</td></tr> +</div><div class="memdoc"> +<p>Returns the ticket flags for the credentials in creds. See also <a class="el" href="group__krb5__ticket.html#gab6a75ab695ff8478394084138af9eb16">krb5_ticket_get_flags()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">creds</td><td>credential to get ticket flags from</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>ticket flags </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>ticket flags </dd></dl> </div> -</div><p> -<a class="anchor" name="gf5b03734f6027c752381986ac0975ea9"></a><!-- doxytag: member="data.c::krb5_data_alloc" ref="gf5b03734f6027c752381986ac0975ea9" args="(krb5_data *p, int len)" --> +</div> +<a id="gaf5b03734f6027c752381986ac0975ea9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf5b03734f6027c752381986ac0975ea9">◆ </a></span>krb5_data_alloc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_alloc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_alloc </td> <td>(</td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>p</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Allocate data of and krb5_data.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>krb5_data to allocate. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>size to allocate.</td></tr> +</div><div class="memdoc"> +<p>Allocate data of and krb5_data.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">p</td><td>krb5_data to allocate. </td></tr> + <tr><td class="paramname">len</td><td>size to allocate.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> </div> -</div><p> -<a class="anchor" name="gfad0906fca85d7dea0f6b762822d0ff4"></a><!-- doxytag: member="data.c::krb5_data_cmp" ref="gfad0906fca85d7dea0f6b762822d0ff4" args="(const krb5_data *data1, const krb5_data *data2)" --> +</div> +<a id="gafad0906fca85d7dea0f6b762822d0ff4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafad0906fca85d7dea0f6b762822d0ff4">◆ </a></span>krb5_data_cmp()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_cmp </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_cmp </td> <td>(</td> - <td class="paramtype">const krb5_data * </td> - <td class="paramname"> <em>data1</em>, </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>data1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_data * </td> - <td class="paramname"> <em>data2</em></td><td> </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>data2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Compare to data.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>data1</em> </td><td>krb5_data to compare </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data2</em> </td><td>krb5_data to compare</td></tr> +</div><div class="memdoc"> +<p>Compare to data.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">data1</td><td>krb5_data to compare </td></tr> + <tr><td class="paramname">data2</td><td>krb5_data to compare</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>return the same way as memcmp(), useful when sorting. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>return the same way as memcmp(), useful when sorting. </dd></dl> </div> -</div><p> -<a class="anchor" name="gfb664221cde2d10fb5d1b3dfb5c55e04"></a><!-- doxytag: member="data.c::krb5_data_copy" ref="gfb664221cde2d10fb5d1b3dfb5c55e04" args="(krb5_data *p, const void *data, size_t len)" --> +</div> +<a id="gafb664221cde2d10fb5d1b3dfb5c55e04"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafb664221cde2d10fb5d1b3dfb5c55e04">◆ </a></span>krb5_data_copy()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_copy </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_copy </td> <td>(</td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>p</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const void * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy the data of len into the krb5_data.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>krb5_data to copy into. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>data to copy.. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>new size.</td></tr> +</div><div class="memdoc"> +<p>Copy the data of len into the krb5_data.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">p</td><td>krb5_data to copy into. </td></tr> + <tr><td class="paramname">data</td><td>data to copy.. </td></tr> + <tr><td class="paramname">len</td><td>new size.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> </div> -</div><p> -<a class="anchor" name="gcbeb984ec39d6f8ccb582816c14318ab"></a><!-- doxytag: member="data.c::krb5_data_ct_cmp" ref="gcbeb984ec39d6f8ccb582816c14318ab" args="(const krb5_data *data1, const krb5_data *data2)" --> +</div> +<a id="gacbeb984ec39d6f8ccb582816c14318ab"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gacbeb984ec39d6f8ccb582816c14318ab">◆ </a></span>krb5_data_ct_cmp()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_ct_cmp </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_ct_cmp </td> <td>(</td> - <td class="paramtype">const krb5_data * </td> - <td class="paramname"> <em>data1</em>, </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>data1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_data * </td> - <td class="paramname"> <em>data2</em></td><td> </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>data2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Compare to data not exposing timing information from the checksum data<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>data1</em> </td><td>krb5_data to compare </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data2</em> </td><td>krb5_data to compare</td></tr> +</div><div class="memdoc"> +<p>Compare to data not exposing timing information from the checksum data</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">data1</td><td>krb5_data to compare </td></tr> + <tr><td class="paramname">data2</td><td>krb5_data to compare</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns zero for same data, otherwise non zero. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns zero for same data, otherwise non zero. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb4b80ac7a8bbab89fe947ae1c7828ea8"></a><!-- doxytag: member="data.c::krb5_data_free" ref="gb4b80ac7a8bbab89fe947ae1c7828ea8" args="(krb5_data *p)" --> +</div> +<a id="gab4b80ac7a8bbab89fe947ae1c7828ea8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab4b80ac7a8bbab89fe947ae1c7828ea8">◆ </a></span>krb5_data_free()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_free </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_free </td> <td>(</td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>p</em> </td> - <td> ) </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>p</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free the content of krb5_data structure, its ok to free a zeroed structure (with memset() or <a class="el" href="group__krb5.html#ga059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero()</a>). When done, the structure will be zeroed. The same function is called <a class="el" href="group__krb5__deprecated.html#g220b8b17e81dc71dd3ecd1b079160db9">krb5_free_data_contents()</a> in MIT Kerberos.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>krb5_data to free. </td></tr> +</div><div class="memdoc"> +<p>Free the content of krb5_data structure, its ok to free a zeroed structure (with memset() or <a class="el" href="group__krb5.html#gaa059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero()</a>). When done, the structure will be zeroed. The same function is called <a class="el" href="group__krb5__deprecated.html#ga220b8b17e81dc71dd3ecd1b079160db9">krb5_free_data_contents()</a> in MIT Kerberos.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">p</td><td>krb5_data to free. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g0602c7a4b056d9004db090df9886811c"></a><!-- doxytag: member="data.c::krb5_data_realloc" ref="g0602c7a4b056d9004db090df9886811c" args="(krb5_data *p, int len)" --> +</div> +<a id="ga0602c7a4b056d9004db090df9886811c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0602c7a4b056d9004db090df9886811c">◆ </a></span>krb5_data_realloc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_realloc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_data_realloc </td> <td>(</td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>p</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Grow (or shrink) the content of krb5_data to a new size.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>krb5_data to free. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>new size.</td></tr> +</div><div class="memdoc"> +<p>Grow (or shrink) the content of krb5_data to a new size.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">p</td><td>krb5_data to free. </td></tr> + <tr><td class="paramname">len</td><td>new size.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga059e96dde4e0b8c082eb6f3d570b7bc"></a><!-- doxytag: member="data.c::krb5_data_zero" ref="ga059e96dde4e0b8c082eb6f3d570b7bc" args="(krb5_data *p)" --> +</div> +<a id="gaa059e96dde4e0b8c082eb6f3d570b7bc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa059e96dde4e0b8c082eb6f3d570b7bc">◆ </a></span>krb5_data_zero()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_zero </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_data_zero </td> <td>(</td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>p</em> </td> - <td> ) </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>p</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Reset the (potentially uninitalized) krb5_data structure.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>krb5_data to reset. </td></tr> +</div><div class="memdoc"> +<p>Reset the (potentially uninitalized) krb5_data structure.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">p</td><td>krb5_data to reset. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gce1b568d05875e7c4fbc6e5af5a8bdbf"></a><!-- doxytag: member="context.c::krb5_free_config_files" ref="gce1b568d05875e7c4fbc6e5af5a8bdbf" args="(char **filenames)" --> +</div> +<a id="gace1b568d05875e7c4fbc6e5af5a8bdbf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gace1b568d05875e7c4fbc6e5af5a8bdbf">◆ </a></span>krb5_free_config_files()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_config_files </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_config_files </td> <td>(</td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>filenames</em> </td> - <td> ) </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>filenames</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free a list of configuration files.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>filenames</em> </td><td>list, terminated with a NULL pointer, to be freed. NULL is an valid argument.</td></tr> +</div><div class="memdoc"> +<p>Free a list of configuration files.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">filenames</td><td>list, terminated with a NULL pointer, to be freed. NULL is an valid argument.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="ge51d83f5d5f589883f1cd10887892777"></a><!-- doxytag: member="context.c::krb5_free_context" ref="ge51d83f5d5f589883f1cd10887892777" args="(krb5_context context)" --> +</div> +<a id="gae51d83f5d5f589883f1cd10887892777"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae51d83f5d5f589883f1cd10887892777">◆ </a></span>krb5_free_context()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Frees the krb5_context allocated by <a class="el" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>context to be freed. </td></tr> +</div><div class="memdoc"> +<p>Frees the krb5_context allocated by <a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>context to be freed. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gd89c4c7b633646c39e4a34a7230c94e1"></a><!-- doxytag: member="creds.c::krb5_free_cred_contents" ref="gd89c4c7b633646c39e4a34a7230c94e1" args="(krb5_context context, krb5_creds *c)" --> +</div> +<a id="gad89c4c7b633646c39e4a34a7230c94e1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad89c4c7b633646c39e4a34a7230c94e1">◆ </a></span>krb5_free_cred_contents()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_cred_contents </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_cred_contents </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>c</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>c</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free content of krb5_creds.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>krb5_creds to free.</td></tr> +</div><div class="memdoc"> +<p>Free content of krb5_creds.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>krb5_creds to free.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g5224797a3ca4c450466ef5102164ee85"></a><!-- doxytag: member="creds.c::krb5_free_creds" ref="g5224797a3ca4c450466ef5102164ee85" args="(krb5_context context, krb5_creds *c)" --> +</div> +<a id="ga5224797a3ca4c450466ef5102164ee85"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5224797a3ca4c450466ef5102164ee85">◆ </a></span>krb5_free_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_creds </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>c</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>c</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free krb5_creds.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>krb5_creds to free.</td></tr> +</div><div class="memdoc"> +<p>Free krb5_creds.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>krb5_creds to free.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g9494f7751d3751c45a5ed4a89a5323b4"></a><!-- doxytag: member="data.c::krb5_free_data" ref="g9494f7751d3751c45a5ed4a89a5323b4" args="(krb5_context context, krb5_data *p)" --> +</div> +<a id="ga9494f7751d3751c45a5ed4a89a5323b4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9494f7751d3751c45a5ed4a89a5323b4">◆ </a></span>krb5_free_data()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_data </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_data </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free krb5_data (and its content).<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>krb5_data to free. </td></tr> +</div><div class="memdoc"> +<p>Free krb5_data (and its content).</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">p</td><td>krb5_data to free. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g3d994aef26269ee2b15e4d34acb28fed"></a><!-- doxytag: member="ticket.c::krb5_free_ticket" ref="g3d994aef26269ee2b15e4d34acb28fed" args="(krb5_context context, krb5_ticket *ticket)" --> +</div> +<a id="ga3d994aef26269ee2b15e4d34acb28fed"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3d994aef26269ee2b15e4d34acb28fed">◆ </a></span>krb5_free_ticket()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_ticket </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_ticket </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ticket * </td> - <td class="paramname"> <em>ticket</em></td><td> </td> + <td class="paramtype">krb5_ticket * </td> + <td class="paramname"><em>ticket</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free ticket and content<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ticket</em> </td><td>ticket to free</td></tr> +</div><div class="memdoc"> +<p>Free ticket and content</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">ticket</td><td>ticket to free</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g4276c71bee1ba0c9f2bbd659cd351cb3"></a><!-- doxytag: member="context.c::krb5_get_default_config_files" ref="g4276c71bee1ba0c9f2bbd659cd351cb3" args="(char ***pfilenames)" --> +</div> +<a id="ga4276c71bee1ba0c9f2bbd659cd351cb3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4276c71bee1ba0c9f2bbd659cd351cb3">◆ </a></span>krb5_get_default_config_files()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_config_files </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_config_files </td> <td>(</td> - <td class="paramtype">char *** </td> - <td class="paramname"> <em>pfilenames</em> </td> - <td> ) </td> + <td class="paramtype">char *** </td> + <td class="paramname"><em>pfilenames</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the global configuration list.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>pfilenames</em> </td><td>return array of filenames, should be freed with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>.</td></tr> +</div><div class="memdoc"> +<p>Get the global configuration list.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">pfilenames</td><td>return array of filenames, should be freed with <a class="el" href="group__krb5.html#gace1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga2bba3d683f1280ddfe8430d834bd5e8"></a><!-- doxytag: member="context.c::krb5_get_default_in_tkt_etypes" ref="ga2bba3d683f1280ddfe8430d834bd5e8" args="(krb5_context context, krb5_pdu pdu_type, krb5_enctype **etypes)" --> +</div> +<a id="gaa2bba3d683f1280ddfe8430d834bd5e8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa2bba3d683f1280ddfe8430d834bd5e8">◆ </a></span>krb5_get_default_in_tkt_etypes()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_in_tkt_etypes </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_default_in_tkt_etypes </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_pdu </td> - <td class="paramname"> <em>pdu_type</em>, </td> + <td class="paramtype">krb5_pdu </td> + <td class="paramname"><em>pdu_type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype ** </td> - <td class="paramname"> <em>etypes</em></td><td> </td> + <td class="paramtype">krb5_enctype ** </td> + <td class="paramname"><em>etypes</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the default encryption types that will be use in communcation with the KDC, clients and servers.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>etypes</em> </td><td>Encryption types, array terminated with ETYPE_NULL(0), caller should free array with krb5_xfree():</td></tr> +</div><div class="memdoc"> +<p>Get the default encryption types that will be use in communcation with the KDC, clients and servers.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">pdu_type</td><td>request type (AS, TGS or none) </td></tr> + <tr><td class="paramname">etypes</td><td>Encryption types, array terminated with ETYPE_NULL(0), caller should free array with krb5_xfree():</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gef9f47692fc31c50afc14b581b7aa2fa"></a><!-- doxytag: member="context.c::krb5_get_dns_canonicalize_hostname" ref="gef9f47692fc31c50afc14b581b7aa2fa" args="(krb5_context context)" --> +</div> +<a id="gaef9f47692fc31c50afc14b581b7aa2fa"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaef9f47692fc31c50afc14b581b7aa2fa">◆ </a></span>krb5_get_dns_canonicalize_hostname()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_dns_canonicalize_hostname </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_dns_canonicalize_hostname </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get if the library uses DNS to canonicalize hostnames.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context.</td></tr> +</div><div class="memdoc"> +<p>Get if the library uses DNS to canonicalize hostnames.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>return non zero if the library uses DNS to canonicalize hostnames. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>return non zero if the library uses DNS to canonicalize hostnames. </dd></dl> </div> -</div><p> -<a class="anchor" name="g0c24a484850684f9252c0f494da2e4c5"></a><!-- doxytag: member="context.c::krb5_get_extra_addresses" ref="g0c24a484850684f9252c0f494da2e4c5" args="(krb5_context context, krb5_addresses *addresses)" --> +</div> +<a id="ga0d0ba2f97ba34b1ebe89271c50bb3f1b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0d0ba2f97ba34b1ebe89271c50bb3f1b">◆ </a></span>krb5_get_err_text()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_extra_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_get_err_text </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get extra address to the address list that the library will add to the client's address list when communicating with the KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td>addreses to set</td></tr> +</div><div class="memdoc"> +<p>Return the error string for the error code. The caller must not free the string.</p> +<p>This function is deprecated since its not threadsafe.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">code</td><td>Kerberos error code.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>the error message matching code </dd></dl> </div> -</div><p> -<a class="anchor" name="g913ff7c6bd16cd3d3cb07529345b65ba"></a><!-- doxytag: member="context.c::krb5_get_fcache_version" ref="g913ff7c6bd16cd3d3cb07529345b65ba" args="(krb5_context context, int *version)" --> +</div> +<a id="ga0c24a484850684f9252c0f494da2e4c5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0c24a484850684f9252c0f494da2e4c5">◆ </a></span>krb5_get_extra_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_fcache_version </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_extra_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int * </td> - <td class="paramname"> <em>version</em></td><td> </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get version of fcache that the library should use.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>version</em> </td><td>version number.</td></tr> +</div><div class="memdoc"> +<p>Get extra address to the address list that the library will add to the client's address list when communicating with the KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">addresses</td><td>addreses to set</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6f089725948937875bc2594d9b8cbaf7"></a><!-- doxytag: member="context.c::krb5_get_ignore_addresses" ref="g6f089725948937875bc2594d9b8cbaf7" args="(krb5_context context, krb5_addresses *addresses)" --> +</div> +<a id="ga913ff7c6bd16cd3d3cb07529345b65ba"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga913ff7c6bd16cd3d3cb07529345b65ba">◆ </a></span>krb5_get_fcache_version()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_ignore_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_fcache_version </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">int * </td> + <td class="paramname"><em>version</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Get version of fcache that the library should use.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">version</td><td>version number.</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> + </div> -<div class="memdoc"> +</div> +<a id="ga6f089725948937875bc2594d9b8cbaf7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6f089725948937875bc2594d9b8cbaf7">◆ </a></span>krb5_get_ignore_addresses()</h2> -<p> -Get extra addresses to ignore when fetching addresses from the underlaying operating system.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td>list addreses ignored</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_ignore_addresses </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Get extra addresses to ignore when fetching addresses from the underlaying operating system.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">addresses</td><td>list addreses ignored</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gfacf61debb011b06e22e78251104efa0"></a><!-- doxytag: member="context.c::krb5_get_kdc_sec_offset" ref="gfacf61debb011b06e22e78251104efa0" args="(krb5_context context, int32_t *sec, int32_t *usec)" --> +</div> +<a id="gafacf61debb011b06e22e78251104efa0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafacf61debb011b06e22e78251104efa0">◆ </a></span>krb5_get_kdc_sec_offset()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_kdc_sec_offset </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_kdc_sec_offset </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t * </td> - <td class="paramname"> <em>sec</em>, </td> + <td class="paramtype">int32_t * </td> + <td class="paramname"><em>sec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t * </td> - <td class="paramname"> <em>usec</em></td><td> </td> + <td class="paramtype">int32_t * </td> + <td class="paramname"><em>usec</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get current offset in time to the KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sec</em> </td><td>seconds part of offset. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>usec</em> </td><td>micro seconds part of offset.</td></tr> +</div><div class="memdoc"> +<p>Get current offset in time to the KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">sec</td><td>seconds part of offset. </td></tr> + <tr><td class="paramname">usec</td><td>micro seconds part of offset.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns zero </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns zero </dd></dl> </div> -</div><p> -<a class="anchor" name="gbefb8ef32ceedc5ffe6c9440c093a533"></a><!-- doxytag: member="context.c::krb5_get_max_time_skew" ref="gbefb8ef32ceedc5ffe6c9440c093a533" args="(krb5_context context)" --> +</div> +<a id="gabefb8ef32ceedc5ffe6c9440c093a533"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabefb8ef32ceedc5ffe6c9440c093a533">◆ </a></span>krb5_get_max_time_skew()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_get_max_time_skew </td> + <td class="memname">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_get_max_time_skew </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get max time skew allowed.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context.</td></tr> +</div><div class="memdoc"> +<p>Get max time skew allowed.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>timeskew in seconds. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>timeskew in seconds. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc68122daa411ea028bd521e6e9d2ca6b"></a><!-- doxytag: member="context.c::krb5_get_use_admin_kdc" ref="gc68122daa411ea028bd521e6e9d2ca6b" args="(krb5_context context)" --> +</div> +<a id="gac68122daa411ea028bd521e6e9d2ca6b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac68122daa411ea028bd521e6e9d2ca6b">◆ </a></span>krb5_get_use_admin_kdc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_use_admin_kdc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_get_use_admin_kdc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Make the kerberos library default to the admin KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context.</td></tr> +</div><div class="memdoc"> +<p>Make the kerberos library default to the admin KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>boolean flag to telling the context will use admin KDC as the default KDC. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>boolean flag to telling the context will use admin KDC as the default KDC. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbd94206e186c58a093975424a4a567a8"></a><!-- doxytag: member="context.c::krb5_init_context" ref="gbd94206e186c58a093975424a4a567a8" args="(krb5_context *context)" --> +</div> +<a id="gabd94206e186c58a093975424a4a567a8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabd94206e186c58a093975424a4a567a8">◆ </a></span>krb5_init_context()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_context </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_context </td> <td>(</td> - <td class="paramtype">krb5_context * </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context * </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Initializes the context structure and reads the configuration file /etc/krb5.conf. The structure should be freed by calling <a class="el" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context()</a> when it is no longer being used.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>pointer to returned context</td></tr> +</div><div class="memdoc"> +<p>Initializes the context structure and reads the configuration file /etc/krb5.conf. The structure should be freed by calling <a class="el" href="group__krb5.html#gae51d83f5d5f589883f1cd10887892777">krb5_free_context()</a> when it is no longer being used.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>pointer to returned context</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an errno code is returned. Failure means either that something bad happened during initialization (typically ENOMEM) or that Kerberos should not be used ENXIO. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an errno code is returned. Failure means either that something bad happened during initialization (typically ENOMEM) or that Kerberos should not be used ENXIO. If the function returns HEIM_ERR_RANDOM_OFFLINE, the random source is not available and later Kerberos calls might fail. </dd></dl> +<p><a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a> will get one random byte to make sure our random is alive. Assumption is that once the non blocking source allows us to pull bytes, its all seeded and allows us to pull more bytes.</p> +<p>Most Kerberos users calls <a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a>, so this is useful point where we can do the checking.</p> </div> -</div><p> -<a class="anchor" name="g0f4f2bf6056a5fd472d9dd3d393f133e"></a><!-- doxytag: member="context.c::krb5_init_ets" ref="g0f4f2bf6056a5fd472d9dd3d393f133e" args="(krb5_context context)" --> +</div> +<a id="ga0f4f2bf6056a5fd472d9dd3d393f133e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0f4f2bf6056a5fd472d9dd3d393f133e">◆ </a></span>krb5_init_ets()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_init_ets </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_init_ets </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Init the built-in ets in the Kerberos library.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>kerberos context to add the ets too </td></tr> +</div><div class="memdoc"> +<p>Init the built-in ets in the Kerberos library.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>kerberos context to add the ets too </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gc5664b887b62be61c00c70fa9e290611"></a><!-- doxytag: member="context.c::krb5_is_thread_safe" ref="gc5664b887b62be61c00c70fa9e290611" args="(void)" --> +</div> +<a id="gac5664b887b62be61c00c70fa9e290611"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac5664b887b62be61c00c70fa9e290611">◆ </a></span>krb5_is_thread_safe()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_thread_safe </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_thread_safe </td> <td>(</td> - <td class="paramtype">void </td> - <td class="paramname"> </td> - <td> ) </td> + <td class="paramtype">void </td> + <td class="paramname"></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Runtime check if the Kerberos library was complied with thread support.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if the library was compiled with thread support, FALSE if not. </dd></dl> +</div><div class="memdoc"> +<p>Runtime check if the Kerberos library was complied with thread support.</p> +<dl class="section return"><dt>Returns</dt><dd>TRUE if the library was compiled with thread support, FALSE if not. </dd></dl> </div> -</div><p> -<a class="anchor" name="g92110f6472a4fb0a5e0a35da81af4fa2"></a><!-- doxytag: member="context.c::krb5_kerberos_enctypes" ref="g92110f6472a4fb0a5e0a35da81af4fa2" args="(krb5_context context)" --> +</div> +<a id="ga92110f6472a4fb0a5e0a35da81af4fa2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga92110f6472a4fb0a5e0a35da81af4fa2">◆ </a></span>krb5_kerberos_enctypes()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const krb5_enctype* KRB5_LIB_CALL krb5_kerberos_enctypes </td> + <td class="memname">KRB5_LIB_FUNCTION const krb5_enctype* KRB5_LIB_CALL krb5_kerberos_enctypes </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Returns the list of Kerberos encryption types sorted in order of most preferred to least preferred encryption type. Note that some encryption types might be disabled, so you need to check with <a class="el" href="group__krb5__crypto.html#gd5f2b15d5fde369cf923e8fae4b00bec">krb5_enctype_valid()</a> before using the encryption type.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>list of enctypes, terminated with ETYPE_NULL. Its a static array completed into the Kerberos library so the content doesn't need to be freed. </dd></dl> +</div><div class="memdoc"> +<p>Returns the list of Kerberos encryption types sorted in order of most preferred to least preferred encryption type. Note that some encryption types might be disabled, so you need to check with <a class="el" href="group__krb5__crypto.html#gad5f2b15d5fde369cf923e8fae4b00bec">krb5_enctype_valid()</a> before using the encryption type.</p> +<dl class="section return"><dt>Returns</dt><dd>list of enctypes, terminated with ETYPE_NULL. Its a static array completed into the Kerberos library so the content doesn't need to be freed. </dd></dl> </div> -</div><p> -<a class="anchor" name="g8dcc8bb7370f2bd91bea895df7e1b1a2"></a><!-- doxytag: member="krbhst.c::krb5_krbhst_get_addrinfo" ref="g8dcc8bb7370f2bd91bea895df7e1b1a2" args="(krb5_context context, krb5_krbhst_info *host, struct addrinfo **ai)" --> +</div> +<a id="ga8dcc8bb7370f2bd91bea895df7e1b1a2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8dcc8bb7370f2bd91bea895df7e1b1a2">◆ </a></span>krb5_krbhst_get_addrinfo()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_krbhst_get_addrinfo </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_krbhst_get_addrinfo </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_krbhst_info * </td> - <td class="paramname"> <em>host</em>, </td> + <td class="paramtype">krb5_krbhst_info * </td> + <td class="paramname"><em>host</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">struct addrinfo ** </td> - <td class="paramname"> <em>ai</em></td><td> </td> + <td class="paramtype">struct addrinfo ** </td> + <td class="paramname"><em>ai</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Return an `struct addrinfo *' for a KDC host.</p> +<p>Returns an the struct addrinfo in in that corresponds to the information in `host'. free:ing is handled by krb5_krbhst_free, so the returned ai must not be released. </p> -<p> -Return an `struct addrinfo *' for a KDC host.<p> -Returns an the struct addrinfo in in that corresponds to the information in `host'. free:ing is handled by krb5_krbhst_free, so the returned ai must not be released. -<p> -First try this as an IP address, this allows us to add a dot at the end to stop using the search domains.<p> -If the hostname contains a dot, assumes it's a FQDN and don't use search domains since that might be painfully slow when machine is disconnected from that network. </div> -</div><p> -<a class="anchor" name="gad9a3fd7b838f053a71424d95bf73d40"></a><!-- doxytag: member="context.c::krb5_prepend_config_files_default" ref="gad9a3fd7b838f053a71424d95bf73d40" args="(const char *filelist, char ***pfilenames)" --> +</div> +<a id="gaad9a3fd7b838f053a71424d95bf73d40"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaad9a3fd7b838f053a71424d95bf73d40">◆ </a></span>krb5_prepend_config_files_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_prepend_config_files_default </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_prepend_config_files_default </td> <td>(</td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>filelist</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>filelist</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char *** </td> - <td class="paramname"> <em>pfilenames</em></td><td> </td> + <td class="paramtype">char *** </td> + <td class="paramname"><em>pfilenames</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Prepend the filename to the global configuration list.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>filelist</em> </td><td>a filename to add to the default list of filename </td></tr> - <tr><td valign="top"></td><td valign="top"><em>pfilenames</em> </td><td>return array of filenames, should be freed with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>.</td></tr> +</div><div class="memdoc"> +<p>Prepend the filename to the global configuration list.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">filelist</td><td>a filename to add to the default list of filename </td></tr> + <tr><td class="paramname">pfilenames</td><td>return array of filenames, should be freed with <a class="el" href="group__krb5.html#gace1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd4453861fbfc0372e3c44b59325f62aa"></a><!-- doxytag: member="context.c::krb5_set_config_files" ref="gd4453861fbfc0372e3c44b59325f62aa" args="(krb5_context context, char **filenames)" --> +</div> +<a id="gad4453861fbfc0372e3c44b59325f62aa"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad4453861fbfc0372e3c44b59325f62aa">◆ </a></span>krb5_set_config_files()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_config_files </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_config_files </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>filenames</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>filenames</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Reinit the context from a new set of filenames.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>context to add configuration too. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>filenames</em> </td><td>array of filenames, end of list is indicated with a NULL filename.</td></tr> +</div><div class="memdoc"> +<p>Reinit the context from a new set of filenames.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>context to add configuration too. </td></tr> + <tr><td class="paramname">filenames</td><td>array of filenames, end of list is indicated with a NULL filename.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g5e028d8b3b0444c98b251f46eb48235a"></a><!-- doxytag: member="context.c::krb5_set_default_in_tkt_etypes" ref="g5e028d8b3b0444c98b251f46eb48235a" args="(krb5_context context, const krb5_enctype *etypes)" --> +</div> +<a id="ga5e028d8b3b0444c98b251f46eb48235a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5e028d8b3b0444c98b251f46eb48235a">◆ </a></span>krb5_set_default_in_tkt_etypes()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_default_in_tkt_etypes </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_default_in_tkt_etypes </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_enctype * </td> - <td class="paramname"> <em>etypes</em></td><td> </td> + <td class="paramtype">const krb5_enctype * </td> + <td class="paramname"><em>etypes</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the default encryption types that will be use in communcation with the KDC, clients and servers.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>etypes</em> </td><td>Encryption types, array terminated with ETYPE_NULL (0).</td></tr> +</div><div class="memdoc"> +<p>Set the default encryption types that will be use in communcation with the KDC, clients and servers.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">etypes</td><td>Encryption types, array terminated with ETYPE_NULL (0). A value of NULL resets the encryption types to the defaults set in the configuration file.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g798fb21edcec6c7b251709f1e447b21b"></a><!-- doxytag: member="context.c::krb5_set_dns_canonicalize_hostname" ref="g798fb21edcec6c7b251709f1e447b21b" args="(krb5_context context, krb5_boolean flag)" --> +</div> +<a id="ga798fb21edcec6c7b251709f1e447b21b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga798fb21edcec6c7b251709f1e447b21b">◆ </a></span>krb5_set_dns_canonicalize_hostname()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_dns_canonicalize_hostname </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_dns_canonicalize_hostname </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>flag</em></td><td> </td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>flag</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set if the library should use DNS to canonicalize hostnames.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flag</em> </td><td>if its dns canonicalizion is used or not. </td></tr> +</div><div class="memdoc"> +<p>Set if the library should use DNS to canonicalize hostnames.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">flag</td><td>if its dns canonicalizion is used or not. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g3c326674110a2d1c7d3523a0c308dddd"></a><!-- doxytag: member="context.c::krb5_set_extra_addresses" ref="g3c326674110a2d1c7d3523a0c308dddd" args="(krb5_context context, const krb5_addresses *addresses)" --> +</div> +<a id="ga3c326674110a2d1c7d3523a0c308dddd"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3c326674110a2d1c7d3523a0c308dddd">◆ </a></span>krb5_set_extra_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_extra_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_extra_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">const krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set extra address to the address list that the library will add to the client's address list when communicating with the KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td>addreses to set</td></tr> +</div><div class="memdoc"> +<p>Set extra address to the address list that the library will add to the client's address list when communicating with the KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">addresses</td><td>addreses to set</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g2f77d43f11ad41cd9b5676cc73f052bc"></a><!-- doxytag: member="context.c::krb5_set_fcache_version" ref="g2f77d43f11ad41cd9b5676cc73f052bc" args="(krb5_context context, int version)" --> +</div> +<a id="ga2f77d43f11ad41cd9b5676cc73f052bc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2f77d43f11ad41cd9b5676cc73f052bc">◆ </a></span>krb5_set_fcache_version()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_fcache_version </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_fcache_version </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>version</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>version</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set version of fcache that the library should use.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>version</em> </td><td>version number.</td></tr> +</div><div class="memdoc"> +<p>Set version of fcache that the library should use.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">version</td><td>version number.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3a8e40d622ff1460b2f554d83a9059ea"></a><!-- doxytag: member="context.c::krb5_set_home_dir_access" ref="g3a8e40d622ff1460b2f554d83a9059ea" args="(krb5_context context, krb5_boolean allow)" --> +</div> +<a id="ga3a8e40d622ff1460b2f554d83a9059ea"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3a8e40d622ff1460b2f554d83a9059ea">◆ </a></span>krb5_set_home_dir_access()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_set_home_dir_access </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_set_home_dir_access </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>allow</em></td><td> </td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>allow</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Enable and disable home directory access on either the global state or the krb5_context state. By calling <a class="el" href="group__krb5.html#g3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access()</a> with context set to NULL, the global state is configured otherwise the state for the krb5_context is modified.<p> -For home directory access to be allowed, both the global state and the krb5_context state have to be allowed.<p> -Administrator (root user), never uses the home directory.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context or NULL </td></tr> - <tr><td valign="top"></td><td valign="top"><em>allow</em> </td><td>allow if TRUE home directory </td></tr> +</div><div class="memdoc"> +<p>Enable and disable home directory access on either the global state or the krb5_context state. By calling <a class="el" href="group__krb5.html#ga3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access()</a> with context set to NULL, the global state is configured otherwise the state for the krb5_context is modified.</p> +<p>For home directory access to be allowed, both the global state and the krb5_context state have to be allowed.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context or NULL </td></tr> + <tr><td class="paramname">allow</td><td>allow if TRUE home directory </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the old value </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>the old value </dd></dl> </div> -</div><p> -<a class="anchor" name="g4d9823757dea2b9884c136fb959383bc"></a><!-- doxytag: member="context.c::krb5_set_ignore_addresses" ref="g4d9823757dea2b9884c136fb959383bc" args="(krb5_context context, const krb5_addresses *addresses)" --> +</div> +<a id="ga4d9823757dea2b9884c136fb959383bc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4d9823757dea2b9884c136fb959383bc">◆ </a></span>krb5_set_ignore_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_ignore_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_ignore_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">const krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set extra addresses to ignore when fetching addresses from the underlaying operating system.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td>addreses to ignore</td></tr> +</div><div class="memdoc"> +<p>Set extra addresses to ignore when fetching addresses from the underlaying operating system.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">addresses</td><td>addreses to ignore</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gfd16890e03f6dff6f6d013d97e0ee185"></a><!-- doxytag: member="context.c::krb5_set_kdc_sec_offset" ref="gfd16890e03f6dff6f6d013d97e0ee185" args="(krb5_context context, int32_t sec, int32_t usec)" --> +</div> +<a id="gafd16890e03f6dff6f6d013d97e0ee185"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafd16890e03f6dff6f6d013d97e0ee185">◆ </a></span>krb5_set_kdc_sec_offset()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_kdc_sec_offset </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_kdc_sec_offset </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t </td> - <td class="paramname"> <em>sec</em>, </td> + <td class="paramtype">int32_t </td> + <td class="paramname"><em>sec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t </td> - <td class="paramname"> <em>usec</em></td><td> </td> + <td class="paramtype">int32_t </td> + <td class="paramname"><em>usec</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set current offset in time to the KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sec</em> </td><td>seconds part of offset. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>usec</em> </td><td>micro seconds part of offset.</td></tr> +</div><div class="memdoc"> +<p>Set current offset in time to the KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">sec</td><td>seconds part of offset. </td></tr> + <tr><td class="paramname">usec</td><td>micro seconds part of offset.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns zero </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns zero </dd></dl> </div> -</div><p> -<a class="anchor" name="g2257aeff745924c48f12d1893d7523ba"></a><!-- doxytag: member="context.c::krb5_set_max_time_skew" ref="g2257aeff745924c48f12d1893d7523ba" args="(krb5_context context, time_t t)" --> +</div> +<a id="ga2257aeff745924c48f12d1893d7523ba"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2257aeff745924c48f12d1893d7523ba">◆ </a></span>krb5_set_max_time_skew()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_max_time_skew </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_max_time_skew </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">time_t </td> - <td class="paramname"> <em>t</em></td><td> </td> + <td class="paramtype">time_t </td> + <td class="paramname"><em>t</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set max time skew allowed.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>timeskew in seconds. </td></tr> +</div><div class="memdoc"> +<p>Set max time skew allowed.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">t</td><td>timeskew in seconds. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g02611e3966053f79eda248d76dccc282"></a><!-- doxytag: member="changepw.c::krb5_set_password" ref="g02611e3966053f79eda248d76dccc282" args="(krb5_context context, krb5_creds *creds, const char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string)" --> +</div> +<a id="ga02611e3966053f79eda248d76dccc282"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga02611e3966053f79eda248d76dccc282">◆ </a></span>krb5_set_password()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_password </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_password </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>newpw</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>newpw</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>targprinc</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>targprinc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int * </td> - <td class="paramname"> <em>result_code</em>, </td> + <td class="paramtype">int * </td> + <td class="paramname"><em>result_code</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>result_code_string</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>result_code_string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>result_string</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>result_string</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Change password using creds.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>The initial kadmin/passwd for the principal or an admin principal </td></tr> - <tr><td valign="top"></td><td valign="top"><em>newpw</em> </td><td>The new password to set </td></tr> - <tr><td valign="top"></td><td valign="top"><em>targprinc</em> </td><td>if unset, the default principal is used. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>result_code</em> </td><td>Result code, KRB5_KPASSWD_SUCCESS is when password is changed. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>result_code_string</em> </td><td>binary message from the server, contains at least the result_code. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>result_string</em> </td><td>A message from the kpasswd service or the library in human printable form. The string is NUL terminated.</td></tr> +</div><div class="memdoc"> +<p>Change password using creds.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">creds</td><td>The initial kadmin/passwd for the principal or an admin principal </td></tr> + <tr><td class="paramname">newpw</td><td>The new password to set </td></tr> + <tr><td class="paramname">targprinc</td><td>if unset, the default principal is used. </td></tr> + <tr><td class="paramname">result_code</td><td>Result code, KRB5_KPASSWD_SUCCESS is when password is changed. </td></tr> + <tr><td class="paramname">result_code_string</td><td>binary message from the server, contains at least the result_code. </td></tr> + <tr><td class="paramname">result_string</td><td>A message from the kpasswd service or the library in human printable form. The string is NUL terminated.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>On sucess and *result_code is KRB5_KPASSWD_SUCCESS, the password is changed.</dd></dl> -@ +<dl class="section return"><dt>Returns</dt><dd>On sucess and *result_code is KRB5_KPASSWD_SUCCESS, the password is changed.</dd></dl> +<p>@ </p> + +</div> </div> -</div><p> -<a class="anchor" name="g1bb5d4ab0e2ebd85414903617b1ac36b"></a><!-- doxytag: member="time.c::krb5_set_real_time" ref="g1bb5d4ab0e2ebd85414903617b1ac36b" args="(krb5_context context, krb5_timestamp sec, int32_t usec)" --> +<a id="ga1bb5d4ab0e2ebd85414903617b1ac36b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1bb5d4ab0e2ebd85414903617b1ac36b">◆ </a></span>krb5_set_real_time()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_real_time </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_real_time </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_timestamp </td> - <td class="paramname"> <em>sec</em>, </td> + <td class="paramtype">krb5_timestamp </td> + <td class="paramname"><em>sec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t </td> - <td class="paramname"> <em>usec</em></td><td> </td> + <td class="paramtype">int32_t </td> + <td class="paramname"><em>usec</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the absolute time that the caller knows the kdc has so the kerberos library can calculate the relative diffrence beteen the KDC time and local system time.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Keberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sec</em> </td><td>The applications new of "now" in seconds </td></tr> - <tr><td valign="top"></td><td valign="top"><em>usec</em> </td><td>The applications new of "now" in micro seconds</td></tr> +</div><div class="memdoc"> +<p>Set the absolute time that the caller knows the kdc has so the kerberos library can calculate the relative diffrence beteen the KDC time and local system time.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr> + <tr><td class="paramname">sec</td><td>The applications new of "now" in seconds </td></tr> + <tr><td class="paramname">usec</td><td>The applications new of "now" in micro seconds</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> +<p>If the caller passes in a negative usec, its assumed to be unknown and the function will use the current time usec.</p> -<p> -If the caller passes in a negative usec, its assumed to be unknown and the function will use the current time usec. </div> -</div><p> -<a class="anchor" name="g3e1564b6d147482eba7bfb5e40a4ff6f"></a><!-- doxytag: member="context.c::krb5_set_use_admin_kdc" ref="g3e1564b6d147482eba7bfb5e40a4ff6f" args="(krb5_context context, krb5_boolean flag)" --> +</div> +<a id="ga3e1564b6d147482eba7bfb5e40a4ff6f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3e1564b6d147482eba7bfb5e40a4ff6f">◆ </a></span>krb5_set_use_admin_kdc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_use_admin_kdc </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_use_admin_kdc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>flag</em></td><td> </td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>flag</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Make the kerberos library default to the admin KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flag</em> </td><td>boolean flag to select if the use the admin KDC or not. </td></tr> +</div><div class="memdoc"> +<p>Make the kerberos library default to the admin KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">flag</td><td>boolean flag to select if the use the admin KDC or not. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="ga7387c09a85bf3aabe5bae8a2ec4af73"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_authorization_data_type" ref="ga7387c09a85bf3aabe5bae8a2ec4af73" args="(krb5_context context, krb5_ticket *ticket, int type, krb5_data *data)" --> +</div> +<a id="gaa7387c09a85bf3aabe5bae8a2ec4af73"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa7387c09a85bf3aabe5bae8a2ec4af73">◆ </a></span>krb5_ticket_get_authorization_data_type()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_authorization_data_type </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_authorization_data_type </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ticket * </td> - <td class="paramname"> <em>ticket</em>, </td> + <td class="paramtype">krb5_ticket * </td> + <td class="paramname"><em>ticket</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Extract the authorization data type of type from the ticket. Store the field in data. This function is to use for kerberos applications.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ticket</em> </td><td>Kerberos ticket </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>type to fetch </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>returned data, free with <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a> </td></tr> +</div><div class="memdoc"> +<p>Extract the authorization data type of type from the ticket. Store the field in data. This function is to use for kerberos applications.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">ticket</td><td>Kerberos ticket </td></tr> + <tr><td class="paramname">type</td><td>type to fetch </td></tr> + <tr><td class="paramname">data</td><td>returned data, free with <a class="el" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a> </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g6cf23f11044d79441ea1456a01ebe7d7"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_client" ref="g6cf23f11044d79441ea1456a01ebe7d7" args="(krb5_context context, const krb5_ticket *ticket, krb5_principal *client)" --> +</div> +<a id="ga6cf23f11044d79441ea1456a01ebe7d7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6cf23f11044d79441ea1456a01ebe7d7">◆ </a></span>krb5_ticket_get_client()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_client </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_client </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ticket * </td> - <td class="paramname"> <em>ticket</em>, </td> + <td class="paramtype">const krb5_ticket * </td> + <td class="paramname"><em>ticket</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>client</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>client</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return client principal in ticket<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ticket</em> </td><td>ticket to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>client principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr> +</div><div class="memdoc"> +<p>Return client principal in ticket</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">ticket</td><td>ticket to copy </td></tr> + <tr><td class="paramname">client</td><td>client principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g118b98784ccadd98cdaaa1ee5076c9fb"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_endtime" ref="g118b98784ccadd98cdaaa1ee5076c9fb" args="(krb5_context context, const krb5_ticket *ticket)" --> +</div> +<a id="ga118b98784ccadd98cdaaa1ee5076c9fb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga118b98784ccadd98cdaaa1ee5076c9fb">◆ </a></span>krb5_ticket_get_endtime()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_ticket_get_endtime </td> + <td class="memname">KRB5_LIB_FUNCTION time_t KRB5_LIB_CALL krb5_ticket_get_endtime </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ticket * </td> - <td class="paramname"> <em>ticket</em></td><td> </td> + <td class="paramtype">const krb5_ticket * </td> + <td class="paramname"><em>ticket</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return end time of ticket<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ticket</em> </td><td>ticket to copy</td></tr> +</div><div class="memdoc"> +<p>Return end time of ticket</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">ticket</td><td>ticket to copy</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>end time of ticket </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>end time of ticket </dd></dl> </div> -</div><p> -<a class="anchor" name="gd1f40ffc29f379b7dec60144eefdb553"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_server" ref="gd1f40ffc29f379b7dec60144eefdb553" args="(krb5_context context, const krb5_ticket *ticket, krb5_principal *server)" --> +</div> +<a id="gad1f40ffc29f379b7dec60144eefdb553"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad1f40ffc29f379b7dec60144eefdb553">◆ </a></span>krb5_ticket_get_server()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_server </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ticket_get_server </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ticket * </td> - <td class="paramname"> <em>ticket</em>, </td> + <td class="paramtype">const krb5_ticket * </td> + <td class="paramname"><em>ticket</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>server</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>server</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return server principal in ticket<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ticket</em> </td><td>ticket to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>server principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr> +</div><div class="memdoc"> +<p>Return server principal in ticket</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">ticket</td><td>ticket to copy </td></tr> + <tr><td class="paramname">server</td><td>server principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__address.html b/doc/doxyout/krb5/html/group__krb5__address.html index 09a713cb67cf..357ea1278f3b 100644 --- a/doc/doxyout/krb5/html/group__krb5__address.html +++ b/doc/doxyout/krb5/html/group__krb5__address.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 address functions</title> +<title>Heimdal Kerberos 5 address functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,996 +8,979 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 address functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 address functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gec34704845bdaee3c08ebba2fa87d61e">krb5_sockaddr2address</a> (krb5_context context, const struct sockaddr *sa, krb5_address *addr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g76125115a2c040a3f70a4f66eada77aa">krb5_sockaddr2port</a> (krb5_context context, const struct sockaddr *sa, int16_t *port)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g88b9c3052f35dc5a44fdfe9747c36cc5">krb5_addr2sockaddr</a> (krb5_context context, const krb5_address *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION size_t <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g55bd20d9a185cf7963e2117c1c804c85">krb5_max_sockaddr_size</a> (void)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gc4c55c7ef3d078993b0177649593088c">krb5_sockaddr_uninteresting</a> (const struct sockaddr *sa)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g51cd06ac365188aa989256b99b706f80">krb5_h_addr2sockaddr</a> (krb5_context context, int af, const char *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gb8901409302e9e7bb95187e4d5e6a179">krb5_h_addr2addr</a> (krb5_context context, int af, const char *haddr, krb5_address *addr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g9cfbb00b2bed85766f86b63541cc7752">krb5_anyaddr</a> (krb5_context context, int af, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g6e9adff4c8738f92fa2637698c06ccb9">krb5_print_address</a> (const krb5_address *addr, char *str, size_t len, size_t *ret_len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gd7bc7e348e6d36c4cf09dcd2ee5a92a3">krb5_parse_address</a> (krb5_context context, const char *string, krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gc743b9d3c7e4a1f71659ffd28b1fd9fb">krb5_address_order</a> (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g7771724e9a25914395dabac15b705e33">krb5_address_compare</a> (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ge2720bd07b737e73c8b6924403e5b7e1">krb5_address_search</a> (krb5_context context, const krb5_address *addr, const krb5_addresses *addrlist)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g705d91f9f2a2311b656371e553af66a3">krb5_free_address</a> (krb5_context context, krb5_address *address)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g3b5f1c170a4af0de561bc30486983cc5">krb5_free_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gf965da6155d3b086a6ca2e47b391f5df">krb5_copy_address</a> (krb5_context context, const krb5_address *inaddr, krb5_address *outaddr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g8b73a9ee0e1259a7f10809b329483b85">krb5_copy_addresses</a> (krb5_context context, const krb5_addresses *inaddr, krb5_addresses *outaddr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gf56d02edcc81b3edd3c5a1e2e16e99e3">krb5_append_addresses</a> (krb5_context context, krb5_addresses *dest, const krb5_addresses *source)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gc50ffb71832862424c35c1ace9bbe14d">krb5_make_addrport</a> (krb5_context context, krb5_address **res, const krb5_address *addr, int16_t port)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#g3164f6fcff3b1029b93d316e14b017cf">krb5_address_prefixlen_boundary</a> (krb5_context context, const krb5_address *inaddr, unsigned long prefixlen, krb5_address *low, krb5_address *high)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gaec34704845bdaee3c08ebba2fa87d61e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gaec34704845bdaee3c08ebba2fa87d61e">krb5_sockaddr2address</a> (krb5_context context, const struct sockaddr *sa, krb5_address *addr)</td></tr> +<tr class="separator:gaec34704845bdaee3c08ebba2fa87d61e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga76125115a2c040a3f70a4f66eada77aa"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga76125115a2c040a3f70a4f66eada77aa">krb5_sockaddr2port</a> (krb5_context context, const struct sockaddr *sa, int16_t *port)</td></tr> +<tr class="separator:ga76125115a2c040a3f70a4f66eada77aa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga88b9c3052f35dc5a44fdfe9747c36cc5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga88b9c3052f35dc5a44fdfe9747c36cc5">krb5_addr2sockaddr</a> (krb5_context context, const krb5_address *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr> +<tr class="separator:ga88b9c3052f35dc5a44fdfe9747c36cc5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga55bd20d9a185cf7963e2117c1c804c85"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION size_t KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga55bd20d9a185cf7963e2117c1c804c85">krb5_max_sockaddr_size</a> (void)</td></tr> +<tr class="separator:ga55bd20d9a185cf7963e2117c1c804c85"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac4c55c7ef3d078993b0177649593088c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gac4c55c7ef3d078993b0177649593088c">krb5_sockaddr_uninteresting</a> (const struct sockaddr *sa)</td></tr> +<tr class="separator:gac4c55c7ef3d078993b0177649593088c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga51cd06ac365188aa989256b99b706f80"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga51cd06ac365188aa989256b99b706f80">krb5_h_addr2sockaddr</a> (krb5_context context, int af, const char *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr> +<tr class="separator:ga51cd06ac365188aa989256b99b706f80"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab8901409302e9e7bb95187e4d5e6a179"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gab8901409302e9e7bb95187e4d5e6a179">krb5_h_addr2addr</a> (krb5_context context, int af, const char *haddr, krb5_address *addr)</td></tr> +<tr class="separator:gab8901409302e9e7bb95187e4d5e6a179"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9cfbb00b2bed85766f86b63541cc7752"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga9cfbb00b2bed85766f86b63541cc7752">krb5_anyaddr</a> (krb5_context context, int af, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)</td></tr> +<tr class="separator:ga9cfbb00b2bed85766f86b63541cc7752"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6e9adff4c8738f92fa2637698c06ccb9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga6e9adff4c8738f92fa2637698c06ccb9">krb5_print_address</a> (const krb5_address *addr, char *str, size_t len, size_t *ret_len)</td></tr> +<tr class="separator:ga6e9adff4c8738f92fa2637698c06ccb9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad7bc7e348e6d36c4cf09dcd2ee5a92a3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gad7bc7e348e6d36c4cf09dcd2ee5a92a3">krb5_parse_address</a> (krb5_context context, const char *string, krb5_addresses *addresses)</td></tr> +<tr class="separator:gad7bc7e348e6d36c4cf09dcd2ee5a92a3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac743b9d3c7e4a1f71659ffd28b1fd9fb"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gac743b9d3c7e4a1f71659ffd28b1fd9fb">krb5_address_order</a> (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)</td></tr> +<tr class="separator:gac743b9d3c7e4a1f71659ffd28b1fd9fb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7771724e9a25914395dabac15b705e33"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga7771724e9a25914395dabac15b705e33">krb5_address_compare</a> (krb5_context context, const krb5_address *addr1, const krb5_address *addr2)</td></tr> +<tr class="separator:ga7771724e9a25914395dabac15b705e33"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae2720bd07b737e73c8b6924403e5b7e1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gae2720bd07b737e73c8b6924403e5b7e1">krb5_address_search</a> (krb5_context context, const krb5_address *addr, const krb5_addresses *addrlist)</td></tr> +<tr class="separator:gae2720bd07b737e73c8b6924403e5b7e1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga705d91f9f2a2311b656371e553af66a3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga705d91f9f2a2311b656371e553af66a3">krb5_free_address</a> (krb5_context context, krb5_address *address)</td></tr> +<tr class="separator:ga705d91f9f2a2311b656371e553af66a3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3b5f1c170a4af0de561bc30486983cc5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga3b5f1c170a4af0de561bc30486983cc5">krb5_free_addresses</a> (krb5_context context, krb5_addresses *addresses)</td></tr> +<tr class="separator:ga3b5f1c170a4af0de561bc30486983cc5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf965da6155d3b086a6ca2e47b391f5df"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gaf965da6155d3b086a6ca2e47b391f5df">krb5_copy_address</a> (krb5_context context, const krb5_address *inaddr, krb5_address *outaddr)</td></tr> +<tr class="separator:gaf965da6155d3b086a6ca2e47b391f5df"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8b73a9ee0e1259a7f10809b329483b85"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga8b73a9ee0e1259a7f10809b329483b85">krb5_copy_addresses</a> (krb5_context context, const krb5_addresses *inaddr, krb5_addresses *outaddr)</td></tr> +<tr class="separator:ga8b73a9ee0e1259a7f10809b329483b85"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf56d02edcc81b3edd3c5a1e2e16e99e3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gaf56d02edcc81b3edd3c5a1e2e16e99e3">krb5_append_addresses</a> (krb5_context context, krb5_addresses *dest, const krb5_addresses *source)</td></tr> +<tr class="separator:gaf56d02edcc81b3edd3c5a1e2e16e99e3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac50ffb71832862424c35c1ace9bbe14d"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#gac50ffb71832862424c35c1ace9bbe14d">krb5_make_addrport</a> (krb5_context context, krb5_address **res, const krb5_address *addr, int16_t port)</td></tr> +<tr class="separator:gac50ffb71832862424c35c1ace9bbe14d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3164f6fcff3b1029b93d316e14b017cf"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__address.html#ga3164f6fcff3b1029b93d316e14b017cf">krb5_address_prefixlen_boundary</a> (krb5_context context, const krb5_address *inaddr, unsigned long prefixlen, krb5_address *low, krb5_address *high)</td></tr> +<tr class="separator:ga3164f6fcff3b1029b93d316e14b017cf"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g88b9c3052f35dc5a44fdfe9747c36cc5"></a><!-- doxytag: member="addr_families.c::krb5_addr2sockaddr" ref="g88b9c3052f35dc5a44fdfe9747c36cc5" args="(krb5_context context, const krb5_address *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga88b9c3052f35dc5a44fdfe9747c36cc5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga88b9c3052f35dc5a44fdfe9747c36cc5">◆ </a></span>krb5_addr2sockaddr()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_addr2sockaddr </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_addr2sockaddr </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">struct sockaddr * </td> - <td class="paramname"> <em>sa</em>, </td> + <td class="paramtype">struct sockaddr * </td> + <td class="paramname"><em>sa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_socklen_t * </td> - <td class="paramname"> <em>sa_size</em>, </td> + <td class="paramtype">krb5_socklen_t * </td> + <td class="paramname"><em>sa_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>port</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>port</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_addr2sockaddr sets the "struct sockaddr sockaddr" from addr and port. The argument sa_size should initially contain the size of the sa and after the call, it will contain the actual length of the address. In case of the sa is too small to fit the whole address, the up to *sa_size will be stored, and then *sa_size will be set to the required length.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>the address to copy the from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa</em> </td><td>the struct sockaddr that will be filled in </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa_size</em> </td><td>pointer to length of sa, and after the call, it will contain the actual length of the address. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>set port in sa.</td></tr> +</div><div class="memdoc"> +<p>krb5_addr2sockaddr sets the "struct sockaddr sockaddr" from addr and port. The argument sa_size should initially contain the size of the sa and after the call, it will contain the actual length of the address. In case of the sa is too small to fit the whole address, the up to *sa_size will be stored, and then *sa_size will be set to the required length.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">addr</td><td>the address to copy the from </td></tr> + <tr><td class="paramname">sa</td><td>the struct sockaddr that will be filled in </td></tr> + <tr><td class="paramname">sa_size</td><td>pointer to length of sa, and after the call, it will contain the actual length of the address. </td></tr> + <tr><td class="paramname">port</td><td>set port in sa.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. </dd></dl> </div> -</div><p> -<a class="anchor" name="g7771724e9a25914395dabac15b705e33"></a><!-- doxytag: member="addr_families.c::krb5_address_compare" ref="g7771724e9a25914395dabac15b705e33" args="(krb5_context context, const krb5_address *addr1, const krb5_address *addr2)" --> +</div> +<a id="ga7771724e9a25914395dabac15b705e33"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7771724e9a25914395dabac15b705e33">◆ </a></span>krb5_address_compare()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_compare </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_compare </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr1</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr2</em></td><td> </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_address_compare compares the addresses addr1 and addr2. Returns TRUE if the two addresses are the same.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr1</em> </td><td>address to compare </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr2</em> </td><td>address to compare</td></tr> +</div><div class="memdoc"> +<p>krb5_address_compare compares the addresses addr1 and addr2. Returns TRUE if the two addresses are the same.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">addr1</td><td>address to compare </td></tr> + <tr><td class="paramname">addr2</td><td>address to compare</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an TRUE is the address are the same FALSE if not </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an TRUE is the address are the same FALSE if not </dd></dl> </div> -</div><p> -<a class="anchor" name="gc743b9d3c7e4a1f71659ffd28b1fd9fb"></a><!-- doxytag: member="addr_families.c::krb5_address_order" ref="gc743b9d3c7e4a1f71659ffd28b1fd9fb" args="(krb5_context context, const krb5_address *addr1, const krb5_address *addr2)" --> +</div> +<a id="gac743b9d3c7e4a1f71659ffd28b1fd9fb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac743b9d3c7e4a1f71659ffd28b1fd9fb">◆ </a></span>krb5_address_order()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_address_order </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_address_order </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr1</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr2</em></td><td> </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_address_order compares the addresses addr1 and addr2 so that it can be used for sorting addresses. If the addresses are the same address krb5_address_order will return 0. Behavies like memcmp(2).<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr1</em> </td><td>krb5_address to compare </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr2</em> </td><td>krb5_address to compare</td></tr> +</div><div class="memdoc"> +<p>krb5_address_order compares the addresses addr1 and addr2 so that it can be used for sorting addresses. If the addresses are the same address krb5_address_order will return 0. Behavies like memcmp(2).</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">addr1</td><td>krb5_address to compare </td></tr> + <tr><td class="paramname">addr2</td><td>krb5_address to compare</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>< 0 if address addr1 in "less" then addr2. 0 if addr1 and addr2 is the same address, > 0 if addr2 is "less" then addr1. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>< 0 if address addr1 in "less" then addr2. 0 if addr1 and addr2 is the same address, > 0 if addr2 is "less" then addr1. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3164f6fcff3b1029b93d316e14b017cf"></a><!-- doxytag: member="addr_families.c::krb5_address_prefixlen_boundary" ref="g3164f6fcff3b1029b93d316e14b017cf" args="(krb5_context context, const krb5_address *inaddr, unsigned long prefixlen, krb5_address *low, krb5_address *high)" --> +</div> +<a id="ga3164f6fcff3b1029b93d316e14b017cf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3164f6fcff3b1029b93d316e14b017cf">◆ </a></span>krb5_address_prefixlen_boundary()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_address_prefixlen_boundary </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_address_prefixlen_boundary </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>inaddr</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>inaddr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned long </td> - <td class="paramname"> <em>prefixlen</em>, </td> + <td class="paramtype">unsigned long </td> + <td class="paramname"><em>prefixlen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address * </td> - <td class="paramname"> <em>low</em>, </td> + <td class="paramtype">krb5_address * </td> + <td class="paramname"><em>low</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address * </td> - <td class="paramname"> <em>high</em></td><td> </td> + <td class="paramtype">krb5_address * </td> + <td class="paramname"><em>high</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Calculate the boundary addresses of `inaddr'/`prefixlen' and store them in `low' and `high'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>inaddr</em> </td><td>address in prefixlen that the bondery searched </td></tr> - <tr><td valign="top"></td><td valign="top"><em>prefixlen</em> </td><td>width of boundery </td></tr> - <tr><td valign="top"></td><td valign="top"><em>low</em> </td><td>lowest address </td></tr> - <tr><td valign="top"></td><td valign="top"><em>high</em> </td><td>highest address</td></tr> +</div><div class="memdoc"> +<p>Calculate the boundary addresses of `inaddr'/`prefixlen' and store them in `low' and `high'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">inaddr</td><td>address in prefixlen that the bondery searched </td></tr> + <tr><td class="paramname">prefixlen</td><td>width of boundery </td></tr> + <tr><td class="paramname">low</td><td>lowest address </td></tr> + <tr><td class="paramname">high</td><td>highest address</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="ge2720bd07b737e73c8b6924403e5b7e1"></a><!-- doxytag: member="addr_families.c::krb5_address_search" ref="ge2720bd07b737e73c8b6924403e5b7e1" args="(krb5_context context, const krb5_address *addr, const krb5_addresses *addrlist)" --> +</div> +<a id="gae2720bd07b737e73c8b6924403e5b7e1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae2720bd07b737e73c8b6924403e5b7e1">◆ </a></span>krb5_address_search()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_search </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_address_search </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_addresses * </td> - <td class="paramname"> <em>addrlist</em></td><td> </td> + <td class="paramtype">const krb5_addresses * </td> + <td class="paramname"><em>addrlist</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_address_search checks if the address addr is a member of the address set list addrlist .<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>address to search for. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addrlist</em> </td><td>list of addresses to look in for addr.</td></tr> +</div><div class="memdoc"> +<p>krb5_address_search checks if the address addr is a member of the address set list addrlist .</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">addr</td><td>address to search for. </td></tr> + <tr><td class="paramname">addrlist</td><td>list of addresses to look in for addr.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g9cfbb00b2bed85766f86b63541cc7752"></a><!-- doxytag: member="addr_families.c::krb5_anyaddr" ref="g9cfbb00b2bed85766f86b63541cc7752" args="(krb5_context context, int af, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)" --> +</div> +<a id="ga9cfbb00b2bed85766f86b63541cc7752"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9cfbb00b2bed85766f86b63541cc7752">◆ </a></span>krb5_anyaddr()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_anyaddr </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_anyaddr </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>af</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>af</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">struct sockaddr * </td> - <td class="paramname"> <em>sa</em>, </td> + <td class="paramtype">struct sockaddr * </td> + <td class="paramname"><em>sa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_socklen_t * </td> - <td class="paramname"> <em>sa_size</em>, </td> + <td class="paramtype">krb5_socklen_t * </td> + <td class="paramname"><em>sa_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>port</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>port</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_anyaddr fills in a "struct sockaddr sa" that can be used to bind(2) to. The argument sa_size should initially contain the size of the sa, and after the call, it will contain the actual length of the address.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>af</em> </td><td>address family </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa</em> </td><td>sockaddr </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa_size</em> </td><td>lenght of sa. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>for to fill into sa.</td></tr> +</div><div class="memdoc"> +<p>krb5_anyaddr fills in a "struct sockaddr sa" that can be used to bind(2) to. The argument sa_size should initially contain the size of the sa, and after the call, it will contain the actual length of the address.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">af</td><td>address family </td></tr> + <tr><td class="paramname">sa</td><td>sockaddr </td></tr> + <tr><td class="paramname">sa_size</td><td>lenght of sa. </td></tr> + <tr><td class="paramname">port</td><td>for to fill into sa.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf56d02edcc81b3edd3c5a1e2e16e99e3"></a><!-- doxytag: member="addr_families.c::krb5_append_addresses" ref="gf56d02edcc81b3edd3c5a1e2e16e99e3" args="(krb5_context context, krb5_addresses *dest, const krb5_addresses *source)" --> +</div> +<a id="gaf56d02edcc81b3edd3c5a1e2e16e99e3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf56d02edcc81b3edd3c5a1e2e16e99e3">◆ </a></span>krb5_append_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_append_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_append_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>dest</em>, </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_addresses * </td> - <td class="paramname"> <em>source</em></td><td> </td> + <td class="paramtype">const krb5_addresses * </td> + <td class="paramname"><em>source</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_append_addresses adds the set of addresses in source to dest. While copying the addresses, duplicates are also sorted out.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>destination of copy operation </td></tr> - <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>adresses that are going to be added to dest</td></tr> +</div><div class="memdoc"> +<p>krb5_append_addresses adds the set of addresses in source to dest. While copying the addresses, duplicates are also sorted out.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">dest</td><td>destination of copy operation </td></tr> + <tr><td class="paramname">source</td><td>adresses that are going to be added to dest</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf965da6155d3b086a6ca2e47b391f5df"></a><!-- doxytag: member="addr_families.c::krb5_copy_address" ref="gf965da6155d3b086a6ca2e47b391f5df" args="(krb5_context context, const krb5_address *inaddr, krb5_address *outaddr)" --> +</div> +<a id="gaf965da6155d3b086a6ca2e47b391f5df"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf965da6155d3b086a6ca2e47b391f5df">◆ </a></span>krb5_copy_address()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_address </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_address </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>inaddr</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>inaddr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address * </td> - <td class="paramname"> <em>outaddr</em></td><td> </td> + <td class="paramtype">krb5_address * </td> + <td class="paramname"><em>outaddr</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_copy_address copies the content of address inaddr to outaddr.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>inaddr</em> </td><td>pointer to source address </td></tr> - <tr><td valign="top"></td><td valign="top"><em>outaddr</em> </td><td>pointer to destination address</td></tr> +</div><div class="memdoc"> +<p>krb5_copy_address copies the content of address inaddr to outaddr.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">inaddr</td><td>pointer to source address </td></tr> + <tr><td class="paramname">outaddr</td><td>pointer to destination address</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g8b73a9ee0e1259a7f10809b329483b85"></a><!-- doxytag: member="addr_families.c::krb5_copy_addresses" ref="g8b73a9ee0e1259a7f10809b329483b85" args="(krb5_context context, const krb5_addresses *inaddr, krb5_addresses *outaddr)" --> +</div> +<a id="ga8b73a9ee0e1259a7f10809b329483b85"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8b73a9ee0e1259a7f10809b329483b85">◆ </a></span>krb5_copy_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_addresses * </td> - <td class="paramname"> <em>inaddr</em>, </td> + <td class="paramtype">const krb5_addresses * </td> + <td class="paramname"><em>inaddr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>outaddr</em></td><td> </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>outaddr</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_copy_addresses copies the content of addresses inaddr to outaddr.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>inaddr</em> </td><td>pointer to source addresses </td></tr> - <tr><td valign="top"></td><td valign="top"><em>outaddr</em> </td><td>pointer to destination addresses</td></tr> +</div><div class="memdoc"> +<p>krb5_copy_addresses copies the content of addresses inaddr to outaddr.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">inaddr</td><td>pointer to source addresses </td></tr> + <tr><td class="paramname">outaddr</td><td>pointer to destination addresses</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g705d91f9f2a2311b656371e553af66a3"></a><!-- doxytag: member="addr_families.c::krb5_free_address" ref="g705d91f9f2a2311b656371e553af66a3" args="(krb5_context context, krb5_address *address)" --> +</div> +<a id="ga705d91f9f2a2311b656371e553af66a3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga705d91f9f2a2311b656371e553af66a3">◆ </a></span>krb5_free_address()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_address </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_address </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address * </td> - <td class="paramname"> <em>address</em></td><td> </td> + <td class="paramtype">krb5_address * </td> + <td class="paramname"><em>address</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_free_address frees the data stored in the address that is alloced with any of the krb5_address functions.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>address</em> </td><td>addresss to be freed.</td></tr> +</div><div class="memdoc"> +<p>krb5_free_address frees the data stored in the address that is alloced with any of the krb5_address functions.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">address</td><td>addresss to be freed.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3b5f1c170a4af0de561bc30486983cc5"></a><!-- doxytag: member="addr_families.c::krb5_free_addresses" ref="g3b5f1c170a4af0de561bc30486983cc5" args="(krb5_context context, krb5_addresses *addresses)" --> +</div> +<a id="ga3b5f1c170a4af0de561bc30486983cc5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3b5f1c170a4af0de561bc30486983cc5">◆ </a></span>krb5_free_addresses()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_addresses </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_addresses </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_free_addresses frees the data stored in the address that is alloced with any of the krb5_address functions.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td>addressses to be freed.</td></tr> +</div><div class="memdoc"> +<p>krb5_free_addresses frees the data stored in the address that is alloced with any of the krb5_address functions.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">addresses</td><td>addressses to be freed.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb8901409302e9e7bb95187e4d5e6a179"></a><!-- doxytag: member="addr_families.c::krb5_h_addr2addr" ref="gb8901409302e9e7bb95187e4d5e6a179" args="(krb5_context context, int af, const char *haddr, krb5_address *addr)" --> +</div> +<a id="gab8901409302e9e7bb95187e4d5e6a179"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab8901409302e9e7bb95187e4d5e6a179">◆ </a></span>krb5_h_addr2addr()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2addr </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2addr </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>af</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>af</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>haddr</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>haddr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address * </td> - <td class="paramname"> <em>addr</em></td><td> </td> + <td class="paramtype">krb5_address * </td> + <td class="paramname"><em>addr</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_h_addr2addr works like krb5_h_addr2sockaddr with the exception that it operates on a krb5_address instead of a struct sockaddr.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>af</em> </td><td>address family </td></tr> - <tr><td valign="top"></td><td valign="top"><em>haddr</em> </td><td>host address from struct hostent. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>returned krb5_address.</td></tr> +</div><div class="memdoc"> +<p>krb5_h_addr2addr works like krb5_h_addr2sockaddr with the exception that it operates on a krb5_address instead of a struct sockaddr.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">af</td><td>address family </td></tr> + <tr><td class="paramname">haddr</td><td>host address from struct hostent. </td></tr> + <tr><td class="paramname">addr</td><td>returned krb5_address.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g51cd06ac365188aa989256b99b706f80"></a><!-- doxytag: member="addr_families.c::krb5_h_addr2sockaddr" ref="g51cd06ac365188aa989256b99b706f80" args="(krb5_context context, int af, const char *addr, struct sockaddr *sa, krb5_socklen_t *sa_size, int port)" --> +</div> +<a id="ga51cd06ac365188aa989256b99b706f80"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga51cd06ac365188aa989256b99b706f80">◆ </a></span>krb5_h_addr2sockaddr()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2sockaddr </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_addr2sockaddr </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>af</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>af</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>addr</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>addr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">struct sockaddr * </td> - <td class="paramname"> <em>sa</em>, </td> + <td class="paramtype">struct sockaddr * </td> + <td class="paramname"><em>sa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_socklen_t * </td> - <td class="paramname"> <em>sa_size</em>, </td> + <td class="paramtype">krb5_socklen_t * </td> + <td class="paramname"><em>sa_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>port</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>port</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_h_addr2sockaddr initializes a "struct sockaddr sa" from af and the "struct hostent" (see gethostbyname(3) ) h_addr_list component. The argument sa_size should initially contain the size of the sa, and after the call, it will contain the actual length of the address.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>af</em> </td><td>addresses </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>address </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa</em> </td><td>returned struct sockaddr </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa_size</em> </td><td>size of sa </td></tr> - <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>port to set in sa.</td></tr> +</div><div class="memdoc"> +<p>krb5_h_addr2sockaddr initializes a "struct sockaddr sa" from af and the "struct hostent" (see gethostbyname(3) ) h_addr_list component. The argument sa_size should initially contain the size of the sa, and after the call, it will contain the actual length of the address.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">af</td><td>addresses </td></tr> + <tr><td class="paramname">addr</td><td>address </td></tr> + <tr><td class="paramname">sa</td><td>returned struct sockaddr </td></tr> + <tr><td class="paramname">sa_size</td><td>size of sa </td></tr> + <tr><td class="paramname">port</td><td>port to set in sa.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc50ffb71832862424c35c1ace9bbe14d"></a><!-- doxytag: member="addr_families.c::krb5_make_addrport" ref="gc50ffb71832862424c35c1ace9bbe14d" args="(krb5_context context, krb5_address **res, const krb5_address *addr, int16_t port)" --> +</div> +<a id="gac50ffb71832862424c35c1ace9bbe14d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac50ffb71832862424c35c1ace9bbe14d">◆ </a></span>krb5_make_addrport()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_addrport </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_addrport </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address ** </td> - <td class="paramname"> <em>res</em>, </td> + <td class="paramtype">krb5_address ** </td> + <td class="paramname"><em>res</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int16_t </td> - <td class="paramname"> <em>port</em></td><td> </td> + <td class="paramtype">int16_t </td> + <td class="paramname"><em>port</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Create an address of type KRB5_ADDRESS_ADDRPORT from (addr, port)<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>res</em> </td><td>built address from addr/port </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>address to use </td></tr> - <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>port to use</td></tr> +</div><div class="memdoc"> +<p>Create an address of type KRB5_ADDRESS_ADDRPORT from (addr, port)</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">res</td><td>built address from addr/port </td></tr> + <tr><td class="paramname">addr</td><td>address to use </td></tr> + <tr><td class="paramname">port</td><td>port to use</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g55bd20d9a185cf7963e2117c1c804c85"></a><!-- doxytag: member="addr_families.c::krb5_max_sockaddr_size" ref="g55bd20d9a185cf7963e2117c1c804c85" args="(void)" --> +</div> +<a id="ga55bd20d9a185cf7963e2117c1c804c85"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga55bd20d9a185cf7963e2117c1c804c85">◆ </a></span>krb5_max_sockaddr_size()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION size_t KRB5_LIB_CALL krb5_max_sockaddr_size </td> + <td class="memname">KRB5_LIB_FUNCTION size_t KRB5_LIB_CALL krb5_max_sockaddr_size </td> <td>(</td> - <td class="paramtype">void </td> - <td class="paramname"> </td> - <td> ) </td> + <td class="paramtype">void </td> + <td class="paramname"></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_max_sockaddr_size returns the max size of the .Li struct sockaddr that the Kerberos library will return.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an size_t of the maximum struct sockaddr. </dd></dl> +</div><div class="memdoc"> +<p>krb5_max_sockaddr_size returns the max size of the .Li struct sockaddr that the Kerberos library will return.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an size_t of the maximum struct sockaddr. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd7bc7e348e6d36c4cf09dcd2ee5a92a3"></a><!-- doxytag: member="addr_families.c::krb5_parse_address" ref="gd7bc7e348e6d36c4cf09dcd2ee5a92a3" args="(krb5_context context, const char *string, krb5_addresses *addresses)" --> +</div> +<a id="gad7bc7e348e6d36c4cf09dcd2ee5a92a3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad7bc7e348e6d36c4cf09dcd2ee5a92a3">◆ </a></span>krb5_parse_address()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_address </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_address </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>string</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addresses</em></td><td> </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addresses</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_parse_address returns the resolved hostname in string to the krb5_addresses addresses .<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>addresses</em> </td><td></td></tr> +</div><div class="memdoc"> +<p>krb5_parse_address returns the resolved hostname in string to the krb5_addresses addresses .</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">string</td><td></td></tr> + <tr><td class="paramname">addresses</td><td></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6e9adff4c8738f92fa2637698c06ccb9"></a><!-- doxytag: member="addr_families.c::krb5_print_address" ref="g6e9adff4c8738f92fa2637698c06ccb9" args="(const krb5_address *addr, char *str, size_t len, size_t *ret_len)" --> +</div> +<a id="ga6e9adff4c8738f92fa2637698c06ccb9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6e9adff4c8738f92fa2637698c06ccb9">◆ </a></span>krb5_print_address()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_print_address </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_print_address </td> <td>(</td> - <td class="paramtype">const krb5_address * </td> - <td class="paramname"> <em>addr</em>, </td> + <td class="paramtype">const krb5_address * </td> + <td class="paramname"><em>addr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>str</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>ret_len</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>ret_len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_print_address prints the address in addr to the string string that have the length len. If ret_len is not NULL, it will be filled with the length of the string if size were unlimited (not including the final NUL) .<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>address to be printed </td></tr> - <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>pointer string to print the address into </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length that will fit into area pointed to by "str". </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ret_len</em> </td><td>return length the str.</td></tr> +</div><div class="memdoc"> +<p>krb5_print_address prints the address in addr to the string string that have the length len. If ret_len is not NULL, it will be filled with the length of the string if size were unlimited (not including the final NUL) .</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">addr</td><td>address to be printed </td></tr> + <tr><td class="paramname">str</td><td>pointer string to print the address into </td></tr> + <tr><td class="paramname">len</td><td>length that will fit into area pointed to by "str". </td></tr> + <tr><td class="paramname">ret_len</td><td>return length the str.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gec34704845bdaee3c08ebba2fa87d61e"></a><!-- doxytag: member="addr_families.c::krb5_sockaddr2address" ref="gec34704845bdaee3c08ebba2fa87d61e" args="(krb5_context context, const struct sockaddr *sa, krb5_address *addr)" --> +</div> +<a id="gaec34704845bdaee3c08ebba2fa87d61e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaec34704845bdaee3c08ebba2fa87d61e">◆ </a></span>krb5_sockaddr2address()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2address </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2address </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const struct sockaddr * </td> - <td class="paramname"> <em>sa</em>, </td> + <td class="paramtype">const struct sockaddr * </td> + <td class="paramname"><em>sa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address * </td> - <td class="paramname"> <em>addr</em></td><td> </td> + <td class="paramtype">krb5_address * </td> + <td class="paramname"><em>addr</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_sockaddr2address stores a address a "struct sockaddr" sa in the krb5_address addr.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa</em> </td><td>a struct sockaddr to extract the address from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>an Kerberos 5 address to store the address in.</td></tr> +</div><div class="memdoc"> +<p>krb5_sockaddr2address stores a address a "struct sockaddr" sa in the krb5_address addr.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">sa</td><td>a struct sockaddr to extract the address from </td></tr> + <tr><td class="paramname">addr</td><td>an Kerberos 5 address to store the address in.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g76125115a2c040a3f70a4f66eada77aa"></a><!-- doxytag: member="addr_families.c::krb5_sockaddr2port" ref="g76125115a2c040a3f70a4f66eada77aa" args="(krb5_context context, const struct sockaddr *sa, int16_t *port)" --> +</div> +<a id="ga76125115a2c040a3f70a4f66eada77aa"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga76125115a2c040a3f70a4f66eada77aa">◆ </a></span>krb5_sockaddr2port()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2port </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sockaddr2port </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const struct sockaddr * </td> - <td class="paramname"> <em>sa</em>, </td> + <td class="paramtype">const struct sockaddr * </td> + <td class="paramname"><em>sa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int16_t * </td> - <td class="paramname"> <em>port</em></td><td> </td> + <td class="paramtype">int16_t * </td> + <td class="paramname"><em>port</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_sockaddr2port extracts a port (if possible) from a "struct sockaddr.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sa</em> </td><td>a struct sockaddr to extract the port from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>a pointer to an int16_t store the port in.</td></tr> +</div><div class="memdoc"> +<p>krb5_sockaddr2port extracts a port (if possible) from a "struct sockaddr.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">sa</td><td>a struct sockaddr to extract the port from </td></tr> + <tr><td class="paramname">port</td><td>a pointer to an int16_t store the port in.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. Will return KRB5_PROG_ATYPE_NOSUPP in case address type is not supported. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc4c55c7ef3d078993b0177649593088c"></a><!-- doxytag: member="addr_families.c::krb5_sockaddr_uninteresting" ref="gc4c55c7ef3d078993b0177649593088c" args="(const struct sockaddr *sa)" --> +</div> +<a id="gac4c55c7ef3d078993b0177649593088c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac4c55c7ef3d078993b0177649593088c">◆ </a></span>krb5_sockaddr_uninteresting()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_sockaddr_uninteresting </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_sockaddr_uninteresting </td> <td>(</td> - <td class="paramtype">const struct sockaddr * </td> - <td class="paramname"> <em>sa</em> </td> - <td> ) </td> + <td class="paramtype">const struct sockaddr * </td> + <td class="paramname"><em>sa</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_sockaddr_uninteresting returns TRUE for all .Fa sa that the kerberos library thinks are uninteresting. One example are link local addresses.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sa</em> </td><td>pointer to struct sockaddr that might be interesting.</td></tr> +</div><div class="memdoc"> +<p>krb5_sockaddr_uninteresting returns TRUE for all .Fa sa that the kerberos library thinks are uninteresting. One example are link local addresses.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sa</td><td>pointer to struct sockaddr that might be interesting.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return a non zero for uninteresting addresses. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return a non zero for uninteresting addresses. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__auth.html b/doc/doxyout/krb5/html/group__krb5__auth.html index 15c14f3e2547..84dfe61b8416 100644 --- a/doc/doxyout/krb5/html/group__krb5__auth.html +++ b/doc/doxyout/krb5/html/group__krb5__auth.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 authentication functions</title> +<title>Heimdal Kerberos 5 authentication functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,313 +8,312 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 authentication functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 authentication functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#g92b082fa699694b353fa51675f2c2259">krb5_rd_req_in_ctx_alloc</a> (krb5_context context, krb5_rd_req_in_ctx *ctx)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#g124150b9eea8b56a9b432cf5e7a8db07">krb5_rd_req_in_set_keytab</a> (krb5_context context, krb5_rd_req_in_ctx in, krb5_keytab keytab)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gdd6913bc77982a536168d9dd52df2363">krb5_rd_req_in_set_pac_check</a> (krb5_context context, krb5_rd_req_in_ctx in, krb5_boolean flag)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gc1ffffee7558466d31c23b110c95aa7b">krb5_rd_req_out_get_server</a> (krb5_context context, krb5_rd_req_out_ctx out, krb5_principal *principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gd8a5460c599500c0d64e632341c8f74a">krb5_rd_req_out_ctx_free</a> (krb5_context context, krb5_rd_req_out_ctx ctx)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx</a> (krb5_context context, krb5_auth_context *auth_context, const krb5_data *inbuf, krb5_const_principal server, krb5_rd_req_in_ctx inctx, krb5_rd_req_out_ctx *outctx)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga92b082fa699694b353fa51675f2c2259"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#ga92b082fa699694b353fa51675f2c2259">krb5_rd_req_in_ctx_alloc</a> (krb5_context context, krb5_rd_req_in_ctx *ctx)</td></tr> +<tr class="separator:ga92b082fa699694b353fa51675f2c2259"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga124150b9eea8b56a9b432cf5e7a8db07"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#ga124150b9eea8b56a9b432cf5e7a8db07">krb5_rd_req_in_set_keytab</a> (krb5_context context, krb5_rd_req_in_ctx in, krb5_keytab keytab)</td></tr> +<tr class="separator:ga124150b9eea8b56a9b432cf5e7a8db07"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadd6913bc77982a536168d9dd52df2363"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gadd6913bc77982a536168d9dd52df2363">krb5_rd_req_in_set_pac_check</a> (krb5_context context, krb5_rd_req_in_ctx in, krb5_boolean flag)</td></tr> +<tr class="separator:gadd6913bc77982a536168d9dd52df2363"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac1ffffee7558466d31c23b110c95aa7b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gac1ffffee7558466d31c23b110c95aa7b">krb5_rd_req_out_get_server</a> (krb5_context context, krb5_rd_req_out_ctx out, krb5_principal *principal)</td></tr> +<tr class="separator:gac1ffffee7558466d31c23b110c95aa7b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad8a5460c599500c0d64e632341c8f74a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#gad8a5460c599500c0d64e632341c8f74a">krb5_rd_req_out_ctx_free</a> (krb5_context context, krb5_rd_req_out_ctx ctx)</td></tr> +<tr class="separator:gad8a5460c599500c0d64e632341c8f74a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga589cab7251a70a5addbf1af56313401e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx</a> (krb5_context context, krb5_auth_context *auth_context, const krb5_data *inbuf, krb5_const_principal server, krb5_rd_req_in_ctx inctx, krb5_rd_req_out_ctx *outctx)</td></tr> +<tr class="separator:ga589cab7251a70a5addbf1af56313401e"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g589cab7251a70a5addbf1af56313401e"></a><!-- doxytag: member="rd_req.c::krb5_rd_req_ctx" ref="g589cab7251a70a5addbf1af56313401e" args="(krb5_context context, krb5_auth_context *auth_context, const krb5_data *inbuf, krb5_const_principal server, krb5_rd_req_in_ctx inctx, krb5_rd_req_out_ctx *outctx)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga589cab7251a70a5addbf1af56313401e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga589cab7251a70a5addbf1af56313401e">◆ </a></span>krb5_rd_req_ctx()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_ctx </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_ctx </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_auth_context * </td> - <td class="paramname"> <em>auth_context</em>, </td> + <td class="paramtype">krb5_auth_context * </td> + <td class="paramname"><em>auth_context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_data * </td> - <td class="paramname"> <em>inbuf</em>, </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>inbuf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>server</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>server</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_rd_req_in_ctx </td> - <td class="paramname"> <em>inctx</em>, </td> + <td class="paramtype">krb5_rd_req_in_ctx </td> + <td class="paramname"><em>inctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_rd_req_out_ctx * </td> - <td class="paramname"> <em>outctx</em></td><td> </td> + <td class="paramtype">krb5_rd_req_out_ctx * </td> + <td class="paramname"><em>outctx</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -The core server function that verify application authentication requests from clients.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Keberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>auth_context</em> </td><td>the authentication context, can be NULL, then default values for the authentication context will used. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>inbuf</em> </td><td>the (AP-REQ) authentication buffer</td></tr> - <tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server with authenticate as, if NULL the function will try to find any available credential in the keytab that will verify the reply. The function will prefer the server the server client specified in the AP-REQ, but if there is no mach, it will try all keytab entries for a match. This have serious performance issues for larger keytabs.</td></tr> - <tr><td valign="top"></td><td valign="top"><em>inctx</em> </td><td>control the behavior of the function, if NULL, the default behavior is used. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>outctx</em> </td><td>the return outctx, free with <a class="el" href="group__krb5__auth.html#gd8a5460c599500c0d64e632341c8f74a">krb5_rd_req_out_ctx_free()</a>. </td></tr> +</div><div class="memdoc"> +<p>The core server function that verify application authentication requests from clients.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr> + <tr><td class="paramname">auth_context</td><td>the authentication context, can be NULL, then default values for the authentication context will used. </td></tr> + <tr><td class="paramname">inbuf</td><td>the (AP-REQ) authentication buffer</td></tr> + <tr><td class="paramname">server</td><td>the server to authenticate to. If NULL the function will try to find any available credential in the keytab that will verify the reply. The function will prefer the server specified in the AP-REQ, but if there is no mach, it will try all keytab entries for a match. This has serious performance issues for large keytabs.</td></tr> + <tr><td class="paramname">inctx</td><td>control the behavior of the function, if NULL, the default behavior is used. </td></tr> + <tr><td class="paramname">outctx</td><td>the return outctx, free with <a class="el" href="group__krb5__auth.html#gad8a5460c599500c0d64e632341c8f74a">krb5_rd_req_out_ctx_free()</a>. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g92b082fa699694b353fa51675f2c2259"></a><!-- doxytag: member="rd_req.c::krb5_rd_req_in_ctx_alloc" ref="g92b082fa699694b353fa51675f2c2259" args="(krb5_context context, krb5_rd_req_in_ctx *ctx)" --> +</div> +<a id="ga92b082fa699694b353fa51675f2c2259"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga92b082fa699694b353fa51675f2c2259">◆ </a></span>krb5_rd_req_in_ctx_alloc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_ctx_alloc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_ctx_alloc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_rd_req_in_ctx * </td> - <td class="paramname"> <em>ctx</em></td><td> </td> + <td class="paramtype">krb5_rd_req_in_ctx * </td> + <td class="paramname"><em>ctx</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Allocate a krb5_rd_req_in_ctx as an input parameter to <a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. The caller should free the context with krb5_rd_req_in_ctx_free() when done with the context.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Keberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>in ctx to <a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>.</td></tr> +</div><div class="memdoc"> +<p>Allocate a krb5_rd_req_in_ctx as an input parameter to <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. The caller should free the context with krb5_rd_req_in_ctx_free() when done with the context.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>in ctx to <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g124150b9eea8b56a9b432cf5e7a8db07"></a><!-- doxytag: member="rd_req.c::krb5_rd_req_in_set_keytab" ref="g124150b9eea8b56a9b432cf5e7a8db07" args="(krb5_context context, krb5_rd_req_in_ctx in, krb5_keytab keytab)" --> +</div> +<a id="ga124150b9eea8b56a9b432cf5e7a8db07"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga124150b9eea8b56a9b432cf5e7a8db07">◆ </a></span>krb5_rd_req_in_set_keytab()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_set_keytab </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_set_keytab </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_rd_req_in_ctx </td> - <td class="paramname"> <em>in</em>, </td> + <td class="paramtype">krb5_rd_req_in_ctx </td> + <td class="paramname"><em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>keytab</em></td><td> </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>keytab</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the keytab that <a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> will use.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Keberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>in</em> </td><td>in ctx to <a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keytab</em> </td><td>keytab that <a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> will use, only copy the pointer, so the caller must free they keytab after krb5_rd_req_in_ctx_free() is called.</td></tr> +</div><div class="memdoc"> +<p>Set the keytab that <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> will use.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr> + <tr><td class="paramname">in</td><td>in ctx to <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. </td></tr> + <tr><td class="paramname">keytab</td><td>keytab that <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> will use, only copy the pointer, so the caller must free they keytab after krb5_rd_req_in_ctx_free() is called.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gdd6913bc77982a536168d9dd52df2363"></a><!-- doxytag: member="rd_req.c::krb5_rd_req_in_set_pac_check" ref="gdd6913bc77982a536168d9dd52df2363" args="(krb5_context context, krb5_rd_req_in_ctx in, krb5_boolean flag)" --> +</div> +<a id="gadd6913bc77982a536168d9dd52df2363"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gadd6913bc77982a536168d9dd52df2363">◆ </a></span>krb5_rd_req_in_set_pac_check()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_set_pac_check </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_in_set_pac_check </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_rd_req_in_ctx </td> - <td class="paramname"> <em>in</em>, </td> + <td class="paramtype">krb5_rd_req_in_ctx </td> + <td class="paramname"><em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>flag</em></td><td> </td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>flag</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set if krb5_rq_red() is going to check the Windows PAC or not<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Keberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>in</em> </td><td>krb5_rd_req_in_ctx to check the option on. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flag</em> </td><td>flag to select if to check the pac (TRUE) or not (FALSE).</td></tr> +</div><div class="memdoc"> +<p>Set if krb5_rq_red() is going to check the Windows PAC or not</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr> + <tr><td class="paramname">in</td><td>krb5_rd_req_in_ctx to check the option on. </td></tr> + <tr><td class="paramname">flag</td><td>flag to select if to check the pac (TRUE) or not (FALSE).</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd8a5460c599500c0d64e632341c8f74a"></a><!-- doxytag: member="rd_req.c::krb5_rd_req_out_ctx_free" ref="gd8a5460c599500c0d64e632341c8f74a" args="(krb5_context context, krb5_rd_req_out_ctx ctx)" --> +</div> +<a id="gad8a5460c599500c0d64e632341c8f74a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad8a5460c599500c0d64e632341c8f74a">◆ </a></span>krb5_rd_req_out_ctx_free()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_rd_req_out_ctx_free </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_rd_req_out_ctx_free </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_rd_req_out_ctx </td> - <td class="paramname"> <em>ctx</em></td><td> </td> + <td class="paramtype">krb5_rd_req_out_ctx </td> + <td class="paramname"><em>ctx</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free the krb5_rd_req_out_ctx.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Keberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>krb5_rd_req_out_ctx context to free. </td></tr> +</div><div class="memdoc"> +<p>Free the krb5_rd_req_out_ctx.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Keberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>krb5_rd_req_out_ctx context to free. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gc1ffffee7558466d31c23b110c95aa7b"></a><!-- doxytag: member="rd_req.c::krb5_rd_req_out_get_server" ref="gc1ffffee7558466d31c23b110c95aa7b" args="(krb5_context context, krb5_rd_req_out_ctx out, krb5_principal *principal)" --> +</div> +<a id="gac1ffffee7558466d31c23b110c95aa7b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac1ffffee7558466d31c23b110c95aa7b">◆ </a></span>krb5_rd_req_out_get_server()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_out_get_server </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_rd_req_out_get_server </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_rd_req_out_ctx </td> - <td class="paramname"> <em>out</em>, </td> + <td class="paramtype">krb5_rd_req_out_ctx </td> + <td class="paramname"><em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the principal that was used in the request from the client. Might not match whats in the ticket if <a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> searched in the keytab for a matching key.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>a krb5_rd_req_out_ctx from <a class="el" href="group__krb5__auth.html#g589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>return principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>. </td></tr> +</div><div class="memdoc"> +<p>Get the principal that was used in the request from the client. Might not match whats in the ticket if <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a> searched in the keytab for a matching key.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context. </td></tr> + <tr><td class="paramname">out</td><td>a krb5_rd_req_out_ctx from <a class="el" href="group__krb5__auth.html#ga589cab7251a70a5addbf1af56313401e">krb5_rd_req_ctx()</a>. </td></tr> + <tr><td class="paramname">principal</td><td>return principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>. </td></tr> </table> + </dd> </dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__ccache.html b/doc/doxyout/krb5/html/group__krb5__ccache.html index 61fa8893ef56..0deabcbe67e9 100644 --- a/doc/doxyout/krb5/html/group__krb5__ccache.html +++ b/doc/doxyout/krb5/html/group__krb5__ccache.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 credential cache functions</title> +<title>Heimdal Kerberos 5 credential cache functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,2257 +8,2132 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> | +<a href="#var-members">Variables</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 credential cache functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 credential cache functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gc3a45bff840e57a9675d51c1fee6c2e8">krb5_cc_register</a> (krb5_context context, const krb5_cc_ops *ops, krb5_boolean override)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ge8ab9d6f4af5710dab860f2806a7d13b">krb5_cc_resolve</a> (krb5_context context, const char *name, krb5_ccache *id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g86c0f70d0c2b5de2d876edf4b693b5b9">krb5_cc_new_unique</a> (krb5_context context, const char *type, const char *hint, krb5_ccache *id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g99e06555ebd9e2f02ce250918f5ee846">krb5_cc_get_name</a> (krb5_context context, krb5_ccache id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g08ab758e7d47c00d266beaff319f2736">krb5_cc_get_type</a> (krb5_context context, krb5_ccache id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g8cd3ff7e8d884abfab2805b50c9fc5bf">krb5_cc_get_full_name</a> (krb5_context context, krb5_ccache id, char **str)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> -krb5_cc_ops *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gd7ee5a815a02d132862f77a7749edf4a">krb5_cc_get_ops</a> (krb5_context context, krb5_ccache id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gc2b41cdf638a1ec3d0fd4e72d7b71f3a">krb5_cc_switch</a> (krb5_context context, krb5_ccache id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g52344bb9dee620b5e386a9dd3c996e0f">krb5_cc_support_switch</a> (krb5_context context, const char *type)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g86c6699db4cbdcf18f42add005040941">krb5_cc_set_default_name</a> (krb5_context context, const char *name)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gbba6e24537d53808ee90eed7551fc0c1">krb5_cc_default_name</a> (krb5_context context)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gd7d54822ef022f3e27f7f0f457d9c751">krb5_cc_default</a> (krb5_context context, krb5_ccache *id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gb66e7ef829afdad1cd37c1ead2262843">krb5_cc_initialize</a> (krb5_context context, krb5_ccache id, krb5_principal primary_principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g3115bcccd71594374831caa9a07b1290">krb5_cc_destroy</a> (krb5_context context, krb5_ccache id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gebc0dd2a77529c05fb49e27235da7017">krb5_cc_close</a> (krb5_context context, krb5_ccache id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g7092b498b9acfab73491d9b15c1bc821">krb5_cc_store_cred</a> (krb5_context context, krb5_ccache id, krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g7ae6118dc052a0b5fbae2e73596b9cf7">krb5_cc_retrieve_cred</a> (krb5_context context, krb5_ccache id, krb5_flags whichfields, const krb5_creds *mcreds, krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g0d0b8a8698b3bfb079d235a1232160fd">krb5_cc_get_principal</a> (krb5_context context, krb5_ccache id, krb5_principal *principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gcbf766cea6b49dd64b76628c7708b979">krb5_cc_start_seq_get</a> (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gd9cd0ebcc7bdf3ca2b0ed166ea2f8df6">krb5_cc_next_cred</a> (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor, krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g024ce036ebf277f918354d4681bd0550">krb5_cc_end_seq_get</a> (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g46126e8ea4420b494fd7f5c8dc7a5fda">krb5_cc_remove_cred</a> (krb5_context context, krb5_ccache id, krb5_flags which, krb5_creds *cred)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g289cc14cd4b24c5f30031f9bd17db857">krb5_cc_set_flags</a> (krb5_context context, krb5_ccache id, krb5_flags flags)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g5ce8d7a3dafd8d750c4e98429205f737">krb5_cc_get_flags</a> (krb5_context context, krb5_ccache id, krb5_flags *flags)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g432b6b4e84262d1f3f84ff36cf9da57e">krb5_cc_copy_match_f</a> (krb5_context context, const krb5_ccache from, krb5_ccache to, krb5_boolean(*match)(krb5_context, void *, const krb5_creds *), void *matchctx, unsigned int *matched)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gc68afe0efd13b8ef5489ddde21e49525">krb5_cc_copy_cache</a> (krb5_context context, const krb5_ccache from, krb5_ccache to)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g83845338ad0292cff8b9e34955c32ace">krb5_cc_get_version</a> (krb5_context context, const krb5_ccache id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g704afc89612843c7844e0eca7a9c26f3">krb5_cc_clear_mcred</a> (krb5_creds *mcred)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> -krb5_cc_ops *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g2a9faa8374678785261160e2966343db">krb5_cc_get_prefix_ops</a> (krb5_context context, const char *prefix)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gac7e0690f9b79ca82d4037467f587741">krb5_cc_cache_get_first</a> (krb5_context context, const char *type, krb5_cc_cache_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g7c61cdcba0ac4a2584ac080d3e6210bd">krb5_cc_cache_next</a> (krb5_context context, krb5_cc_cache_cursor cursor, krb5_ccache *id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g79777e9758a9ff1beb2fd84a90cbd52c">krb5_cc_cache_end_seq_get</a> (krb5_context context, krb5_cc_cache_cursor cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g6ff680ba8ad9e4e81131d421d751c22a">krb5_cc_cache_match</a> (krb5_context context, krb5_principal client, krb5_ccache *id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gbf9f97e04dd6fceb4f0a73afb819c16c">krb5_cc_move</a> (krb5_context context, krb5_ccache from, krb5_ccache to)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g7aae400e0b7a263ed7de884ed0a433be">krb5_is_config_principal</a> (krb5_context context, krb5_const_principal principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g562a222918f31fb27ba2060af2ae315b">krb5_cc_set_config</a> (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gd4161eacf89b11edbe222b74c9e6fbef">krb5_cc_get_config</a> (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g06b59cb27291f73994294ac9567c5d9b">krb5_cccol_cursor_new</a> (krb5_context context, krb5_cccol_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g3f1e7d611a7e16c9d7f1d2f171b72542">krb5_cccol_cursor_next</a> (krb5_context context, krb5_cccol_cursor cursor, krb5_ccache *cache)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g45efd722e955444f3d6083966446fd54">krb5_cccol_cursor_free</a> (krb5_context context, krb5_cccol_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g90e97172b4cc6bd3f64290cf93236c52">krb5_cc_last_change_time</a> (krb5_context context, krb5_ccache id, krb5_timestamp *mtime)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g058a08546f002063625d22a3ebc94897">krb5_cccol_last_change_time</a> (krb5_context context, const char *type, krb5_timestamp *mtime)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g085a03429338d58cae4599e0a028e995">krb5_cc_get_friendly_name</a> (krb5_context context, krb5_ccache id, char **name)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gc0765d91e9cc8936dc8fcbd0abddcb78">krb5_cc_set_friendly_name</a> (krb5_context context, krb5_ccache id, const char *name)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g353afddbcbe2f4acc00971888962567f">krb5_cc_get_lifetime</a> (krb5_context context, krb5_ccache id, time_t *t)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g51ceb3c48f1c1abc73beadb5d6f34621">krb5_cc_set_kdc_offset</a> (krb5_context context, krb5_ccache id, krb5_deltat offset)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g670e4b093c4f858687e0646641b0024c">krb5_cc_get_kdc_offset</a> (krb5_context context, krb5_ccache id, krb5_deltat *offset)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g4291d5acf30523b93f84fe9473aed4e4">krb5_cc_gen_new</a> (krb5_context context, const krb5_cc_ops *ops, krb5_ccache *id) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g6eb819810e7d74f09ae902f1ea784066">krb5_cc_copy_creds</a> (krb5_context context, const krb5_ccache from, krb5_ccache to)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g00aae24e7570d1aea954c173287900bc">krb5_get_validated_creds</a> (krb5_context context, krb5_creds *creds, krb5_principal client, krb5_ccache ccache, char *service)</td></tr> - -<tr><td colspan="2"><br><h2>Variables</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_VARIABLE const krb5_cc_ops </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g6e72d7bbecc876f7265e4b20f087e04f">krb5_acc_ops</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_VARIABLE const krb5_cc_ops </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gff6f544b45b0b7662443e70609527702">krb5_fcc_ops</a></td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_VARIABLE const krb5_cc_ops </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#g4b23b96d2f610d79c642d516eb4d067c">krb5_mcc_ops</a></td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gac3a45bff840e57a9675d51c1fee6c2e8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gac3a45bff840e57a9675d51c1fee6c2e8">krb5_cc_register</a> (krb5_context context, const krb5_cc_ops *ops, krb5_boolean override)</td></tr> +<tr class="separator:gac3a45bff840e57a9675d51c1fee6c2e8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae8ab9d6f4af5710dab860f2806a7d13b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gae8ab9d6f4af5710dab860f2806a7d13b">krb5_cc_resolve</a> (krb5_context context, const char *name, krb5_ccache *id)</td></tr> +<tr class="separator:gae8ab9d6f4af5710dab860f2806a7d13b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga86c0f70d0c2b5de2d876edf4b693b5b9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga86c0f70d0c2b5de2d876edf4b693b5b9">krb5_cc_new_unique</a> (krb5_context context, const char *type, const char *hint, krb5_ccache *id)</td></tr> +<tr class="separator:ga86c0f70d0c2b5de2d876edf4b693b5b9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga99e06555ebd9e2f02ce250918f5ee846"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga99e06555ebd9e2f02ce250918f5ee846">krb5_cc_get_name</a> (krb5_context context, krb5_ccache id)</td></tr> +<tr class="separator:ga99e06555ebd9e2f02ce250918f5ee846"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga08ab758e7d47c00d266beaff319f2736"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga08ab758e7d47c00d266beaff319f2736">krb5_cc_get_type</a> (krb5_context context, krb5_ccache id)</td></tr> +<tr class="separator:ga08ab758e7d47c00d266beaff319f2736"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8cd3ff7e8d884abfab2805b50c9fc5bf"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga8cd3ff7e8d884abfab2805b50c9fc5bf">krb5_cc_get_full_name</a> (krb5_context context, krb5_ccache id, char **str)</td></tr> +<tr class="separator:ga8cd3ff7e8d884abfab2805b50c9fc5bf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad7ee5a815a02d132862f77a7749edf4a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const krb5_cc_ops *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gad7ee5a815a02d132862f77a7749edf4a">krb5_cc_get_ops</a> (krb5_context context, krb5_ccache id)</td></tr> +<tr class="separator:gad7ee5a815a02d132862f77a7749edf4a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac2b41cdf638a1ec3d0fd4e72d7b71f3a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gac2b41cdf638a1ec3d0fd4e72d7b71f3a">krb5_cc_switch</a> (krb5_context context, krb5_ccache id)</td></tr> +<tr class="separator:gac2b41cdf638a1ec3d0fd4e72d7b71f3a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga52344bb9dee620b5e386a9dd3c996e0f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga52344bb9dee620b5e386a9dd3c996e0f">krb5_cc_support_switch</a> (krb5_context context, const char *type)</td></tr> +<tr class="separator:ga52344bb9dee620b5e386a9dd3c996e0f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga86c6699db4cbdcf18f42add005040941"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga86c6699db4cbdcf18f42add005040941">krb5_cc_set_default_name</a> (krb5_context context, const char *name)</td></tr> +<tr class="separator:ga86c6699db4cbdcf18f42add005040941"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabba6e24537d53808ee90eed7551fc0c1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gabba6e24537d53808ee90eed7551fc0c1">krb5_cc_default_name</a> (krb5_context context)</td></tr> +<tr class="separator:gabba6e24537d53808ee90eed7551fc0c1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad7d54822ef022f3e27f7f0f457d9c751"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gad7d54822ef022f3e27f7f0f457d9c751">krb5_cc_default</a> (krb5_context context, krb5_ccache *id)</td></tr> +<tr class="separator:gad7d54822ef022f3e27f7f0f457d9c751"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab66e7ef829afdad1cd37c1ead2262843"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gab66e7ef829afdad1cd37c1ead2262843">krb5_cc_initialize</a> (krb5_context context, krb5_ccache id, krb5_principal primary_principal)</td></tr> +<tr class="separator:gab66e7ef829afdad1cd37c1ead2262843"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3115bcccd71594374831caa9a07b1290"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga3115bcccd71594374831caa9a07b1290">krb5_cc_destroy</a> (krb5_context context, krb5_ccache id)</td></tr> +<tr class="separator:ga3115bcccd71594374831caa9a07b1290"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaebc0dd2a77529c05fb49e27235da7017"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gaebc0dd2a77529c05fb49e27235da7017">krb5_cc_close</a> (krb5_context context, krb5_ccache id)</td></tr> +<tr class="separator:gaebc0dd2a77529c05fb49e27235da7017"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7092b498b9acfab73491d9b15c1bc821"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga7092b498b9acfab73491d9b15c1bc821">krb5_cc_store_cred</a> (krb5_context context, krb5_ccache id, krb5_creds *creds)</td></tr> +<tr class="separator:ga7092b498b9acfab73491d9b15c1bc821"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7ae6118dc052a0b5fbae2e73596b9cf7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga7ae6118dc052a0b5fbae2e73596b9cf7">krb5_cc_retrieve_cred</a> (krb5_context context, krb5_ccache id, krb5_flags whichfields, const krb5_creds *mcreds, krb5_creds *creds)</td></tr> +<tr class="separator:ga7ae6118dc052a0b5fbae2e73596b9cf7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0d0b8a8698b3bfb079d235a1232160fd"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga0d0b8a8698b3bfb079d235a1232160fd">krb5_cc_get_principal</a> (krb5_context context, krb5_ccache id, krb5_principal *principal)</td></tr> +<tr class="separator:ga0d0b8a8698b3bfb079d235a1232160fd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gacbf766cea6b49dd64b76628c7708b979"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gacbf766cea6b49dd64b76628c7708b979">krb5_cc_start_seq_get</a> (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)</td></tr> +<tr class="separator:gacbf766cea6b49dd64b76628c7708b979"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad9cd0ebcc7bdf3ca2b0ed166ea2f8df6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gad9cd0ebcc7bdf3ca2b0ed166ea2f8df6">krb5_cc_next_cred</a> (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor, krb5_creds *creds)</td></tr> +<tr class="separator:gad9cd0ebcc7bdf3ca2b0ed166ea2f8df6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga024ce036ebf277f918354d4681bd0550"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga024ce036ebf277f918354d4681bd0550">krb5_cc_end_seq_get</a> (krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)</td></tr> +<tr class="separator:ga024ce036ebf277f918354d4681bd0550"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga46126e8ea4420b494fd7f5c8dc7a5fda"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga46126e8ea4420b494fd7f5c8dc7a5fda">krb5_cc_remove_cred</a> (krb5_context context, krb5_ccache id, krb5_flags which, krb5_creds *cred)</td></tr> +<tr class="separator:ga46126e8ea4420b494fd7f5c8dc7a5fda"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga289cc14cd4b24c5f30031f9bd17db857"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga289cc14cd4b24c5f30031f9bd17db857">krb5_cc_set_flags</a> (krb5_context context, krb5_ccache id, krb5_flags flags)</td></tr> +<tr class="separator:ga289cc14cd4b24c5f30031f9bd17db857"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5ce8d7a3dafd8d750c4e98429205f737"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga5ce8d7a3dafd8d750c4e98429205f737">krb5_cc_get_flags</a> (krb5_context context, krb5_ccache id, krb5_flags *flags)</td></tr> +<tr class="separator:ga5ce8d7a3dafd8d750c4e98429205f737"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga432b6b4e84262d1f3f84ff36cf9da57e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga432b6b4e84262d1f3f84ff36cf9da57e">krb5_cc_copy_match_f</a> (krb5_context context, const krb5_ccache from, krb5_ccache to, krb5_boolean(*match)(krb5_context, void *, const krb5_creds *), void *matchctx, unsigned int *matched)</td></tr> +<tr class="separator:ga432b6b4e84262d1f3f84ff36cf9da57e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac68afe0efd13b8ef5489ddde21e49525"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gac68afe0efd13b8ef5489ddde21e49525">krb5_cc_copy_cache</a> (krb5_context context, const krb5_ccache from, krb5_ccache to)</td></tr> +<tr class="separator:gac68afe0efd13b8ef5489ddde21e49525"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga83845338ad0292cff8b9e34955c32ace"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga83845338ad0292cff8b9e34955c32ace">krb5_cc_get_version</a> (krb5_context context, const krb5_ccache id)</td></tr> +<tr class="separator:ga83845338ad0292cff8b9e34955c32ace"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga704afc89612843c7844e0eca7a9c26f3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga704afc89612843c7844e0eca7a9c26f3">krb5_cc_clear_mcred</a> (krb5_creds *mcred)</td></tr> +<tr class="separator:ga704afc89612843c7844e0eca7a9c26f3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2a9faa8374678785261160e2966343db"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const krb5_cc_ops *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga2a9faa8374678785261160e2966343db">krb5_cc_get_prefix_ops</a> (krb5_context context, const char *prefix)</td></tr> +<tr class="separator:ga2a9faa8374678785261160e2966343db"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaac7e0690f9b79ca82d4037467f587741"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gaac7e0690f9b79ca82d4037467f587741">krb5_cc_cache_get_first</a> (krb5_context context, const char *type, krb5_cc_cache_cursor *cursor)</td></tr> +<tr class="separator:gaac7e0690f9b79ca82d4037467f587741"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7c61cdcba0ac4a2584ac080d3e6210bd"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga7c61cdcba0ac4a2584ac080d3e6210bd">krb5_cc_cache_next</a> (krb5_context context, krb5_cc_cache_cursor cursor, krb5_ccache *id)</td></tr> +<tr class="separator:ga7c61cdcba0ac4a2584ac080d3e6210bd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga79777e9758a9ff1beb2fd84a90cbd52c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga79777e9758a9ff1beb2fd84a90cbd52c">krb5_cc_cache_end_seq_get</a> (krb5_context context, krb5_cc_cache_cursor cursor)</td></tr> +<tr class="separator:ga79777e9758a9ff1beb2fd84a90cbd52c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6ff680ba8ad9e4e81131d421d751c22a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga6ff680ba8ad9e4e81131d421d751c22a">krb5_cc_cache_match</a> (krb5_context context, krb5_principal client, krb5_ccache *id)</td></tr> +<tr class="separator:ga6ff680ba8ad9e4e81131d421d751c22a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabf9f97e04dd6fceb4f0a73afb819c16c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gabf9f97e04dd6fceb4f0a73afb819c16c">krb5_cc_move</a> (krb5_context context, krb5_ccache from, krb5_ccache to)</td></tr> +<tr class="separator:gabf9f97e04dd6fceb4f0a73afb819c16c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7aae400e0b7a263ed7de884ed0a433be"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga7aae400e0b7a263ed7de884ed0a433be">krb5_is_config_principal</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:ga7aae400e0b7a263ed7de884ed0a433be"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga562a222918f31fb27ba2060af2ae315b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga562a222918f31fb27ba2060af2ae315b">krb5_cc_set_config</a> (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)</td></tr> +<tr class="separator:ga562a222918f31fb27ba2060af2ae315b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad4161eacf89b11edbe222b74c9e6fbef"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gad4161eacf89b11edbe222b74c9e6fbef">krb5_cc_get_config</a> (krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)</td></tr> +<tr class="separator:gad4161eacf89b11edbe222b74c9e6fbef"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga06b59cb27291f73994294ac9567c5d9b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga06b59cb27291f73994294ac9567c5d9b">krb5_cccol_cursor_new</a> (krb5_context context, krb5_cccol_cursor *cursor)</td></tr> +<tr class="separator:ga06b59cb27291f73994294ac9567c5d9b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3f1e7d611a7e16c9d7f1d2f171b72542"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga3f1e7d611a7e16c9d7f1d2f171b72542">krb5_cccol_cursor_next</a> (krb5_context context, krb5_cccol_cursor cursor, krb5_ccache *cache)</td></tr> +<tr class="separator:ga3f1e7d611a7e16c9d7f1d2f171b72542"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga45efd722e955444f3d6083966446fd54"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga45efd722e955444f3d6083966446fd54">krb5_cccol_cursor_free</a> (krb5_context context, krb5_cccol_cursor *cursor)</td></tr> +<tr class="separator:ga45efd722e955444f3d6083966446fd54"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga90e97172b4cc6bd3f64290cf93236c52"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga90e97172b4cc6bd3f64290cf93236c52">krb5_cc_last_change_time</a> (krb5_context context, krb5_ccache id, krb5_timestamp *mtime)</td></tr> +<tr class="separator:ga90e97172b4cc6bd3f64290cf93236c52"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga058a08546f002063625d22a3ebc94897"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga058a08546f002063625d22a3ebc94897">krb5_cccol_last_change_time</a> (krb5_context context, const char *type, krb5_timestamp *mtime)</td></tr> +<tr class="separator:ga058a08546f002063625d22a3ebc94897"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga085a03429338d58cae4599e0a028e995"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga085a03429338d58cae4599e0a028e995">krb5_cc_get_friendly_name</a> (krb5_context context, krb5_ccache id, char **name)</td></tr> +<tr class="separator:ga085a03429338d58cae4599e0a028e995"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac0765d91e9cc8936dc8fcbd0abddcb78"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gac0765d91e9cc8936dc8fcbd0abddcb78">krb5_cc_set_friendly_name</a> (krb5_context context, krb5_ccache id, const char *name)</td></tr> +<tr class="separator:gac0765d91e9cc8936dc8fcbd0abddcb78"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga353afddbcbe2f4acc00971888962567f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga353afddbcbe2f4acc00971888962567f">krb5_cc_get_lifetime</a> (krb5_context context, krb5_ccache id, time_t *t)</td></tr> +<tr class="separator:ga353afddbcbe2f4acc00971888962567f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga51ceb3c48f1c1abc73beadb5d6f34621"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga51ceb3c48f1c1abc73beadb5d6f34621">krb5_cc_set_kdc_offset</a> (krb5_context context, krb5_ccache id, krb5_deltat offset)</td></tr> +<tr class="separator:ga51ceb3c48f1c1abc73beadb5d6f34621"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga670e4b093c4f858687e0646641b0024c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga670e4b093c4f858687e0646641b0024c">krb5_cc_get_kdc_offset</a> (krb5_context context, krb5_ccache id, krb5_deltat *offset)</td></tr> +<tr class="separator:ga670e4b093c4f858687e0646641b0024c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4291d5acf30523b93f84fe9473aed4e4"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga4291d5acf30523b93f84fe9473aed4e4">krb5_cc_gen_new</a> (krb5_context context, const krb5_cc_ops *ops, krb5_ccache *id) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga4291d5acf30523b93f84fe9473aed4e4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6eb819810e7d74f09ae902f1ea784066"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga6eb819810e7d74f09ae902f1ea784066">krb5_cc_copy_creds</a> (krb5_context context, const krb5_ccache from, krb5_ccache to)</td></tr> +<tr class="separator:ga6eb819810e7d74f09ae902f1ea784066"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga00aae24e7570d1aea954c173287900bc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga00aae24e7570d1aea954c173287900bc">krb5_get_validated_creds</a> (krb5_context context, krb5_creds *creds, krb5_principal client, krb5_ccache ccache, char *service)</td></tr> +<tr class="separator:ga00aae24e7570d1aea954c173287900bc"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> +Variables</h2></td></tr> +<tr class="memitem:ga6e72d7bbecc876f7265e4b20f087e04f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_VARIABLE const krb5_cc_ops </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga6e72d7bbecc876f7265e4b20f087e04f">krb5_acc_ops</a></td></tr> +<tr class="separator:ga6e72d7bbecc876f7265e4b20f087e04f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5a9afb79914fce3cf4afd07e03ff90c6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_VARIABLE const krb5_cc_ops </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga5a9afb79914fce3cf4afd07e03ff90c6">krb5_dcc_ops</a></td></tr> +<tr class="separator:ga5a9afb79914fce3cf4afd07e03ff90c6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaff6f544b45b0b7662443e70609527702"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_VARIABLE const krb5_cc_ops </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#gaff6f544b45b0b7662443e70609527702">krb5_fcc_ops</a></td></tr> +<tr class="separator:gaff6f544b45b0b7662443e70609527702"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4b23b96d2f610d79c642d516eb4d067c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_VARIABLE const krb5_cc_ops </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ccache.html#ga4b23b96d2f610d79c642d516eb4d067c">krb5_mcc_ops</a></td></tr> +<tr class="separator:ga4b23b96d2f610d79c642d516eb4d067c"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g79777e9758a9ff1beb2fd84a90cbd52c"></a><!-- doxytag: member="cache.c::krb5_cc_cache_end_seq_get" ref="g79777e9758a9ff1beb2fd84a90cbd52c" args="(krb5_context context, krb5_cc_cache_cursor cursor)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga79777e9758a9ff1beb2fd84a90cbd52c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga79777e9758a9ff1beb2fd84a90cbd52c">◆ </a></span>krb5_cc_cache_end_seq_get()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_end_seq_get </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_end_seq_get </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cc_cache_cursor </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_cc_cache_cursor </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Destroy the cursor `cursor'.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Destroy the cursor `cursor'.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gac7e0690f9b79ca82d4037467f587741"></a><!-- doxytag: member="cache.c::krb5_cc_cache_get_first" ref="gac7e0690f9b79ca82d4037467f587741" args="(krb5_context context, const char *type, krb5_cc_cache_cursor *cursor)" --> +</div> +<a id="gaac7e0690f9b79ca82d4037467f587741"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaac7e0690f9b79ca82d4037467f587741">◆ </a></span>krb5_cc_cache_get_first()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_get_first </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_get_first </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cc_cache_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_cc_cache_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Start iterating over all caches of specified type. See also <a class="el" href="group__krb5__ccache.html#g06b59cb27291f73994294ac9567c5d9b">krb5_cccol_cursor_new()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>optional type to iterate over, if NULL, the default cache is used. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>cursor should be freed with <a class="el" href="group__krb5__ccache.html#g79777e9758a9ff1beb2fd84a90cbd52c">krb5_cc_cache_end_seq_get()</a>.</td></tr> +</div><div class="memdoc"> +<p>Start iterating over all caches of specified type. See also <a class="el" href="group__krb5__ccache.html#ga06b59cb27291f73994294ac9567c5d9b">krb5_cccol_cursor_new()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">type</td><td>optional type to iterate over, if NULL, the default cache is used. </td></tr> + <tr><td class="paramname">cursor</td><td>cursor should be freed with <a class="el" href="group__krb5__ccache.html#ga79777e9758a9ff1beb2fd84a90cbd52c">krb5_cc_cache_end_seq_get()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6ff680ba8ad9e4e81131d421d751c22a"></a><!-- doxytag: member="cache.c::krb5_cc_cache_match" ref="g6ff680ba8ad9e4e81131d421d751c22a" args="(krb5_context context, krb5_principal client, krb5_ccache *id)" --> +</div> +<a id="ga6ff680ba8ad9e4e81131d421d751c22a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6ff680ba8ad9e4e81131d421d751c22a">◆ </a></span>krb5_cc_cache_match()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_match </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_match </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>client</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Search for a matching credential cache that have the `principal' as the default principal. On success, `id' needs to be freed with <a class="el" href="group__krb5__ccache.html#gebc0dd2a77529c05fb49e27235da7017">krb5_cc_close()</a> or <a class="el" href="group__krb5__ccache.html#g3115bcccd71594374831caa9a07b1290">krb5_cc_destroy()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The principal to search for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the returned credential cache</td></tr> +</div><div class="memdoc"> +<p>Search for a matching credential cache that have the `principal' as the default principal. On success, `id' needs to be freed with <a class="el" href="group__krb5__ccache.html#gaebc0dd2a77529c05fb49e27235da7017">krb5_cc_close()</a> or <a class="el" href="group__krb5__ccache.html#ga3115bcccd71594374831caa9a07b1290">krb5_cc_destroy()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">client</td><td>The principal to search for </td></tr> + <tr><td class="paramname">id</td><td>the returned credential cache</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>On failure, error code is returned and `id' is set to NULL. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>On failure, error code is returned and `id' is set to NULL. </dd></dl> </div> -</div><p> -<a class="anchor" name="g7c61cdcba0ac4a2584ac080d3e6210bd"></a><!-- doxytag: member="cache.c::krb5_cc_cache_next" ref="g7c61cdcba0ac4a2584ac080d3e6210bd" args="(krb5_context context, krb5_cc_cache_cursor cursor, krb5_ccache *id)" --> +</div> +<a id="ga7c61cdcba0ac4a2584ac080d3e6210bd"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7c61cdcba0ac4a2584ac080d3e6210bd">◆ </a></span>krb5_cc_cache_next()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_next </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_cache_next </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cc_cache_cursor </td> - <td class="paramname"> <em>cursor</em>, </td> + <td class="paramtype">krb5_cc_cache_cursor </td> + <td class="paramname"><em>cursor</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Retrieve the next cache pointed to by (`cursor') in `id' and advance `cursor'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>the iterator cursor, returned by <a class="el" href="group__krb5__ccache.html#gac7e0690f9b79ca82d4037467f587741">krb5_cc_cache_get_first()</a> </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>next ccache</td></tr> +</div><div class="memdoc"> +<p>Retrieve the next cache pointed to by (`cursor') in `id' and advance `cursor'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">cursor</td><td>the iterator cursor, returned by <a class="el" href="group__krb5__ccache.html#gaac7e0690f9b79ca82d4037467f587741">krb5_cc_cache_get_first()</a> </td></tr> + <tr><td class="paramname">id</td><td>next ccache</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return 0 or an error code. Returns KRB5_CC_END when the end of caches is reached, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return 0 or an error code. Returns KRB5_CC_END when the end of caches is reached, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g704afc89612843c7844e0eca7a9c26f3"></a><!-- doxytag: member="cache.c::krb5_cc_clear_mcred" ref="g704afc89612843c7844e0eca7a9c26f3" args="(krb5_creds *mcred)" --> +</div> +<a id="ga704afc89612843c7844e0eca7a9c26f3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga704afc89612843c7844e0eca7a9c26f3">◆ </a></span>krb5_cc_clear_mcred()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_cc_clear_mcred </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_cc_clear_mcred </td> <td>(</td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>mcred</em> </td> - <td> ) </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>mcred</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Clear `mcreds' so it can be used with krb5_cc_retrieve_cred </p> -<p> -Clear `mcreds' so it can be used with krb5_cc_retrieve_cred </div> -</div><p> -<a class="anchor" name="gebc0dd2a77529c05fb49e27235da7017"></a><!-- doxytag: member="cache.c::krb5_cc_close" ref="gebc0dd2a77529c05fb49e27235da7017" args="(krb5_context context, krb5_ccache id)" --> +</div> +<a id="gaebc0dd2a77529c05fb49e27235da7017"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaebc0dd2a77529c05fb49e27235da7017">◆ </a></span>krb5_cc_close()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_close </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_close </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Stop using the ccache `id' and free the related resources.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Stop using the ccache `id' and free the related resources.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc68afe0efd13b8ef5489ddde21e49525"></a><!-- doxytag: member="cache.c::krb5_cc_copy_cache" ref="gc68afe0efd13b8ef5489ddde21e49525" args="(krb5_context context, const krb5_ccache from, krb5_ccache to)" --> +</div> +<a id="gac68afe0efd13b8ef5489ddde21e49525"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac68afe0efd13b8ef5489ddde21e49525">◆ </a></span>krb5_cc_copy_cache()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_cache </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_cache </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ccache </td> - <td class="paramname"> <em>from</em>, </td> + <td class="paramtype">const krb5_ccache </td> + <td class="paramname"><em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>to</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>to</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Just like <a class="el" href="group__krb5__ccache.html#ga432b6b4e84262d1f3f84ff36cf9da57e">krb5_cc_copy_match_f()</a>, but copy everything.</p> +<p>@ </p> -<p> -Just like <a class="el" href="group__krb5__ccache.html#g432b6b4e84262d1f3f84ff36cf9da57e">krb5_cc_copy_match_f()</a>, but copy everything.<p> -@ </div> -</div><p> -<a class="anchor" name="g6eb819810e7d74f09ae902f1ea784066"></a><!-- doxytag: member="mit_glue.c::krb5_cc_copy_creds" ref="g6eb819810e7d74f09ae902f1ea784066" args="(krb5_context context, const krb5_ccache from, krb5_ccache to)" --> +</div> +<a id="ga6eb819810e7d74f09ae902f1ea784066"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6eb819810e7d74f09ae902f1ea784066">◆ </a></span>krb5_cc_copy_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_creds </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ccache </td> - <td class="paramname"> <em>from</em>, </td> + <td class="paramtype">const krb5_ccache </td> + <td class="paramname"><em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>to</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>to</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>MIT compat glue </p> -<p> -MIT compat glue </div> -</div><p> -<a class="anchor" name="g432b6b4e84262d1f3f84ff36cf9da57e"></a><!-- doxytag: member="cache.c::krb5_cc_copy_match_f" ref="g432b6b4e84262d1f3f84ff36cf9da57e" args="(krb5_context context, const krb5_ccache from, krb5_ccache to, krb5_boolean(*match)(krb5_context, void *, const krb5_creds *), void *matchctx, unsigned int *matched)" --> +</div> +<a id="ga432b6b4e84262d1f3f84ff36cf9da57e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga432b6b4e84262d1f3f84ff36cf9da57e">◆ </a></span>krb5_cc_copy_match_f()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_match_f </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_copy_match_f </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ccache </td> - <td class="paramname"> <em>from</em>, </td> + <td class="paramtype">const krb5_ccache </td> + <td class="paramname"><em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>to</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean(*)(krb5_context, void *, const krb5_creds *) </td> - <td class="paramname"> <em>match</em>, </td> + <td class="paramtype">krb5_boolean(*)(krb5_context, void *, const krb5_creds *) </td> + <td class="paramname"><em>match</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>matchctx</em>, </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>matchctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned int * </td> - <td class="paramname"> <em>matched</em></td><td> </td> + <td class="paramtype">unsigned int * </td> + <td class="paramname"><em>matched</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy the contents of `from' to `to' if the given match function return true.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>the cache to copy data from. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>the cache to copy data to. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>match</em> </td><td>a match function that should return TRUE if cred argument should be copied, if NULL, all credentials are copied. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>matchctx</em> </td><td>context passed to match function. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>matched</em> </td><td>set to true if there was a credential that matched, may be NULL.</td></tr> +</div><div class="memdoc"> +<p>Copy the contents of `from' to `to' if the given match function return true.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">from</td><td>the cache to copy data from. </td></tr> + <tr><td class="paramname">to</td><td>the cache to copy data to. </td></tr> + <tr><td class="paramname">match</td><td>a match function that should return TRUE if cred argument should be copied, if NULL, all credentials are copied. </td></tr> + <tr><td class="paramname">matchctx</td><td>context passed to match function. </td></tr> + <tr><td class="paramname">matched</td><td>set to true if there was a credential that matched, may be NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd7d54822ef022f3e27f7f0f457d9c751"></a><!-- doxytag: member="cache.c::krb5_cc_default" ref="gd7d54822ef022f3e27f7f0f457d9c751" args="(krb5_context context, krb5_ccache *id)" --> +</div> +<a id="gad7d54822ef022f3e27f7f0f457d9c751"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad7d54822ef022f3e27f7f0f457d9c751">◆ </a></span>krb5_cc_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_default </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Open the default ccache in `id'.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Open the default ccache in `id'.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbba6e24537d53808ee90eed7551fc0c1"></a><!-- doxytag: member="cache.c::krb5_cc_default_name" ref="gbba6e24537d53808ee90eed7551fc0c1" args="(krb5_context context)" --> +</div> +<a id="gabba6e24537d53808ee90eed7551fc0c1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabba6e24537d53808ee90eed7551fc0c1">◆ </a></span>krb5_cc_default_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_default_name </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_default_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return a pointer to a context static string containing the default ccache name.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>String to the default credential cache name. </dd></dl> +</div><div class="memdoc"> +<p>Return a pointer to a context static string containing the default ccache name.</p> +<dl class="section return"><dt>Returns</dt><dd>String to the default credential cache name. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3115bcccd71594374831caa9a07b1290"></a><!-- doxytag: member="cache.c::krb5_cc_destroy" ref="g3115bcccd71594374831caa9a07b1290" args="(krb5_context context, krb5_ccache id)" --> +</div> +<a id="ga3115bcccd71594374831caa9a07b1290"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3115bcccd71594374831caa9a07b1290">◆ </a></span>krb5_cc_destroy()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_destroy </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_destroy </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Remove the ccache `id'.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Remove the ccache `id'.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g024ce036ebf277f918354d4681bd0550"></a><!-- doxytag: member="cache.c::krb5_cc_end_seq_get" ref="g024ce036ebf277f918354d4681bd0550" args="(krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)" --> +</div> +<a id="ga024ce036ebf277f918354d4681bd0550"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga024ce036ebf277f918354d4681bd0550">◆ </a></span>krb5_cc_end_seq_get()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_end_seq_get </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_end_seq_get </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">const krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cc_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_cc_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Destroy the cursor `cursor'. </p> -<p> -Destroy the cursor `cursor'. </div> -</div><p> -<a class="anchor" name="g4291d5acf30523b93f84fe9473aed4e4"></a><!-- doxytag: member="deprecated.c::krb5_cc_gen_new" ref="g4291d5acf30523b93f84fe9473aed4e4" args="(krb5_context context, const krb5_cc_ops *ops, krb5_ccache *id) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga4291d5acf30523b93f84fe9473aed4e4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4291d5acf30523b93f84fe9473aed4e4">◆ </a></span>krb5_cc_gen_new()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_gen_new </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_gen_new </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_cc_ops * </td> - <td class="paramname"> <em>ops</em>, </td> + <td class="paramtype">const krb5_cc_ops * </td> + <td class="paramname"><em>ops</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Generate a new ccache of type `ops' in `id'.<p> -Deprecated: use <a class="el" href="group__krb5__ccache.html#g86c0f70d0c2b5de2d876edf4b693b5b9">krb5_cc_new_unique()</a> instead.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Generate a new ccache of type `ops' in `id'.</p> +<p>Deprecated: use <a class="el" href="group__krb5__ccache.html#ga86c0f70d0c2b5de2d876edf4b693b5b9">krb5_cc_new_unique()</a> instead.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd4161eacf89b11edbe222b74c9e6fbef"></a><!-- doxytag: member="cache.c::krb5_cc_get_config" ref="gd4161eacf89b11edbe222b74c9e6fbef" args="(krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)" --> +</div> +<a id="gad4161eacf89b11edbe222b74c9e6fbef"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad4161eacf89b11edbe222b74c9e6fbef">◆ </a></span>krb5_cc_get_config()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_config </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_config </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get some configuration for the credential cache in the cache.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the credential cache to store the data for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>configuration for a specific principal, if NULL, global for the whole cache. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name under which the configuraion is stored. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>data to fetched, free with <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a> </td></tr> +</div><div class="memdoc"> +<p>Get some configuration for the credential cache in the cache.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">id</td><td>the credential cache to store the data for </td></tr> + <tr><td class="paramname">principal</td><td>configuration for a specific principal, if NULL, global for the whole cache. </td></tr> + <tr><td class="paramname">name</td><td>name under which the configuraion is stored. </td></tr> + <tr><td class="paramname">data</td><td>data to fetched, free with <a class="el" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a> </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g5ce8d7a3dafd8d750c4e98429205f737"></a><!-- doxytag: member="cache.c::krb5_cc_get_flags" ref="g5ce8d7a3dafd8d750c4e98429205f737" args="(krb5_context context, krb5_ccache id, krb5_flags *flags)" --> +</div> +<a id="ga5ce8d7a3dafd8d750c4e98429205f737"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5ce8d7a3dafd8d750c4e98429205f737">◆ </a></span>krb5_cc_get_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_flags </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_flags </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags * </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">krb5_flags * </td> + <td class="paramname"><em>flags</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Get the flags of `id', store them in `flags'. </p> -<p> -Get the flags of `id', store them in `flags'. </div> -</div><p> -<a class="anchor" name="g085a03429338d58cae4599e0a028e995"></a><!-- doxytag: member="cache.c::krb5_cc_get_friendly_name" ref="g085a03429338d58cae4599e0a028e995" args="(krb5_context context, krb5_ccache id, char **name)" --> +</div> +<a id="ga085a03429338d58cae4599e0a028e995"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga085a03429338d58cae4599e0a028e995">◆ </a></span>krb5_cc_get_friendly_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_friendly_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_friendly_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>name</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return a friendly name on credential cache. Free the result with krb5_xfree().<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Return a friendly name on credential cache. Free the result with krb5_xfree().</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g8cd3ff7e8d884abfab2805b50c9fc5bf"></a><!-- doxytag: member="cache.c::krb5_cc_get_full_name" ref="g8cd3ff7e8d884abfab2805b50c9fc5bf" args="(krb5_context context, krb5_ccache id, char **str)" --> +</div> +<a id="ga8cd3ff7e8d884abfab2805b50c9fc5bf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8cd3ff7e8d884abfab2805b50c9fc5bf">◆ </a></span>krb5_cc_get_full_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_full_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_full_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>str</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>str</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the complete resolvable name the cache<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>return pointer to a found credential cache </td></tr> - <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>the returned name of a credential cache, free with krb5_xfree()</td></tr> +</div><div class="memdoc"> +<p>Return the complete resolvable name the cache</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">id</td><td>return pointer to a found credential cache </td></tr> + <tr><td class="paramname">str</td><td>the returned name of a credential cache, free with krb5_xfree()</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 or an error (and then *str is set to NULL). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 or an error (and then *str is set to NULL). </dd></dl> </div> -</div><p> -<a class="anchor" name="g670e4b093c4f858687e0646641b0024c"></a><!-- doxytag: member="cache.c::krb5_cc_get_kdc_offset" ref="g670e4b093c4f858687e0646641b0024c" args="(krb5_context context, krb5_ccache id, krb5_deltat *offset)" --> +</div> +<a id="ga670e4b093c4f858687e0646641b0024c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga670e4b093c4f858687e0646641b0024c">◆ </a></span>krb5_cc_get_kdc_offset()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_kdc_offset </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_kdc_offset </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_deltat * </td> - <td class="paramname"> <em>offset</em></td><td> </td> + <td class="paramtype">krb5_deltat * </td> + <td class="paramname"><em>offset</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the time offset betwen the client and the KDC<p> -If the backend doesn't support KDC offset, use the context global setting.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a credential cache </td></tr> - <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>the offset in seconds</td></tr> +</div><div class="memdoc"> +<p>Get the time offset betwen the client and the KDC</p> +<p>If the backend doesn't support KDC offset, use the context global setting.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">id</td><td>a credential cache </td></tr> + <tr><td class="paramname">offset</td><td>the offset in seconds</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g353afddbcbe2f4acc00971888962567f"></a><!-- doxytag: member="cache.c::krb5_cc_get_lifetime" ref="g353afddbcbe2f4acc00971888962567f" args="(krb5_context context, krb5_ccache id, time_t *t)" --> +</div> +<a id="ga353afddbcbe2f4acc00971888962567f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga353afddbcbe2f4acc00971888962567f">◆ </a></span>krb5_cc_get_lifetime()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_lifetime </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_lifetime </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">time_t * </td> - <td class="paramname"> <em>t</em></td><td> </td> + <td class="paramtype">time_t * </td> + <td class="paramname"><em>t</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the lifetime of the initial ticket in the cache<p> -Get the lifetime of the initial ticket in the cache, if the initial ticket was not found, the error code KRB5_CC_END is returned.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a credential cache </td></tr> - <tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>the relative lifetime of the initial ticket</td></tr> +</div><div class="memdoc"> +<p>Get the lifetime of the initial ticket in the cache</p> +<p>Get the lifetime of the initial ticket in the cache, if the initial ticket was not found, the error code KRB5_CC_END is returned.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">id</td><td>a credential cache </td></tr> + <tr><td class="paramname">t</td><td>the relative lifetime of the initial ticket</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> +<p>If we find the start krbtgt in the cache, use that as the lifespan.</p> +<p>If there was no krbtgt, use the shortest lifetime of service tickets that have yet to expire. If all credentials are expired, <a class="el" href="group__krb5__ccache.html#ga353afddbcbe2f4acc00971888962567f">krb5_cc_get_lifetime()</a> will fail.</p> </div> -</div><p> -<a class="anchor" name="g99e06555ebd9e2f02ce250918f5ee846"></a><!-- doxytag: member="cache.c::krb5_cc_get_name" ref="g99e06555ebd9e2f02ce250918f5ee846" args="(krb5_context context, krb5_ccache id)" --> +</div> +<a id="ga99e06555ebd9e2f02ce250918f5ee846"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga99e06555ebd9e2f02ce250918f5ee846">◆ </a></span>krb5_cc_get_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_get_name </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_get_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Return the name of the ccache `id' </p> -<p> -Return the name of the ccache `id' </div> -</div><p> -<a class="anchor" name="gd7ee5a815a02d132862f77a7749edf4a"></a><!-- doxytag: member="cache.c::krb5_cc_get_ops" ref="gd7ee5a815a02d132862f77a7749edf4a" args="(krb5_context context, krb5_ccache id)" --> +</div> +<a id="gad7ee5a815a02d132862f77a7749edf4a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad7ee5a815a02d132862f77a7749edf4a">◆ </a></span>krb5_cc_get_ops()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const krb5_cc_ops* KRB5_LIB_CALL krb5_cc_get_ops </td> + <td class="memname">KRB5_LIB_FUNCTION const krb5_cc_ops* KRB5_LIB_CALL krb5_cc_get_ops </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Return krb5_cc_ops of a the ccache `id'. </p> -<p> -Return krb5_cc_ops of a the ccache `id'. </div> -</div><p> -<a class="anchor" name="g2a9faa8374678785261160e2966343db"></a><!-- doxytag: member="cache.c::krb5_cc_get_prefix_ops" ref="g2a9faa8374678785261160e2966343db" args="(krb5_context context, const char *prefix)" --> +</div> +<a id="ga2a9faa8374678785261160e2966343db"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2a9faa8374678785261160e2966343db">◆ </a></span>krb5_cc_get_prefix_ops()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const krb5_cc_ops* KRB5_LIB_CALL krb5_cc_get_prefix_ops </td> + <td class="memname">KRB5_LIB_FUNCTION const krb5_cc_ops* KRB5_LIB_CALL krb5_cc_get_prefix_ops </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>prefix</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>prefix</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the cc ops that is registered in `context' to handle the prefix. prefix can be a complete credential cache name or a prefix, the function will only use part up to the first colon (:) if there is one. If prefix the argument is NULL, the default ccache implemtation is returned.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns NULL if ops not found. </dd></dl> +</div><div class="memdoc"> +<p>Get the cc ops that is registered in `context' to handle the prefix. prefix can be a complete credential cache name or a prefix, the function will only use part up to the first colon (:) if there is one. If prefix the argument is NULL, the default ccache implemtation is returned.</p> +<dl class="section return"><dt>Returns</dt><dd>Returns NULL if ops not found. </dd></dl> </div> -</div><p> -<a class="anchor" name="g0d0b8a8698b3bfb079d235a1232160fd"></a><!-- doxytag: member="cache.c::krb5_cc_get_principal" ref="g0d0b8a8698b3bfb079d235a1232160fd" args="(krb5_context context, krb5_ccache id, krb5_principal *principal)" --> +</div> +<a id="ga0d0b8a8698b3bfb079d235a1232160fd"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0d0b8a8698b3bfb079d235a1232160fd">◆ </a></span>krb5_cc_get_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_principal </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the principal of `id' in `principal'.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Return the principal of `id' in `principal'.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g08ab758e7d47c00d266beaff319f2736"></a><!-- doxytag: member="cache.c::krb5_cc_get_type" ref="g08ab758e7d47c00d266beaff319f2736" args="(krb5_context context, krb5_ccache id)" --> +</div> +<a id="ga08ab758e7d47c00d266beaff319f2736"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga08ab758e7d47c00d266beaff319f2736">◆ </a></span>krb5_cc_get_type()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_get_type </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_cc_get_type </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Return the type of the ccache `id'. </p> -<p> -Return the type of the ccache `id'. </div> -</div><p> -<a class="anchor" name="g83845338ad0292cff8b9e34955c32ace"></a><!-- doxytag: member="cache.c::krb5_cc_get_version" ref="g83845338ad0292cff8b9e34955c32ace" args="(krb5_context context, const krb5_ccache id)" --> +</div> +<a id="ga83845338ad0292cff8b9e34955c32ace"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga83845338ad0292cff8b9e34955c32ace">◆ </a></span>krb5_cc_get_version()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_version </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_get_version </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ccache </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">const krb5_ccache </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Return the version of `id'. </p> -<p> -Return the version of `id'. </div> -</div><p> -<a class="anchor" name="gb66e7ef829afdad1cd37c1ead2262843"></a><!-- doxytag: member="cache.c::krb5_cc_initialize" ref="gb66e7ef829afdad1cd37c1ead2262843" args="(krb5_context context, krb5_ccache id, krb5_principal primary_principal)" --> +</div> +<a id="gab66e7ef829afdad1cd37c1ead2262843"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab66e7ef829afdad1cd37c1ead2262843">◆ </a></span>krb5_cc_initialize()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_initialize </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_initialize </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>primary_principal</em></td><td> </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>primary_principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Create a new ccache in `id' for `primary_principal'.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Create a new ccache in `id' for `primary_principal'.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g90e97172b4cc6bd3f64290cf93236c52"></a><!-- doxytag: member="cache.c::krb5_cc_last_change_time" ref="g90e97172b4cc6bd3f64290cf93236c52" args="(krb5_context context, krb5_ccache id, krb5_timestamp *mtime)" --> +</div> +<a id="ga90e97172b4cc6bd3f64290cf93236c52"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga90e97172b4cc6bd3f64290cf93236c52">◆ </a></span>krb5_cc_last_change_time()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_last_change_time </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_last_change_time </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_timestamp * </td> - <td class="paramname"> <em>mtime</em></td><td> </td> + <td class="paramtype">krb5_timestamp * </td> + <td class="paramname"><em>mtime</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the last time the credential cache was modified.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>The credential cache to probe </td></tr> - <tr><td valign="top"></td><td valign="top"><em>mtime</em> </td><td>the last modification time, set to 0 on error.</td></tr> +</div><div class="memdoc"> +<p>Return the last time the credential cache was modified.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">id</td><td>The credential cache to probe </td></tr> + <tr><td class="paramname">mtime</td><td>the last modification time, set to 0 on error.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return 0 or and error. See krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return 0 or and error. See <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbf9f97e04dd6fceb4f0a73afb819c16c"></a><!-- doxytag: member="cache.c::krb5_cc_move" ref="gbf9f97e04dd6fceb4f0a73afb819c16c" args="(krb5_context context, krb5_ccache from, krb5_ccache to)" --> +</div> +<a id="gabf9f97e04dd6fceb4f0a73afb819c16c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabf9f97e04dd6fceb4f0a73afb819c16c">◆ </a></span>krb5_cc_move()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_move </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_move </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>from</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>to</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>to</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Move the content from one credential cache to another. The operation is an atomic switch.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>the credential cache to move the content from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>the credential cache to move the content to</td></tr> +</div><div class="memdoc"> +<p>Move the content from one credential cache to another. The operation is an atomic switch.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">from</td><td>the credential cache to move the content from </td></tr> + <tr><td class="paramname">to</td><td>the credential cache to move the content to</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>On sucess, from is freed. On failure, error code is returned and from and to are both still allocated, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>On sucess, from is freed. On failure, error code is returned and from and to are both still allocated, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g86c0f70d0c2b5de2d876edf4b693b5b9"></a><!-- doxytag: member="cache.c::krb5_cc_new_unique" ref="g86c0f70d0c2b5de2d876edf4b693b5b9" args="(krb5_context context, const char *type, const char *hint, krb5_ccache *id)" --> +</div> +<a id="ga86c0f70d0c2b5de2d876edf4b693b5b9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga86c0f70d0c2b5de2d876edf4b693b5b9">◆ </a></span>krb5_cc_new_unique()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_new_unique </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_new_unique </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>hint</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>hint</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Generates a new unique ccache of `type` in `id'. If `type' is NULL, the library chooses the default credential cache type. The supplied `hint' (that can be NULL) is a string that the credential cache type can use to base the name of the credential on, this is to make it easier for the user to differentiate the credentials.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Generates a new unique ccache of <code>type</code> in `id'. If `type' is NULL, the library chooses the default credential cache type. The supplied `hint' (that can be NULL) is a string that the credential cache type can use to base the name of the credential on, this is to make it easier for the user to differentiate the credentials.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd9cd0ebcc7bdf3ca2b0ed166ea2f8df6"></a><!-- doxytag: member="cache.c::krb5_cc_next_cred" ref="gd9cd0ebcc7bdf3ca2b0ed166ea2f8df6" args="(krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor, krb5_creds *creds)" --> +</div> +<a id="gad9cd0ebcc7bdf3ca2b0ed166ea2f8df6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad9cd0ebcc7bdf3ca2b0ed166ea2f8df6">◆ </a></span>krb5_cc_next_cred()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_next_cred </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_next_cred </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">const krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cc_cursor * </td> - <td class="paramname"> <em>cursor</em>, </td> + <td class="paramtype">krb5_cc_cursor * </td> + <td class="paramname"><em>cursor</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Retrieve the next cred pointed to by (`id', `cursor') in `creds' and advance `cursor'.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Retrieve the next cred pointed to by (`id', `cursor') in `creds' and advance `cursor'.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc3a45bff840e57a9675d51c1fee6c2e8"></a><!-- doxytag: member="cache.c::krb5_cc_register" ref="gc3a45bff840e57a9675d51c1fee6c2e8" args="(krb5_context context, const krb5_cc_ops *ops, krb5_boolean override)" --> +</div> +<a id="gac3a45bff840e57a9675d51c1fee6c2e8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac3a45bff840e57a9675d51c1fee6c2e8">◆ </a></span>krb5_cc_register()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_register </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_register </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_cc_ops * </td> - <td class="paramname"> <em>ops</em>, </td> + <td class="paramtype">const krb5_cc_ops * </td> + <td class="paramname"><em>ops</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>override</em></td><td> </td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>override</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Add a new ccache type with operations `ops', overwriting any existing one if `override'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ops</em> </td><td>type of plugin symbol </td></tr> - <tr><td valign="top"></td><td valign="top"><em>override</em> </td><td>flag to select if the registration is to overide an existing ops with the same name.</td></tr> +</div><div class="memdoc"> +<p>Add a new ccache type with operations `ops', overwriting any existing one if `override'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">ops</td><td>type of plugin symbol </td></tr> + <tr><td class="paramname">override</td><td>flag to select if the registration is to overide an existing ops with the same name.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g46126e8ea4420b494fd7f5c8dc7a5fda"></a><!-- doxytag: member="cache.c::krb5_cc_remove_cred" ref="g46126e8ea4420b494fd7f5c8dc7a5fda" args="(krb5_context context, krb5_ccache id, krb5_flags which, krb5_creds *cred)" --> +</div> +<a id="ga46126e8ea4420b494fd7f5c8dc7a5fda"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga46126e8ea4420b494fd7f5c8dc7a5fda">◆ </a></span>krb5_cc_remove_cred()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_remove_cred </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_remove_cred </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>which</em>, </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>which</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>cred</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>cred</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Remove the credential identified by `cred', `which' from `id'. </p> -<p> -Remove the credential identified by `cred', `which' from `id'. </div> -</div><p> -<a class="anchor" name="ge8ab9d6f4af5710dab860f2806a7d13b"></a><!-- doxytag: member="cache.c::krb5_cc_resolve" ref="ge8ab9d6f4af5710dab860f2806a7d13b" args="(krb5_context context, const char *name, krb5_ccache *id)" --> +</div> +<a id="gae8ab9d6f4af5710dab860f2806a7d13b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae8ab9d6f4af5710dab860f2806a7d13b">◆ </a></span>krb5_cc_resolve()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_resolve </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_resolve </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Find and allocate a ccache in `id' from the specification in `residual'. If the ccache name doesn't contain any colon, interpret it as a file name.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>string name of a credential cache. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>return pointer to a found credential cache.</td></tr> +</div><div class="memdoc"> +<p>Find and allocate a ccache in `id' from the specification in `residual'. If the ccache name doesn't contain any colon, interpret it as a file name.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">name</td><td>string name of a credential cache. </td></tr> + <tr><td class="paramname">id</td><td>return pointer to a found credential cache.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return 0 or an error code. In case of an error, id is set to NULL, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return 0 or an error code. In case of an error, id is set to NULL, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g7ae6118dc052a0b5fbae2e73596b9cf7"></a><!-- doxytag: member="cache.c::krb5_cc_retrieve_cred" ref="g7ae6118dc052a0b5fbae2e73596b9cf7" args="(krb5_context context, krb5_ccache id, krb5_flags whichfields, const krb5_creds *mcreds, krb5_creds *creds)" --> +</div> +<a id="ga7ae6118dc052a0b5fbae2e73596b9cf7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7ae6118dc052a0b5fbae2e73596b9cf7">◆ </a></span>krb5_cc_retrieve_cred()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_retrieve_cred </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_retrieve_cred </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>whichfields</em>, </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>whichfields</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_creds * </td> - <td class="paramname"> <em>mcreds</em>, </td> + <td class="paramtype">const krb5_creds * </td> + <td class="paramname"><em>mcreds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Retrieve the credential identified by `mcreds' (and `whichfields') from `id' in `creds'. 'creds' must be free by the caller using krb5_free_cred_contents.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a Kerberos 5 credential cache </td></tr> - <tr><td valign="top"></td><td valign="top"><em>whichfields</em> </td><td>what fields to use for matching credentials, same flags as whichfields in <a class="el" href="group__krb5.html#g45afc77b07b201272eeeaad9890b63cf">krb5_compare_creds()</a> </td></tr> - <tr><td valign="top"></td><td valign="top"><em>mcreds</em> </td><td>template credential to use for comparing </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>returned credential, free with <a class="el" href="group__krb5.html#gd89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents()</a></td></tr> +</div><div class="memdoc"> +<p>Retrieve the credential identified by `mcreds' (and `whichfields') from `id' in `creds'. 'creds' must be free by the caller using krb5_free_cred_contents.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">id</td><td>a Kerberos 5 credential cache </td></tr> + <tr><td class="paramname">whichfields</td><td>what fields to use for matching credentials, same flags as whichfields in <a class="el" href="group__krb5.html#ga45afc77b07b201272eeeaad9890b63cf">krb5_compare_creds()</a> </td></tr> + <tr><td class="paramname">mcreds</td><td>template credential to use for comparing </td></tr> + <tr><td class="paramname">creds</td><td>returned credential, free with <a class="el" href="group__krb5.html#gad89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g562a222918f31fb27ba2060af2ae315b"></a><!-- doxytag: member="cache.c::krb5_cc_set_config" ref="g562a222918f31fb27ba2060af2ae315b" args="(krb5_context context, krb5_ccache id, krb5_const_principal principal, const char *name, krb5_data *data)" --> +</div> +<a id="ga562a222918f31fb27ba2060af2ae315b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga562a222918f31fb27ba2060af2ae315b">◆ </a></span>krb5_cc_set_config()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_config </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_config </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store some configuration for the credential cache in the cache. Existing configuration under the same name is over-written.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the credential cache to store the data for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>configuration for a specific principal, if NULL, global for the whole cache. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name under which the configuraion is stored. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>data to store, if NULL, configure is removed. </td></tr> +</div><div class="memdoc"> +<p>Store some configuration for the credential cache in the cache. Existing configuration under the same name is over-written.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">id</td><td>the credential cache to store the data for </td></tr> + <tr><td class="paramname">principal</td><td>configuration for a specific principal, if NULL, global for the whole cache. </td></tr> + <tr><td class="paramname">name</td><td>name under which the configuraion is stored. </td></tr> + <tr><td class="paramname">data</td><td>data to store, if NULL, configure is removed. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g86c6699db4cbdcf18f42add005040941"></a><!-- doxytag: member="cache.c::krb5_cc_set_default_name" ref="g86c6699db4cbdcf18f42add005040941" args="(krb5_context context, const char *name)" --> +</div> +<a id="ga86c6699db4cbdcf18f42add005040941"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga86c6699db4cbdcf18f42add005040941">◆ </a></span>krb5_cc_set_default_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_default_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_default_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Set the default cc name for `context' to `name'. </p> -<p> -Set the default cc name for `context' to `name'. </div> -</div><p> -<a class="anchor" name="g289cc14cd4b24c5f30031f9bd17db857"></a><!-- doxytag: member="cache.c::krb5_cc_set_flags" ref="g289cc14cd4b24c5f30031f9bd17db857" args="(krb5_context context, krb5_ccache id, krb5_flags flags)" --> +</div> +<a id="ga289cc14cd4b24c5f30031f9bd17db857"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga289cc14cd4b24c5f30031f9bd17db857">◆ </a></span>krb5_cc_set_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_flags </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_flags </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>flags</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Set the flags of `id' to `flags'. </p> -<p> -Set the flags of `id' to `flags'. </div> -</div><p> -<a class="anchor" name="gc0765d91e9cc8936dc8fcbd0abddcb78"></a><!-- doxytag: member="cache.c::krb5_cc_set_friendly_name" ref="gc0765d91e9cc8936dc8fcbd0abddcb78" args="(krb5_context context, krb5_ccache id, const char *name)" --> +</div> +<a id="gac0765d91e9cc8936dc8fcbd0abddcb78"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac0765d91e9cc8936dc8fcbd0abddcb78">◆ </a></span>krb5_cc_set_friendly_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_friendly_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_friendly_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the friendly name on credential cache.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Set the friendly name on credential cache.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g51ceb3c48f1c1abc73beadb5d6f34621"></a><!-- doxytag: member="cache.c::krb5_cc_set_kdc_offset" ref="g51ceb3c48f1c1abc73beadb5d6f34621" args="(krb5_context context, krb5_ccache id, krb5_deltat offset)" --> +</div> +<a id="ga51ceb3c48f1c1abc73beadb5d6f34621"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga51ceb3c48f1c1abc73beadb5d6f34621">◆ </a></span>krb5_cc_set_kdc_offset()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_kdc_offset </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_set_kdc_offset </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_deltat </td> - <td class="paramname"> <em>offset</em></td><td> </td> + <td class="paramtype">krb5_deltat </td> + <td class="paramname"><em>offset</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the time offset betwen the client and the KDC<p> -If the backend doesn't support KDC offset, use the context global setting.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a credential cache </td></tr> - <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>the offset in seconds</td></tr> +</div><div class="memdoc"> +<p>Set the time offset betwen the client and the KDC</p> +<p>If the backend doesn't support KDC offset, use the context global setting.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">id</td><td>a credential cache </td></tr> + <tr><td class="paramname">offset</td><td>the offset in seconds</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gcbf766cea6b49dd64b76628c7708b979"></a><!-- doxytag: member="cache.c::krb5_cc_start_seq_get" ref="gcbf766cea6b49dd64b76628c7708b979" args="(krb5_context context, const krb5_ccache id, krb5_cc_cursor *cursor)" --> +</div> +<a id="gacbf766cea6b49dd64b76628c7708b979"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gacbf766cea6b49dd64b76628c7708b979">◆ </a></span>krb5_cc_start_seq_get()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_start_seq_get </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_start_seq_get </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">const krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cc_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_cc_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Start iterating over `id', `cursor' is initialized to the beginning. Caller must free the cursor with <a class="el" href="group__krb5__ccache.html#g024ce036ebf277f918354d4681bd0550">krb5_cc_end_seq_get()</a>.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Start iterating over `id', `cursor' is initialized to the beginning. Caller must free the cursor with <a class="el" href="group__krb5__ccache.html#ga024ce036ebf277f918354d4681bd0550">krb5_cc_end_seq_get()</a>.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g7092b498b9acfab73491d9b15c1bc821"></a><!-- doxytag: member="cache.c::krb5_cc_store_cred" ref="g7092b498b9acfab73491d9b15c1bc821" args="(krb5_context context, krb5_ccache id, krb5_creds *creds)" --> +</div> +<a id="ga7092b498b9acfab73491d9b15c1bc821"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7092b498b9acfab73491d9b15c1bc821">◆ </a></span>krb5_cc_store_cred()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_store_cred </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_store_cred </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store `creds' in the ccache `id'.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Store `creds' in the ccache `id'.</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g52344bb9dee620b5e386a9dd3c996e0f"></a><!-- doxytag: member="cache.c::krb5_cc_support_switch" ref="g52344bb9dee620b5e386a9dd3c996e0f" args="(krb5_context context, const char *type)" --> +</div> +<a id="ga52344bb9dee620b5e386a9dd3c996e0f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga52344bb9dee620b5e386a9dd3c996e0f">◆ </a></span>krb5_cc_support_switch()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_cc_support_switch </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_cc_support_switch </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>type</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>type</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Return true if the default credential cache support switch </p> -<p> -Return true if the default credential cache support switch </div> -</div><p> -<a class="anchor" name="gc2b41cdf638a1ec3d0fd4e72d7b71f3a"></a><!-- doxytag: member="cache.c::krb5_cc_switch" ref="gc2b41cdf638a1ec3d0fd4e72d7b71f3a" args="(krb5_context context, krb5_ccache id)" --> +</div> +<a id="gac2b41cdf638a1ec3d0fd4e72d7b71f3a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac2b41cdf638a1ec3d0fd4e72d7b71f3a">◆ </a></span>krb5_cc_switch()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_switch </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cc_switch </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Switch the default default credential cache for a specific credcache type (and name for some implementations).<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +</div><div class="memdoc"> +<p>Switch the default default credential cache for a specific credcache type (and name for some implementations).</p> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g45efd722e955444f3d6083966446fd54"></a><!-- doxytag: member="cache.c::krb5_cccol_cursor_free" ref="g45efd722e955444f3d6083966446fd54" args="(krb5_context context, krb5_cccol_cursor *cursor)" --> +</div> +<a id="ga45efd722e955444f3d6083966446fd54"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga45efd722e955444f3d6083966446fd54">◆ </a></span>krb5_cccol_cursor_free()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_free </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_free </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cccol_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_cccol_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -End an iteration and free all resources, can be done before end is reached.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>the iteration cursor to be freed.</td></tr> +</div><div class="memdoc"> +<p>End an iteration and free all resources, can be done before end is reached.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">cursor</td><td>the iteration cursor to be freed.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return 0 or and error, KRB5_CC_END is returned at the end of iteration. See krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return 0 or and error, KRB5_CC_END is returned at the end of iteration. See <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g06b59cb27291f73994294ac9567c5d9b"></a><!-- doxytag: member="cache.c::krb5_cccol_cursor_new" ref="g06b59cb27291f73994294ac9567c5d9b" args="(krb5_context context, krb5_cccol_cursor *cursor)" --> +</div> +<a id="ga06b59cb27291f73994294ac9567c5d9b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga06b59cb27291f73994294ac9567c5d9b">◆ </a></span>krb5_cccol_cursor_new()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_new </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_new </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cccol_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_cccol_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get a new cache interation cursor that will interate over all credentials caches independent of type.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>passed into <a class="el" href="group__krb5__ccache.html#g3f1e7d611a7e16c9d7f1d2f171b72542">krb5_cccol_cursor_next()</a> and free with <a class="el" href="group__krb5__ccache.html#g45efd722e955444f3d6083966446fd54">krb5_cccol_cursor_free()</a>.</td></tr> +</div><div class="memdoc"> +<p>Get a new cache interation cursor that will interate over all credentials caches independent of type.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">cursor</td><td>passed into <a class="el" href="group__krb5__ccache.html#ga3f1e7d611a7e16c9d7f1d2f171b72542">krb5_cccol_cursor_next()</a> and free with <a class="el" href="group__krb5__ccache.html#ga45efd722e955444f3d6083966446fd54">krb5_cccol_cursor_free()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 or and error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 or and error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3f1e7d611a7e16c9d7f1d2f171b72542"></a><!-- doxytag: member="cache.c::krb5_cccol_cursor_next" ref="g3f1e7d611a7e16c9d7f1d2f171b72542" args="(krb5_context context, krb5_cccol_cursor cursor, krb5_ccache *cache)" --> +</div> +<a id="ga3f1e7d611a7e16c9d7f1d2f171b72542"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3f1e7d611a7e16c9d7f1d2f171b72542">◆ </a></span>krb5_cccol_cursor_next()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_next </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_cursor_next </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cccol_cursor </td> - <td class="paramname"> <em>cursor</em>, </td> + <td class="paramtype">krb5_cccol_cursor </td> + <td class="paramname"><em>cursor</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache * </td> - <td class="paramname"> <em>cache</em></td><td> </td> + <td class="paramtype">krb5_ccache * </td> + <td class="paramname"><em>cache</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get next credential cache from the iteration.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>the iteration cursor </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cache</em> </td><td>the returned cursor, pointer is set to NULL on failure and a cache on success. The returned cache needs to be freed with <a class="el" href="group__krb5__ccache.html#gebc0dd2a77529c05fb49e27235da7017">krb5_cc_close()</a> or destroyed with <a class="el" href="group__krb5__ccache.html#g3115bcccd71594374831caa9a07b1290">krb5_cc_destroy()</a>. MIT Kerberos behavies slightly diffrent and sets cache to NULL when all caches are iterated over and return 0.</td></tr> +</div><div class="memdoc"> +<p>Get next credential cache from the iteration.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">cursor</td><td>the iteration cursor </td></tr> + <tr><td class="paramname">cache</td><td>the returned cursor, pointer is set to NULL on failure and a cache on success. The returned cache needs to be freed with <a class="el" href="group__krb5__ccache.html#gaebc0dd2a77529c05fb49e27235da7017">krb5_cc_close()</a> or destroyed with <a class="el" href="group__krb5__ccache.html#ga3115bcccd71594374831caa9a07b1290">krb5_cc_destroy()</a>. MIT Kerberos behavies slightly diffrent and sets cache to NULL when all caches are iterated over and return 0.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return 0 or and error, KRB5_CC_END is returned at the end of iteration. See krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return 0 or and error, KRB5_CC_END is returned at the end of iteration. See <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g058a08546f002063625d22a3ebc94897"></a><!-- doxytag: member="cache.c::krb5_cccol_last_change_time" ref="g058a08546f002063625d22a3ebc94897" args="(krb5_context context, const char *type, krb5_timestamp *mtime)" --> +</div> +<a id="ga058a08546f002063625d22a3ebc94897"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga058a08546f002063625d22a3ebc94897">◆ </a></span>krb5_cccol_last_change_time()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_last_change_time </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cccol_last_change_time </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_timestamp * </td> - <td class="paramname"> <em>mtime</em></td><td> </td> + <td class="paramtype">krb5_timestamp * </td> + <td class="paramname"><em>mtime</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the last modfication time for a cache collection. The query can be limited to a specific cache type. If the function return 0 and mtime is 0, there was no credentials in the caches.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>The credential cache to probe, if NULL, all type are traversed. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>mtime</em> </td><td>the last modification time, set to 0 on error.</td></tr> +</div><div class="memdoc"> +<p>Return the last modfication time for a cache collection. The query can be limited to a specific cache type. If the function return 0 and mtime is 0, there was no credentials in the caches.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">type</td><td>The credential cache to probe, if NULL, all type are traversed. </td></tr> + <tr><td class="paramname">mtime</td><td>the last modification time, set to 0 on error.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return 0 or and error. See krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return 0 or and error. See <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g00aae24e7570d1aea954c173287900bc"></a><!-- doxytag: member="verify_init.c::krb5_get_validated_creds" ref="g00aae24e7570d1aea954c173287900bc" args="(krb5_context context, krb5_creds *creds, krb5_principal client, krb5_ccache ccache, char *service)" --> +</div> +<a id="ga00aae24e7570d1aea954c173287900bc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga00aae24e7570d1aea954c173287900bc">◆ </a></span>krb5_get_validated_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_validated_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_validated_creds </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>client</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>service</em></td><td> </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>service</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Validate the newly fetch credential, see also krb5_verify_init_creds().<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the credentials to verify </td></tr> - <tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>the client name to match up </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ccache</em> </td><td>the credential cache to use </td></tr> - <tr><td valign="top"></td><td valign="top"><em>service</em> </td><td>a service name to use, used with <a class="el" href="group__krb5__principal.html#g8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal()</a> to build a hostname to use to verify. </td></tr> +</div><div class="memdoc"> +<p>Validate the newly fetch credential, see also krb5_verify_init_creds().</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">creds</td><td>the credentials to verify </td></tr> + <tr><td class="paramname">client</td><td>the client name to match up </td></tr> + <tr><td class="paramname">ccache</td><td>the credential cache to use </td></tr> + <tr><td class="paramname">service</td><td>a service name to use, used with <a class="el" href="group__krb5__principal.html#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal()</a> to build a hostname to use to verify. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g7aae400e0b7a263ed7de884ed0a433be"></a><!-- doxytag: member="cache.c::krb5_is_config_principal" ref="g7aae400e0b7a263ed7de884ed0a433be" args="(krb5_context context, krb5_const_principal principal)" --> +</div> +<a id="ga7aae400e0b7a263ed7de884ed0a433be"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7aae400e0b7a263ed7de884ed0a433be">◆ </a></span>krb5_is_config_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_config_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_config_principal </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return TRUE (non zero) if the principal is a configuration principal (generated part of <a class="el" href="group__krb5__ccache.html#g562a222918f31fb27ba2060af2ae315b">krb5_cc_set_config()</a>). Returns FALSE (zero) if not a configuration principal.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to check if it a configuration principal </td></tr> +</div><div class="memdoc"> +<p>Return TRUE (non zero) if the principal is a configuration principal (generated part of <a class="el" href="group__krb5__ccache.html#ga562a222918f31fb27ba2060af2ae315b">krb5_cc_set_config()</a>). Returns FALSE (zero) if not a configuration principal.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">principal</td><td>principal to check if it a configuration principal </td></tr> </table> + </dd> </dl> </div> -</div><p> -<hr><h2>Variable Documentation</h2> -<a class="anchor" name="g6e72d7bbecc876f7265e4b20f087e04f"></a><!-- doxytag: member="acache.c::krb5_acc_ops" ref="g6e72d7bbecc876f7265e4b20f087e04f" args="" --> +</div> +<h2 class="groupheader">Variable Documentation</h2> +<a id="ga6e72d7bbecc876f7265e4b20f087e04f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6e72d7bbecc876f7265e4b20f087e04f">◆ </a></span>krb5_acc_ops</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_VARIABLE const krb5_cc_ops <a class="el" href="group__krb5__ccache.html#g6e72d7bbecc876f7265e4b20f087e04f">krb5_acc_ops</a> </td> + <td class="memname">KRB5_LIB_VARIABLE const krb5_cc_ops krb5_acc_ops</td> </tr> </table> +</div><div class="memdoc"> +<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line"> KRB5_CC_OPS_VERSION,</div><div class="line"> <span class="stringliteral">"API"</span>,</div><div class="line"> acc_get_name,</div><div class="line"> acc_resolve,</div><div class="line"> acc_gen_new,</div><div class="line"> acc_initialize,</div><div class="line"> acc_destroy,</div><div class="line"> acc_close,</div><div class="line"> acc_store_cred,</div><div class="line"> NULL, </div><div class="line"> acc_get_principal,</div><div class="line"> acc_get_first,</div><div class="line"> acc_get_next,</div><div class="line"> acc_end_get,</div><div class="line"> acc_remove_cred,</div><div class="line"> acc_set_flags,</div><div class="line"> acc_get_version,</div><div class="line"> acc_get_cache_first,</div><div class="line"> acc_get_cache_next,</div><div class="line"> acc_end_cache_get,</div><div class="line"> acc_move,</div><div class="line"> acc_get_default_name,</div><div class="line"> acc_set_default,</div><div class="line"> acc_lastchange,</div><div class="line"> NULL,</div><div class="line"> NULL,</div><div class="line">}</div></div><!-- fragment --><p>Variable containing the API based credential cache implemention. </p> + </div> -<div class="memdoc"> +</div> +<a id="ga5a9afb79914fce3cf4afd07e03ff90c6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5a9afb79914fce3cf4afd07e03ff90c6">◆ </a></span>krb5_dcc_ops</h2> -<p> -<b>Initial value:</b><div class="fragment"><pre class="fragment"> { - KRB5_CC_OPS_VERSION, - <span class="stringliteral">"API"</span>, - acc_get_name, - acc_resolve, - acc_gen_new, - acc_initialize, - acc_destroy, - acc_close, - acc_store_cred, - NULL, - acc_get_principal, - acc_get_first, - acc_get_next, - acc_end_get, - acc_remove_cred, - acc_set_flags, - acc_get_version, - acc_get_cache_first, - acc_get_cache_next, - acc_end_cache_get, - acc_move, - acc_get_default_name, - acc_set_default, - acc_lastchange, - NULL, - NULL, -} -</pre></div>Variable containing the API based credential cache implemention. -</div> -</div><p> -<a class="anchor" name="gff6f544b45b0b7662443e70609527702"></a><!-- doxytag: member="fcache.c::krb5_fcc_ops" ref="gff6f544b45b0b7662443e70609527702" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_VARIABLE const krb5_cc_ops <a class="el" href="group__krb5__ccache.html#gff6f544b45b0b7662443e70609527702">krb5_fcc_ops</a> </td> + <td class="memname">KRB5_LIB_VARIABLE const krb5_cc_ops krb5_dcc_ops</td> </tr> </table> +</div><div class="memdoc"> +<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line"> KRB5_CC_OPS_VERSION,</div><div class="line"> <span class="stringliteral">"DIR"</span>,</div><div class="line"> dcc_get_name,</div><div class="line"> dcc_resolve,</div><div class="line"> dcc_gen_new,</div><div class="line"> dcc_initialize,</div><div class="line"> dcc_destroy,</div><div class="line"> dcc_close,</div><div class="line"> dcc_store_cred,</div><div class="line"> NULL, </div><div class="line"> dcc_get_principal,</div><div class="line"> dcc_get_first,</div><div class="line"> dcc_get_next,</div><div class="line"> dcc_end_get,</div><div class="line"> dcc_remove_cred,</div><div class="line"> dcc_set_flags,</div><div class="line"> dcc_get_version,</div><div class="line"> dcc_get_cache_first,</div><div class="line"> dcc_get_cache_next,</div><div class="line"> dcc_end_cache_get,</div><div class="line"> dcc_move,</div><div class="line"> dcc_get_default_name,</div><div class="line"> dcc_set_default,</div><div class="line"> dcc_lastchange,</div><div class="line"> dcc_set_kdc_offset,</div><div class="line"> dcc_get_kdc_offset</div><div class="line">}</div></div><!-- fragment --><p>Variable containing the DIR based credential cache implemention. </p> + +</div> </div> -<div class="memdoc"> +<a id="gaff6f544b45b0b7662443e70609527702"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaff6f544b45b0b7662443e70609527702">◆ </a></span>krb5_fcc_ops</h2> -<p> -<b>Initial value:</b><div class="fragment"><pre class="fragment"> { - KRB5_CC_OPS_VERSION, - <span class="stringliteral">"FILE"</span>, - fcc_get_name, - fcc_resolve, - fcc_gen_new, - fcc_initialize, - fcc_destroy, - fcc_close, - fcc_store_cred, - NULL, - fcc_get_principal, - fcc_get_first, - fcc_get_next, - fcc_end_get, - fcc_remove_cred, - fcc_set_flags, - fcc_get_version, - fcc_get_cache_first, - fcc_get_cache_next, - fcc_end_cache_get, - fcc_move, - fcc_get_default_name, - NULL, - fcc_lastchange, - fcc_set_kdc_offset, - fcc_get_kdc_offset -} -</pre></div>Variable containing the FILE based credential cache implemention. -</div> -</div><p> -<a class="anchor" name="g4b23b96d2f610d79c642d516eb4d067c"></a><!-- doxytag: member="mcache.c::krb5_mcc_ops" ref="g4b23b96d2f610d79c642d516eb4d067c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_VARIABLE const krb5_cc_ops <a class="el" href="group__krb5__ccache.html#g4b23b96d2f610d79c642d516eb4d067c">krb5_mcc_ops</a> </td> + <td class="memname">KRB5_LIB_VARIABLE const krb5_cc_ops krb5_fcc_ops</td> </tr> </table> +</div><div class="memdoc"> +<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line"> KRB5_CC_OPS_VERSION,</div><div class="line"> <span class="stringliteral">"FILE"</span>,</div><div class="line"> fcc_get_name,</div><div class="line"> fcc_resolve,</div><div class="line"> fcc_gen_new,</div><div class="line"> fcc_initialize,</div><div class="line"> fcc_destroy,</div><div class="line"> fcc_close,</div><div class="line"> fcc_store_cred,</div><div class="line"> NULL, </div><div class="line"> fcc_get_principal,</div><div class="line"> fcc_get_first,</div><div class="line"> fcc_get_next,</div><div class="line"> fcc_end_get,</div><div class="line"> fcc_remove_cred,</div><div class="line"> fcc_set_flags,</div><div class="line"> fcc_get_version,</div><div class="line"> fcc_get_cache_first,</div><div class="line"> fcc_get_cache_next,</div><div class="line"> fcc_end_cache_get,</div><div class="line"> fcc_move,</div><div class="line"> fcc_get_default_name,</div><div class="line"> NULL,</div><div class="line"> fcc_lastchange,</div><div class="line"> fcc_set_kdc_offset,</div><div class="line"> fcc_get_kdc_offset</div><div class="line">}</div></div><!-- fragment --><p>Variable containing the FILE based credential cache implemention. </p> + +</div> </div> -<div class="memdoc"> +<a id="ga4b23b96d2f610d79c642d516eb4d067c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4b23b96d2f610d79c642d516eb4d067c">◆ </a></span>krb5_mcc_ops</h2> -<p> -<b>Initial value:</b><div class="fragment"><pre class="fragment"> { - KRB5_CC_OPS_VERSION, - <span class="stringliteral">"MEMORY"</span>, - mcc_get_name, - mcc_resolve, - mcc_gen_new, - mcc_initialize, - mcc_destroy, - mcc_close, - mcc_store_cred, - NULL, - mcc_get_principal, - mcc_get_first, - mcc_get_next, - mcc_end_get, - mcc_remove_cred, - mcc_set_flags, - NULL, - mcc_get_cache_first, - mcc_get_cache_next, - mcc_end_cache_get, - mcc_move, - mcc_default_name, - NULL, - mcc_lastchange, - mcc_set_kdc_offset, - mcc_get_kdc_offset -} -</pre></div>Variable containing the MEMORY based credential cache implemention. -</div> -</div><p> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_VARIABLE const krb5_cc_ops krb5_mcc_ops</td> + </tr> + </table> +</div><div class="memdoc"> +<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line"> KRB5_CC_OPS_VERSION,</div><div class="line"> <span class="stringliteral">"MEMORY"</span>,</div><div class="line"> mcc_get_name,</div><div class="line"> mcc_resolve,</div><div class="line"> mcc_gen_new,</div><div class="line"> mcc_initialize,</div><div class="line"> mcc_destroy,</div><div class="line"> mcc_close,</div><div class="line"> mcc_store_cred,</div><div class="line"> NULL, </div><div class="line"> mcc_get_principal,</div><div class="line"> mcc_get_first,</div><div class="line"> mcc_get_next,</div><div class="line"> mcc_end_get,</div><div class="line"> mcc_remove_cred,</div><div class="line"> mcc_set_flags,</div><div class="line"> NULL,</div><div class="line"> mcc_get_cache_first,</div><div class="line"> mcc_get_cache_next,</div><div class="line"> mcc_end_cache_get,</div><div class="line"> mcc_move,</div><div class="line"> mcc_default_name,</div><div class="line"> NULL,</div><div class="line"> mcc_lastchange,</div><div class="line"> mcc_set_kdc_offset,</div><div class="line"> mcc_get_kdc_offset</div><div class="line">}</div></div><!-- fragment --><p>Variable containing the MEMORY based credential cache implemention. </p> + +</div> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:48 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__credential.html b/doc/doxyout/krb5/html/group__krb5__credential.html index 5dc2150ba099..7bb90e4360e3 100644 --- a/doc/doxyout/krb5/html/group__krb5__credential.html +++ b/doc/doxyout/krb5/html/group__krb5__credential.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 credential handing functions</title> +<title>Heimdal Kerberos 5 credential handing functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,851 +8,839 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 credential handing functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 credential handing functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g7335efb74572151bb521c367c39b7a4a">krb5_fwd_tgt_creds</a> (krb5_context context, krb5_auth_context auth_context, const char *hostname, krb5_principal client, krb5_principal server, krb5_ccache ccache, int forwardable, krb5_data *out_data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g6429a273ae5ed0d9333a22f5b5f1f42a">krb5_get_forwarded_creds</a> (krb5_context context, krb5_auth_context auth_context, krb5_ccache ccache, krb5_flags flags, const char *hostname, krb5_creds *in_creds, krb5_data *out_data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gbc0922393cb5c5eecec2d83f1851c21b">krb5_get_init_creds_opt_alloc</a> (krb5_context context, krb5_get_init_creds_opt **opt)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g2be2f013c88153be9535c17a2b16f336">krb5_get_init_creds_opt_free</a> (krb5_context context, krb5_get_init_creds_opt *opt)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g1a610bb2706e4048e8220225da110033">krb5_init_creds_init</a> (krb5_context context, krb5_principal client, krb5_prompter_fct prompter, void *prompter_data, krb5_deltat start_time, krb5_get_init_creds_opt *options, krb5_init_creds_context *rctx)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g71f386b20c42540d4e733eeb7c0cb18e">krb5_init_creds_set_service</a> (krb5_context context, krb5_init_creds_context ctx, const char *service)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g0a1d093a3c43b57b5e84206e73441d68">krb5_init_creds_set_password</a> (krb5_context context, krb5_init_creds_context ctx, const char *password)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gb80179f38c8cc87627752d5db22c8203">krb5_init_creds_set_keytab</a> (krb5_context context, krb5_init_creds_context ctx, krb5_keytab keytab)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g9b1f54a05b9e7b60bef0c7d5f40b351b">krb5_init_creds_step</a> (krb5_context context, krb5_init_creds_context ctx, krb5_data *in, krb5_data *out, krb5_krbhst_info *hostinfo, unsigned int *flags)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gb5b9ab4698f5af99c06dbcc015c39e27">krb5_init_creds_get_error</a> (krb5_context context, krb5_init_creds_context ctx, KRB_ERROR *error)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gf878f5715a3048995f175c09e95a3a71">krb5_init_creds_free</a> (krb5_context context, krb5_init_creds_context ctx)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gb1716df7cb25ebea9bbf652094970bce">krb5_init_creds_get</a> (krb5_context context, krb5_init_creds_context ctx)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ge7e4852f19e7f83bd743952491d1f4b1">krb5_get_init_creds_password</a> (krb5_context context, krb5_creds *creds, krb5_principal client, const char *password, krb5_prompter_fct prompter, void *data, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g32573c317cca5198b04550d753b369a1">krb5_get_init_creds_keyblock</a> (krb5_context context, krb5_creds *creds, krb5_principal client, krb5_keyblock *keyblock, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#g83e4a8a74b08522bd778c2d59ef1f2b6">krb5_get_init_creds_keytab</a> (krb5_context context, krb5_creds *creds, krb5_principal client, krb5_keytab keytab, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga7335efb74572151bb521c367c39b7a4a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga7335efb74572151bb521c367c39b7a4a">krb5_fwd_tgt_creds</a> (krb5_context context, krb5_auth_context auth_context, const char *hostname, krb5_principal client, krb5_principal server, krb5_ccache ccache, int forwardable, krb5_data *out_data)</td></tr> +<tr class="separator:ga7335efb74572151bb521c367c39b7a4a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6429a273ae5ed0d9333a22f5b5f1f42a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga6429a273ae5ed0d9333a22f5b5f1f42a">krb5_get_forwarded_creds</a> (krb5_context context, krb5_auth_context auth_context, krb5_ccache ccache, krb5_flags flags, const char *hostname, krb5_creds *in_creds, krb5_data *out_data)</td></tr> +<tr class="separator:ga6429a273ae5ed0d9333a22f5b5f1f42a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabc0922393cb5c5eecec2d83f1851c21b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gabc0922393cb5c5eecec2d83f1851c21b">krb5_get_init_creds_opt_alloc</a> (krb5_context context, krb5_get_init_creds_opt **opt)</td></tr> +<tr class="separator:gabc0922393cb5c5eecec2d83f1851c21b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2be2f013c88153be9535c17a2b16f336"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga2be2f013c88153be9535c17a2b16f336">krb5_get_init_creds_opt_free</a> (krb5_context context, krb5_get_init_creds_opt *opt)</td></tr> +<tr class="separator:ga2be2f013c88153be9535c17a2b16f336"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1a610bb2706e4048e8220225da110033"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga1a610bb2706e4048e8220225da110033">krb5_init_creds_init</a> (krb5_context context, krb5_principal client, krb5_prompter_fct prompter, void *prompter_data, krb5_deltat start_time, krb5_get_init_creds_opt *options, krb5_init_creds_context *rctx)</td></tr> +<tr class="separator:ga1a610bb2706e4048e8220225da110033"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga71f386b20c42540d4e733eeb7c0cb18e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga71f386b20c42540d4e733eeb7c0cb18e">krb5_init_creds_set_service</a> (krb5_context context, krb5_init_creds_context ctx, const char *service)</td></tr> +<tr class="separator:ga71f386b20c42540d4e733eeb7c0cb18e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0a1d093a3c43b57b5e84206e73441d68"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga0a1d093a3c43b57b5e84206e73441d68">krb5_init_creds_set_password</a> (krb5_context context, krb5_init_creds_context ctx, const char *password)</td></tr> +<tr class="separator:ga0a1d093a3c43b57b5e84206e73441d68"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab80179f38c8cc87627752d5db22c8203"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gab80179f38c8cc87627752d5db22c8203">krb5_init_creds_set_keytab</a> (krb5_context context, krb5_init_creds_context ctx, krb5_keytab keytab)</td></tr> +<tr class="separator:gab80179f38c8cc87627752d5db22c8203"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9b1f54a05b9e7b60bef0c7d5f40b351b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga9b1f54a05b9e7b60bef0c7d5f40b351b">krb5_init_creds_step</a> (krb5_context context, krb5_init_creds_context ctx, krb5_data *in, krb5_data *out, krb5_krbhst_info *hostinfo, unsigned int *flags)</td></tr> +<tr class="separator:ga9b1f54a05b9e7b60bef0c7d5f40b351b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab5b9ab4698f5af99c06dbcc015c39e27"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gab5b9ab4698f5af99c06dbcc015c39e27">krb5_init_creds_get_error</a> (krb5_context context, krb5_init_creds_context ctx, KRB_ERROR *error)</td></tr> +<tr class="separator:gab5b9ab4698f5af99c06dbcc015c39e27"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf878f5715a3048995f175c09e95a3a71"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gaf878f5715a3048995f175c09e95a3a71">krb5_init_creds_free</a> (krb5_context context, krb5_init_creds_context ctx)</td></tr> +<tr class="separator:gaf878f5715a3048995f175c09e95a3a71"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab1716df7cb25ebea9bbf652094970bce"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gab1716df7cb25ebea9bbf652094970bce">krb5_init_creds_get</a> (krb5_context context, krb5_init_creds_context ctx)</td></tr> +<tr class="separator:gab1716df7cb25ebea9bbf652094970bce"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae7e4852f19e7f83bd743952491d1f4b1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#gae7e4852f19e7f83bd743952491d1f4b1">krb5_get_init_creds_password</a> (krb5_context context, krb5_creds *creds, krb5_principal client, const char *password, krb5_prompter_fct prompter, void *data, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)</td></tr> +<tr class="separator:gae7e4852f19e7f83bd743952491d1f4b1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga32573c317cca5198b04550d753b369a1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga32573c317cca5198b04550d753b369a1">krb5_get_init_creds_keyblock</a> (krb5_context context, krb5_creds *creds, krb5_principal client, krb5_keyblock *keyblock, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)</td></tr> +<tr class="separator:ga32573c317cca5198b04550d753b369a1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga83e4a8a74b08522bd778c2d59ef1f2b6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__credential.html#ga83e4a8a74b08522bd778c2d59ef1f2b6">krb5_get_init_creds_keytab</a> (krb5_context context, krb5_creds *creds, krb5_principal client, krb5_keytab keytab, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)</td></tr> +<tr class="separator:ga83e4a8a74b08522bd778c2d59ef1f2b6"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g7335efb74572151bb521c367c39b7a4a"></a><!-- doxytag: member="get_for_creds.c::krb5_fwd_tgt_creds" ref="g7335efb74572151bb521c367c39b7a4a" args="(krb5_context context, krb5_auth_context auth_context, const char *hostname, krb5_principal client, krb5_principal server, krb5_ccache ccache, int forwardable, krb5_data *out_data)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga7335efb74572151bb521c367c39b7a4a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7335efb74572151bb521c367c39b7a4a">◆ </a></span>krb5_fwd_tgt_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_fwd_tgt_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_fwd_tgt_creds </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_auth_context </td> - <td class="paramname"> <em>auth_context</em>, </td> + <td class="paramtype">krb5_auth_context </td> + <td class="paramname"><em>auth_context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>hostname</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>hostname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>client</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>server</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>server</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>forwardable</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>forwardable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>out_data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>out_data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Forward credentials for client to host hostname , making them forwardable if forwardable, and returning the blob of data to sent in out_data. If hostname == NULL, pick it from server.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>auth_context</em> </td><td>the auth context with the key to encrypt the out_data. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>hostname</em> </td><td>the host to forward the tickets too. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>the client to delegate from. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>the server to delegate the credential too. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ccache</em> </td><td>credential cache to use. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>forwardable</em> </td><td>make the forwarded ticket forwabledable. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>out_data</em> </td><td>the resulting credential.</td></tr> +</div><div class="memdoc"> +<p>Forward credentials for client to host hostname , making them forwardable if forwardable, and returning the blob of data to sent in out_data. If hostname == NULL, pick it from server.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A kerberos 5 context. </td></tr> + <tr><td class="paramname">auth_context</td><td>the auth context with the key to encrypt the out_data. </td></tr> + <tr><td class="paramname">hostname</td><td>the host to forward the tickets too. </td></tr> + <tr><td class="paramname">client</td><td>the client to delegate from. </td></tr> + <tr><td class="paramname">server</td><td>the server to delegate the credential too. </td></tr> + <tr><td class="paramname">ccache</td><td>credential cache to use. </td></tr> + <tr><td class="paramname">forwardable</td><td>make the forwarded ticket forwabledable. </td></tr> + <tr><td class="paramname">out_data</td><td>the resulting credential.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6429a273ae5ed0d9333a22f5b5f1f42a"></a><!-- doxytag: member="get_for_creds.c::krb5_get_forwarded_creds" ref="g6429a273ae5ed0d9333a22f5b5f1f42a" args="(krb5_context context, krb5_auth_context auth_context, krb5_ccache ccache, krb5_flags flags, const char *hostname, krb5_creds *in_creds, krb5_data *out_data)" --> +</div> +<a id="ga6429a273ae5ed0d9333a22f5b5f1f42a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6429a273ae5ed0d9333a22f5b5f1f42a">◆ </a></span>krb5_get_forwarded_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_forwarded_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_forwarded_creds </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_auth_context </td> - <td class="paramname"> <em>auth_context</em>, </td> + <td class="paramtype">krb5_auth_context </td> + <td class="paramname"><em>auth_context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>flags</em>, </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>hostname</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>hostname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>in_creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>in_creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>out_data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>out_data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Gets tickets forwarded to hostname. If the tickets that are forwarded are address-less, the forwarded tickets will also be address-less.<p> -If the ticket have any address, hostname will be used for figure out the address to forward the ticket too. This since this might use DNS, its insecure and also doesn't represent configured all addresses of the host. For example, the host might have two adresses, one IPv4 and one IPv6 address where the later is not published in DNS. This IPv6 address might be used communications and thus the resulting ticket useless.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>auth_context</em> </td><td>the auth context with the key to encrypt the out_data. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ccache</em> </td><td>credential cache to use </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>the flags to control the resulting ticket flags </td></tr> - <tr><td valign="top"></td><td valign="top"><em>hostname</em> </td><td>the host to forward the tickets too. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>in_creds</em> </td><td>the in client and server ticket names. The client and server components forwarded to the remote host. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>out_data</em> </td><td>the resulting credential.</td></tr> +</div><div class="memdoc"> +<p>Gets tickets forwarded to hostname. If the tickets that are forwarded are address-less, the forwarded tickets will also be address-less.</p> +<p>If the ticket have any address, hostname will be used for figure out the address to forward the ticket too. This since this might use DNS, its insecure and also doesn't represent configured all addresses of the host. For example, the host might have two adresses, one IPv4 and one IPv6 address where the later is not published in DNS. This IPv6 address might be used communications and thus the resulting ticket useless.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A kerberos 5 context. </td></tr> + <tr><td class="paramname">auth_context</td><td>the auth context with the key to encrypt the out_data. </td></tr> + <tr><td class="paramname">ccache</td><td>credential cache to use </td></tr> + <tr><td class="paramname">flags</td><td>the flags to control the resulting ticket flags </td></tr> + <tr><td class="paramname">hostname</td><td>the host to forward the tickets too. </td></tr> + <tr><td class="paramname">in_creds</td><td>the in client and server ticket names. The client and server components forwarded to the remote host. </td></tr> + <tr><td class="paramname">out_data</td><td>the resulting credential.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> +<p>Some older of the MIT gssapi library used clear-text tickets (warped inside AP-REQ encryption), use the krb5_auth_context flag KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED to support those tickets. The session key is used otherwise to encrypt the forwarded ticket.</p> -<p> -Some older of the MIT gssapi library used clear-text tickets (warped inside AP-REQ encryption), use the krb5_auth_context flag KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED to support those tickets. The session key is used otherwise to encrypt the forwarded ticket. </div> -</div><p> -<a class="anchor" name="g32573c317cca5198b04550d753b369a1"></a><!-- doxytag: member="init_creds_pw.c::krb5_get_init_creds_keyblock" ref="g32573c317cca5198b04550d753b369a1" args="(krb5_context context, krb5_creds *creds, krb5_principal client, krb5_keyblock *keyblock, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)" --> +</div> +<a id="ga32573c317cca5198b04550d753b369a1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga32573c317cca5198b04550d753b369a1">◆ </a></span>krb5_get_init_creds_keyblock()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_keyblock </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_keyblock </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>client</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>keyblock</em>, </td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>keyblock</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_deltat </td> - <td class="paramname"> <em>start_time</em>, </td> + <td class="paramtype">krb5_deltat </td> + <td class="paramname"><em>start_time</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>in_tkt_service</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>in_tkt_service</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_get_init_creds_opt * </td> - <td class="paramname"> <em>options</em></td><td> </td> + <td class="paramtype">krb5_get_init_creds_opt * </td> + <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Get new credentials using keyblock. </p> -<p> -Get new credentials using keyblock. </div> -</div><p> -<a class="anchor" name="g83e4a8a74b08522bd778c2d59ef1f2b6"></a><!-- doxytag: member="init_creds_pw.c::krb5_get_init_creds_keytab" ref="g83e4a8a74b08522bd778c2d59ef1f2b6" args="(krb5_context context, krb5_creds *creds, krb5_principal client, krb5_keytab keytab, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)" --> +</div> +<a id="ga83e4a8a74b08522bd778c2d59ef1f2b6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga83e4a8a74b08522bd778c2d59ef1f2b6">◆ </a></span>krb5_get_init_creds_keytab()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_keytab </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_keytab </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>client</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>keytab</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>keytab</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_deltat </td> - <td class="paramname"> <em>start_time</em>, </td> + <td class="paramtype">krb5_deltat </td> + <td class="paramname"><em>start_time</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>in_tkt_service</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>in_tkt_service</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_get_init_creds_opt * </td> - <td class="paramname"> <em>options</em></td><td> </td> + <td class="paramtype">krb5_get_init_creds_opt * </td> + <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Get new credentials using keytab. </p> -<p> -Get new credentials using keytab. </div> -</div><p> -<a class="anchor" name="gbc0922393cb5c5eecec2d83f1851c21b"></a><!-- doxytag: member="init_creds.c::krb5_get_init_creds_opt_alloc" ref="gbc0922393cb5c5eecec2d83f1851c21b" args="(krb5_context context, krb5_get_init_creds_opt **opt)" --> +</div> +<a id="gabc0922393cb5c5eecec2d83f1851c21b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabc0922393cb5c5eecec2d83f1851c21b">◆ </a></span>krb5_get_init_creds_opt_alloc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_opt_alloc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_opt_alloc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_get_init_creds_opt ** </td> - <td class="paramname"> <em>opt</em></td><td> </td> + <td class="paramtype">krb5_get_init_creds_opt ** </td> + <td class="paramname"><em>opt</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Allocate a new krb5_get_init_creds_opt structure, free with <a class="el" href="group__krb5__credential.html#ga2be2f013c88153be9535c17a2b16f336">krb5_get_init_creds_opt_free()</a>. </p> -<p> -Allocate a new krb5_get_init_creds_opt structure, free with <a class="el" href="group__krb5__credential.html#g2be2f013c88153be9535c17a2b16f336">krb5_get_init_creds_opt_free()</a>. </div> -</div><p> -<a class="anchor" name="g2be2f013c88153be9535c17a2b16f336"></a><!-- doxytag: member="init_creds.c::krb5_get_init_creds_opt_free" ref="g2be2f013c88153be9535c17a2b16f336" args="(krb5_context context, krb5_get_init_creds_opt *opt)" --> +</div> +<a id="ga2be2f013c88153be9535c17a2b16f336"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2be2f013c88153be9535c17a2b16f336">◆ </a></span>krb5_get_init_creds_opt_free()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_get_init_creds_opt_free </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_get_init_creds_opt_free </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_get_init_creds_opt * </td> - <td class="paramname"> <em>opt</em></td><td> </td> + <td class="paramtype">krb5_get_init_creds_opt * </td> + <td class="paramname"><em>opt</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Free krb5_get_init_creds_opt structure. </p> -<p> -Free krb5_get_init_creds_opt structure. </div> -</div><p> -<a class="anchor" name="ge7e4852f19e7f83bd743952491d1f4b1"></a><!-- doxytag: member="init_creds_pw.c::krb5_get_init_creds_password" ref="ge7e4852f19e7f83bd743952491d1f4b1" args="(krb5_context context, krb5_creds *creds, krb5_principal client, const char *password, krb5_prompter_fct prompter, void *data, krb5_deltat start_time, const char *in_tkt_service, krb5_get_init_creds_opt *options)" --> +</div> +<a id="gae7e4852f19e7f83bd743952491d1f4b1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae7e4852f19e7f83bd743952491d1f4b1">◆ </a></span>krb5_get_init_creds_password()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_password </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_password </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>client</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>password</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>password</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_prompter_fct </td> - <td class="paramname"> <em>prompter</em>, </td> + <td class="paramtype">krb5_prompter_fct </td> + <td class="paramname"><em>prompter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_deltat </td> - <td class="paramname"> <em>start_time</em>, </td> + <td class="paramtype">krb5_deltat </td> + <td class="paramname"><em>start_time</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>in_tkt_service</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>in_tkt_service</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_get_init_creds_opt * </td> - <td class="paramname"> <em>options</em></td><td> </td> + <td class="paramtype">krb5_get_init_creds_opt * </td> + <td class="paramname"><em>options</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Get new credentials using password. </p> -<p> -Get new credentials using password. </div> -</div><p> -<a class="anchor" name="gf878f5715a3048995f175c09e95a3a71"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_free" ref="gf878f5715a3048995f175c09e95a3a71" args="(krb5_context context, krb5_init_creds_context ctx)" --> +</div> +<a id="gaf878f5715a3048995f175c09e95a3a71"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf878f5715a3048995f175c09e95a3a71">◆ </a></span>krb5_init_creds_free()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_init_creds_free </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_init_creds_free </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context </td> - <td class="paramname"> <em>ctx</em></td><td> </td> + <td class="paramtype">krb5_init_creds_context </td> + <td class="paramname"><em>ctx</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free the krb5_init_creds_context allocated by <a class="el" href="group__krb5__credential.html#g1a610bb2706e4048e8220225da110033">krb5_init_creds_init()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>The krb5_init_creds_context to free. </td></tr> +</div><div class="memdoc"> +<p>Free the krb5_init_creds_context allocated by <a class="el" href="group__krb5__credential.html#ga1a610bb2706e4048e8220225da110033">krb5_init_creds_init()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>The krb5_init_creds_context to free. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gb1716df7cb25ebea9bbf652094970bce"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_get" ref="gb1716df7cb25ebea9bbf652094970bce" args="(krb5_context context, krb5_init_creds_context ctx)" --> +</div> +<a id="gab1716df7cb25ebea9bbf652094970bce"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab1716df7cb25ebea9bbf652094970bce">◆ </a></span>krb5_init_creds_get()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_get </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_get </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context </td> - <td class="paramname"> <em>ctx</em></td><td> </td> + <td class="paramtype">krb5_init_creds_context </td> + <td class="paramname"><em>ctx</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get new credentials as setup by the krb5_init_creds_context.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>The krb5_init_creds_context to process. </td></tr> +</div><div class="memdoc"> +<p>Get new credentials as setup by the krb5_init_creds_context.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>The krb5_init_creds_context to process. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gb5b9ab4698f5af99c06dbcc015c39e27"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_get_error" ref="gb5b9ab4698f5af99c06dbcc015c39e27" args="(krb5_context context, krb5_init_creds_context ctx, KRB_ERROR *error)" --> +</div> +<a id="gab5b9ab4698f5af99c06dbcc015c39e27"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab5b9ab4698f5af99c06dbcc015c39e27">◆ </a></span>krb5_init_creds_get_error()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_get_error </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_get_error </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context </td> - <td class="paramname"> <em>ctx</em>, </td> + <td class="paramtype">krb5_init_creds_context </td> + <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">KRB_ERROR * </td> - <td class="paramname"> <em>error</em></td><td> </td> + <td class="paramtype">KRB_ERROR * </td> + <td class="paramname"><em>error</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the last error from the transaction.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 or an error code </dd></dl> +</div><div class="memdoc"> +<p>Get the last error from the transaction.</p> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 or an error code </dd></dl> </div> -</div><p> -<a class="anchor" name="g1a610bb2706e4048e8220225da110033"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_init" ref="g1a610bb2706e4048e8220225da110033" args="(krb5_context context, krb5_principal client, krb5_prompter_fct prompter, void *prompter_data, krb5_deltat start_time, krb5_get_init_creds_opt *options, krb5_init_creds_context *rctx)" --> +</div> +<a id="ga1a610bb2706e4048e8220225da110033"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1a610bb2706e4048e8220225da110033">◆ </a></span>krb5_init_creds_init()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_init </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_init </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>client</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>client</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_prompter_fct </td> - <td class="paramname"> <em>prompter</em>, </td> + <td class="paramtype">krb5_prompter_fct </td> + <td class="paramname"><em>prompter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>prompter_data</em>, </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>prompter_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_deltat </td> - <td class="paramname"> <em>start_time</em>, </td> + <td class="paramtype">krb5_deltat </td> + <td class="paramname"><em>start_time</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_get_init_creds_opt * </td> - <td class="paramname"> <em>options</em>, </td> + <td class="paramtype">krb5_get_init_creds_opt * </td> + <td class="paramname"><em>options</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context * </td> - <td class="paramname"> <em>rctx</em></td><td> </td> + <td class="paramtype">krb5_init_creds_context * </td> + <td class="paramname"><em>rctx</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Start a new context to get a new initial credential.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The Kerberos principal to get the credential for, if NULL is given, the default principal is used as determined by krb5_get_default_principal(). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>prompter</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>prompter_data</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>start_time</em> </td><td>the time the ticket should start to be valid or 0 for now. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>options</em> </td><td>a options structure, can be NULL for default options. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>rctx</em> </td><td>A new allocated free with <a class="el" href="group__krb5__credential.html#gf878f5715a3048995f175c09e95a3a71">krb5_init_creds_free()</a>.</td></tr> +</div><div class="memdoc"> +<p>Start a new context to get a new initial credential.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">client</td><td>The Kerberos principal to get the credential for, if NULL is given, the default principal is used as determined by krb5_get_default_principal(). </td></tr> + <tr><td class="paramname">prompter</td><td></td></tr> + <tr><td class="paramname">prompter_data</td><td></td></tr> + <tr><td class="paramname">start_time</td><td>the time the ticket should start to be valid or 0 for now. </td></tr> + <tr><td class="paramname">options</td><td>a options structure, can be NULL for default options. </td></tr> + <tr><td class="paramname">rctx</td><td>A new allocated free with <a class="el" href="group__krb5__credential.html#gaf878f5715a3048995f175c09e95a3a71">krb5_init_creds_free()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success or an Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success or an Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb80179f38c8cc87627752d5db22c8203"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_set_keytab" ref="gb80179f38c8cc87627752d5db22c8203" args="(krb5_context context, krb5_init_creds_context ctx, krb5_keytab keytab)" --> +</div> +<a id="gab80179f38c8cc87627752d5db22c8203"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab80179f38c8cc87627752d5db22c8203">◆ </a></span>krb5_init_creds_set_keytab()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_set_keytab </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_set_keytab </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context </td> - <td class="paramname"> <em>ctx</em>, </td> + <td class="paramtype">krb5_init_creds_context </td> + <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>keytab</em></td><td> </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>keytab</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the keytab to use for authentication.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>ctx krb5_init_creds_context context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keytab</em> </td><td>the keytab to read the key from.</td></tr> +</div><div class="memdoc"> +<p>Set the keytab to use for authentication.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>ctx krb5_init_creds_context context. </td></tr> + <tr><td class="paramname">keytab</td><td>the keytab to read the key from.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or an Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or an Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g0a1d093a3c43b57b5e84206e73441d68"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_set_password" ref="g0a1d093a3c43b57b5e84206e73441d68" args="(krb5_context context, krb5_init_creds_context ctx, const char *password)" --> +</div> +<a id="ga0a1d093a3c43b57b5e84206e73441d68"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0a1d093a3c43b57b5e84206e73441d68">◆ </a></span>krb5_init_creds_set_password()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_set_password </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_set_password </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context </td> - <td class="paramname"> <em>ctx</em>, </td> + <td class="paramtype">krb5_init_creds_context </td> + <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>password</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>password</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Sets the password that will use for the request.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>ctx krb5_init_creds_context context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>password</em> </td><td>the password to use.</td></tr> +</div><div class="memdoc"> +<p>Sets the password that will use for the request.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>ctx krb5_init_creds_context context. </td></tr> + <tr><td class="paramname">password</td><td>the password to use.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or an Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or an Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g71f386b20c42540d4e733eeb7c0cb18e"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_set_service" ref="g71f386b20c42540d4e733eeb7c0cb18e" args="(krb5_context context, krb5_init_creds_context ctx, const char *service)" --> +</div> +<a id="ga71f386b20c42540d4e733eeb7c0cb18e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga71f386b20c42540d4e733eeb7c0cb18e">◆ </a></span>krb5_init_creds_set_service()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_set_service </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_set_service </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context </td> - <td class="paramname"> <em>ctx</em>, </td> + <td class="paramtype">krb5_init_creds_context </td> + <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>service</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>service</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Sets the service that the is requested. This call is only neede for special initial tickets, by default the a krbtgt is fetched in the default realm.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>a krb5_init_creds_context context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>service</em> </td><td>the service given as a string, for example "kadmind/admin". If NULL, the default krbtgt in the clients realm is set.</td></tr> +</div><div class="memdoc"> +<p>Sets the service that the is requested. This call is only neede for special initial tickets, by default the a krbtgt is fetched in the default realm.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>a krb5_init_creds_context context. </td></tr> + <tr><td class="paramname">service</td><td>the service given as a string, for example "kadmind/admin". If NULL, the default krbtgt in the clients realm is set.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or an Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or an Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g9b1f54a05b9e7b60bef0c7d5f40b351b"></a><!-- doxytag: member="init_creds_pw.c::krb5_init_creds_step" ref="g9b1f54a05b9e7b60bef0c7d5f40b351b" args="(krb5_context context, krb5_init_creds_context ctx, krb5_data *in, krb5_data *out, krb5_krbhst_info *hostinfo, unsigned int *flags)" --> +</div> +<a id="ga9b1f54a05b9e7b60bef0c7d5f40b351b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9b1f54a05b9e7b60bef0c7d5f40b351b">◆ </a></span>krb5_init_creds_step()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_step </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_init_creds_step </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_init_creds_context </td> - <td class="paramname"> <em>ctx</em>, </td> + <td class="paramtype">krb5_init_creds_context </td> + <td class="paramname"><em>ctx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>in</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>out</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_krbhst_info * </td> - <td class="paramname"> <em>hostinfo</em>, </td> + <td class="paramtype">krb5_krbhst_info * </td> + <td class="paramname"><em>hostinfo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned int * </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">unsigned int * </td> + <td class="paramname"><em>flags</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -The core loop if krb5_get_init_creds() function family. Create the packets and have the caller send them off to the KDC.<p> -If the caller want all work been done for them, use <a class="el" href="group__krb5__credential.html#gb1716df7cb25ebea9bbf652094970bce">krb5_init_creds_get()</a> instead.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>ctx krb5_init_creds_context context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>in</em> </td><td>input data from KDC, first round it should be reset by krb5_data_zer(). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>reply to KDC. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>hostinfo</em> </td><td>KDC address info, first round it can be NULL. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>status of the round, if KRB5_INIT_CREDS_STEP_FLAG_CONTINUE is set, continue one more round.</td></tr> +</div><div class="memdoc"> +<p>The core loop if krb5_get_init_creds() function family. Create the packets and have the caller send them off to the KDC.</p> +<p>If the caller want all work been done for them, use <a class="el" href="group__krb5__credential.html#gab1716df7cb25ebea9bbf652094970bce">krb5_init_creds_get()</a> instead.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context. </td></tr> + <tr><td class="paramname">ctx</td><td>ctx krb5_init_creds_context context. </td></tr> + <tr><td class="paramname">in</td><td>input data from KDC, first round it should be reset by krb5_data_zer(). </td></tr> + <tr><td class="paramname">out</td><td>reply to KDC. </td></tr> + <tr><td class="paramname">hostinfo</td><td>KDC address info, first round it can be NULL. </td></tr> + <tr><td class="paramname">flags</td><td>status of the round, if KRB5_INIT_CREDS_STEP_FLAG_CONTINUE is set, continue one more round.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or an Kerberos 5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or an Kerberos 5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__crypto.html b/doc/doxyout/krb5/html/group__krb5__crypto.html index dfbe535f02e8..54ac12bb97c1 100644 --- a/doc/doxyout/krb5/html/group__krb5__crypto.html +++ b/doc/doxyout/krb5/html/group__krb5__crypto.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 cryptography functions</title> +<title>Heimdal Kerberos 5 cryptography functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,1255 +8,1467 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 cryptography functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 cryptography functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gd5f2b15d5fde369cf923e8fae4b00bec">krb5_enctype_valid</a> (krb5_context context, krb5_enctype etype)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g49d7081ff071eacd28e3ffa90400580c">krb5_cksumtype_to_enctype</a> (krb5_context context, krb5_cksumtype ctype, krb5_enctype *etype)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g674423844043d6beebb959bb8b7ab082">krb5_encrypt_iov_ivec</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, int num_data, void *ivec)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g64cad191491a5d3309553e7d28d8ad46">krb5_decrypt_iov_ivec</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, void *ivec)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gb70888d1122aeed1e5381116a5a9612e">krb5_create_checksum_iov</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, krb5_cksumtype *type)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g1789d8188287750394c3b8366a90bd13">krb5_verify_checksum_iov</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, krb5_cksumtype *type)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gd7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init</a> (krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_crypto *crypto)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g57eaed735baab9eb3c3740be8e4d2137">krb5_crypto_destroy</a> (krb5_context context, krb5_crypto crypto)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga4271d4adba2dff699dfdfe07b075b95">krb5_crypto_getblocksize</a> (krb5_context context, krb5_crypto crypto, size_t *blocksize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g6bc15d1940ecdd4558f18eeb3dda233c">krb5_crypto_getenctype</a> (krb5_context context, krb5_crypto crypto, krb5_enctype *enctype)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gfbed35e76f7d971b90cfe0806f43d279">krb5_crypto_getpadsize</a> (krb5_context context, krb5_crypto crypto, size_t *padsize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g38d88d8bf7be6913cfc7cf155a1ade8e">krb5_crypto_getconfoundersize</a> (krb5_context context, krb5_crypto crypto, size_t *confoundersize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g77acfc640aa003095ea5890de2ea1cb7">krb5_enctype_disable</a> (krb5_context context, krb5_enctype enctype)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g8dfebc785c059e38c22c6ca34ed5f68a">krb5_enctype_enable</a> (krb5_context context, krb5_enctype enctype)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g2790b9799fbe21ac4875c401eafb7444">krb5_allow_weak_crypto</a> (krb5_context context, krb5_boolean enable)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga5f3001696f59f7d47539efe82b1c4cd">krb5_random_to_key</a> (krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g6deab998fe1c056fff541cdf0c119c44">krb5_crypto_fx_cf2</a> (krb5_context context, const krb5_crypto crypto1, const krb5_crypto crypto2, krb5_data *pepper1, krb5_data *pepper2, krb5_enctype enctype, krb5_keyblock *res)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g147a581626c11fafee04bfda036781ea">krb5_generate_subkey_extended</a> (krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_keyblock **subkey)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g33e1cb14ccab45ce46d51064caf07c10">krb5_keyblock_zero</a> (krb5_keyblock *keyblock)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents</a> (krb5_context context, krb5_keyblock *keyblock)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock</a> (krb5_context context, krb5_keyblock *keyblock)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g61fbae0666b6889f539c98a45c1564ae">krb5_copy_keyblock_contents</a> (krb5_context context, const krb5_keyblock *inblock, krb5_keyblock *to)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gb68e1eb316fba45acafd300ac6d93101">krb5_copy_keyblock</a> (krb5_context context, const krb5_keyblock *inblock, krb5_keyblock **to)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_enctype <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga2caa584d5a6f0bbba3e1bae7255be5c">krb5_keyblock_get_enctype</a> (const krb5_keyblock *block)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#g690c42630f2f6b9f7ce96cc75441803d">krb5_keyblock_init</a> (krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gacd70368768ef5d3b0867143e1fded09c"><td class="memItemLeft" align="right" valign="top">HEIMDAL_WARN_UNUSED_RESULT_ATTRIBUTE KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gacd70368768ef5d3b0867143e1fded09c">krb5_generate_random</a> (void *buf, size_t len)</td></tr> +<tr class="separator:gacd70368768ef5d3b0867143e1fded09c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga697b68deeff57bb1ca24163673cded3c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga697b68deeff57bb1ca24163673cded3c">krb5_generate_random_block</a> (void *buf, size_t len)</td></tr> +<tr class="separator:ga697b68deeff57bb1ca24163673cded3c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad5f2b15d5fde369cf923e8fae4b00bec"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gad5f2b15d5fde369cf923e8fae4b00bec">krb5_enctype_valid</a> (krb5_context context, krb5_enctype etype)</td></tr> +<tr class="separator:gad5f2b15d5fde369cf923e8fae4b00bec"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga49d7081ff071eacd28e3ffa90400580c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga49d7081ff071eacd28e3ffa90400580c">krb5_cksumtype_to_enctype</a> (krb5_context context, krb5_cksumtype ctype, krb5_enctype *etype)</td></tr> +<tr class="separator:ga49d7081ff071eacd28e3ffa90400580c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga674423844043d6beebb959bb8b7ab082"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga674423844043d6beebb959bb8b7ab082">krb5_encrypt_iov_ivec</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, int num_data, void *ivec)</td></tr> +<tr class="separator:ga674423844043d6beebb959bb8b7ab082"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga64cad191491a5d3309553e7d28d8ad46"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga64cad191491a5d3309553e7d28d8ad46">krb5_decrypt_iov_ivec</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, void *ivec)</td></tr> +<tr class="separator:ga64cad191491a5d3309553e7d28d8ad46"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab70888d1122aeed1e5381116a5a9612e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gab70888d1122aeed1e5381116a5a9612e">krb5_create_checksum_iov</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, krb5_cksumtype *type)</td></tr> +<tr class="separator:gab70888d1122aeed1e5381116a5a9612e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1789d8188287750394c3b8366a90bd13"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga1789d8188287750394c3b8366a90bd13">krb5_verify_checksum_iov</a> (krb5_context context, krb5_crypto crypto, unsigned usage, <a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> *data, unsigned int num_data, krb5_cksumtype *type)</td></tr> +<tr class="separator:ga1789d8188287750394c3b8366a90bd13"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad7003a8a81cef633cc0a2cc07c93dd32"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gad7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init</a> (krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_crypto *crypto)</td></tr> +<tr class="separator:gad7003a8a81cef633cc0a2cc07c93dd32"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga57eaed735baab9eb3c3740be8e4d2137"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga57eaed735baab9eb3c3740be8e4d2137">krb5_crypto_destroy</a> (krb5_context context, krb5_crypto crypto)</td></tr> +<tr class="separator:ga57eaed735baab9eb3c3740be8e4d2137"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa4271d4adba2dff699dfdfe07b075b95"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gaa4271d4adba2dff699dfdfe07b075b95">krb5_crypto_getblocksize</a> (krb5_context context, krb5_crypto crypto, size_t *blocksize)</td></tr> +<tr class="separator:gaa4271d4adba2dff699dfdfe07b075b95"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6bc15d1940ecdd4558f18eeb3dda233c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga6bc15d1940ecdd4558f18eeb3dda233c">krb5_crypto_getenctype</a> (krb5_context context, krb5_crypto crypto, krb5_enctype *enctype)</td></tr> +<tr class="separator:ga6bc15d1940ecdd4558f18eeb3dda233c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafbed35e76f7d971b90cfe0806f43d279"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gafbed35e76f7d971b90cfe0806f43d279">krb5_crypto_getpadsize</a> (krb5_context context, krb5_crypto crypto, size_t *padsize)</td></tr> +<tr class="separator:gafbed35e76f7d971b90cfe0806f43d279"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga38d88d8bf7be6913cfc7cf155a1ade8e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga38d88d8bf7be6913cfc7cf155a1ade8e">krb5_crypto_getconfoundersize</a> (krb5_context context, krb5_crypto crypto, size_t *confoundersize)</td></tr> +<tr class="separator:ga38d88d8bf7be6913cfc7cf155a1ade8e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga77acfc640aa003095ea5890de2ea1cb7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga77acfc640aa003095ea5890de2ea1cb7">krb5_enctype_disable</a> (krb5_context context, krb5_enctype enctype)</td></tr> +<tr class="separator:ga77acfc640aa003095ea5890de2ea1cb7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8dfebc785c059e38c22c6ca34ed5f68a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga8dfebc785c059e38c22c6ca34ed5f68a">krb5_enctype_enable</a> (krb5_context context, krb5_enctype enctype)</td></tr> +<tr class="separator:ga8dfebc785c059e38c22c6ca34ed5f68a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2790b9799fbe21ac4875c401eafb7444"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga2790b9799fbe21ac4875c401eafb7444">krb5_allow_weak_crypto</a> (krb5_context context, krb5_boolean enable)</td></tr> +<tr class="separator:ga2790b9799fbe21ac4875c401eafb7444"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2c4eb7d66f487d238cd0bdc66c9eaed6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga2c4eb7d66f487d238cd0bdc66c9eaed6">krb5_is_enctype_weak</a> (krb5_context context, krb5_enctype enctype)</td></tr> +<tr class="separator:ga2c4eb7d66f487d238cd0bdc66c9eaed6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaeded45d4b6e6dbec7e91427fe3df0ea8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gaeded45d4b6e6dbec7e91427fe3df0ea8">_krb5_enctype_requires_random_salt</a> (krb5_context context, krb5_enctype enctype)</td></tr> +<tr class="separator:gaeded45d4b6e6dbec7e91427fe3df0ea8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa5f3001696f59f7d47539efe82b1c4cd"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gaa5f3001696f59f7d47539efe82b1c4cd">krb5_random_to_key</a> (krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)</td></tr> +<tr class="separator:gaa5f3001696f59f7d47539efe82b1c4cd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6deab998fe1c056fff541cdf0c119c44"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga6deab998fe1c056fff541cdf0c119c44">krb5_crypto_fx_cf2</a> (krb5_context context, const krb5_crypto crypto1, const krb5_crypto crypto2, krb5_data *pepper1, krb5_data *pepper2, krb5_enctype enctype, krb5_keyblock *res)</td></tr> +<tr class="separator:ga6deab998fe1c056fff541cdf0c119c44"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga147a581626c11fafee04bfda036781ea"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga147a581626c11fafee04bfda036781ea">krb5_generate_subkey_extended</a> (krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_keyblock **subkey)</td></tr> +<tr class="separator:ga147a581626c11fafee04bfda036781ea"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga33e1cb14ccab45ce46d51064caf07c10"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga33e1cb14ccab45ce46d51064caf07c10">krb5_keyblock_zero</a> (krb5_keyblock *keyblock)</td></tr> +<tr class="separator:ga33e1cb14ccab45ce46d51064caf07c10"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga66d5d8067358373fdab46987503f2398"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents</a> (krb5_context context, krb5_keyblock *keyblock)</td></tr> +<tr class="separator:ga66d5d8067358373fdab46987503f2398"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2e434abf56e7d7852358e11cdab0bb33"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock</a> (krb5_context context, krb5_keyblock *keyblock)</td></tr> +<tr class="separator:ga2e434abf56e7d7852358e11cdab0bb33"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga61fbae0666b6889f539c98a45c1564ae"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga61fbae0666b6889f539c98a45c1564ae">krb5_copy_keyblock_contents</a> (krb5_context context, const krb5_keyblock *inblock, krb5_keyblock *to)</td></tr> +<tr class="separator:ga61fbae0666b6889f539c98a45c1564ae"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab68e1eb316fba45acafd300ac6d93101"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gab68e1eb316fba45acafd300ac6d93101">krb5_copy_keyblock</a> (krb5_context context, const krb5_keyblock *inblock, krb5_keyblock **to)</td></tr> +<tr class="separator:gab68e1eb316fba45acafd300ac6d93101"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa2caa584d5a6f0bbba3e1bae7255be5c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_enctype KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gaa2caa584d5a6f0bbba3e1bae7255be5c">krb5_keyblock_get_enctype</a> (const krb5_keyblock *block)</td></tr> +<tr class="separator:gaa2caa584d5a6f0bbba3e1bae7255be5c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga690c42630f2f6b9f7ce96cc75441803d"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#ga690c42630f2f6b9f7ce96cc75441803d">krb5_keyblock_init</a> (krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)</td></tr> +<tr class="separator:ga690c42630f2f6b9f7ce96cc75441803d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf4576c2e94faebd9e0309e68a261a704"><td class="memItemLeft" align="right" valign="top">krb5_error_code </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__crypto.html#gaf4576c2e94faebd9e0309e68a261a704">_krb5_SP800_108_HMAC_KDF</a> (krb5_context context, const krb5_data *kdf_K1, const krb5_data *kdf_label, const krb5_data *kdf_context, const EVP_MD *md, krb5_data *kdf_K0)</td></tr> +<tr class="separator:gaf4576c2e94faebd9e0309e68a261a704"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g2790b9799fbe21ac4875c401eafb7444"></a><!-- doxytag: member="crypto.c::krb5_allow_weak_crypto" ref="g2790b9799fbe21ac4875c401eafb7444" args="(krb5_context context, krb5_boolean enable)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="gaeded45d4b6e6dbec7e91427fe3df0ea8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaeded45d4b6e6dbec7e91427fe3df0ea8">◆ </a></span>_krb5_enctype_requires_random_salt()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_allow_weak_crypto </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL _krb5_enctype_requires_random_salt </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>enable</em></td><td> </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Enable or disable all weak encryption types<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>enable</em> </td><td>true to enable, false to disable</td></tr> +</div><div class="memdoc"> +<p>Returns whether the encryption type should use randomly generated salts</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">enctype</td><td>encryption type to probe</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns true if generated salts should have random component </dd></dl> </div> -</div><p> -<a class="anchor" name="g49d7081ff071eacd28e3ffa90400580c"></a><!-- doxytag: member="crypto.c::krb5_cksumtype_to_enctype" ref="g49d7081ff071eacd28e3ffa90400580c" args="(krb5_context context, krb5_cksumtype ctype, krb5_enctype *etype)" --> +</div> +<a id="gaf4576c2e94faebd9e0309e68a261a704"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf4576c2e94faebd9e0309e68a261a704">◆ </a></span>_krb5_SP800_108_HMAC_KDF()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cksumtype_to_enctype </td> + <td class="memname">krb5_error_code _krb5_SP800_108_HMAC_KDF </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cksumtype </td> - <td class="paramname"> <em>ctype</em>, </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>kdf_K1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype * </td> - <td class="paramname"> <em>etype</em></td><td> </td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>kdf_label</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_data * </td> + <td class="paramname"><em>kdf_context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const EVP_MD * </td> + <td class="paramname"><em>md</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>kdf_K0</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>As described in SP800-108 5.1 (for HMAC)</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">kdf_K1</td><td>Base key material. </td></tr> + <tr><td class="paramname">kdf_label</td><td>A string that identifies the purpose for the derived key. </td></tr> + <tr><td class="paramname">kdf_context</td><td>A binary string containing parties, nonce, etc. </td></tr> + <tr><td class="paramname">md</td><td>Message digest function to use for PRF. </td></tr> + <tr><td class="paramname">kdf_K0</td><td>Derived key data.</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code for an failure or 0 on success. </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="ga2790b9799fbe21ac4875c401eafb7444"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2790b9799fbe21ac4875c401eafb7444">◆ </a></span>krb5_allow_weak_crypto()</h2> -<p> -Return the coresponding encryption type for a checksum type.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ctype</em> </td><td>The checksum type to get the result enctype for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>The returned encryption, when the matching etype is not found, etype is set to ETYPE_NULL.</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_allow_weak_crypto </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>enable</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Enable or disable all weak encryption types</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">enable</td><td>true to enable, false to disable</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code for an failure or 0 on success. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb68e1eb316fba45acafd300ac6d93101"></a><!-- doxytag: member="keyblock.c::krb5_copy_keyblock" ref="gb68e1eb316fba45acafd300ac6d93101" args="(krb5_context context, const krb5_keyblock *inblock, krb5_keyblock **to)" --> +</div> +<a id="ga49d7081ff071eacd28e3ffa90400580c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga49d7081ff071eacd28e3ffa90400580c">◆ </a></span>krb5_cksumtype_to_enctype()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_keyblock </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_cksumtype_to_enctype </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>inblock</em>, </td> + <td class="paramtype">krb5_cksumtype </td> + <td class="paramname"><em>ctype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock ** </td> - <td class="paramname"> <em>to</em></td><td> </td> + <td class="paramtype">krb5_enctype * </td> + <td class="paramname"><em>etype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy a keyblock, free the output keyblock with <a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>inblock</em> </td><td>the key to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>the output key.</td></tr> +</div><div class="memdoc"> +<p>Return the coresponding encryption type for a checksum type.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">ctype</td><td>The checksum type to get the result enctype for </td></tr> + <tr><td class="paramname">etype</td><td>The returned encryption, when the matching etype is not found, etype is set to ETYPE_NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code for an failure or 0 on success. </dd></dl> </div> -</div><p> -<a class="anchor" name="g61fbae0666b6889f539c98a45c1564ae"></a><!-- doxytag: member="keyblock.c::krb5_copy_keyblock_contents" ref="g61fbae0666b6889f539c98a45c1564ae" args="(krb5_context context, const krb5_keyblock *inblock, krb5_keyblock *to)" --> +</div> +<a id="gab68e1eb316fba45acafd300ac6d93101"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab68e1eb316fba45acafd300ac6d93101">◆ </a></span>krb5_copy_keyblock()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_keyblock_contents </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_keyblock </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>inblock</em>, </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>inblock</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>to</em></td><td> </td> + <td class="paramtype">krb5_keyblock ** </td> + <td class="paramname"><em>to</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Copy a keyblock, free the output keyblock with <a class="el" href="group__krb5__crypto.html#ga2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">inblock</td><td>the key to copy </td></tr> + <tr><td class="paramname">to</td><td>the output key.</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success or a Kerberos 5 error code </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="ga61fbae0666b6889f539c98a45c1564ae"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga61fbae0666b6889f539c98a45c1564ae">◆ </a></span>krb5_copy_keyblock_contents()</h2> -<p> -Copy a keyblock, free the output keyblock with <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>inblock</em> </td><td>the key to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>the output key.</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_keyblock_contents </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>inblock</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>to</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Copy a keyblock, free the output keyblock with <a class="el" href="group__krb5__crypto.html#ga66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">inblock</td><td>the key to copy </td></tr> + <tr><td class="paramname">to</td><td>the output key.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success or a Kerberos 5 error code </dd></dl> </div> -</div><p> -<a class="anchor" name="gb70888d1122aeed1e5381116a5a9612e"></a><!-- doxytag: member="crypto.c::krb5_create_checksum_iov" ref="gb70888d1122aeed1e5381116a5a9612e" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, unsigned int num_data, krb5_cksumtype *type)" --> +</div> +<a id="gab70888d1122aeed1e5381116a5a9612e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab70888d1122aeed1e5381116a5a9612e">◆ </a></span>krb5_create_checksum_iov()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_create_checksum_iov </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_create_checksum_iov </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned </td> - <td class="paramname"> <em>usage</em>, </td> + <td class="paramtype">unsigned </td> + <td class="paramname"><em>usage</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned int </td> - <td class="paramname"> <em>num_data</em>, </td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>num_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cksumtype * </td> - <td class="paramname"> <em>type</em></td><td> </td> + <td class="paramtype">krb5_cksumtype * </td> + <td class="paramname"><em>type</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Create a Kerberos message checksum.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> - <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>output data</td></tr> +</div><div class="memdoc"> +<p>Create a Kerberos message checksum.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>Kerberos crypto context </td></tr> + <tr><td class="paramname">usage</td><td>Key usage for this buffer </td></tr> + <tr><td class="paramname">data</td><td>array of buffers to process </td></tr> + <tr><td class="paramname">num_data</td><td>length of array </td></tr> + <tr><td class="paramname">type</td><td>output data</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g57eaed735baab9eb3c3740be8e4d2137"></a><!-- doxytag: member="crypto.c::krb5_crypto_destroy" ref="g57eaed735baab9eb3c3740be8e4d2137" args="(krb5_context context, krb5_crypto crypto)" --> +</div> +<a id="ga57eaed735baab9eb3c3740be8e4d2137"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga57eaed735baab9eb3c3740be8e4d2137">◆ </a></span>krb5_crypto_destroy()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_destroy </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_destroy </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em></td><td> </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free a crypto context created by <a class="el" href="group__krb5__crypto.html#gd7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to free</td></tr> +</div><div class="memdoc"> +<p>Free a crypto context created by <a class="el" href="group__krb5__crypto.html#gad7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>crypto context to free</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6deab998fe1c056fff541cdf0c119c44"></a><!-- doxytag: member="crypto.c::krb5_crypto_fx_cf2" ref="g6deab998fe1c056fff541cdf0c119c44" args="(krb5_context context, const krb5_crypto crypto1, const krb5_crypto crypto2, krb5_data *pepper1, krb5_data *pepper2, krb5_enctype enctype, krb5_keyblock *res)" --> +</div> +<a id="ga6deab998fe1c056fff541cdf0c119c44"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6deab998fe1c056fff541cdf0c119c44">◆ </a></span>krb5_crypto_fx_cf2()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_fx_cf2 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_fx_cf2 </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_crypto </td> - <td class="paramname"> <em>crypto1</em>, </td> + <td class="paramtype">const krb5_crypto </td> + <td class="paramname"><em>crypto1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_crypto </td> - <td class="paramname"> <em>crypto2</em>, </td> + <td class="paramtype">const krb5_crypto </td> + <td class="paramname"><em>crypto2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>pepper1</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>pepper1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>pepper2</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>pepper2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>enctype</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>res</em></td><td> </td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>res</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -The FX-CF2 key derivation function, used in FAST and preauth framework.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto1</em> </td><td>first key to combine </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto2</em> </td><td>second key to combine </td></tr> - <tr><td valign="top"></td><td valign="top"><em>pepper1</em> </td><td>factor to combine with first key to garante uniqueness </td></tr> - <tr><td valign="top"></td><td valign="top"><em>pepper2</em> </td><td>factor to combine with second key to garante uniqueness </td></tr> - <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>the encryption type of the resulting key </td></tr> - <tr><td valign="top"></td><td valign="top"><em>res</em> </td><td>allocated key, free with <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a></td></tr> +</div><div class="memdoc"> +<p>The FX-CF2 key derivation function, used in FAST and preauth framework.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">crypto1</td><td>first key to combine </td></tr> + <tr><td class="paramname">crypto2</td><td>second key to combine </td></tr> + <tr><td class="paramname">pepper1</td><td>factor to combine with first key to garante uniqueness </td></tr> + <tr><td class="paramname">pepper2</td><td>factor to combine with second key to garante uniqueness </td></tr> + <tr><td class="paramname">enctype</td><td>the encryption type of the resulting key </td></tr> + <tr><td class="paramname">res</td><td>allocated key, free with <a class="el" href="group__krb5__crypto.html#ga66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga4271d4adba2dff699dfdfe07b075b95"></a><!-- doxytag: member="crypto.c::krb5_crypto_getblocksize" ref="ga4271d4adba2dff699dfdfe07b075b95" args="(krb5_context context, krb5_crypto crypto, size_t *blocksize)" --> +</div> +<a id="gaa4271d4adba2dff699dfdfe07b075b95"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa4271d4adba2dff699dfdfe07b075b95">◆ </a></span>krb5_crypto_getblocksize()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getblocksize </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getblocksize </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>blocksize</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>blocksize</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the blocksize used algorithm referenced by the crypto context<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> - <tr><td valign="top"></td><td valign="top"><em>blocksize</em> </td><td>the resulting blocksize</td></tr> +</div><div class="memdoc"> +<p>Return the blocksize used algorithm referenced by the crypto context</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>crypto context to query </td></tr> + <tr><td class="paramname">blocksize</td><td>the resulting blocksize</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g38d88d8bf7be6913cfc7cf155a1ade8e"></a><!-- doxytag: member="crypto.c::krb5_crypto_getconfoundersize" ref="g38d88d8bf7be6913cfc7cf155a1ade8e" args="(krb5_context context, krb5_crypto crypto, size_t *confoundersize)" --> +</div> +<a id="ga38d88d8bf7be6913cfc7cf155a1ade8e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga38d88d8bf7be6913cfc7cf155a1ade8e">◆ </a></span>krb5_crypto_getconfoundersize()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getconfoundersize </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getconfoundersize </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>confoundersize</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>confoundersize</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the confounder size used by the crypto context<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> - <tr><td valign="top"></td><td valign="top"><em>confoundersize</em> </td><td>the returned confounder size</td></tr> +</div><div class="memdoc"> +<p>Return the confounder size used by the crypto context</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>crypto context to query </td></tr> + <tr><td class="paramname">confoundersize</td><td>the returned confounder size</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6bc15d1940ecdd4558f18eeb3dda233c"></a><!-- doxytag: member="crypto.c::krb5_crypto_getenctype" ref="g6bc15d1940ecdd4558f18eeb3dda233c" args="(krb5_context context, krb5_crypto crypto, krb5_enctype *enctype)" --> +</div> +<a id="ga6bc15d1940ecdd4558f18eeb3dda233c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6bc15d1940ecdd4558f18eeb3dda233c">◆ </a></span>krb5_crypto_getenctype()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getenctype </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getenctype </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype * </td> - <td class="paramname"> <em>enctype</em></td><td> </td> + <td class="paramtype">krb5_enctype * </td> + <td class="paramname"><em>enctype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the encryption type used by the crypto context<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> - <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>the resulting encryption type</td></tr> +</div><div class="memdoc"> +<p>Return the encryption type used by the crypto context</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>crypto context to query </td></tr> + <tr><td class="paramname">enctype</td><td>the resulting encryption type</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gfbed35e76f7d971b90cfe0806f43d279"></a><!-- doxytag: member="crypto.c::krb5_crypto_getpadsize" ref="gfbed35e76f7d971b90cfe0806f43d279" args="(krb5_context context, krb5_crypto crypto, size_t *padsize)" --> +</div> +<a id="gafbed35e76f7d971b90cfe0806f43d279"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafbed35e76f7d971b90cfe0806f43d279">◆ </a></span>krb5_crypto_getpadsize()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getpadsize </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_getpadsize </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t * </td> - <td class="paramname"> <em>padsize</em></td><td> </td> + <td class="paramtype">size_t * </td> + <td class="paramname"><em>padsize</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the padding size used by the crypto context<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>crypto context to query </td></tr> - <tr><td valign="top"></td><td valign="top"><em>padsize</em> </td><td>the return padding size</td></tr> +</div><div class="memdoc"> +<p>Return the padding size used by the crypto context</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>crypto context to query </td></tr> + <tr><td class="paramname">padsize</td><td>the return padding size</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd7003a8a81cef633cc0a2cc07c93dd32"></a><!-- doxytag: member="crypto.c::krb5_crypto_init" ref="gd7003a8a81cef633cc0a2cc07c93dd32" args="(krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_crypto *crypto)" --> +</div> +<a id="gad7003a8a81cef633cc0a2cc07c93dd32"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad7003a8a81cef633cc0a2cc07c93dd32">◆ </a></span>krb5_crypto_init()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_init </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_crypto_init </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>key</em>, </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>etype</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>etype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto * </td> - <td class="paramname"> <em>crypto</em></td><td> </td> + <td class="paramtype">krb5_crypto * </td> + <td class="paramname"><em>crypto</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Create a crypto context used for all encryption and signature operation. The encryption type to use is taken from the key, but can be overridden with the enctype parameter. This can be useful for encryptions types which is compatiable (DES for example).<p> -To free the crypto context, use <a class="el" href="group__krb5__crypto.html#g57eaed735baab9eb3c3740be8e4d2137">krb5_crypto_destroy()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the key block information with all key data </td></tr> - <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>the encryption type </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>the resulting crypto context</td></tr> +</div><div class="memdoc"> +<p>Create a crypto context used for all encryption and signature operation. The encryption type to use is taken from the key, but can be overridden with the enctype parameter. This can be useful for encryptions types which is compatiable (DES for example).</p> +<p>To free the crypto context, use <a class="el" href="group__krb5__crypto.html#ga57eaed735baab9eb3c3740be8e4d2137">krb5_crypto_destroy()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">key</td><td>the key block information with all key data </td></tr> + <tr><td class="paramname">etype</td><td>the encryption type </td></tr> + <tr><td class="paramname">crypto</td><td>the resulting crypto context</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g64cad191491a5d3309553e7d28d8ad46"></a><!-- doxytag: member="crypto.c::krb5_decrypt_iov_ivec" ref="g64cad191491a5d3309553e7d28d8ad46" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, unsigned int num_data, void *ivec)" --> +</div> +<a id="ga64cad191491a5d3309553e7d28d8ad46"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga64cad191491a5d3309553e7d28d8ad46">◆ </a></span>krb5_decrypt_iov_ivec()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_decrypt_iov_ivec </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_decrypt_iov_ivec </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned </td> - <td class="paramname"> <em>usage</em>, </td> + <td class="paramtype">unsigned </td> + <td class="paramname"><em>usage</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned int </td> - <td class="paramname"> <em>num_data</em>, </td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>num_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>ivec</em></td><td> </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>ivec</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Inline decrypt a Kerberos message.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> - <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ivec</em> </td><td>initial cbc/cts vector</td></tr> +</div><div class="memdoc"> +<p>Inline decrypt a Kerberos message.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>Kerberos crypto context </td></tr> + <tr><td class="paramname">usage</td><td>Key usage for this buffer </td></tr> + <tr><td class="paramname">data</td><td>array of buffers to process </td></tr> + <tr><td class="paramname">num_data</td><td>length of array </td></tr> + <tr><td class="paramname">ivec</td><td>initial cbc/cts vector</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> -1. KRB5_CRYPTO_TYPE_HEADER 2. one KRB5_CRYPTO_TYPE_DATA and array [0,...] of KRB5_CRYPTO_TYPE_SIGN_ONLY in any order, however the receiver have to aware of the order. KRB5_CRYPTO_TYPE_SIGN_ONLY is commonly used unencrypoted protocol headers and trailers. The output data will be of same size as the input data or shorter. +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0.</dd></dl> +<ol type="1"> +<li>KRB5_CRYPTO_TYPE_HEADER</li> +<li>one KRB5_CRYPTO_TYPE_DATA and array [0,...] of KRB5_CRYPTO_TYPE_SIGN_ONLY in any order, however the receiver have to aware of the order. KRB5_CRYPTO_TYPE_SIGN_ONLY is commonly used unencrypoted protocol headers and trailers. The output data will be of same size as the input data or shorter. </li> +</ol> + +</div> </div> -</div><p> -<a class="anchor" name="g674423844043d6beebb959bb8b7ab082"></a><!-- doxytag: member="crypto.c::krb5_encrypt_iov_ivec" ref="g674423844043d6beebb959bb8b7ab082" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, int num_data, void *ivec)" --> +<a id="ga674423844043d6beebb959bb8b7ab082"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga674423844043d6beebb959bb8b7ab082">◆ </a></span>krb5_encrypt_iov_ivec()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_encrypt_iov_ivec </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_encrypt_iov_ivec </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned </td> - <td class="paramname"> <em>usage</em>, </td> + <td class="paramtype">unsigned </td> + <td class="paramname"><em>usage</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>num_data</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>num_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>ivec</em></td><td> </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>ivec</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Inline encrypt a kerberos message<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> - <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ivec</em> </td><td>initial cbc/cts vector</td></tr> +</div><div class="memdoc"> +<p>Inline encrypt a kerberos message</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>Kerberos crypto context </td></tr> + <tr><td class="paramname">usage</td><td>Key usage for this buffer </td></tr> + <tr><td class="paramname">data</td><td>array of buffers to process </td></tr> + <tr><td class="paramname">num_data</td><td>length of array </td></tr> + <tr><td class="paramname">ivec</td><td>initial cbc/cts vector</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> -Kerberos encrypted data look like this:<p> -1. KRB5_CRYPTO_TYPE_HEADER 2. array [1,...] KRB5_CRYPTO_TYPE_DATA and array [0,...] KRB5_CRYPTO_TYPE_SIGN_ONLY in any order, however the receiver have to aware of the order. KRB5_CRYPTO_TYPE_SIGN_ONLY is commonly used headers and trailers. 3. KRB5_CRYPTO_TYPE_PADDING, at least on padsize long if padsize > 1 4. KRB5_CRYPTO_TYPE_TRAILER +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0.</dd></dl> +<p>Kerberos encrypted data look like this:</p> +<ol type="1"> +<li>KRB5_CRYPTO_TYPE_HEADER</li> +<li>array [1,...] KRB5_CRYPTO_TYPE_DATA and array [0,...] KRB5_CRYPTO_TYPE_SIGN_ONLY in any order, however the receiver have to aware of the order. KRB5_CRYPTO_TYPE_SIGN_ONLY is commonly used headers and trailers.</li> +<li>KRB5_CRYPTO_TYPE_PADDING, at least on padsize long if padsize > 1</li> +<li>KRB5_CRYPTO_TYPE_TRAILER </li> +</ol> + +</div> </div> -</div><p> -<a class="anchor" name="g77acfc640aa003095ea5890de2ea1cb7"></a><!-- doxytag: member="crypto.c::krb5_enctype_disable" ref="g77acfc640aa003095ea5890de2ea1cb7" args="(krb5_context context, krb5_enctype enctype)" --> +<a id="ga77acfc640aa003095ea5890de2ea1cb7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga77acfc640aa003095ea5890de2ea1cb7">◆ </a></span>krb5_enctype_disable()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_disable </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_disable </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>enctype</em></td><td> </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Disable encryption type<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>encryption type to disable</td></tr> +</div><div class="memdoc"> +<p>Disable encryption type</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">enctype</td><td>encryption type to disable</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g8dfebc785c059e38c22c6ca34ed5f68a"></a><!-- doxytag: member="crypto.c::krb5_enctype_enable" ref="g8dfebc785c059e38c22c6ca34ed5f68a" args="(krb5_context context, krb5_enctype enctype)" --> +</div> +<a id="ga8dfebc785c059e38c22c6ca34ed5f68a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8dfebc785c059e38c22c6ca34ed5f68a">◆ </a></span>krb5_enctype_enable()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_enable </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_enable </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>enctype</em></td><td> </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Enable encryption type<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>encryption type to enable</td></tr> +</div><div class="memdoc"> +<p>Enable encryption type</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">enctype</td><td>encryption type to enable</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd5f2b15d5fde369cf923e8fae4b00bec"></a><!-- doxytag: member="crypto.c::krb5_enctype_valid" ref="gd5f2b15d5fde369cf923e8fae4b00bec" args="(krb5_context context, krb5_enctype etype)" --> +</div> +<a id="gad5f2b15d5fde369cf923e8fae4b00bec"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad5f2b15d5fde369cf923e8fae4b00bec">◆ </a></span>krb5_enctype_valid()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_valid </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_enctype_valid </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>etype</em></td><td> </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>etype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Check if a enctype is valid, return 0 if it is.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>enctype to check if its valid or not</td></tr> +</div><div class="memdoc"> +<p>Check if a enctype is valid, return 0 if it is.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">etype</td><td>enctype to check if its valid or not</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code for an failure or 0 on success (enctype valid). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code for an failure or 0 on success (enctype valid). </dd></dl> </div> -</div><p> -<a class="anchor" name="g2e434abf56e7d7852358e11cdab0bb33"></a><!-- doxytag: member="keyblock.c::krb5_free_keyblock" ref="g2e434abf56e7d7852358e11cdab0bb33" args="(krb5_context context, krb5_keyblock *keyblock)" --> +</div> +<a id="ga2e434abf56e7d7852358e11cdab0bb33"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2e434abf56e7d7852358e11cdab0bb33">◆ </a></span>krb5_free_keyblock()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_keyblock </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_keyblock </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>keyblock</em></td><td> </td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>keyblock</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Free a keyblock, also zero out the content of the keyblock, uses <a class="el" href="group__krb5__crypto.html#ga66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a> to free the content.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">keyblock</td><td>keyblock to free, NULL is valid argument </td></tr> + </table> + </dd> +</dl> + +</div> </div> -<div class="memdoc"> +<a id="ga66d5d8067358373fdab46987503f2398"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga66d5d8067358373fdab46987503f2398">◆ </a></span>krb5_free_keyblock_contents()</h2> -<p> -Free a keyblock, also zero out the content of the keyblock, uses <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a> to free the content.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keyblock</em> </td><td>keyblock to free, NULL is valid argument </td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_keyblock_contents </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>keyblock</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Free a keyblock's content, also zero out the content of the keyblock.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context </td></tr> + <tr><td class="paramname">keyblock</td><td>keyblock content to free, NULL is valid argument </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g66d5d8067358373fdab46987503f2398"></a><!-- doxytag: member="keyblock.c::krb5_free_keyblock_contents" ref="g66d5d8067358373fdab46987503f2398" args="(krb5_context context, krb5_keyblock *keyblock)" --> +</div> +<a id="gacd70368768ef5d3b0867143e1fded09c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gacd70368768ef5d3b0867143e1fded09c">◆ </a></span>krb5_generate_random()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_keyblock_contents </td> + <td class="memname">HEIMDAL_WARN_UNUSED_RESULT_ATTRIBUTE KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_generate_random </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>keyblock</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Fill buffer buf with len bytes of PRNG randomness that is ok to use for key generation, padding and public diclosing the randomness w/o disclosing the randomness source.</p> +<p>This function can fail, and callers must check the return value.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">buf</td><td>a buffer to fill with randomness </td></tr> + <tr><td class="paramname">len</td><td>length of memory that buf points to.</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>return 0 on success or HEIM_ERR_RANDOM_OFFLINE if the funcation failed to initialize the randomness source. </dd></dl> + </div> -<div class="memdoc"> +</div> +<a id="ga697b68deeff57bb1ca24163673cded3c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga697b68deeff57bb1ca24163673cded3c">◆ </a></span>krb5_generate_random_block()</h2> -<p> -Free a keyblock's content, also zero out the content of the keyblock.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keyblock</em> </td><td>keyblock content to free, NULL is valid argument </td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_generate_random_block </td> + <td>(</td> + <td class="paramtype">void * </td> + <td class="paramname"><em>buf</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Fill buffer buf with len bytes of PRNG randomness that is ok to use for key generation, padding and public diclosing the randomness w/o disclosing the randomness source.</p> +<p>This function can NOT fail, instead it will abort() and program will crash.</p> +<p>If this function is called after a successful <a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a>, the chance of it failing is low due to that <a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a> pulls out some random, and quite commonly the randomness sources will not fail once it have started to produce good output, /dev/urandom behavies that way.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">buf</td><td>a buffer to fill with randomness </td></tr> + <tr><td class="paramname">len</td><td>length of memory that buf points to. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g147a581626c11fafee04bfda036781ea"></a><!-- doxytag: member="generate_subkey.c::krb5_generate_subkey_extended" ref="g147a581626c11fafee04bfda036781ea" args="(krb5_context context, const krb5_keyblock *key, krb5_enctype etype, krb5_keyblock **subkey)" --> +</div> +<a id="ga147a581626c11fafee04bfda036781ea"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga147a581626c11fafee04bfda036781ea">◆ </a></span>krb5_generate_subkey_extended()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_generate_subkey_extended </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_generate_subkey_extended </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>key</em>, </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>etype</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>etype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock ** </td> - <td class="paramname"> <em>subkey</em></td><td> </td> + <td class="paramtype">krb5_keyblock ** </td> + <td class="paramname"><em>subkey</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Generate subkey, from keyblock</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>kerberos context </td></tr> + <tr><td class="paramname">key</td><td>session key </td></tr> + <tr><td class="paramname">etype</td><td>encryption type of subkey, if ETYPE_NULL, use key's enctype </td></tr> + <tr><td class="paramname">subkey</td><td>returned new, free with <a class="el" href="group__krb5__crypto.html#ga2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a>.</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success or a Kerberos 5 error code </dd></dl> + </div> -<div class="memdoc"> +</div> +<a id="ga2c4eb7d66f487d238cd0bdc66c9eaed6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2c4eb7d66f487d238cd0bdc66c9eaed6">◆ </a></span>krb5_is_enctype_weak()</h2> -<p> -Generate subkey, from keyblock<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>session key </td></tr> - <tr><td valign="top"></td><td valign="top"><em>etype</em> </td><td>encryption type of subkey, if ETYPE_NULL, use key's enctype </td></tr> - <tr><td valign="top"></td><td valign="top"><em>subkey</em> </td><td>returned new, free with <a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a>.</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_is_enctype_weak </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Returns is the encryption is strong or weak</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">enctype</td><td>encryption type to probe</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns true if encryption type is weak or is not supported. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga2caa584d5a6f0bbba3e1bae7255be5c"></a><!-- doxytag: member="keyblock.c::krb5_keyblock_get_enctype" ref="ga2caa584d5a6f0bbba3e1bae7255be5c" args="(const krb5_keyblock *block)" --> +</div> +<a id="gaa2caa584d5a6f0bbba3e1bae7255be5c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa2caa584d5a6f0bbba3e1bae7255be5c">◆ </a></span>krb5_keyblock_get_enctype()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_enctype KRB5_LIB_CALL krb5_keyblock_get_enctype </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_enctype KRB5_LIB_CALL krb5_keyblock_get_enctype </td> <td>(</td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>block</em> </td> - <td> ) </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>block</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Get encryption type of a keyblock. </p> -<p> -Get encryption type of a keyblock. </div> -</div><p> -<a class="anchor" name="g690c42630f2f6b9f7ce96cc75441803d"></a><!-- doxytag: member="keyblock.c::krb5_keyblock_init" ref="g690c42630f2f6b9f7ce96cc75441803d" args="(krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)" --> +</div> +<a id="ga690c42630f2f6b9f7ce96cc75441803d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga690c42630f2f6b9f7ce96cc75441803d">◆ </a></span>krb5_keyblock_init()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keyblock_init </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keyblock_init </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const void * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>size</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>key</em></td><td> </td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>key</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Fill in `key' with key data of type `enctype' from `data' of length `size'. Key should be freed using <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a>.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or a Kerberos 5 error code </dd></dl> +</div><div class="memdoc"> +<p>Fill in `key' with key data of type `enctype' from `data' of length `size'. Key should be freed using <a class="el" href="group__krb5__crypto.html#ga66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a>.</p> +<dl class="section return"><dt>Returns</dt><dd>0 on success or a Kerberos 5 error code </dd></dl> </div> -</div><p> -<a class="anchor" name="g33e1cb14ccab45ce46d51064caf07c10"></a><!-- doxytag: member="keyblock.c::krb5_keyblock_zero" ref="g33e1cb14ccab45ce46d51064caf07c10" args="(krb5_keyblock *keyblock)" --> +</div> +<a id="ga33e1cb14ccab45ce46d51064caf07c10"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga33e1cb14ccab45ce46d51064caf07c10">◆ </a></span>krb5_keyblock_zero()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_keyblock_zero </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_keyblock_zero </td> <td>(</td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>keyblock</em> </td> - <td> ) </td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>keyblock</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Zero out a keyblock<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>keyblock</em> </td><td>keyblock to zero out </td></tr> +</div><div class="memdoc"> +<p>Zero out a keyblock</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">keyblock</td><td>keyblock to zero out </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="ga5f3001696f59f7d47539efe82b1c4cd"></a><!-- doxytag: member="crypto.c::krb5_random_to_key" ref="ga5f3001696f59f7d47539efe82b1c4cd" args="(krb5_context context, krb5_enctype type, const void *data, size_t size, krb5_keyblock *key)" --> +</div> +<a id="gaa5f3001696f59f7d47539efe82b1c4cd"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa5f3001696f59f7d47539efe82b1c4cd">◆ </a></span>krb5_random_to_key()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_random_to_key </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_random_to_key </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const void * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>size</em>, </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>key</em></td><td> </td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>key</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Converts the random bytestring to a protocol key according to Kerberos crypto frame work. It may be assumed that all the bits of the input string are equally random, even though the entropy present in the random source may be limited.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>the enctype resulting key will be of </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>input random data to convert to a key </td></tr> - <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>size of input random data, at least krb5_enctype_keysize() long </td></tr> - <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>key, output key, free with <a class="el" href="group__krb5__crypto.html#g66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a></td></tr> +</div><div class="memdoc"> +<p>Converts the random bytestring to a protocol key according to Kerberos crypto frame work. It may be assumed that all the bits of the input string are equally random, even though the entropy present in the random source may be limited.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">type</td><td>the enctype resulting key will be of </td></tr> + <tr><td class="paramname">data</td><td>input random data to convert to a key </td></tr> + <tr><td class="paramname">size</td><td>size of input random data, at least krb5_enctype_keysize() long </td></tr> + <tr><td class="paramname">key</td><td>key, output key, free with <a class="el" href="group__krb5__crypto.html#ga66d5d8067358373fdab46987503f2398">krb5_free_keyblock_contents()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g1789d8188287750394c3b8366a90bd13"></a><!-- doxytag: member="crypto.c::krb5_verify_checksum_iov" ref="g1789d8188287750394c3b8366a90bd13" args="(krb5_context context, krb5_crypto crypto, unsigned usage, krb5_crypto_iov *data, unsigned int num_data, krb5_cksumtype *type)" --> +</div> +<a id="ga1789d8188287750394c3b8366a90bd13"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1789d8188287750394c3b8366a90bd13">◆ </a></span>krb5_verify_checksum_iov()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_verify_checksum_iov </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_verify_checksum_iov </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_crypto </td> - <td class="paramname"> <em>crypto</em>, </td> + <td class="paramtype">krb5_crypto </td> + <td class="paramname"><em>crypto</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned </td> - <td class="paramname"> <em>usage</em>, </td> + <td class="paramtype">unsigned </td> + <td class="paramname"><em>usage</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> - <td class="paramname"> <em>data</em>, </td> + <td class="paramtype"><a class="el" href="structkrb5__crypto__iov.html">krb5_crypto_iov</a> * </td> + <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned int </td> - <td class="paramname"> <em>num_data</em>, </td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>num_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_cksumtype * </td> - <td class="paramname"> <em>type</em></td><td> </td> + <td class="paramtype">krb5_cksumtype * </td> + <td class="paramname"><em>type</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Verify a Kerberos message checksum.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>crypto</em> </td><td>Kerberos crypto context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>usage</em> </td><td>Key usage for this buffer </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of buffers to process </td></tr> - <tr><td valign="top"></td><td valign="top"><em>num_data</em> </td><td>length of array </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>return checksum type if not NULL</td></tr> +</div><div class="memdoc"> +<p>Verify a Kerberos message checksum.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">crypto</td><td>Kerberos crypto context </td></tr> + <tr><td class="paramname">usage</td><td>Key usage for this buffer </td></tr> + <tr><td class="paramname">data</td><td>array of buffers to process </td></tr> + <tr><td class="paramname">num_data</td><td>length of array </td></tr> + <tr><td class="paramname">type</td><td>return checksum type if not NULL</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:48 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__deprecated.html b/doc/doxyout/krb5/html/group__krb5__deprecated.html index 8252852c3a90..1f0a03e59910 100644 --- a/doc/doxyout/krb5/html/group__krb5__deprecated.html +++ b/doc/doxyout/krb5/html/group__krb5__deprecated.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 deprecated functions</title> +<title>Heimdal Kerberos 5 deprecated functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,1282 +8,1259 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 deprecated functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 deprecated functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gd2d4fc0147bdb1d67093af5b645ca754">krb5_change_password</a> (krb5_context context, krb5_creds *creds, const char *newpw, int *result_code, krb5_data *result_code_string, krb5_data *result_string) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gf2759c6a1de47fb9dae082808861f5f9">krb5_config_parse_string_multi</a> (krb5_context context, const char *string, krb5_config_section **res) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g50031239574b31100d9ab158ce7d026a">krb5_keytype_to_enctypes</a> (krb5_context context, krb5_keytype keytype, unsigned *len, krb5_enctype **val) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gd181d7f53821544a0646955e124e20ba">krb5_enctypes_compatible_keys</a> (krb5_context context, krb5_enctype etype1, krb5_enctype etype2) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g220b8b17e81dc71dd3ecd1b079160db9">krb5_free_data_contents</a> (krb5_context context, krb5_data *data) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gd41975d389631db8a13151fb864c0c42">krb5_keytype_to_enctypes_default</a> (krb5_context context, krb5_keytype keytype, unsigned *len, krb5_enctype **val) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gdf3188d181f3940b049f5064f74a90ec">krb5_keytype_to_string</a> (krb5_context context, krb5_keytype keytype, char **string) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gf02ee01e78556f96ba033376a6e5de71">krb5_string_to_keytype</a> (krb5_context context, const char *string, krb5_keytype *keytype) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_CALLCONV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g8edb548aa6c313e464c2134dbc0870c6">krb5_password_key_proc</a> (krb5_context context, krb5_enctype type, krb5_salt salt, krb5_const_pointer keyseed, krb5_keyblock **key) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gbcfa94e926adf978549418807a66a0b8">krb5_get_in_tkt_with_password</a> (krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, const char *password, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gd1c401931abe9725bef8b0ea8a9dd882">krb5_get_in_tkt_with_skey</a> (krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, const krb5_keyblock *key, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_CALLCONV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g2726bd189174a87defdec0a8fec82b49">krb5_keytab_key_proc</a> (krb5_context context, krb5_enctype enctype, krb5_salt salt, krb5_const_pointer keyseed, krb5_keyblock **key) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ge382db22c6bc14864e90df67b478af9a">krb5_get_in_tkt_with_keytab</a> (krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, krb5_keytab keytab, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_realm <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g14f320f353bf7c0b325e520627aeecd1">krb5_princ_realm</a> (krb5_context context, krb5_principal principal) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g376b5b8ec96bd7e644c1583291997dca">krb5_princ_set_realm</a> (krb5_context context, krb5_principal principal, krb5_realm *realm) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g5b878bf6dc8aac75e3dc563e90690490">krb5_free_creds_contents</a> (krb5_context context, krb5_creds *c) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g8053e78a8e7e4959ee047cf902ab9b03">krb5_free_error_string</a> (krb5_context context, char *str) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gf89cefa0b780e9252ab97b7dd1bf340e">krb5_set_error_string</a> (krb5_context context, const char *fmt,...) __attribute__((format(printf</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga698492299702f5568e941b62bf4decd">krb5_vset_error_string</a> (krb5_context context, const char *fmt, va_list args) __attribute__((format(printf</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g0afa2dbf44cdbdae09e934bd9a0da411">krb5_clear_error_string</a> (krb5_context context) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g20443cc492d983894b53660c9edeed5f">krb5_get_cred_from_kdc_opt</a> (krb5_context context, krb5_ccache ccache, krb5_creds *in_creds, krb5_creds **out_creds, krb5_creds ***ret_tgts, krb5_flags flags) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g36ec67884f1a29c60698339b106a789c">krb5_get_cred_from_kdc</a> (krb5_context context, krb5_ccache ccache, krb5_creds *in_creds, krb5_creds **out_creds, krb5_creds ***ret_tgts) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g85cd65c25d7420023e41e3c6e134ec28">krb5_free_unparsed_name</a> (krb5_context context, char *str) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g947e9702f5104802ae27efec9582488a">krb5_generate_subkey</a> (krb5_context context, const krb5_keyblock *key, krb5_keyblock **subkey) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#g423aebec055ca8e381f9d7e9ad5dad3a">krb5_auth_getremoteseqnumber</a> (krb5_context context, krb5_auth_context auth_context, int32_t *seqnumber) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gb30808a4f397cf8b6eeabfe5504d6451">krb5_get_init_creds_opt_init</a> (krb5_get_init_creds_opt *opt) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gf2bc3bce4dfa1ca2da4331fc36e11b0f">krb5_get_init_creds_opt_get_error</a> (krb5_context context, krb5_get_init_creds_opt *opt, KRB_ERROR **error) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gc4cfe880cf291fa8be8e5b24e8130424">krb5_c_enctype_compare</a> (krb5_context context, krb5_enctype e1, krb5_enctype e2, krb5_boolean *similar) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gad2d4fc0147bdb1d67093af5b645ca754"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gad2d4fc0147bdb1d67093af5b645ca754">krb5_change_password</a> (krb5_context context, krb5_creds *creds, const char *newpw, int *result_code, krb5_data *result_code_string, krb5_data *result_string) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gad2d4fc0147bdb1d67093af5b645ca754"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf2759c6a1de47fb9dae082808861f5f9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gaf2759c6a1de47fb9dae082808861f5f9">krb5_config_parse_string_multi</a> (krb5_context context, const char *string, krb5_config_section **res) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gaf2759c6a1de47fb9dae082808861f5f9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga50031239574b31100d9ab158ce7d026a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga50031239574b31100d9ab158ce7d026a">krb5_keytype_to_enctypes</a> (krb5_context context, krb5_keytype keytype, unsigned *len, krb5_enctype **val) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga50031239574b31100d9ab158ce7d026a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad181d7f53821544a0646955e124e20ba"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gad181d7f53821544a0646955e124e20ba">krb5_enctypes_compatible_keys</a> (krb5_context context, krb5_enctype etype1, krb5_enctype etype2) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gad181d7f53821544a0646955e124e20ba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga220b8b17e81dc71dd3ecd1b079160db9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga220b8b17e81dc71dd3ecd1b079160db9">krb5_free_data_contents</a> (krb5_context context, krb5_data *data) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga220b8b17e81dc71dd3ecd1b079160db9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad41975d389631db8a13151fb864c0c42"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gad41975d389631db8a13151fb864c0c42">krb5_keytype_to_enctypes_default</a> (krb5_context context, krb5_keytype keytype, unsigned *len, krb5_enctype **val) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gad41975d389631db8a13151fb864c0c42"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadf3188d181f3940b049f5064f74a90ec"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gadf3188d181f3940b049f5064f74a90ec">krb5_keytype_to_string</a> (krb5_context context, krb5_keytype keytype, char **string) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gadf3188d181f3940b049f5064f74a90ec"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf02ee01e78556f96ba033376a6e5de71"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gaf02ee01e78556f96ba033376a6e5de71">krb5_string_to_keytype</a> (krb5_context context, const char *string, krb5_keytype *keytype) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gaf02ee01e78556f96ba033376a6e5de71"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8edb548aa6c313e464c2134dbc0870c6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga8edb548aa6c313e464c2134dbc0870c6">krb5_password_key_proc</a> (krb5_context context, krb5_enctype type, krb5_salt salt, krb5_const_pointer keyseed, krb5_keyblock **key) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga8edb548aa6c313e464c2134dbc0870c6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabcfa94e926adf978549418807a66a0b8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gabcfa94e926adf978549418807a66a0b8">krb5_get_in_tkt_with_password</a> (krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, const char *password, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gabcfa94e926adf978549418807a66a0b8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad1c401931abe9725bef8b0ea8a9dd882"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gad1c401931abe9725bef8b0ea8a9dd882">krb5_get_in_tkt_with_skey</a> (krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, const krb5_keyblock *key, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gad1c401931abe9725bef8b0ea8a9dd882"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2726bd189174a87defdec0a8fec82b49"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga2726bd189174a87defdec0a8fec82b49">krb5_keytab_key_proc</a> (krb5_context context, krb5_enctype enctype, krb5_salt salt, krb5_const_pointer keyseed, krb5_keyblock **key) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga2726bd189174a87defdec0a8fec82b49"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae382db22c6bc14864e90df67b478af9a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gae382db22c6bc14864e90df67b478af9a">krb5_get_in_tkt_with_keytab</a> (krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, krb5_keytab keytab, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gae382db22c6bc14864e90df67b478af9a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga14f320f353bf7c0b325e520627aeecd1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_realm *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga14f320f353bf7c0b325e520627aeecd1">krb5_princ_realm</a> (krb5_context context, krb5_principal principal) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga14f320f353bf7c0b325e520627aeecd1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga376b5b8ec96bd7e644c1583291997dca"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga376b5b8ec96bd7e644c1583291997dca">krb5_princ_set_realm</a> (krb5_context context, krb5_principal principal, krb5_realm *realm) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga376b5b8ec96bd7e644c1583291997dca"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5b878bf6dc8aac75e3dc563e90690490"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga5b878bf6dc8aac75e3dc563e90690490">krb5_free_creds_contents</a> (krb5_context context, krb5_creds *c) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga5b878bf6dc8aac75e3dc563e90690490"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8053e78a8e7e4959ee047cf902ab9b03"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga8053e78a8e7e4959ee047cf902ab9b03">krb5_free_error_string</a> (krb5_context context, char *str) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga8053e78a8e7e4959ee047cf902ab9b03"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab8d15fd11a65c3e827b374a390c1a575"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gab8d15fd11a65c3e827b374a390c1a575">krb5_set_error_string</a> (krb5_context context, const char *fmt,...) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:gab8d15fd11a65c3e827b374a390c1a575"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga98398c599608053345e6f1531c2a29a5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga98398c599608053345e6f1531c2a29a5">krb5_vset_error_string</a> (krb5_context context, const char *fmt, va_list args) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:ga98398c599608053345e6f1531c2a29a5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0afa2dbf44cdbdae09e934bd9a0da411"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga0afa2dbf44cdbdae09e934bd9a0da411">krb5_clear_error_string</a> (krb5_context context) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga0afa2dbf44cdbdae09e934bd9a0da411"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga20443cc492d983894b53660c9edeed5f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga20443cc492d983894b53660c9edeed5f">krb5_get_cred_from_kdc_opt</a> (krb5_context context, krb5_ccache ccache, krb5_creds *in_creds, krb5_creds **out_creds, krb5_creds ***ret_tgts, krb5_flags flags) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga20443cc492d983894b53660c9edeed5f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga36ec67884f1a29c60698339b106a789c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga36ec67884f1a29c60698339b106a789c">krb5_get_cred_from_kdc</a> (krb5_context context, krb5_ccache ccache, krb5_creds *in_creds, krb5_creds **out_creds, krb5_creds ***ret_tgts) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga36ec67884f1a29c60698339b106a789c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga85cd65c25d7420023e41e3c6e134ec28"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga85cd65c25d7420023e41e3c6e134ec28">krb5_free_unparsed_name</a> (krb5_context context, char *str) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga85cd65c25d7420023e41e3c6e134ec28"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga947e9702f5104802ae27efec9582488a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga947e9702f5104802ae27efec9582488a">krb5_generate_subkey</a> (krb5_context context, const krb5_keyblock *key, krb5_keyblock **subkey) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga947e9702f5104802ae27efec9582488a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga423aebec055ca8e381f9d7e9ad5dad3a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#ga423aebec055ca8e381f9d7e9ad5dad3a">krb5_auth_getremoteseqnumber</a> (krb5_context context, krb5_auth_context auth_context, int32_t *seqnumber) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga423aebec055ca8e381f9d7e9ad5dad3a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab30808a4f397cf8b6eeabfe5504d6451"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gab30808a4f397cf8b6eeabfe5504d6451">krb5_get_init_creds_opt_init</a> (krb5_get_init_creds_opt *opt) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gab30808a4f397cf8b6eeabfe5504d6451"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf2bc3bce4dfa1ca2da4331fc36e11b0f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gaf2bc3bce4dfa1ca2da4331fc36e11b0f">krb5_get_init_creds_opt_get_error</a> (krb5_context context, krb5_get_init_creds_opt *opt, KRB_ERROR **error) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gaf2bc3bce4dfa1ca2da4331fc36e11b0f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac4cfe880cf291fa8be8e5b24e8130424"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__deprecated.html#gac4cfe880cf291fa8be8e5b24e8130424">krb5_c_enctype_compare</a> (krb5_context context, krb5_enctype e1, krb5_enctype e2, krb5_boolean *similar) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:gac4cfe880cf291fa8be8e5b24e8130424"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g423aebec055ca8e381f9d7e9ad5dad3a"></a><!-- doxytag: member="deprecated.c::krb5_auth_getremoteseqnumber" ref="g423aebec055ca8e381f9d7e9ad5dad3a" args="(krb5_context context, krb5_auth_context auth_context, int32_t *seqnumber) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga423aebec055ca8e381f9d7e9ad5dad3a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga423aebec055ca8e381f9d7e9ad5dad3a">◆ </a></span>krb5_auth_getremoteseqnumber()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_auth_getremoteseqnumber </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_auth_getremoteseqnumber </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_auth_context </td> - <td class="paramname"> <em>auth_context</em>, </td> + <td class="paramtype">krb5_auth_context </td> + <td class="paramname"><em>auth_context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t * </td> - <td class="paramname"> <em>seqnumber</em></td><td> </td> + <td class="paramtype">int32_t * </td> + <td class="paramname"><em>seqnumber</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_auth_con_getremoteseqnumber() </p> -<p> -Deprecated: use krb5_auth_con_getremoteseqnumber() </div> -</div><p> -<a class="anchor" name="gc4cfe880cf291fa8be8e5b24e8130424"></a><!-- doxytag: member="mit_glue.c::krb5_c_enctype_compare" ref="gc4cfe880cf291fa8be8e5b24e8130424" args="(krb5_context context, krb5_enctype e1, krb5_enctype e2, krb5_boolean *similar) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gac4cfe880cf291fa8be8e5b24e8130424"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac4cfe880cf291fa8be8e5b24e8130424">◆ </a></span>krb5_c_enctype_compare()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_c_enctype_compare </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_c_enctype_compare </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>e1</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>e1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>e2</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>e2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean * </td> - <td class="paramname"> <em>similar</em></td><td> </td> + <td class="paramtype">krb5_boolean * </td> + <td class="paramname"><em>similar</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: keytypes doesn't exists, they are really enctypes. </p> -<p> -Deprecated: keytypes doesn't exists, they are really enctypes. </div> -</div><p> -<a class="anchor" name="gd2d4fc0147bdb1d67093af5b645ca754"></a><!-- doxytag: member="changepw.c::krb5_change_password" ref="gd2d4fc0147bdb1d67093af5b645ca754" args="(krb5_context context, krb5_creds *creds, const char *newpw, int *result_code, krb5_data *result_code_string, krb5_data *result_string) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gad2d4fc0147bdb1d67093af5b645ca754"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad2d4fc0147bdb1d67093af5b645ca754">◆ </a></span>krb5_change_password()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_change_password </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_change_password </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>newpw</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>newpw</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int * </td> - <td class="paramname"> <em>result_code</em>, </td> + <td class="paramtype">int * </td> + <td class="paramname"><em>result_code</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>result_code_string</em>, </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>result_code_string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>result_string</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>result_string</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Deprecated: <a class="el" href="group__krb5__deprecated.html#gd2d4fc0147bdb1d67093af5b645ca754">krb5_change_password()</a> is deprecated, use <a class="el" href="group__krb5.html#g02611e3966053f79eda248d76dccc282">krb5_set_password()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>newpw</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>result_code</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>result_code_string</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>result_string</em> </td><td></td></tr> +</div><div class="memdoc"> +<p>Deprecated: <a class="el" href="group__krb5__deprecated.html#gad2d4fc0147bdb1d67093af5b645ca754">krb5_change_password()</a> is deprecated, use <a class="el" href="group__krb5.html#ga02611e3966053f79eda248d76dccc282">krb5_set_password()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">creds</td><td></td></tr> + <tr><td class="paramname">newpw</td><td></td></tr> + <tr><td class="paramname">result_code</td><td></td></tr> + <tr><td class="paramname">result_code_string</td><td></td></tr> + <tr><td class="paramname">result_string</td><td></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>On sucess password is changed.</dd></dl> -@ +<dl class="section return"><dt>Returns</dt><dd>On sucess password is changed.</dd></dl> +<p>@ </p> + </div> -</div><p> -<a class="anchor" name="g0afa2dbf44cdbdae09e934bd9a0da411"></a><!-- doxytag: member="deprecated.c::krb5_clear_error_string" ref="g0afa2dbf44cdbdae09e934bd9a0da411" args="(krb5_context context) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga0afa2dbf44cdbdae09e934bd9a0da411"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0afa2dbf44cdbdae09e934bd9a0da411">◆ </a></span>krb5_clear_error_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_clear_error_string </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_clear_error_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Clear the error message returned by krb5_get_error_string().<p> -Deprecated: use <a class="el" href="group__krb5__error.html#g21bbb3fd831bce0e987b1184668e0764">krb5_clear_error_message()</a><p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> +</div><div class="memdoc"> +<p>Clear the error message returned by <a class="el" href="group__krb5__error.html#ga785866fad6a16f78e398220bea3c079e">krb5_get_error_string()</a>.</p> +<p>Deprecated: use <a class="el" href="group__krb5__error.html#ga21bbb3fd831bce0e987b1184668e0764">krb5_clear_error_message()</a></p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gf2759c6a1de47fb9dae082808861f5f9"></a><!-- doxytag: member="config_file.c::krb5_config_parse_string_multi" ref="gf2759c6a1de47fb9dae082808861f5f9" args="(krb5_context context, const char *string, krb5_config_section **res) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gaf2759c6a1de47fb9dae082808861f5f9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf2759c6a1de47fb9dae082808861f5f9">◆ </a></span>krb5_config_parse_string_multi()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_string_multi </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_string_multi </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>string</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_config_section ** </td> - <td class="paramname"> <em>res</em></td><td> </td> + <td class="paramtype">krb5_config_section ** </td> + <td class="paramname"><em>res</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: configuration files are not strings </p> -<p> -Deprecated: configuration files are not strings </div> -</div><p> -<a class="anchor" name="gd181d7f53821544a0646955e124e20ba"></a><!-- doxytag: member="crypto.c::krb5_enctypes_compatible_keys" ref="gd181d7f53821544a0646955e124e20ba" args="(krb5_context context, krb5_enctype etype1, krb5_enctype etype2) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gad181d7f53821544a0646955e124e20ba"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad181d7f53821544a0646955e124e20ba">◆ </a></span>krb5_enctypes_compatible_keys()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_enctypes_compatible_keys </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_enctypes_compatible_keys </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>etype1</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>etype1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>etype2</em></td><td> </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>etype2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: keytypes doesn't exists, they are really enctypes. </p> -<p> -Deprecated: keytypes doesn't exists, they are really enctypes. </div> -</div><p> -<a class="anchor" name="g5b878bf6dc8aac75e3dc563e90690490"></a><!-- doxytag: member="deprecated.c::krb5_free_creds_contents" ref="g5b878bf6dc8aac75e3dc563e90690490" args="(krb5_context context, krb5_creds *c) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga5b878bf6dc8aac75e3dc563e90690490"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5b878bf6dc8aac75e3dc563e90690490">◆ </a></span>krb5_free_creds_contents()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_creds_contents </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_creds_contents </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>c</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>c</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use <a class="el" href="group__krb5.html#gad89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents()</a> </p> -<p> -Deprecated: use <a class="el" href="group__krb5.html#gd89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents()</a> </div> -</div><p> -<a class="anchor" name="g220b8b17e81dc71dd3ecd1b079160db9"></a><!-- doxytag: member="deprecated.c::krb5_free_data_contents" ref="g220b8b17e81dc71dd3ecd1b079160db9" args="(krb5_context context, krb5_data *data) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga220b8b17e81dc71dd3ecd1b079160db9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga220b8b17e81dc71dd3ecd1b079160db9">◆ </a></span>krb5_free_data_contents()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_data_contents </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_data_contents </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Same as <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a>. MIT compat.<p> -Deprecated: use <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>krb5_data to free. </td></tr> +</div><div class="memdoc"> +<p>Same as <a class="el" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a>. MIT compat.</p> +<p>Deprecated: use <a class="el" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">data</td><td>krb5_data to free. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g8053e78a8e7e4959ee047cf902ab9b03"></a><!-- doxytag: member="deprecated.c::krb5_free_error_string" ref="g8053e78a8e7e4959ee047cf902ab9b03" args="(krb5_context context, char *str) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga8053e78a8e7e4959ee047cf902ab9b03"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8053e78a8e7e4959ee047cf902ab9b03">◆ </a></span>krb5_free_error_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_error_string </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_error_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>str</em></td><td> </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>str</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free the error message returned by krb5_get_error_string().<p> -Deprecated: use krb5_free_error_message()<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>error message to free </td></tr> +</div><div class="memdoc"> +<p>Free the error message returned by <a class="el" href="group__krb5__error.html#ga785866fad6a16f78e398220bea3c079e">krb5_get_error_string()</a>.</p> +<p>Deprecated: use <a class="el" href="group__krb5__error.html#gaaf6afd30b2a89fe2e9a4ace03626921e">krb5_free_error_message()</a></p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">str</td><td>error message to free </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g85cd65c25d7420023e41e3c6e134ec28"></a><!-- doxytag: member="deprecated.c::krb5_free_unparsed_name" ref="g85cd65c25d7420023e41e3c6e134ec28" args="(krb5_context context, char *str) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga85cd65c25d7420023e41e3c6e134ec28"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga85cd65c25d7420023e41e3c6e134ec28">◆ </a></span>krb5_free_unparsed_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_unparsed_name </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_unparsed_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>str</em></td><td> </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>str</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_xfree(). </p> -<p> -Deprecated: use krb5_xfree(). </div> -</div><p> -<a class="anchor" name="g947e9702f5104802ae27efec9582488a"></a><!-- doxytag: member="deprecated.c::krb5_generate_subkey" ref="g947e9702f5104802ae27efec9582488a" args="(krb5_context context, const krb5_keyblock *key, krb5_keyblock **subkey) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga947e9702f5104802ae27efec9582488a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga947e9702f5104802ae27efec9582488a">◆ </a></span>krb5_generate_subkey()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_generate_subkey </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_generate_subkey </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>key</em>, </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock ** </td> - <td class="paramname"> <em>subkey</em></td><td> </td> + <td class="paramtype">krb5_keyblock ** </td> + <td class="paramname"><em>subkey</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use <a class="el" href="group__krb5__crypto.html#ga147a581626c11fafee04bfda036781ea">krb5_generate_subkey_extended()</a> </p> -<p> -Deprecated: use <a class="el" href="group__krb5__crypto.html#g147a581626c11fafee04bfda036781ea">krb5_generate_subkey_extended()</a> </div> -</div><p> -<a class="anchor" name="g36ec67884f1a29c60698339b106a789c"></a><!-- doxytag: member="deprecated.c::krb5_get_cred_from_kdc" ref="g36ec67884f1a29c60698339b106a789c" args="(krb5_context context, krb5_ccache ccache, krb5_creds *in_creds, krb5_creds **out_creds, krb5_creds ***ret_tgts) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga36ec67884f1a29c60698339b106a789c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga36ec67884f1a29c60698339b106a789c">◆ </a></span>krb5_get_cred_from_kdc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_cred_from_kdc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_cred_from_kdc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>in_creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>in_creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds ** </td> - <td class="paramname"> <em>out_creds</em>, </td> + <td class="paramtype">krb5_creds ** </td> + <td class="paramname"><em>out_creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds *** </td> - <td class="paramname"> <em>ret_tgts</em></td><td> </td> + <td class="paramtype">krb5_creds *** </td> + <td class="paramname"><em>ret_tgts</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_get_credentials_with_flags(). </p> -<p> -Deprecated: use krb5_get_credentials_with_flags(). </div> -</div><p> -<a class="anchor" name="g20443cc492d983894b53660c9edeed5f"></a><!-- doxytag: member="deprecated.c::krb5_get_cred_from_kdc_opt" ref="g20443cc492d983894b53660c9edeed5f" args="(krb5_context context, krb5_ccache ccache, krb5_creds *in_creds, krb5_creds **out_creds, krb5_creds ***ret_tgts, krb5_flags flags) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga20443cc492d983894b53660c9edeed5f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga20443cc492d983894b53660c9edeed5f">◆ </a></span>krb5_get_cred_from_kdc_opt()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_cred_from_kdc_opt </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_cred_from_kdc_opt </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>in_creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>in_creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds ** </td> - <td class="paramname"> <em>out_creds</em>, </td> + <td class="paramtype">krb5_creds ** </td> + <td class="paramname"><em>out_creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds *** </td> - <td class="paramname"> <em>ret_tgts</em>, </td> + <td class="paramtype">krb5_creds *** </td> + <td class="paramname"><em>ret_tgts</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>flags</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_get_credentials_with_flags(). </p> -<p> -Deprecated: use krb5_get_credentials_with_flags(). </div> -</div><p> -<a class="anchor" name="ge382db22c6bc14864e90df67b478af9a"></a><!-- doxytag: member="deprecated.c::krb5_get_in_tkt_with_keytab" ref="ge382db22c6bc14864e90df67b478af9a" args="(krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, krb5_keytab keytab, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gae382db22c6bc14864e90df67b478af9a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae382db22c6bc14864e90df67b478af9a">◆ </a></span>krb5_get_in_tkt_with_keytab()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_in_tkt_with_keytab </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_in_tkt_with_keytab </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>options</em>, </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>options</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addrs</em>, </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addrs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_enctype * </td> - <td class="paramname"> <em>etypes</em>, </td> + <td class="paramtype">const krb5_enctype * </td> + <td class="paramname"><em>etypes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_preauthtype * </td> - <td class="paramname"> <em>pre_auth_types</em>, </td> + <td class="paramtype">const krb5_preauthtype * </td> + <td class="paramname"><em>pre_auth_types</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>keytab</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>keytab</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kdc_rep * </td> - <td class="paramname"> <em>ret_as_reply</em></td><td> </td> + <td class="paramtype">krb5_kdc_rep * </td> + <td class="paramname"><em>ret_as_reply</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_get_init_creds() and friends. </p> -<p> -Deprecated: use krb5_get_init_creds() and friends. </div> -</div><p> -<a class="anchor" name="gbcfa94e926adf978549418807a66a0b8"></a><!-- doxytag: member="deprecated.c::krb5_get_in_tkt_with_password" ref="gbcfa94e926adf978549418807a66a0b8" args="(krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, const char *password, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gabcfa94e926adf978549418807a66a0b8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabcfa94e926adf978549418807a66a0b8">◆ </a></span>krb5_get_in_tkt_with_password()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_in_tkt_with_password </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_in_tkt_with_password </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>options</em>, </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>options</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addrs</em>, </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addrs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_enctype * </td> - <td class="paramname"> <em>etypes</em>, </td> + <td class="paramtype">const krb5_enctype * </td> + <td class="paramname"><em>etypes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_preauthtype * </td> - <td class="paramname"> <em>pre_auth_types</em>, </td> + <td class="paramtype">const krb5_preauthtype * </td> + <td class="paramname"><em>pre_auth_types</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>password</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>password</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kdc_rep * </td> - <td class="paramname"> <em>ret_as_reply</em></td><td> </td> + <td class="paramtype">krb5_kdc_rep * </td> + <td class="paramname"><em>ret_as_reply</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_get_init_creds() and friends. </p> -<p> -Deprecated: use krb5_get_init_creds() and friends. </div> -</div><p> -<a class="anchor" name="gd1c401931abe9725bef8b0ea8a9dd882"></a><!-- doxytag: member="deprecated.c::krb5_get_in_tkt_with_skey" ref="gd1c401931abe9725bef8b0ea8a9dd882" args="(krb5_context context, krb5_flags options, krb5_addresses *addrs, const krb5_enctype *etypes, const krb5_preauthtype *pre_auth_types, const krb5_keyblock *key, krb5_ccache ccache, krb5_creds *creds, krb5_kdc_rep *ret_as_reply) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gad1c401931abe9725bef8b0ea8a9dd882"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad1c401931abe9725bef8b0ea8a9dd882">◆ </a></span>krb5_get_in_tkt_with_skey()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_in_tkt_with_skey </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_in_tkt_with_skey </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>options</em>, </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>options</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>addrs</em>, </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>addrs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_enctype * </td> - <td class="paramname"> <em>etypes</em>, </td> + <td class="paramtype">const krb5_enctype * </td> + <td class="paramname"><em>etypes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_preauthtype * </td> - <td class="paramname"> <em>pre_auth_types</em>, </td> + <td class="paramtype">const krb5_preauthtype * </td> + <td class="paramname"><em>pre_auth_types</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>key</em>, </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kdc_rep * </td> - <td class="paramname"> <em>ret_as_reply</em></td><td> </td> + <td class="paramtype">krb5_kdc_rep * </td> + <td class="paramname"><em>ret_as_reply</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_get_init_creds() and friends. </p> -<p> -Deprecated: use krb5_get_init_creds() and friends. </div> -</div><p> -<a class="anchor" name="gf2bc3bce4dfa1ca2da4331fc36e11b0f"></a><!-- doxytag: member="init_creds.c::krb5_get_init_creds_opt_get_error" ref="gf2bc3bce4dfa1ca2da4331fc36e11b0f" args="(krb5_context context, krb5_get_init_creds_opt *opt, KRB_ERROR **error) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gaf2bc3bce4dfa1ca2da4331fc36e11b0f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf2bc3bce4dfa1ca2da4331fc36e11b0f">◆ </a></span>krb5_get_init_creds_opt_get_error()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_opt_get_error </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_get_init_creds_opt_get_error </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_get_init_creds_opt * </td> - <td class="paramname"> <em>opt</em>, </td> + <td class="paramtype">krb5_get_init_creds_opt * </td> + <td class="paramname"><em>opt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">KRB_ERROR ** </td> - <td class="paramname"> <em>error</em></td><td> </td> + <td class="paramtype">KRB_ERROR ** </td> + <td class="paramname"><em>error</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use the new <a class="el" href="group__krb5__credential.html#ga1a610bb2706e4048e8220225da110033">krb5_init_creds_init()</a> and <a class="el" href="group__krb5__credential.html#gab5b9ab4698f5af99c06dbcc015c39e27">krb5_init_creds_get_error()</a>. </p> -<p> -Deprecated: use the new <a class="el" href="group__krb5__credential.html#g1a610bb2706e4048e8220225da110033">krb5_init_creds_init()</a> and <a class="el" href="group__krb5__credential.html#gb5b9ab4698f5af99c06dbcc015c39e27">krb5_init_creds_get_error()</a>. </div> -</div><p> -<a class="anchor" name="gb30808a4f397cf8b6eeabfe5504d6451"></a><!-- doxytag: member="init_creds.c::krb5_get_init_creds_opt_init" ref="gb30808a4f397cf8b6eeabfe5504d6451" args="(krb5_get_init_creds_opt *opt) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gab30808a4f397cf8b6eeabfe5504d6451"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab30808a4f397cf8b6eeabfe5504d6451">◆ </a></span>krb5_get_init_creds_opt_init()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_get_init_creds_opt_init </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_get_init_creds_opt_init </td> <td>(</td> - <td class="paramtype">krb5_get_init_creds_opt * </td> - <td class="paramname"> <em>opt</em> </td> - <td> ) </td> + <td class="paramtype">krb5_get_init_creds_opt * </td> + <td class="paramname"><em>opt</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use <a class="el" href="group__krb5__credential.html#gabc0922393cb5c5eecec2d83f1851c21b">krb5_get_init_creds_opt_alloc()</a>.</p> +<p>The reason <a class="el" href="group__krb5__deprecated.html#gab30808a4f397cf8b6eeabfe5504d6451">krb5_get_init_creds_opt_init()</a> is deprecated is that krb5_get_init_creds_opt is a static structure and for ABI reason it can't grow, ie can't add new functionality. </p> -<p> -Deprecated: use <a class="el" href="group__krb5__credential.html#gbc0922393cb5c5eecec2d83f1851c21b">krb5_get_init_creds_opt_alloc()</a>.<p> -The reason <a class="el" href="group__krb5__deprecated.html#gb30808a4f397cf8b6eeabfe5504d6451">krb5_get_init_creds_opt_init()</a> is deprecated is that krb5_get_init_creds_opt is a static structure and for ABI reason it can't grow, ie can't add new functionality. </div> -</div><p> -<a class="anchor" name="g2726bd189174a87defdec0a8fec82b49"></a><!-- doxytag: member="deprecated.c::krb5_keytab_key_proc" ref="g2726bd189174a87defdec0a8fec82b49" args="(krb5_context context, krb5_enctype enctype, krb5_salt salt, krb5_const_pointer keyseed, krb5_keyblock **key) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga2726bd189174a87defdec0a8fec82b49"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2726bd189174a87defdec0a8fec82b49">◆ </a></span>krb5_keytab_key_proc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV krb5_keytab_key_proc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV krb5_keytab_key_proc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>enctype</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_salt </td> - <td class="paramname"> <em>salt</em>, </td> + <td class="paramtype">krb5_salt </td> + <td class="paramname"><em>salt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_pointer </td> - <td class="paramname"> <em>keyseed</em>, </td> + <td class="paramtype">krb5_const_pointer </td> + <td class="paramname"><em>keyseed</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock ** </td> - <td class="paramname"> <em>key</em></td><td> </td> + <td class="paramtype">krb5_keyblock ** </td> + <td class="paramname"><em>key</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_get_init_creds() and friends. </p> -<p> -Deprecated: use krb5_get_init_creds() and friends. </div> -</div><p> -<a class="anchor" name="g50031239574b31100d9ab158ce7d026a"></a><!-- doxytag: member="crypto.c::krb5_keytype_to_enctypes" ref="g50031239574b31100d9ab158ce7d026a" args="(krb5_context context, krb5_keytype keytype, unsigned *len, krb5_enctype **val) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga50031239574b31100d9ab158ce7d026a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga50031239574b31100d9ab158ce7d026a">◆ </a></span>krb5_keytype_to_enctypes()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keytype_to_enctypes </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keytype_to_enctypes </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytype </td> - <td class="paramname"> <em>keytype</em>, </td> + <td class="paramtype">krb5_keytype </td> + <td class="paramname"><em>keytype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned * </td> - <td class="paramname"> <em>len</em>, </td> + <td class="paramtype">unsigned * </td> + <td class="paramname"><em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype ** </td> - <td class="paramname"> <em>val</em></td><td> </td> + <td class="paramtype">krb5_enctype ** </td> + <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: keytypes doesn't exists, they are really enctypes. </p> -<p> -Deprecated: keytypes doesn't exists, they are really enctypes. </div> -</div><p> -<a class="anchor" name="gd41975d389631db8a13151fb864c0c42"></a><!-- doxytag: member="deprecated.c::krb5_keytype_to_enctypes_default" ref="gd41975d389631db8a13151fb864c0c42" args="(krb5_context context, krb5_keytype keytype, unsigned *len, krb5_enctype **val) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gad41975d389631db8a13151fb864c0c42"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad41975d389631db8a13151fb864c0c42">◆ </a></span>krb5_keytype_to_enctypes_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keytype_to_enctypes_default </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keytype_to_enctypes_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytype </td> - <td class="paramname"> <em>keytype</em>, </td> + <td class="paramtype">krb5_keytype </td> + <td class="paramname"><em>keytype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned * </td> - <td class="paramname"> <em>len</em>, </td> + <td class="paramtype">unsigned * </td> + <td class="paramname"><em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype ** </td> - <td class="paramname"> <em>val</em></td><td> </td> + <td class="paramtype">krb5_enctype ** </td> + <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: keytypes doesn't exists, they are really enctypes. </p> -<p> -Deprecated: keytypes doesn't exists, they are really enctypes. </div> -</div><p> -<a class="anchor" name="gdf3188d181f3940b049f5064f74a90ec"></a><!-- doxytag: member="deprecated.c::krb5_keytype_to_string" ref="gdf3188d181f3940b049f5064f74a90ec" args="(krb5_context context, krb5_keytype keytype, char **string) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gadf3188d181f3940b049f5064f74a90ec"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gadf3188d181f3940b049f5064f74a90ec">◆ </a></span>krb5_keytype_to_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keytype_to_string </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_keytype_to_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytype </td> - <td class="paramname"> <em>keytype</em>, </td> + <td class="paramtype">krb5_keytype </td> + <td class="paramname"><em>keytype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>string</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>string</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: keytypes doesn't exists, they are really enctypes in most cases, use krb5_enctype_to_string(). </p> -<p> -Deprecated: keytypes doesn't exists, they are really enctypes in most cases, use krb5_enctype_to_string(). </div> -</div><p> -<a class="anchor" name="g8edb548aa6c313e464c2134dbc0870c6"></a><!-- doxytag: member="deprecated.c::krb5_password_key_proc" ref="g8edb548aa6c313e464c2134dbc0870c6" args="(krb5_context context, krb5_enctype type, krb5_salt salt, krb5_const_pointer keyseed, krb5_keyblock **key) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga8edb548aa6c313e464c2134dbc0870c6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8edb548aa6c313e464c2134dbc0870c6">◆ </a></span>krb5_password_key_proc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV krb5_password_key_proc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_CALLCONV krb5_password_key_proc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_salt </td> - <td class="paramname"> <em>salt</em>, </td> + <td class="paramtype">krb5_salt </td> + <td class="paramname"><em>salt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_pointer </td> - <td class="paramname"> <em>keyseed</em>, </td> + <td class="paramtype">krb5_const_pointer </td> + <td class="paramname"><em>keyseed</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock ** </td> - <td class="paramname"> <em>key</em></td><td> </td> + <td class="paramtype">krb5_keyblock ** </td> + <td class="paramname"><em>key</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use krb5_get_init_creds() and friends. </p> -<p> -Deprecated: use krb5_get_init_creds() and friends. </div> -</div><p> -<a class="anchor" name="g14f320f353bf7c0b325e520627aeecd1"></a><!-- doxytag: member="deprecated.c::krb5_princ_realm" ref="g14f320f353bf7c0b325e520627aeecd1" args="(krb5_context context, krb5_principal principal) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga14f320f353bf7c0b325e520627aeecd1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga14f320f353bf7c0b325e520627aeecd1">◆ </a></span>krb5_princ_realm()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_realm* KRB5_LIB_CALL krb5_princ_realm </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_realm* KRB5_LIB_CALL krb5_princ_realm </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use <a class="el" href="group__krb5__principal.html#gaccd23426798cf776a96c23a455576362">krb5_principal_get_realm()</a> </p> -<p> -Deprecated: use <a class="el" href="group__krb5__principal.html#gccd23426798cf776a96c23a455576362">krb5_principal_get_realm()</a> </div> -</div><p> -<a class="anchor" name="g376b5b8ec96bd7e644c1583291997dca"></a><!-- doxytag: member="deprecated.c::krb5_princ_set_realm" ref="g376b5b8ec96bd7e644c1583291997dca" args="(krb5_context context, krb5_principal principal, krb5_realm *realm) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga376b5b8ec96bd7e644c1583291997dca"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga376b5b8ec96bd7e644c1583291997dca">◆ </a></span>krb5_princ_set_realm()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_princ_set_realm </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_princ_set_realm </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_realm * </td> - <td class="paramname"> <em>realm</em></td><td> </td> + <td class="paramtype">krb5_realm * </td> + <td class="paramname"><em>realm</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: use <a class="el" href="group__krb5__principal.html#gaaacf06babb00b391f35a8468a0ec96f9">krb5_principal_set_realm()</a> </p> -<p> -Deprecated: use <a class="el" href="group__krb5__principal.html#gaacf06babb00b391f35a8468a0ec96f9">krb5_principal_set_realm()</a> </div> -</div><p> -<a class="anchor" name="gf89cefa0b780e9252ab97b7dd1bf340e"></a><!-- doxytag: member="deprecated.c::krb5_set_error_string" ref="gf89cefa0b780e9252ab97b7dd1bf340e" args="(krb5_context context, const char *fmt,...) __attribute__((format(printf" --> +</div> +<a id="gab8d15fd11a65c3e827b374a390c1a575"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab8d15fd11a65c3e827b374a390c1a575">◆ </a></span>krb5_set_error_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_error_string </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_error_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>fmt</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the error message returned by krb5_get_error_string().<p> -Deprecated: use krb5_get_error_message()<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>fmt</em> </td><td>error message to free</td></tr> +</div><div class="memdoc"> +<p>Set the error message returned by <a class="el" href="group__krb5__error.html#ga785866fad6a16f78e398220bea3c079e">krb5_get_error_string()</a>.</p> +<p>Deprecated: use <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a></p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">fmt</td><td>error message to free</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf02ee01e78556f96ba033376a6e5de71"></a><!-- doxytag: member="deprecated.c::krb5_string_to_keytype" ref="gf02ee01e78556f96ba033376a6e5de71" args="(krb5_context context, const char *string, krb5_keytype *keytype) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="gaf02ee01e78556f96ba033376a6e5de71"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf02ee01e78556f96ba033376a6e5de71">◆ </a></span>krb5_string_to_keytype()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_string_to_keytype </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_string_to_keytype </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>string</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytype * </td> - <td class="paramname"> <em>keytype</em></td><td> </td> + <td class="paramtype">krb5_keytype * </td> + <td class="paramname"><em>keytype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Deprecated: keytypes doesn't exists, they are really enctypes in most cases, use krb5_string_to_enctype(). </p> -<p> -Deprecated: keytypes doesn't exists, they are really enctypes in most cases, use krb5_string_to_enctype(). </div> -</div><p> -<a class="anchor" name="ga698492299702f5568e941b62bf4decd"></a><!-- doxytag: member="deprecated.c::krb5_vset_error_string" ref="ga698492299702f5568e941b62bf4decd" args="(krb5_context context, const char *fmt, va_list args) __attribute__((format(printf" --> +</div> +<a id="ga98398c599608053345e6f1531c2a29a5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga98398c599608053345e6f1531c2a29a5">◆ </a></span>krb5_vset_error_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_vset_error_string </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_vset_error_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>fmt</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the error message returned by krb5_get_error_string(), deprecated, use <a class="el" href="group__krb5__error.html#g8961540f386e3e3d2700d31f7a4ba63d">krb5_set_error_message()</a>.<p> -Deprecated: use krb5_vset_error_message()<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>error message to free</td></tr> +</div><div class="memdoc"> +<p>Set the error message returned by <a class="el" href="group__krb5__error.html#ga785866fad6a16f78e398220bea3c079e">krb5_get_error_string()</a>, deprecated, use <a class="el" href="group__krb5__error.html#ga0640bed1721367716746fb6cc6bf56dd">krb5_set_error_message()</a>.</p> +<p>Deprecated: use <a class="el" href="group__krb5__error.html#ga19a03dbcbff7cc04e3756ac7a9f14385">krb5_vset_error_message()</a></p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">fmt</td><td>error message to free </td></tr> + <tr><td class="paramname">args</td><td>variable argument list vector</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__digest.html b/doc/doxyout/krb5/html/group__krb5__digest.html index f4f9492307a9..7a26a50c711d 100644 --- a/doc/doxyout/krb5/html/group__krb5__digest.html +++ b/doc/doxyout/krb5/html/group__krb5__digest.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 digest service</title> +<title>Heimdal Kerberos 5 digest service</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,80 +8,84 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 digest service</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 digest service</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__digest.html#gfdcbf9b8641947963775c33b1ffb38fa">krb5_digest_probe</a> (krb5_context context, krb5_realm realm, krb5_ccache ccache, unsigned *flags)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gafdcbf9b8641947963775c33b1ffb38fa"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__digest.html#gafdcbf9b8641947963775c33b1ffb38fa">krb5_digest_probe</a> (krb5_context context, krb5_realm realm, krb5_ccache ccache, unsigned *flags)</td></tr> +<tr class="separator:gafdcbf9b8641947963775c33b1ffb38fa"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="gfdcbf9b8641947963775c33b1ffb38fa"></a><!-- doxytag: member="digest.c::krb5_digest_probe" ref="gfdcbf9b8641947963775c33b1ffb38fa" args="(krb5_context context, krb5_realm realm, krb5_ccache ccache, unsigned *flags)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="gafdcbf9b8641947963775c33b1ffb38fa"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafdcbf9b8641947963775c33b1ffb38fa">◆ </a></span>krb5_digest_probe()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_digest_probe </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_digest_probe </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_realm </td> - <td class="paramname"> <em>realm</em>, </td> + <td class="paramtype">krb5_realm </td> + <td class="paramname"><em>realm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">unsigned * </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">unsigned * </td> + <td class="paramname"><em>flags</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the supported/allowed mechanism for this principal.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>The realm of the KDC. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ccache</em> </td><td>The credential cache to use when talking to the KDC. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>The supported mechanism.</td></tr> +</div><div class="memdoc"> +<p>Get the supported/allowed mechanism for this principal.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Keberos context. </td></tr> + <tr><td class="paramname">realm</td><td>The realm of the KDC. </td></tr> + <tr><td class="paramname">ccache</td><td>The credential cache to use when talking to the KDC. </td></tr> + <tr><td class="paramname">flags</td><td>The supported mechanism.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__error.html b/doc/doxyout/krb5/html/group__krb5__error.html index dc87eadb3284..38ee265277ac 100644 --- a/doc/doxyout/krb5/html/group__krb5__error.html +++ b/doc/doxyout/krb5/html/group__krb5__error.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 error reporting functions</title> +<title>Heimdal Kerberos 5 error reporting functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,232 +8,1015 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 error reporting functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 error reporting functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gbfadc71c9680807445c9c73bfb80c7de">krb5_eai_to_heim_errno</a> (int eai_errno, int system_error)</td></tr> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga785866fad6a16f78e398220bea3c079e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga785866fad6a16f78e398220bea3c079e">krb5_get_error_string</a> (krb5_context context) KRB5_DEPRECATED_FUNCTION("Use <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message</a> instead")</td></tr> +<tr class="separator:ga785866fad6a16f78e398220bea3c079e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabfadc71c9680807445c9c73bfb80c7de"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gabfadc71c9680807445c9c73bfb80c7de">krb5_eai_to_heim_errno</a> (int eai_errno, int system_error)</td></tr> +<tr class="separator:gabfadc71c9680807445c9c73bfb80c7de"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf04d419f89c5d4525f05f08710aed85e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gaf04d419f89c5d4525f05f08710aed85e">krb5_h_errno_to_heim_errno</a> (int eai_errno)</td></tr> +<tr class="separator:gaf04d419f89c5d4525f05f08710aed85e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga21bbb3fd831bce0e987b1184668e0764"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga21bbb3fd831bce0e987b1184668e0764">krb5_clear_error_message</a> (krb5_context context)</td></tr> +<tr class="separator:ga21bbb3fd831bce0e987b1184668e0764"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0640bed1721367716746fb6cc6bf56dd"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga0640bed1721367716746fb6cc6bf56dd">krb5_set_error_message</a> (krb5_context context, krb5_error_code ret, const char *fmt,...) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:ga0640bed1721367716746fb6cc6bf56dd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga19a03dbcbff7cc04e3756ac7a9f14385"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga19a03dbcbff7cc04e3756ac7a9f14385">krb5_vset_error_message</a> (krb5_context context, krb5_error_code ret, const char *fmt, va_list args) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:ga19a03dbcbff7cc04e3756ac7a9f14385"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf106c9897306a7d9b5cd10c467d6e382"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gaf106c9897306a7d9b5cd10c467d6e382">krb5_vprepend_error_message</a> (krb5_context context, krb5_error_code ret, const char *fmt, va_list args) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:gaf106c9897306a7d9b5cd10c467d6e382"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga35cbf80e68f43a6d9503952886b85ed2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message</a> (krb5_context context, krb5_error_code code)</td></tr> +<tr class="separator:ga35cbf80e68f43a6d9503952886b85ed2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaf6afd30b2a89fe2e9a4ace03626921e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gaaf6afd30b2a89fe2e9a4ace03626921e">krb5_free_error_message</a> (krb5_context context, const char *msg)</td></tr> +<tr class="separator:gaaf6afd30b2a89fe2e9a4ace03626921e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaab4d0325ff2a30fbd670d6e96c68b8ec"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gaab4d0325ff2a30fbd670d6e96c68b8ec">krb5_vwarn</a> (krb5_context context, krb5_error_code code, const char *fmt, va_list ap) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:gaab4d0325ff2a30fbd670d6e96c68b8ec"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac25b2bfae99043329f1d9eb38c63cbe5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gac25b2bfae99043329f1d9eb38c63cbe5">krb5_warn</a> (krb5_context context, krb5_error_code code, const char *fmt,...) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:gac25b2bfae99043329f1d9eb38c63cbe5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac1c13284b5c34f1f207423693ec7fdae"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gac1c13284b5c34f1f207423693ec7fdae">krb5_vwarnx</a> (krb5_context context, const char *fmt, va_list ap) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:gac1c13284b5c34f1f207423693ec7fdae"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafa3c8de06d8bc7205ff1ec9c379d2cb3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gafa3c8de06d8bc7205ff1ec9c379d2cb3">krb5_warnx</a> (krb5_context context, const char *fmt,...) __attribute__((__format__(__printf__</td></tr> +<tr class="separator:gafa3c8de06d8bc7205ff1ec9c379d2cb3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadbae318ed4838e81566c36b545db7b35"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gadbae318ed4838e81566c36b545db7b35">krb5_verr</a> (krb5_context context, int eval, krb5_error_code code, const char *fmt, va_list ap) __attribute__((__noreturn__</td></tr> +<tr class="separator:gadbae318ed4838e81566c36b545db7b35"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad75c268bcf26225ee8d4a39c178131a1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a> (krb5_context context, int eval, krb5_error_code code, const char *fmt,...) __attribute__((__noreturn__</td></tr> +<tr class="separator:gad75c268bcf26225ee8d4a39c178131a1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa908a3716343e49cf0b9dd681b018700"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gaa908a3716343e49cf0b9dd681b018700">krb5_verrx</a> (krb5_context context, int eval, const char *fmt, va_list ap) __attribute__((__noreturn__</td></tr> +<tr class="separator:gaa908a3716343e49cf0b9dd681b018700"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1b898cb64c7e0e9a61d52440e1ada17e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga1b898cb64c7e0e9a61d52440e1ada17e">krb5_errx</a> (krb5_context context, int eval, const char *fmt,...) __attribute__((__noreturn__</td></tr> +<tr class="separator:ga1b898cb64c7e0e9a61d52440e1ada17e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaefd5e28eb27e811b3d76850d69f680da"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gaefd5e28eb27e811b3d76850d69f680da">krb5_vabort</a> (krb5_context context, krb5_error_code code, const char *fmt, va_list ap) __attribute__((__noreturn__</td></tr> +<tr class="separator:gaefd5e28eb27e811b3d76850d69f680da"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga11632525baa077050131a4c6a935e9f4"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga11632525baa077050131a4c6a935e9f4">krb5_abort</a> (krb5_context context, krb5_error_code code, const char *fmt,...) __attribute__((__noreturn__</td></tr> +<tr class="separator:ga11632525baa077050131a4c6a935e9f4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae6fc9753a685ce4a30f719bb4c80aa0d"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gae6fc9753a685ce4a30f719bb4c80aa0d">krb5_abortx</a> (krb5_context context, const char *fmt,...) __attribute__((__noreturn__</td></tr> +<tr class="separator:gae6fc9753a685ce4a30f719bb4c80aa0d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac3e03d80523f1f848d7d1f8b170dd8f9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gac3e03d80523f1f848d7d1f8b170dd8f9">krb5_set_warn_dest</a> (krb5_context context, krb5_log_facility *fac)</td></tr> +<tr class="separator:gac3e03d80523f1f848d7d1f8b170dd8f9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga41e3138a66264a087ec916d0d5704ff9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_log_facility *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#ga41e3138a66264a087ec916d0d5704ff9">krb5_get_warn_dest</a> (krb5_context context)</td></tr> +<tr class="separator:ga41e3138a66264a087ec916d0d5704ff9"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga11632525baa077050131a4c6a935e9f4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga11632525baa077050131a4c6a935e9f4">◆ </a></span>krb5_abort()</h2> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#gf04d419f89c5d4525f05f08710aed85e">krb5_h_errno_to_heim_errno</a> (int eai_errno)</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_abort </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, include the error from the last failure and then abort.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">code</td><td>error code of the last error </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + <tr><td class="paramname">...</td><td>arguments for format string </td></tr> + </table> + </dd> +</dl> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#g21bbb3fd831bce0e987b1184668e0764">krb5_clear_error_message</a> (krb5_context context)</td></tr> +</div> +</div> +<a id="gae6fc9753a685ce4a30f719bb4c80aa0d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae6fc9753a685ce4a30f719bb4c80aa0d">◆ </a></span>krb5_abortx()</h2> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#g8961540f386e3e3d2700d31f7a4ba63d">krb5_set_error_message</a> (krb5_context context, krb5_error_code ret, const char *fmt,...) __attribute__((format(printf</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_abortx </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, and then abort.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">fmt</td><td>printf format string of message to print </td></tr> + <tr><td class="paramname">...</td><td>arguments for format string </td></tr> + </table> + </dd> +</dl> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__error.html#g0561875954862c00e141a9e680f2e8d0">krb5_vwarn</a> (krb5_context context, krb5_error_code code, const char *fmt, va_list ap) __attribute__((format(printf</td></tr> +</div> +</div> +<a id="ga21bbb3fd831bce0e987b1184668e0764"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga21bbb3fd831bce0e987b1184668e0764">◆ </a></span>krb5_clear_error_message()</h2> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g21bbb3fd831bce0e987b1184668e0764"></a><!-- doxytag: member="error_string.c::krb5_clear_error_message" ref="g21bbb3fd831bce0e987b1184668e0764" args="(krb5_context context)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_clear_error_message </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_clear_error_message </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> <td></td> </tr> </table> +</div><div class="memdoc"> +<p>Clears the error message from the Kerberos 5 context.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>The Kerberos 5 context to clear </td></tr> + </table> + </dd> +</dl> + +</div> </div> -<div class="memdoc"> +<a id="gabfadc71c9680807445c9c73bfb80c7de"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabfadc71c9680807445c9c73bfb80c7de">◆ </a></span>krb5_eai_to_heim_errno()</h2> -<p> -Clears the error message from the Kerberos 5 context.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>The Kerberos 5 context to clear </td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_eai_to_heim_errno </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>eai_errno</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>system_error</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Convert the getaddrinfo() error code to a Kerberos et error code.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">eai_errno</td><td>contains the error code from getaddrinfo(). </td></tr> + <tr><td class="paramname">system_error</td><td>should have the value of errno after the failed getaddrinfo().</td></tr> </table> + </dd> </dl> +<dl class="section return"><dt>Returns</dt><dd>Kerberos error code representing the EAI errors. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbfadc71c9680807445c9c73bfb80c7de"></a><!-- doxytag: member="eai_to_heim_errno.c::krb5_eai_to_heim_errno" ref="gbfadc71c9680807445c9c73bfb80c7de" args="(int eai_errno, int system_error)" --> +</div> +<a id="gad75c268bcf26225ee8d4a39c178131a1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad75c268bcf26225ee8d4a39c178131a1">◆ </a></span>krb5_err()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_eai_to_heim_errno </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_err </td> <td>(</td> - <td class="paramtype">int </td> - <td class="paramname"> <em>eai_errno</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>eval</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>system_error</em></td><td> </td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, include bthe error from the last failure and then exit.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">eval</td><td>the exit code to exit with </td></tr> + <tr><td class="paramname">code</td><td>error code of the last error </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + </table> + </dd> +</dl> + </div> -<div class="memdoc"> +</div> +<a id="ga1b898cb64c7e0e9a61d52440e1ada17e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1b898cb64c7e0e9a61d52440e1ada17e">◆ </a></span>krb5_errx()</h2> -<p> -Convert the getaddrinfo() error code to a Kerberos et error code.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>eai_errno</em> </td><td>contains the error code from getaddrinfo(). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>system_error</em> </td><td>should have the value of errno after the failed getaddrinfo().</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_errx </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>eval</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, and then exit.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">eval</td><td>the exit code to exit with </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos error code representing the EAI errors. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf04d419f89c5d4525f05f08710aed85e"></a><!-- doxytag: member="eai_to_heim_errno.c::krb5_h_errno_to_heim_errno" ref="gf04d419f89c5d4525f05f08710aed85e" args="(int eai_errno)" --> +</div> +<a id="gaaf6afd30b2a89fe2e9a4ace03626921e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaaf6afd30b2a89fe2e9a4ace03626921e">◆ </a></span>krb5_free_error_message()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_errno_to_heim_errno </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_error_message </td> <td>(</td> - <td class="paramtype">int </td> - <td class="paramname"> <em>eai_errno</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>msg</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Free the error message returned by <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">msg</td><td>error message to free, returned byg <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </td></tr> + </table> + </dd> +</dl> + +</div> </div> -<div class="memdoc"> +<a id="ga35cbf80e68f43a6d9503952886b85ed2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga35cbf80e68f43a6d9503952886b85ed2">◆ </a></span>krb5_get_error_message()</h2> -<p> -Convert the gethostname() error code (h_error) to a Kerberos et error code.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>eai_errno</em> </td><td>contains the error code from gethostname().</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_get_error_message </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Return the error message for `code' in context. On memory allocation error the function returns NULL.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">code</td><td>Error code related to the error</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Kerberos error code representing the gethostname errors. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>an error string, needs to be freed with <a class="el" href="group__krb5__error.html#gaaf6afd30b2a89fe2e9a4ace03626921e">krb5_free_error_message()</a>. The functions return NULL on error. </dd></dl> </div> -</div><p> -<a class="anchor" name="g8961540f386e3e3d2700d31f7a4ba63d"></a><!-- doxytag: member="error_string.c::krb5_set_error_message" ref="g8961540f386e3e3d2700d31f7a4ba63d" args="(krb5_context context, krb5_error_code ret, const char *fmt,...) __attribute__((format(printf" --> +</div> +<a id="ga785866fad6a16f78e398220bea3c079e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga785866fad6a16f78e398220bea3c079e">◆ </a></span>krb5_get_error_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_error_message </td> + <td class="memname">KRB5_LIB_FUNCTION char* KRB5_LIB_CALL krb5_get_error_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Return the error message in context. On error or no error string, the function returns NULL.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>an error string, needs to be freed with <a class="el" href="group__krb5__error.html#gaaf6afd30b2a89fe2e9a4ace03626921e">krb5_free_error_message()</a>. The functions return NULL on error. </dd></dl> + +</div> +</div> +<a id="ga41e3138a66264a087ec916d0d5704ff9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga41e3138a66264a087ec916d0d5704ff9">◆ </a></span>krb5_get_warn_dest()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_log_facility* KRB5_LIB_CALL krb5_get_warn_dest </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Get the default logging facility.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="gaf04d419f89c5d4525f05f08710aed85e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf04d419f89c5d4525f05f08710aed85e">◆ </a></span>krb5_h_errno_to_heim_errno()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_h_errno_to_heim_errno </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>eai_errno</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Convert the gethostname() error code (h_error) to a Kerberos et error code.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">eai_errno</td><td>contains the error code from gethostname().</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Kerberos error code representing the gethostname errors. </dd></dl> + +</div> +</div> +<a id="ga0640bed1721367716746fb6cc6bf56dd"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0640bed1721367716746fb6cc6bf56dd">◆ </a></span>krb5_set_error_message()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_set_error_message </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_error_code </td> - <td class="paramname"> <em>ret</em>, </td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>ret</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>fmt</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Set the context full error string for a specific error code. The error that is stored should be internationalized.</p> +<p>The if context is NULL, no error string is stored.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">ret</td><td>The error code </td></tr> + <tr><td class="paramname">fmt</td><td>Error string for the error code </td></tr> + <tr><td class="paramname">...</td><td>printf(3) style parameters. </td></tr> + </table> + </dd> +</dl> + +</div> </div> -<div class="memdoc"> +<a id="gac3e03d80523f1f848d7d1f8b170dd8f9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac3e03d80523f1f848d7d1f8b170dd8f9">◆ </a></span>krb5_set_warn_dest()</h2> -<p> -Set the context full error string for a specific error code. The error that is stored should be internationalized.<p> -The if context is NULL, no error string is stored.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ret</em> </td><td>The error code </td></tr> - <tr><td valign="top"></td><td valign="top"><em>fmt</em> </td><td>Error string for the error code </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>printf(3) style parameters. </td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_set_warn_dest </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_log_facility * </td> + <td class="paramname"><em>fac</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Set the default logging facility.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">fac</td><td>Facility to use for logging. </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g0561875954862c00e141a9e680f2e8d0"></a><!-- doxytag: member="warn.c::krb5_vwarn" ref="g0561875954862c00e141a9e680f2e8d0" args="(krb5_context context, krb5_error_code code, const char *fmt, va_list ap) __attribute__((format(printf" --> +</div> +<a id="gaefd5e28eb27e811b3d76850d69f680da"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaefd5e28eb27e811b3d76850d69f680da">◆ </a></span>krb5_vabort()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_vwarn </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_vabort </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_error_code </td> - <td class="paramname"> <em>code</em>, </td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>fmt</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>ap</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>ap</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, include bthe error from the last failure and then abort.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">code</td><td>error code of the last error </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + <tr><td class="paramname">ap</td><td>arguments </td></tr> + </table> + </dd> +</dl> + </div> -<div class="memdoc"> +</div> +<a id="gadbae318ed4838e81566c36b545db7b35"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gadbae318ed4838e81566c36b545db7b35">◆ </a></span>krb5_verr()</h2> -<p> -Log a warning to the log, default stderr, include the error from the last failure.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>error code of the last error </td></tr> - <tr><td valign="top"></td><td valign="top"><em>fmt</em> </td><td>message to print </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ap</em> </td><td>arguments </td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_verr </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>eval</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>ap</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, include bthe error from the last failure and then exit.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">eval</td><td>the exit code to exit with </td></tr> + <tr><td class="paramname">code</td><td>error code of the last error </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + <tr><td class="paramname">ap</td><td>arguments </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="gaa908a3716343e49cf0b9dd681b018700"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa908a3716343e49cf0b9dd681b018700">◆ </a></span>krb5_verrx()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_verrx </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>eval</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>ap</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, and then exit.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">eval</td><td>the exit code to exit with </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + <tr><td class="paramname">ap</td><td>arguments </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="gaf106c9897306a7d9b5cd10c467d6e382"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf106c9897306a7d9b5cd10c467d6e382">◆ </a></span>krb5_vprepend_error_message()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_vprepend_error_message </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>ret</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Prepend the contexts's full error string for a specific error code.</p> +<p>The if context is NULL, no error string is stored.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">ret</td><td>The error code </td></tr> + <tr><td class="paramname">fmt</td><td>Error string for the error code </td></tr> + <tr><td class="paramname">args</td><td>printf(3) style parameters. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="ga19a03dbcbff7cc04e3756ac7a9f14385"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga19a03dbcbff7cc04e3756ac7a9f14385">◆ </a></span>krb5_vset_error_message()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_vset_error_message </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>ret</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Set the context full error string for a specific error code.</p> +<p>The if context is NULL, no error string is stored.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">ret</td><td>The error code </td></tr> + <tr><td class="paramname">fmt</td><td>Error string for the error code </td></tr> + <tr><td class="paramname">args</td><td>printf(3) style parameters. </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="gaab4d0325ff2a30fbd670d6e96c68b8ec"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaab4d0325ff2a30fbd670d6e96c68b8ec">◆ </a></span>krb5_vwarn()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_vwarn </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>ap</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, include the error from the last failure.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">code</td><td>error code of the last error </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + <tr><td class="paramname">ap</td><td>arguments </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="gac1c13284b5c34f1f207423693ec7fdae"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac1c13284b5c34f1f207423693ec7fdae">◆ </a></span>krb5_vwarnx()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_vwarnx </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>ap</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + <tr><td class="paramname">ap</td><td>arguments </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="gac25b2bfae99043329f1d9eb38c63cbe5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac25b2bfae99043329f1d9eb38c63cbe5">◆ </a></span>krb5_warn()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_warn </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_error_code </td> + <td class="paramname"><em>code</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr, include the error from the last failure.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">code</td><td>error code of the last error </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a id="gafa3c8de06d8bc7205ff1ec9c379d2cb3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafa3c8de06d8bc7205ff1ec9c379d2cb3">◆ </a></span>krb5_warnx()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_warnx </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fmt</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Log a warning to the log, default stderr.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">fmt</td><td>message to print </td></tr> </table> + </dd> </dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__keytab.html b/doc/doxyout/krb5/html/group__krb5__keytab.html index 4c56efaf3463..76ff3712b7a3 100644 --- a/doc/doxyout/krb5/html/group__krb5__keytab.html +++ b/doc/doxyout/krb5/html/group__krb5__keytab.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 keytab handling functions</title> +<title>Heimdal Kerberos 5 keytab handling functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,1048 +8,1032 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 keytab handling functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 keytab handling functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g0b54b479db89c76e46d6edae8328848e">krb5_kt_register</a> (krb5_context context, const krb5_kt_ops *ops)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gc57fead58fb1baa003d6438613731901">krb5_kt_resolve</a> (krb5_context context, const char *name, krb5_keytab *id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g3fdc1c60208dc99c1f0ebec18e2a7a52">krb5_kt_default_name</a> (krb5_context context, char *name, size_t namesize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gaaff7211e887e908d909d75febf33200">krb5_kt_default_modify_name</a> (krb5_context context, char *name, size_t namesize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gfcd059883c79dbd99a179bc4225d16b5">krb5_kt_default</a> (krb5_context context, krb5_keytab *id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g6040b238ff8adeb346ca35e5530bdeff">krb5_kt_read_service_key</a> (krb5_context context, krb5_pointer keyprocarg, krb5_principal principal, krb5_kvno vno, krb5_enctype enctype, krb5_keyblock **key)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g632921a4b144a4eb656968d836efd9bb">krb5_kt_get_type</a> (krb5_context context, krb5_keytab keytab, char *prefix, size_t prefixsize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga10348fa20bbae806d652aa4adb44bdd">krb5_kt_get_name</a> (krb5_context context, krb5_keytab keytab, char *name, size_t namesize)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g40744ad6c5d9eed2b76d26f5e698d1f3">krb5_kt_get_full_name</a> (krb5_context context, krb5_keytab keytab, char **str)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close</a> (krb5_context context, krb5_keytab id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g23f1f8d506d680564ff0c783b903abf9">krb5_kt_destroy</a> (krb5_context context, krb5_keytab id)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare</a> (krb5_context context, krb5_keytab_entry *entry, krb5_const_principal principal, krb5_kvno vno, krb5_enctype enctype)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gd7183b9573330db0575118057b3a02a5">krb5_kt_get_entry</a> (krb5_context context, krb5_keytab id, krb5_const_principal principal, krb5_kvno kvno, krb5_enctype enctype, krb5_keytab_entry *entry)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g6c6c4233517bd5b12f5c3a99ed31b058">krb5_kt_copy_entry_contents</a> (krb5_context context, const krb5_keytab_entry *in, krb5_keytab_entry *out)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry</a> (krb5_context context, krb5_keytab_entry *entry)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g1efd8ee48d6e3caa31cad475423b8917">krb5_kt_start_seq_get</a> (krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gc40140c41333a86d3c40426f50b4e1b0">krb5_kt_next_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry, krb5_kt_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get</a> (krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g68d16c2a59d10dc3ca84bf8cbf6a4731">krb5_kt_add_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#g0f3e7f55fd97a595c961f0ffc49bebac">krb5_kt_remove_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gf0947f9089022eaf4c83a463cad10ed3">krb5_kt_have_content</a> (krb5_context context, krb5_keytab id)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga0b54b479db89c76e46d6edae8328848e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga0b54b479db89c76e46d6edae8328848e">krb5_kt_register</a> (krb5_context context, const krb5_kt_ops *ops)</td></tr> +<tr class="separator:ga0b54b479db89c76e46d6edae8328848e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac57fead58fb1baa003d6438613731901"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gac57fead58fb1baa003d6438613731901">krb5_kt_resolve</a> (krb5_context context, const char *name, krb5_keytab *id)</td></tr> +<tr class="separator:gac57fead58fb1baa003d6438613731901"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3fdc1c60208dc99c1f0ebec18e2a7a52"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga3fdc1c60208dc99c1f0ebec18e2a7a52">krb5_kt_default_name</a> (krb5_context context, char *name, size_t namesize)</td></tr> +<tr class="separator:ga3fdc1c60208dc99c1f0ebec18e2a7a52"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaaff7211e887e908d909d75febf33200"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gaaaff7211e887e908d909d75febf33200">krb5_kt_default_modify_name</a> (krb5_context context, char *name, size_t namesize)</td></tr> +<tr class="separator:gaaaff7211e887e908d909d75febf33200"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafcd059883c79dbd99a179bc4225d16b5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gafcd059883c79dbd99a179bc4225d16b5">krb5_kt_default</a> (krb5_context context, krb5_keytab *id)</td></tr> +<tr class="separator:gafcd059883c79dbd99a179bc4225d16b5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6040b238ff8adeb346ca35e5530bdeff"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga6040b238ff8adeb346ca35e5530bdeff">krb5_kt_read_service_key</a> (krb5_context context, krb5_pointer keyprocarg, krb5_principal principal, krb5_kvno vno, krb5_enctype enctype, krb5_keyblock **key)</td></tr> +<tr class="separator:ga6040b238ff8adeb346ca35e5530bdeff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga632921a4b144a4eb656968d836efd9bb"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga632921a4b144a4eb656968d836efd9bb">krb5_kt_get_type</a> (krb5_context context, krb5_keytab keytab, char *prefix, size_t prefixsize)</td></tr> +<tr class="separator:ga632921a4b144a4eb656968d836efd9bb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa10348fa20bbae806d652aa4adb44bdd"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gaa10348fa20bbae806d652aa4adb44bdd">krb5_kt_get_name</a> (krb5_context context, krb5_keytab keytab, char *name, size_t namesize)</td></tr> +<tr class="separator:gaa10348fa20bbae806d652aa4adb44bdd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga40744ad6c5d9eed2b76d26f5e698d1f3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga40744ad6c5d9eed2b76d26f5e698d1f3">krb5_kt_get_full_name</a> (krb5_context context, krb5_keytab keytab, char **str)</td></tr> +<tr class="separator:ga40744ad6c5d9eed2b76d26f5e698d1f3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab67f5ae0a7c4b87d193218b842cad590"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close</a> (krb5_context context, krb5_keytab id)</td></tr> +<tr class="separator:gab67f5ae0a7c4b87d193218b842cad590"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga23f1f8d506d680564ff0c783b903abf9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga23f1f8d506d680564ff0c783b903abf9">krb5_kt_destroy</a> (krb5_context context, krb5_keytab id)</td></tr> +<tr class="separator:ga23f1f8d506d680564ff0c783b903abf9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga688d397ec30b48e5edc5a59567bc8010"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare</a> (krb5_context context, krb5_keytab_entry *entry, krb5_const_principal principal, krb5_kvno vno, krb5_enctype enctype)</td></tr> +<tr class="separator:ga688d397ec30b48e5edc5a59567bc8010"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad7183b9573330db0575118057b3a02a5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gad7183b9573330db0575118057b3a02a5">krb5_kt_get_entry</a> (krb5_context context, krb5_keytab id, krb5_const_principal principal, krb5_kvno kvno, krb5_enctype enctype, krb5_keytab_entry *entry)</td></tr> +<tr class="separator:gad7183b9573330db0575118057b3a02a5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6c6c4233517bd5b12f5c3a99ed31b058"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga6c6c4233517bd5b12f5c3a99ed31b058">krb5_kt_copy_entry_contents</a> (krb5_context context, const krb5_keytab_entry *in, krb5_keytab_entry *out)</td></tr> +<tr class="separator:ga6c6c4233517bd5b12f5c3a99ed31b058"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac0774ab1407eaaaa0e5998478de246e2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gac0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry</a> (krb5_context context, krb5_keytab_entry *entry)</td></tr> +<tr class="separator:gac0774ab1407eaaaa0e5998478de246e2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1efd8ee48d6e3caa31cad475423b8917"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga1efd8ee48d6e3caa31cad475423b8917">krb5_kt_start_seq_get</a> (krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</td></tr> +<tr class="separator:ga1efd8ee48d6e3caa31cad475423b8917"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac40140c41333a86d3c40426f50b4e1b0"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#gac40140c41333a86d3c40426f50b4e1b0">krb5_kt_next_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry, krb5_kt_cursor *cursor)</td></tr> +<tr class="separator:gac40140c41333a86d3c40426f50b4e1b0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga11289efb407d93a1f84d5c64731a4bd1"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get</a> (krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)</td></tr> +<tr class="separator:ga11289efb407d93a1f84d5c64731a4bd1"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga68d16c2a59d10dc3ca84bf8cbf6a4731"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga68d16c2a59d10dc3ca84bf8cbf6a4731">krb5_kt_add_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)</td></tr> +<tr class="separator:ga68d16c2a59d10dc3ca84bf8cbf6a4731"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0f3e7f55fd97a595c961f0ffc49bebac"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga0f3e7f55fd97a595c961f0ffc49bebac">krb5_kt_remove_entry</a> (krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)</td></tr> +<tr class="separator:ga0f3e7f55fd97a595c961f0ffc49bebac"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0ed6e2553ad7cd5abe37e5d626c0527b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__keytab.html#ga0ed6e2553ad7cd5abe37e5d626c0527b">krb5_kt_have_content</a> (krb5_context context, krb5_keytab id)</td></tr> +<tr class="separator:ga0ed6e2553ad7cd5abe37e5d626c0527b"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g68d16c2a59d10dc3ca84bf8cbf6a4731"></a><!-- doxytag: member="keytab.c::krb5_kt_add_entry" ref="g68d16c2a59d10dc3ca84bf8cbf6a4731" args="(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga68d16c2a59d10dc3ca84bf8cbf6a4731"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga68d16c2a59d10dc3ca84bf8cbf6a4731">◆ </a></span>krb5_kt_add_entry()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_add_entry </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_add_entry </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab_entry * </td> - <td class="paramname"> <em>entry</em></td><td> </td> + <td class="paramtype">krb5_keytab_entry * </td> + <td class="paramname"><em>entry</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Add the entry in `entry' to the keytab `id'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a keytab. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>the entry to add</td></tr> +</div><div class="memdoc"> +<p>Add the entry in `entry' to the keytab `id'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>a keytab. </td></tr> + <tr><td class="paramname">entry</td><td>the entry to add</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb67f5ae0a7c4b87d193218b842cad590"></a><!-- doxytag: member="keytab.c::krb5_kt_close" ref="gb67f5ae0a7c4b87d193218b842cad590" args="(krb5_context context, krb5_keytab id)" --> +</div> +<a id="gab67f5ae0a7c4b87d193218b842cad590"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab67f5ae0a7c4b87d193218b842cad590">◆ </a></span>krb5_kt_close()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_close </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_close </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Finish using the keytab in `id'. All resources will be released, even on errors.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>keytab to close.</td></tr> +</div><div class="memdoc"> +<p>Finish using the keytab in `id'. All resources will be released, even on errors.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>keytab to close.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g688d397ec30b48e5edc5a59567bc8010"></a><!-- doxytag: member="keytab.c::krb5_kt_compare" ref="g688d397ec30b48e5edc5a59567bc8010" args="(krb5_context context, krb5_keytab_entry *entry, krb5_const_principal principal, krb5_kvno vno, krb5_enctype enctype)" --> +</div> +<a id="ga688d397ec30b48e5edc5a59567bc8010"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga688d397ec30b48e5edc5a59567bc8010">◆ </a></span>krb5_kt_compare()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kt_compare </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kt_compare </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab_entry * </td> - <td class="paramname"> <em>entry</em>, </td> + <td class="paramtype">krb5_keytab_entry * </td> + <td class="paramname"><em>entry</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kvno </td> - <td class="paramname"> <em>vno</em>, </td> + <td class="paramtype">krb5_kvno </td> + <td class="paramname"><em>vno</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>enctype</em></td><td> </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Compare `entry' against `principal, vno, enctype'. Any of `principal, vno, enctype' might be 0 which acts as a wildcard. Return TRUE if they compare the same, FALSE otherwise.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>an entry to match with. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to match, NULL matches all principals. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>vno</em> </td><td>key version to match, 0 matches all key version numbers. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>encryption type to match, 0 matches all encryption types.</td></tr> +</div><div class="memdoc"> +<p>Compare `entry' against `principal, vno, enctype'. Any of `principal, vno, enctype' might be 0 which acts as a wildcard. Return TRUE if they compare the same, FALSE otherwise.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">entry</td><td>an entry to match with. </td></tr> + <tr><td class="paramname">principal</td><td>principal to match, NULL matches all principals. </td></tr> + <tr><td class="paramname">vno</td><td>key version to match, 0 matches all key version numbers. </td></tr> + <tr><td class="paramname">enctype</td><td>encryption type to match, 0 matches all encryption types.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return TRUE or match, FALSE if not matched. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return TRUE or match, FALSE if not matched. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6c6c4233517bd5b12f5c3a99ed31b058"></a><!-- doxytag: member="keytab.c::krb5_kt_copy_entry_contents" ref="g6c6c4233517bd5b12f5c3a99ed31b058" args="(krb5_context context, const krb5_keytab_entry *in, krb5_keytab_entry *out)" --> +</div> +<a id="ga6c6c4233517bd5b12f5c3a99ed31b058"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6c6c4233517bd5b12f5c3a99ed31b058">◆ </a></span>krb5_kt_copy_entry_contents()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_copy_entry_contents </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_copy_entry_contents </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keytab_entry * </td> - <td class="paramname"> <em>in</em>, </td> + <td class="paramtype">const krb5_keytab_entry * </td> + <td class="paramname"><em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab_entry * </td> - <td class="paramname"> <em>out</em></td><td> </td> + <td class="paramtype">krb5_keytab_entry * </td> + <td class="paramname"><em>out</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy the contents of `in' into `out'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>in</em> </td><td>the keytab entry to copy. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>out</em> </td><td>the copy of the keytab entry, free with <a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>.</td></tr> +</div><div class="memdoc"> +<p>Copy the contents of `in' into `out'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">in</td><td>the keytab entry to copy. </td></tr> + <tr><td class="paramname">out</td><td>the copy of the keytab entry, free with <a class="el" href="group__krb5__keytab.html#gac0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gfcd059883c79dbd99a179bc4225d16b5"></a><!-- doxytag: member="keytab.c::krb5_kt_default" ref="gfcd059883c79dbd99a179bc4225d16b5" args="(krb5_context context, krb5_keytab *id)" --> +</div> +<a id="gafcd059883c79dbd99a179bc4225d16b5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafcd059883c79dbd99a179bc4225d16b5">◆ </a></span>krb5_kt_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_keytab * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set `id' to the default keytab.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the new default keytab.</td></tr> +</div><div class="memdoc"> +<p>Set `id' to the default keytab.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>the new default keytab.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gaaff7211e887e908d909d75febf33200"></a><!-- doxytag: member="keytab.c::krb5_kt_default_modify_name" ref="gaaff7211e887e908d909d75febf33200" args="(krb5_context context, char *name, size_t namesize)" --> +</div> +<a id="gaaaff7211e887e908d909d75febf33200"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaaaff7211e887e908d909d75febf33200">◆ </a></span>krb5_kt_default_modify_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default_modify_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default_modify_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>namesize</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>namesize</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy the name of the default modify keytab into `name'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer where the name will be written </td></tr> - <tr><td valign="top"></td><td valign="top"><em>namesize</em> </td><td>length of name</td></tr> +</div><div class="memdoc"> +<p>Copy the name of the default modify keytab into `name'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">name</td><td>buffer where the name will be written </td></tr> + <tr><td class="paramname">namesize</td><td>length of name</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3fdc1c60208dc99c1f0ebec18e2a7a52"></a><!-- doxytag: member="keytab.c::krb5_kt_default_name" ref="g3fdc1c60208dc99c1f0ebec18e2a7a52" args="(krb5_context context, char *name, size_t namesize)" --> +</div> +<a id="ga3fdc1c60208dc99c1f0ebec18e2a7a52"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3fdc1c60208dc99c1f0ebec18e2a7a52">◆ </a></span>krb5_kt_default_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_default_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>namesize</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>namesize</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -copy the name of the default keytab into `name'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer where the name will be written </td></tr> - <tr><td valign="top"></td><td valign="top"><em>namesize</em> </td><td>length of name</td></tr> +</div><div class="memdoc"> +<p>copy the name of the default keytab into `name'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">name</td><td>buffer where the name will be written </td></tr> + <tr><td class="paramname">namesize</td><td>length of name</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g23f1f8d506d680564ff0c783b903abf9"></a><!-- doxytag: member="keytab.c::krb5_kt_destroy" ref="g23f1f8d506d680564ff0c783b903abf9" args="(krb5_context context, krb5_keytab id)" --> +</div> +<a id="ga23f1f8d506d680564ff0c783b903abf9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga23f1f8d506d680564ff0c783b903abf9">◆ </a></span>krb5_kt_destroy()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_destroy </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_destroy </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Destroy (remove) the keytab in `id'. All resources will be released, even on errors, does the equvalment of <a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a> on the resources.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>keytab to destroy.</td></tr> +</div><div class="memdoc"> +<p>Destroy (remove) the keytab in `id'. All resources will be released, even on errors, does the equvalment of <a class="el" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a> on the resources.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>keytab to destroy.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g11289efb407d93a1f84d5c64731a4bd1"></a><!-- doxytag: member="keytab.c::krb5_kt_end_seq_get" ref="g11289efb407d93a1f84d5c64731a4bd1" args="(krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)" --> +</div> +<a id="ga11289efb407d93a1f84d5c64731a4bd1"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga11289efb407d93a1f84d5c64731a4bd1">◆ </a></span>krb5_kt_end_seq_get()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_end_seq_get </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_end_seq_get </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kt_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_kt_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Release all resources associated with `cursor'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a keytab. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>the cursor to free.</td></tr> +</div><div class="memdoc"> +<p>Release all resources associated with `cursor'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>a keytab. </td></tr> + <tr><td class="paramname">cursor</td><td>the cursor to free.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc0774ab1407eaaaa0e5998478de246e2"></a><!-- doxytag: member="keytab.c::krb5_kt_free_entry" ref="gc0774ab1407eaaaa0e5998478de246e2" args="(krb5_context context, krb5_keytab_entry *entry)" --> +</div> +<a id="gac0774ab1407eaaaa0e5998478de246e2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac0774ab1407eaaaa0e5998478de246e2">◆ </a></span>krb5_kt_free_entry()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_free_entry </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_free_entry </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab_entry * </td> - <td class="paramname"> <em>entry</em></td><td> </td> + <td class="paramtype">krb5_keytab_entry * </td> + <td class="paramname"><em>entry</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free the contents of `entry'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>the entry to free</td></tr> +</div><div class="memdoc"> +<p>Free the contents of `entry'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">entry</td><td>the entry to free</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd7183b9573330db0575118057b3a02a5"></a><!-- doxytag: member="keytab.c::krb5_kt_get_entry" ref="gd7183b9573330db0575118057b3a02a5" args="(krb5_context context, krb5_keytab id, krb5_const_principal principal, krb5_kvno kvno, krb5_enctype enctype, krb5_keytab_entry *entry)" --> +</div> +<a id="gad7183b9573330db0575118057b3a02a5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad7183b9573330db0575118057b3a02a5">◆ </a></span>krb5_kt_get_entry()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_entry </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_entry </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kvno </td> - <td class="paramname"> <em>kvno</em>, </td> + <td class="paramtype">krb5_kvno </td> + <td class="paramname"><em>kvno</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>enctype</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab_entry * </td> - <td class="paramname"> <em>entry</em></td><td> </td> + <td class="paramtype">krb5_keytab_entry * </td> + <td class="paramname"><em>entry</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Retrieve the keytab entry for `principal, kvno, enctype' into `entry' from the keytab `id'. Matching is done like <a class="el" href="group__krb5__keytab.html#g688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a keytab. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to match, NULL matches all principals. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>kvno</em> </td><td>key version to match, 0 matches all key version numbers. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td>encryption type to match, 0 matches all encryption types. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>the returned entry, free with <a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>.</td></tr> +</div><div class="memdoc"> +<p>Retrieve the keytab entry for `principal, kvno, enctype' into `entry' from the keytab `id'. Matching is done like <a class="el" href="group__krb5__keytab.html#ga688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>a keytab. </td></tr> + <tr><td class="paramname">principal</td><td>principal to match, NULL matches all principals. </td></tr> + <tr><td class="paramname">kvno</td><td>key version to match, 0 matches all key version numbers. </td></tr> + <tr><td class="paramname">enctype</td><td>encryption type to match, 0 matches all encryption types. </td></tr> + <tr><td class="paramname">entry</td><td>the returned entry, free with <a class="el" href="group__krb5__keytab.html#gac0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g40744ad6c5d9eed2b76d26f5e698d1f3"></a><!-- doxytag: member="keytab.c::krb5_kt_get_full_name" ref="g40744ad6c5d9eed2b76d26f5e698d1f3" args="(krb5_context context, krb5_keytab keytab, char **str)" --> +</div> +<a id="ga40744ad6c5d9eed2b76d26f5e698d1f3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga40744ad6c5d9eed2b76d26f5e698d1f3">◆ </a></span>krb5_kt_get_full_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_full_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_full_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>keytab</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>keytab</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>str</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>str</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Retrieve the full name of the keytab `keytab' and store the name in `str'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keytab</em> </td><td>keytab to get name for. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>the name of the keytab name, usee krb5_xfree() to free the string. On error, *str is set to NULL.</td></tr> +</div><div class="memdoc"> +<p>Retrieve the full name of the keytab `keytab' and store the name in `str'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">keytab</td><td>keytab to get name for. </td></tr> + <tr><td class="paramname">str</td><td>the name of the keytab name, usee krb5_xfree() to free the string. On error, *str is set to NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga10348fa20bbae806d652aa4adb44bdd"></a><!-- doxytag: member="keytab.c::krb5_kt_get_name" ref="ga10348fa20bbae806d652aa4adb44bdd" args="(krb5_context context, krb5_keytab keytab, char *name, size_t namesize)" --> +</div> +<a id="gaa10348fa20bbae806d652aa4adb44bdd"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa10348fa20bbae806d652aa4adb44bdd">◆ </a></span>krb5_kt_get_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>keytab</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>keytab</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>namesize</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>namesize</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Retrieve the name of the keytab `keytab' into `name', `namesize'<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keytab</em> </td><td>the keytab to get the name for. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name buffer. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>namesize</em> </td><td>size of name buffer.</td></tr> +</div><div class="memdoc"> +<p>Retrieve the name of the keytab `keytab' into `name', `namesize'</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">keytab</td><td>the keytab to get the name for. </td></tr> + <tr><td class="paramname">name</td><td>name buffer. </td></tr> + <tr><td class="paramname">namesize</td><td>size of name buffer.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g632921a4b144a4eb656968d836efd9bb"></a><!-- doxytag: member="keytab.c::krb5_kt_get_type" ref="g632921a4b144a4eb656968d836efd9bb" args="(krb5_context context, krb5_keytab keytab, char *prefix, size_t prefixsize)" --> +</div> +<a id="ga632921a4b144a4eb656968d836efd9bb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga632921a4b144a4eb656968d836efd9bb">◆ </a></span>krb5_kt_get_type()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_type </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_get_type </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>keytab</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>keytab</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>prefix</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>prefix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>prefixsize</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>prefixsize</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return the type of the `keytab' in the string `prefix of length `prefixsize'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keytab</em> </td><td>the keytab to get the prefix for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>prefix</em> </td><td>prefix buffer </td></tr> - <tr><td valign="top"></td><td valign="top"><em>prefixsize</em> </td><td>length of prefix buffer</td></tr> +</div><div class="memdoc"> +<p>Return the type of the `keytab' in the string <code>prefix of length </code>prefixsize'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">keytab</td><td>the keytab to get the prefix for </td></tr> + <tr><td class="paramname">prefix</td><td>prefix buffer </td></tr> + <tr><td class="paramname">prefixsize</td><td>length of prefix buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf0947f9089022eaf4c83a463cad10ed3"></a><!-- doxytag: member="keytab.c::krb5_kt_have_content" ref="gf0947f9089022eaf4c83a463cad10ed3" args="(krb5_context context, krb5_keytab id)" --> +</div> +<a id="ga0ed6e2553ad7cd5abe37e5d626c0527b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0ed6e2553ad7cd5abe37e5d626c0527b">◆ </a></span>krb5_kt_have_content()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kt_have_content </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_have_content </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return true if the keytab exists and have entries<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a keytab.</td></tr> +</div><div class="memdoc"> +<p>Return true if the keytab exists and have entries</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>a keytab.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc40140c41333a86d3c40426f50b4e1b0"></a><!-- doxytag: member="keytab.c::krb5_kt_next_entry" ref="gc40140c41333a86d3c40426f50b4e1b0" args="(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry, krb5_kt_cursor *cursor)" --> +</div> +<a id="gac40140c41333a86d3c40426f50b4e1b0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac40140c41333a86d3c40426f50b4e1b0">◆ </a></span>krb5_kt_next_entry()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_next_entry </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_next_entry </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab_entry * </td> - <td class="paramname"> <em>entry</em>, </td> + <td class="paramtype">krb5_keytab_entry * </td> + <td class="paramname"><em>entry</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kt_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_kt_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the next entry from keytab, advance the cursor. On last entry the function will return KRB5_KT_END.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a keytab. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>the returned entry, free with <a class="el" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>the cursor of the iteration.</td></tr> +</div><div class="memdoc"> +<p>Get the next entry from keytab, advance the cursor. On last entry the function will return KRB5_KT_END.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>a keytab. </td></tr> + <tr><td class="paramname">entry</td><td>the returned entry, free with <a class="el" href="group__krb5__keytab.html#gac0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry()</a>. </td></tr> + <tr><td class="paramname">cursor</td><td>the cursor of the iteration.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6040b238ff8adeb346ca35e5530bdeff"></a><!-- doxytag: member="keytab.c::krb5_kt_read_service_key" ref="g6040b238ff8adeb346ca35e5530bdeff" args="(krb5_context context, krb5_pointer keyprocarg, krb5_principal principal, krb5_kvno vno, krb5_enctype enctype, krb5_keyblock **key)" --> +</div> +<a id="ga6040b238ff8adeb346ca35e5530bdeff"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6040b238ff8adeb346ca35e5530bdeff">◆ </a></span>krb5_kt_read_service_key()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_read_service_key </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_read_service_key </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_pointer </td> - <td class="paramname"> <em>keyprocarg</em>, </td> + <td class="paramtype">krb5_pointer </td> + <td class="paramname"><em>keyprocarg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kvno </td> - <td class="paramname"> <em>vno</em>, </td> + <td class="paramtype">krb5_kvno </td> + <td class="paramname"><em>vno</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_enctype </td> - <td class="paramname"> <em>enctype</em>, </td> + <td class="paramtype">krb5_enctype </td> + <td class="paramname"><em>enctype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock ** </td> - <td class="paramname"> <em>key</em></td><td> </td> + <td class="paramtype">krb5_keyblock ** </td> + <td class="paramname"><em>key</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read the key identified by `(principal, vno, enctype)' from the keytab in `keyprocarg' (the default if == NULL) into `*key'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>keyprocarg</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>vno</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>enctype</em> </td><td></td></tr> - <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td></td></tr> +</div><div class="memdoc"> +<p>Read the key identified by `(principal, vno, enctype)' from the keytab in `keyprocarg' (the default if == NULL) into `*key'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">keyprocarg</td><td></td></tr> + <tr><td class="paramname">principal</td><td></td></tr> + <tr><td class="paramname">vno</td><td></td></tr> + <tr><td class="paramname">enctype</td><td></td></tr> + <tr><td class="paramname">key</td><td></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g0b54b479db89c76e46d6edae8328848e"></a><!-- doxytag: member="keytab.c::krb5_kt_register" ref="g0b54b479db89c76e46d6edae8328848e" args="(krb5_context context, const krb5_kt_ops *ops)" --> +</div> +<a id="ga0b54b479db89c76e46d6edae8328848e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0b54b479db89c76e46d6edae8328848e">◆ </a></span>krb5_kt_register()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_register </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_register </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_kt_ops * </td> - <td class="paramname"> <em>ops</em></td><td> </td> + <td class="paramtype">const krb5_kt_ops * </td> + <td class="paramname"><em>ops</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Register a new keytab backend.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ops</em> </td><td>a backend to register.</td></tr> +</div><div class="memdoc"> +<p>Register a new keytab backend.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">ops</td><td>a backend to register.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g0f3e7f55fd97a595c961f0ffc49bebac"></a><!-- doxytag: member="keytab.c::krb5_kt_remove_entry" ref="g0f3e7f55fd97a595c961f0ffc49bebac" args="(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry)" --> +</div> +<a id="ga0f3e7f55fd97a595c961f0ffc49bebac"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0f3e7f55fd97a595c961f0ffc49bebac">◆ </a></span>krb5_kt_remove_entry()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_remove_entry </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_remove_entry </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab_entry * </td> - <td class="paramname"> <em>entry</em></td><td> </td> + <td class="paramtype">krb5_keytab_entry * </td> + <td class="paramname"><em>entry</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Remove an entry from the keytab, matching is done using <a class="el" href="group__krb5__keytab.html#g688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a keytab. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>the entry to remove</td></tr> +</div><div class="memdoc"> +<p>Remove an entry from the keytab, matching is done using <a class="el" href="group__krb5__keytab.html#ga688d397ec30b48e5edc5a59567bc8010">krb5_kt_compare()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>a keytab. </td></tr> + <tr><td class="paramname">entry</td><td>the entry to remove</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc57fead58fb1baa003d6438613731901"></a><!-- doxytag: member="keytab.c::krb5_kt_resolve" ref="gc57fead58fb1baa003d6438613731901" args="(krb5_context context, const char *name, krb5_keytab *id)" --> +</div> +<a id="gac57fead58fb1baa003d6438613731901"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac57fead58fb1baa003d6438613731901">◆ </a></span>krb5_kt_resolve()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_resolve </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_resolve </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab * </td> - <td class="paramname"> <em>id</em></td><td> </td> + <td class="paramtype">krb5_keytab * </td> + <td class="paramname"><em>id</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Resolve the keytab name (of the form `type:residual') in `name' into a keytab in `id'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name to resolve </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>resulting keytab, free with <a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a>.</td></tr> +</div><div class="memdoc"> +<p>Resolve the keytab name (of the form `type:residual') in `name' into a keytab in `id'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">name</td><td>name to resolve </td></tr> + <tr><td class="paramname">id</td><td>resulting keytab, free with <a class="el" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g1efd8ee48d6e3caa31cad475423b8917"></a><!-- doxytag: member="keytab.c::krb5_kt_start_seq_get" ref="g1efd8ee48d6e3caa31cad475423b8917" args="(krb5_context context, krb5_keytab id, krb5_kt_cursor *cursor)" --> +</div> +<a id="ga1efd8ee48d6e3caa31cad475423b8917"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1efd8ee48d6e3caa31cad475423b8917">◆ </a></span>krb5_kt_start_seq_get()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_start_seq_get </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_kt_start_seq_get </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keytab </td> - <td class="paramname"> <em>id</em>, </td> + <td class="paramtype">krb5_keytab </td> + <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_kt_cursor * </td> - <td class="paramname"> <em>cursor</em></td><td> </td> + <td class="paramtype">krb5_kt_cursor * </td> + <td class="paramname"><em>cursor</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set `cursor' to point at the beginning of `id'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>a keytab. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>cursor</em> </td><td>a newly allocated cursor, free with <a class="el" href="group__krb5__keytab.html#g11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get()</a>.</td></tr> +</div><div class="memdoc"> +<p>Set `cursor' to point at the beginning of `id'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context. </td></tr> + <tr><td class="paramname">id</td><td>a keytab. </td></tr> + <tr><td class="paramname">cursor</td><td>a newly allocated cursor, free with <a class="el" href="group__krb5__keytab.html#ga11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__pac.html b/doc/doxyout/krb5/html/group__krb5__pac.html index 58bc66bfe3ac..ac9a69fe6e80 100644 --- a/doc/doxyout/krb5/html/group__krb5__pac.html +++ b/doc/doxyout/krb5/html/group__krb5__pac.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 PAC handling functions</title> +<title>Heimdal Kerberos 5 PAC handling functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,148 +8,151 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 PAC handling functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 PAC handling functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__pac.html#gd25693feb5786c4c964bfcff87961bf7">krb5_pac_get_buffer</a> (krb5_context context, krb5_pac p, uint32_t type, krb5_data *data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__pac.html#g07a7fffbb07e4434a0e3526653c629a0">krb5_pac_verify</a> (krb5_context context, const krb5_pac pac, time_t authtime, krb5_const_principal principal, const krb5_keyblock *server, const krb5_keyblock *privsvr)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gad25693feb5786c4c964bfcff87961bf7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__pac.html#gad25693feb5786c4c964bfcff87961bf7">krb5_pac_get_buffer</a> (krb5_context context, krb5_pac p, uint32_t type, krb5_data *data)</td></tr> +<tr class="separator:gad25693feb5786c4c964bfcff87961bf7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga07a7fffbb07e4434a0e3526653c629a0"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__pac.html#ga07a7fffbb07e4434a0e3526653c629a0">krb5_pac_verify</a> (krb5_context context, const krb5_pac pac, time_t authtime, krb5_const_principal principal, const krb5_keyblock *server, const krb5_keyblock *privsvr)</td></tr> +<tr class="separator:ga07a7fffbb07e4434a0e3526653c629a0"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="gd25693feb5786c4c964bfcff87961bf7"></a><!-- doxytag: member="pac.c::krb5_pac_get_buffer" ref="gd25693feb5786c4c964bfcff87961bf7" args="(krb5_context context, krb5_pac p, uint32_t type, krb5_data *data)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="gad25693feb5786c4c964bfcff87961bf7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad25693feb5786c4c964bfcff87961bf7">◆ </a></span>krb5_pac_get_buffer()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_pac_get_buffer </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_pac_get_buffer </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_pac </td> - <td class="paramname"> <em>p</em>, </td> + <td class="paramtype">krb5_pac </td> + <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the PAC buffer of specific type from the pac.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the pac structure returned by krb5_pac_parse(). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>type of buffer to get </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>return data, free with <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a>.</td></tr> +</div><div class="memdoc"> +<p>Get the PAC buffer of specific type from the pac.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">p</td><td>the pac structure returned by krb5_pac_parse(). </td></tr> + <tr><td class="paramname">type</td><td>type of buffer to get </td></tr> + <tr><td class="paramname">data</td><td>return data, free with <a class="el" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g07a7fffbb07e4434a0e3526653c629a0"></a><!-- doxytag: member="pac.c::krb5_pac_verify" ref="g07a7fffbb07e4434a0e3526653c629a0" args="(krb5_context context, const krb5_pac pac, time_t authtime, krb5_const_principal principal, const krb5_keyblock *server, const krb5_keyblock *privsvr)" --> +</div> +<a id="ga07a7fffbb07e4434a0e3526653c629a0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga07a7fffbb07e4434a0e3526653c629a0">◆ </a></span>krb5_pac_verify()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_pac_verify </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_pac_verify </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_pac </td> - <td class="paramname"> <em>pac</em>, </td> + <td class="paramtype">const krb5_pac </td> + <td class="paramname"><em>pac</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">time_t </td> - <td class="paramname"> <em>authtime</em>, </td> + <td class="paramtype">time_t </td> + <td class="paramname"><em>authtime</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>server</em>, </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>server</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_keyblock * </td> - <td class="paramname"> <em>privsvr</em></td><td> </td> + <td class="paramtype">const krb5_keyblock * </td> + <td class="paramname"><em>privsvr</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Verify the PAC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>pac</em> </td><td>the pac structure returned by krb5_pac_parse(). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>authtime</em> </td><td>The time of the ticket the PAC belongs to. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>the principal to verify. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>server</em> </td><td>The service key, most always be given. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>privsvr</em> </td><td>The KDC key, may be given.</td></tr> +</div><div class="memdoc"> +<p>Verify the PAC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">pac</td><td>the pac structure returned by krb5_pac_parse(). </td></tr> + <tr><td class="paramname">authtime</td><td>The time of the ticket the PAC belongs to. </td></tr> + <tr><td class="paramname">principal</td><td>the principal to verify. </td></tr> + <tr><td class="paramname">server</td><td>The service key, most always be given. </td></tr> + <tr><td class="paramname">privsvr</td><td>The KDC key, may be given.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__principal.html b/doc/doxyout/krb5/html/group__krb5__principal.html index eb17acc2fedf..7bef4e7a2d77 100644 --- a/doc/doxyout/krb5/html/group__krb5__principal.html +++ b/doc/doxyout/krb5/html/group__krb5__principal.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 principal functions</title> +<title>Heimdal Kerberos 5 principal functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,1173 +8,1335 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 principal functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 principal functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal</a> (krb5_context context, krb5_principal p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g28b750b990452f02922bc74a6cac0313">krb5_principal_set_type</a> (krb5_context context, krb5_principal principal, int type)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gf4a599c42592ff7485753e80b8de67b7">krb5_principal_get_type</a> (krb5_context context, krb5_const_principal principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gccd23426798cf776a96c23a455576362">krb5_principal_get_realm</a> (krb5_context context, krb5_const_principal principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION unsigned int <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g0138febd5414ace4835d3af78694833c">krb5_principal_get_num_comp</a> (krb5_context context, krb5_const_principal principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g1f1c6a19e7ccffb3284545ed3c12b827">krb5_parse_name_flags</a> (krb5_context context, const char *name, int flags, krb5_principal *principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name</a> (krb5_context context, const char *name, krb5_principal *principal)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g6f173badfb37ad41fdab6db77bde7689">krb5_unparse_name_fixed</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gcebe44e0685fc7b6c89a53eca71e7d24">krb5_unparse_name_fixed_short</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gd9ba42e18d79aa27458338967b66693f">krb5_unparse_name_fixed_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gd46122cd0e543b6c1219abb8730378e7">krb5_unparse_name_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char **name)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g600247895edbde37e195c8b2089295a3">krb5_unparse_name_short</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaacf06babb00b391f35a8468a0ec96f9">krb5_principal_set_realm</a> (krb5_context context, krb5_principal principal, krb5_const_realm realm)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gb22638ec4ccdb648366653426708c1c5">krb5_build_principal</a> (krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ge744b61285c2ed08317e6c7cc433dd48">krb5_make_principal</a> (krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gf8405ffca469a2fd936eb109cb3d9b16">krb5_copy_principal</a> (krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">krb5_principal_match</a> (krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal</a> (krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gb044a3dca038ef4c61779cf1d0dc1e87">krb5_parse_nametype</a> (krb5_context context, const char *str, int32_t *nametype)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#g9b24f6db481f24b86a93702eaa2755fc">krb5_principal_is_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga5bd3f620ebe8cd4fe44b5c858ba17d22"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal</a> (krb5_context context, krb5_principal p)</td></tr> +<tr class="separator:ga5bd3f620ebe8cd4fe44b5c858ba17d22"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga28b750b990452f02922bc74a6cac0313"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga28b750b990452f02922bc74a6cac0313">krb5_principal_set_type</a> (krb5_context context, krb5_principal principal, int type)</td></tr> +<tr class="separator:ga28b750b990452f02922bc74a6cac0313"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf4a599c42592ff7485753e80b8de67b7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf4a599c42592ff7485753e80b8de67b7">krb5_principal_get_type</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:gaf4a599c42592ff7485753e80b8de67b7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaccd23426798cf776a96c23a455576362"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaccd23426798cf776a96c23a455576362">krb5_principal_get_realm</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:gaccd23426798cf776a96c23a455576362"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0138febd5414ace4835d3af78694833c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga0138febd5414ace4835d3af78694833c">krb5_principal_get_num_comp</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:ga0138febd5414ace4835d3af78694833c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1f1c6a19e7ccffb3284545ed3c12b827"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga1f1c6a19e7ccffb3284545ed3c12b827">krb5_parse_name_flags</a> (krb5_context context, const char *name, int flags, krb5_principal *principal)</td></tr> +<tr class="separator:ga1f1c6a19e7ccffb3284545ed3c12b827"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf0b0da913ab93d6e2577c0ccf4631f24"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name</a> (krb5_context context, const char *name, krb5_principal *principal)</td></tr> +<tr class="separator:gaf0b0da913ab93d6e2577c0ccf4631f24"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6f173badfb37ad41fdab6db77bde7689"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga6f173badfb37ad41fdab6db77bde7689">krb5_unparse_name_fixed</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr> +<tr class="separator:ga6f173badfb37ad41fdab6db77bde7689"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gacebe44e0685fc7b6c89a53eca71e7d24"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gacebe44e0685fc7b6c89a53eca71e7d24">krb5_unparse_name_fixed_short</a> (krb5_context context, krb5_const_principal principal, char *name, size_t len)</td></tr> +<tr class="separator:gacebe44e0685fc7b6c89a53eca71e7d24"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad9ba42e18d79aa27458338967b66693f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad9ba42e18d79aa27458338967b66693f">krb5_unparse_name_fixed_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)</td></tr> +<tr class="separator:gad9ba42e18d79aa27458338967b66693f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaac881051ed59fe0dcd08cee62280b332"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr> +<tr class="separator:gaac881051ed59fe0dcd08cee62280b332"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad46122cd0e543b6c1219abb8730378e7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad46122cd0e543b6c1219abb8730378e7">krb5_unparse_name_flags</a> (krb5_context context, krb5_const_principal principal, int flags, char **name)</td></tr> +<tr class="separator:gad46122cd0e543b6c1219abb8730378e7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga600247895edbde37e195c8b2089295a3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga600247895edbde37e195c8b2089295a3">krb5_unparse_name_short</a> (krb5_context context, krb5_const_principal principal, char **name)</td></tr> +<tr class="separator:ga600247895edbde37e195c8b2089295a3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaacf06babb00b391f35a8468a0ec96f9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaaacf06babb00b391f35a8468a0ec96f9">krb5_principal_set_realm</a> (krb5_context context, krb5_principal principal, krb5_const_realm realm)</td></tr> +<tr class="separator:gaaacf06babb00b391f35a8468a0ec96f9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab22638ec4ccdb648366653426708c1c5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gab22638ec4ccdb648366653426708c1c5">krb5_build_principal</a> (krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)</td></tr> +<tr class="separator:gab22638ec4ccdb648366653426708c1c5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae744b61285c2ed08317e6c7cc433dd48"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gae744b61285c2ed08317e6c7cc433dd48">krb5_make_principal</a> (krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)</td></tr> +<tr class="separator:gae744b61285c2ed08317e6c7cc433dd48"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf8405ffca469a2fd936eb109cb3d9b16"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gaf8405ffca469a2fd936eb109cb3d9b16">krb5_copy_principal</a> (krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)</td></tr> +<tr class="separator:gaf8405ffca469a2fd936eb109cb3d9b16"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3c49cc0c1dac96d31a91aa263d8cdb4a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> +<tr class="separator:ga3c49cc0c1dac96d31a91aa263d8cdb4a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga13c84ce37f704c99353888eb03a19ea6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> +<tr class="separator:ga13c84ce37f704c99353888eb03a19ea6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga15abb49ce86457827a66f4ddfdd5b60c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare</a> (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)</td></tr> +<tr class="separator:ga15abb49ce86457827a66f4ddfdd5b60c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">krb5_principal_match</a> (krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)</td></tr> +<tr class="separator:ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab044a3dca038ef4c61779cf1d0dc1e87"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gab044a3dca038ef4c61779cf1d0dc1e87">krb5_parse_nametype</a> (krb5_context context, const char *str, int32_t *nametype)</td></tr> +<tr class="separator:gab044a3dca038ef4c61779cf1d0dc1e87"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2760addfecb90af894f6e70999afdf5c"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2760addfecb90af894f6e70999afdf5c">krb5_principal_is_null</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:ga2760addfecb90af894f6e70999afdf5c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad129661d63fc3478459495cff16c031c"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad129661d63fc3478459495cff16c031c">krb5_realm_is_lkdc</a> (const char *realm)</td></tr> +<tr class="separator:gad129661d63fc3478459495cff16c031c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad0ddef8f28bd6d3def810d38c3d41e86"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gad0ddef8f28bd6d3def810d38c3d41e86">krb5_principal_is_lkdc</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:gad0ddef8f28bd6d3def810d38c3d41e86"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8875768ac0bf48fa7dd2673696b1a9cc"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga8875768ac0bf48fa7dd2673696b1a9cc">krb5_principal_is_pku2u</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:ga8875768ac0bf48fa7dd2673696b1a9cc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9b24f6db481f24b86a93702eaa2755fc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga9b24f6db481f24b86a93702eaa2755fc">krb5_principal_is_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr> +<tr class="separator:ga9b24f6db481f24b86a93702eaa2755fc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac02e16cbed909d4535fd030b5651c978"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#gac02e16cbed909d4535fd030b5651c978">krb5_principal_is_gss_hostbased_service</a> (krb5_context context, krb5_const_principal principal)</td></tr> +<tr class="separator:gac02e16cbed909d4535fd030b5651c978"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2c4425068eb189d876e4e0747636f628"><td class="memItemLeft" align="right" valign="top">krb5_boolean KRB5_LIB_FUNCTION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga2c4425068eb189d876e4e0747636f628">krb5_principal_is_root_krbtgt</a> (krb5_context context, krb5_const_principal p)</td></tr> +<tr class="separator:ga2c4425068eb189d876e4e0747636f628"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8be0f5000da6ee0d4bd5dcaf3cb01d08"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__principal.html#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal</a> (krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)</td></tr> +<tr class="separator:ga8be0f5000da6ee0d4bd5dcaf3cb01d08"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="gb22638ec4ccdb648366653426708c1c5"></a><!-- doxytag: member="principal.c::krb5_build_principal" ref="gb22638ec4ccdb648366653426708c1c5" args="(krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="gab22638ec4ccdb648366653426708c1c5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab22638ec4ccdb648366653426708c1c5">◆ </a></span>krb5_build_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_build_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_build_principal </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>rlen</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>rlen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_realm </td> - <td class="paramname"> <em>realm</em>, </td> + <td class="paramtype">krb5_const_realm </td> + <td class="paramname"><em>realm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Build a principal using vararg style building<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal </td></tr> - <tr><td valign="top"></td><td valign="top"><em>rlen</em> </td><td>length of realm </td></tr> - <tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>realm name </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of components ended with NULL.</td></tr> +</div><div class="memdoc"> +<p>Build a principal using vararg style building</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>returned principal </td></tr> + <tr><td class="paramname">rlen</td><td>length of realm </td></tr> + <tr><td class="paramname">realm</td><td>realm name </td></tr> + <tr><td class="paramname">...</td><td>a list of components ended with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf8405ffca469a2fd936eb109cb3d9b16"></a><!-- doxytag: member="principal.c::krb5_copy_principal" ref="gf8405ffca469a2fd936eb109cb3d9b16" args="(krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)" --> +</div> +<a id="gaf8405ffca469a2fd936eb109cb3d9b16"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf8405ffca469a2fd936eb109cb3d9b16">◆ </a></span>krb5_copy_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_principal </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>inprinc</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>inprinc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>outprinc</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>outprinc</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy a principal<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>inprinc</em> </td><td>principal to copy </td></tr> - <tr><td valign="top"></td><td valign="top"><em>outprinc</em> </td><td>copied principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr> +</div><div class="memdoc"> +<p>Copy a principal</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">inprinc</td><td>principal to copy </td></tr> + <tr><td class="paramname">outprinc</td><td>copied principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g5bd3f620ebe8cd4fe44b5c858ba17d22"></a><!-- doxytag: member="principal.c::krb5_free_principal" ref="g5bd3f620ebe8cd4fe44b5c858ba17d22" args="(krb5_context context, krb5_principal p)" --> +</div> +<a id="ga5bd3f620ebe8cd4fe44b5c858ba17d22"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga5bd3f620ebe8cd4fe44b5c858ba17d22">◆ </a></span>krb5_free_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_principal </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_principal </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Frees a Kerberos principal allocated by the library with <a class="el" href="group__krb5__principal.html#gf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name()</a>, <a class="el" href="group__krb5__principal.html#ge744b61285c2ed08317e6c7cc433dd48">krb5_make_principal()</a> or any other related principal functions.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>a principal to free.</td></tr> +</div><div class="memdoc"> +<p>Frees a Kerberos principal allocated by the library with <a class="el" href="group__krb5__principal.html#gaf0b0da913ab93d6e2577c0ccf4631f24">krb5_parse_name()</a>, <a class="el" href="group__krb5__principal.html#gae744b61285c2ed08317e6c7cc433dd48">krb5_make_principal()</a> or any other related principal functions.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">p</td><td>a principal to free.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="ge744b61285c2ed08317e6c7cc433dd48"></a><!-- doxytag: member="principal.c::krb5_make_principal" ref="ge744b61285c2ed08317e6c7cc433dd48" args="(krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)" --> +</div> +<a id="gae744b61285c2ed08317e6c7cc433dd48"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae744b61285c2ed08317e6c7cc433dd48">◆ </a></span>krb5_make_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_principal </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_realm </td> - <td class="paramname"> <em>realm</em>, </td> + <td class="paramtype">krb5_const_realm </td> + <td class="paramname"><em>realm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Build a principal using vararg style building<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal </td></tr> - <tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>realm name </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of components ended with NULL.</td></tr> +</div><div class="memdoc"> +<p>Build a principal using vararg style building</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>returned principal </td></tr> + <tr><td class="paramname">realm</td><td>realm name </td></tr> + <tr><td class="paramname">...</td><td>a list of components ended with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf0b0da913ab93d6e2577c0ccf4631f24"></a><!-- doxytag: member="principal.c::krb5_parse_name" ref="gf0b0da913ab93d6e2577c0ccf4631f24" args="(krb5_context context, const char *name, krb5_principal *principal)" --> +</div> +<a id="gaf0b0da913ab93d6e2577c0ccf4631f24"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf0b0da913ab93d6e2577c0ccf4631f24">◆ </a></span>krb5_parse_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Parse a name into a krb5_principal structure<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name to parse into a Kerberos principal </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> +</div><div class="memdoc"> +<p>Parse a name into a krb5_principal structure</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">name</td><td>name to parse into a Kerberos principal </td></tr> + <tr><td class="paramname">principal</td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g1f1c6a19e7ccffb3284545ed3c12b827"></a><!-- doxytag: member="principal.c::krb5_parse_name_flags" ref="g1f1c6a19e7ccffb3284545ed3c12b827" args="(krb5_context context, const char *name, int flags, krb5_principal *principal)" --> +</div> +<a id="ga1f1c6a19e7ccffb3284545ed3c12b827"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1f1c6a19e7ccffb3284545ed3c12b827">◆ </a></span>krb5_parse_name_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name_flags </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name_flags </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>flags</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Parse a name into a krb5_principal structure, flags controls the behavior.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name to parse into a Kerberos principal </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>flags to control the behavior </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> +</div><div class="memdoc"> +<p>Parse a name into a krb5_principal structure, flags controls the behavior.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">name</td><td>name to parse into a Kerberos principal </td></tr> + <tr><td class="paramname">flags</td><td>flags to control the behavior </td></tr> + <tr><td class="paramname">principal</td><td>returned principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb044a3dca038ef4c61779cf1d0dc1e87"></a><!-- doxytag: member="principal.c::krb5_parse_nametype" ref="gb044a3dca038ef4c61779cf1d0dc1e87" args="(krb5_context context, const char *str, int32_t *nametype)" --> +</div> +<a id="gab044a3dca038ef4c61779cf1d0dc1e87"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab044a3dca038ef4c61779cf1d0dc1e87">◆ </a></span>krb5_parse_nametype()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_nametype </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_nametype </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>str</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t * </td> - <td class="paramname"> <em>nametype</em></td><td> </td> + <td class="paramtype">int32_t * </td> + <td class="paramname"><em>nametype</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Parse nametype string and return a nametype integer </p> -<p> -Parse nametype string and return a nametype integer </div> -</div><p> -<a class="anchor" name="g13c84ce37f704c99353888eb03a19ea6"></a><!-- doxytag: member="principal.c::krb5_principal_compare" ref="g13c84ce37f704c99353888eb03a19ea6" args="(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)" --> +</div> +<a id="ga13c84ce37f704c99353888eb03a19ea6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga13c84ce37f704c99353888eb03a19ea6">◆ </a></span>krb5_principal_compare()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>princ1</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>princ1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>princ2</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>princ2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Compares the two principals, including realm of the principals and returns TRUE if they are the same and FALSE if not.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>princ1</em> </td><td>first principal to compare </td></tr> - <tr><td valign="top"></td><td valign="top"><em>princ2</em> </td><td>second principal to compare</td></tr> +</div><div class="memdoc"> +<p>Compares the two principals, including realm of the principals and returns TRUE if they are the same and FALSE if not.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr> + <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr> </table> + </dd> </dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__principal.html#g3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> <p> -<a class="el" href="group__krb5__principal.html#g15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> </dd> +<dd> +<a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl> </div> -</div><p> -<a class="anchor" name="g3c49cc0c1dac96d31a91aa263d8cdb4a"></a><!-- doxytag: member="principal.c::krb5_principal_compare_any_realm" ref="g3c49cc0c1dac96d31a91aa263d8cdb4a" args="(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)" --> +</div> +<a id="ga3c49cc0c1dac96d31a91aa263d8cdb4a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3c49cc0c1dac96d31a91aa263d8cdb4a">◆ </a></span>krb5_principal_compare_any_realm()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare_any_realm </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare_any_realm </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>princ1</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>princ1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>princ2</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>princ2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return TRUE iff princ1 == princ2 (without considering the realm)<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>princ1</em> </td><td>first principal to compare </td></tr> - <tr><td valign="top"></td><td valign="top"><em>princ2</em> </td><td>second principal to compare</td></tr> +</div><div class="memdoc"> +<p>Return TRUE iff princ1 == princ2 (without considering the realm)</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr> + <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>non zero if equal, 0 if not</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__principal.html#g13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> <p> -<a class="el" href="group__krb5__principal.html#g15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>non zero if equal, 0 if not</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd> +<dd> +<a class="el" href="group__krb5__principal.html#ga15abb49ce86457827a66f4ddfdd5b60c">krb5_realm_compare()</a> </dd></dl> </div> -</div><p> -<a class="anchor" name="g0138febd5414ace4835d3af78694833c"></a><!-- doxytag: member="principal.c::krb5_principal_get_num_comp" ref="g0138febd5414ace4835d3af78694833c" args="(krb5_context context, krb5_const_principal principal)" --> +</div> +<a id="ga0138febd5414ace4835d3af78694833c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0138febd5414ace4835d3af78694833c">◆ </a></span>krb5_principal_get_num_comp()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL krb5_principal_get_num_comp </td> + <td class="memname">KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL krb5_principal_get_num_comp </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get number of component is principal.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to query</td></tr> +</div><div class="memdoc"> +<p>Get number of component is principal.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">principal</td><td>principal to query</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of components in string </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>number of components in string </dd></dl> </div> -</div><p> -<a class="anchor" name="gccd23426798cf776a96c23a455576362"></a><!-- doxytag: member="principal.c::krb5_principal_get_realm" ref="gccd23426798cf776a96c23a455576362" args="(krb5_context context, krb5_const_principal principal)" --> +</div> +<a id="gaccd23426798cf776a96c23a455576362"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaccd23426798cf776a96c23a455576362">◆ </a></span>krb5_principal_get_realm()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_principal_get_realm </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_principal_get_realm </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Get the realm of the principal</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to get the realm for</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>realm of the principal, don't free or use after krb5_principal is freed </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="gaf4a599c42592ff7485753e80b8de67b7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf4a599c42592ff7485753e80b8de67b7">◆ </a></span>krb5_principal_get_type()</h2> -<p> -Get the realm of the principal<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to get the realm for</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_principal_get_type </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Get the type of the principal</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to get the type for</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>realm of the principal, don't free or use after krb5_principal is freed </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>the type of principal </dd></dl> </div> -</div><p> -<a class="anchor" name="gf4a599c42592ff7485753e80b8de67b7"></a><!-- doxytag: member="principal.c::krb5_principal_get_type" ref="gf4a599c42592ff7485753e80b8de67b7" args="(krb5_context context, krb5_const_principal principal)" --> +</div> +<a id="gac02e16cbed909d4535fd030b5651c978"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac02e16cbed909d4535fd030b5651c978">◆ </a></span>krb5_principal_is_gss_hostbased_service()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_principal_get_type </td> + <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_gss_hostbased_service </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Returns true iff name is an WELLKNOWN:ORG.H5L.HOSTBASED-SERVICE </p> + </div> -<div class="memdoc"> +</div> +<a id="ga9b24f6db481f24b86a93702eaa2755fc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9b24f6db481f24b86a93702eaa2755fc">◆ </a></span>krb5_principal_is_krbtgt()</h2> -<p> -Get the type of the principal<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to get the type for</td></tr> - </table> -</dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>the type of principal </dd></dl> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_krbtgt </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>p</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Check if the cname part of the principal is a krbtgt principal </p> </div> -</div><p> -<a class="anchor" name="g9b24f6db481f24b86a93702eaa2755fc"></a><!-- doxytag: member="principal.c::krb5_principal_is_krbtgt" ref="g9b24f6db481f24b86a93702eaa2755fc" args="(krb5_context context, krb5_const_principal p)" --> +</div> +<a id="gad0ddef8f28bd6d3def810d38c3d41e86"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad0ddef8f28bd6d3def810d38c3d41e86">◆ </a></span>krb5_principal_is_lkdc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_krbtgt </td> + <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_lkdc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Returns true if name is Kerberos an LKDC realm </p> -<p> -Check if the cname part of the principal is a krbtgt principal </div> -</div><p> -<a class="anchor" name="g6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"></a><!-- doxytag: member="principal.c::krb5_principal_match" ref="g6cf45d0f9cb4b0bf3b6ef574d9e5cc6a" args="(krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)" --> +</div> +<a id="ga2760addfecb90af894f6e70999afdf5c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2760addfecb90af894f6e70999afdf5c">◆ </a></span>krb5_principal_is_null()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_match </td> + <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_null </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>princ</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Returns true if name is Kerberos NULL name </p> + +</div> +</div> +<a id="ga8875768ac0bf48fa7dd2673696b1a9cc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8875768ac0bf48fa7dd2673696b1a9cc">◆ </a></span>krb5_principal_is_pku2u()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_pku2u </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>pattern</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Returns true if name is Kerberos an LKDC realm </p> + +</div> </div> -<div class="memdoc"> +<a id="ga2c4425068eb189d876e4e0747636f628"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2c4425068eb189d876e4e0747636f628">◆ </a></span>krb5_principal_is_root_krbtgt()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_principal_is_root_krbtgt </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>p</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Check if the cname part of the principal is a initial or renewed krbtgt principal </p> -<p> -return TRUE iff princ matches pattern </div> -</div><p> -<a class="anchor" name="gaacf06babb00b391f35a8468a0ec96f9"></a><!-- doxytag: member="principal.c::krb5_principal_set_realm" ref="gaacf06babb00b391f35a8468a0ec96f9" args="(krb5_context context, krb5_principal principal, krb5_const_realm realm)" --> +</div> +<a id="ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6cf45d0f9cb4b0bf3b6ef574d9e5cc6a">◆ </a></span>krb5_principal_match()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_principal_set_realm </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_match </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>princ</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_realm </td> - <td class="paramname"> <em>realm</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>pattern</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>return TRUE iff princ matches pattern </p> + +</div> </div> -<div class="memdoc"> +<a id="gaaacf06babb00b391f35a8468a0ec96f9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaaacf06babb00b391f35a8468a0ec96f9">◆ </a></span>krb5_principal_set_realm()</h2> -<p> -Set a new realm for a principal, and as a side-effect free the previous realm.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal set the realm for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>realm</em> </td><td>the new realm to set</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_principal_set_realm </td> + <td>(</td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>principal</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_const_realm </td> + <td class="paramname"><em>realm</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Set a new realm for a principal, and as a side-effect free the previous realm.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal set the realm for </td></tr> + <tr><td class="paramname">realm</td><td>the new realm to set</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g28b750b990452f02922bc74a6cac0313"></a><!-- doxytag: member="principal.c::krb5_principal_set_type" ref="g28b750b990452f02922bc74a6cac0313" args="(krb5_context context, krb5_principal principal, int type)" --> +</div> +<a id="ga28b750b990452f02922bc74a6cac0313"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga28b750b990452f02922bc74a6cac0313">◆ </a></span>krb5_principal_set_type()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_principal_set_type </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_principal_set_type </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>type</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>type</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the type of the principal<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to set the type for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>the new type</td></tr> +</div><div class="memdoc"> +<p>Set the type of the principal</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to set the type for </td></tr> + <tr><td class="paramname">type</td><td>the new type</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g15abb49ce86457827a66f4ddfdd5b60c"></a><!-- doxytag: member="principal.c::krb5_realm_compare" ref="g15abb49ce86457827a66f4ddfdd5b60c" args="(krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)" --> +</div> +<a id="ga15abb49ce86457827a66f4ddfdd5b60c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga15abb49ce86457827a66f4ddfdd5b60c">◆ </a></span>krb5_realm_compare()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_realm_compare </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_realm_compare </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>princ1</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>princ1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>princ2</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>princ2</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -return TRUE iff realm(princ1) == realm(princ2)<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>princ1</em> </td><td>first principal to compare </td></tr> - <tr><td valign="top"></td><td valign="top"><em>princ2</em> </td><td>second principal to compare</td></tr> +</div><div class="memdoc"> +<p>return TRUE iff realm(princ1) == realm(princ2)</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">princ1</td><td>first principal to compare </td></tr> + <tr><td class="paramname">princ2</td><td>second principal to compare</td></tr> </table> + </dd> </dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__principal.html#g3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> <p> -<a class="el" href="group__krb5__principal.html#g13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__principal.html#ga3c49cc0c1dac96d31a91aa263d8cdb4a">krb5_principal_compare_any_realm()</a> </dd> +<dd> +<a class="el" href="group__krb5__principal.html#ga13c84ce37f704c99353888eb03a19ea6">krb5_principal_compare()</a> </dd></dl> + +</div> +</div> +<a id="gad129661d63fc3478459495cff16c031c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad129661d63fc3478459495cff16c031c">◆ </a></span>krb5_realm_is_lkdc()</h2> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">krb5_boolean KRB5_LIB_FUNCTION krb5_realm_is_lkdc </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>realm</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Returns true if name is Kerberos an LKDC realm </p> + +</div> </div> -</div><p> -<a class="anchor" name="g8be0f5000da6ee0d4bd5dcaf3cb01d08"></a><!-- doxytag: member="principal.c::krb5_sname_to_principal" ref="g8be0f5000da6ee0d4bd5dcaf3cb01d08" args="(krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)" --> +<a id="ga8be0f5000da6ee0d4bd5dcaf3cb01d08"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">◆ </a></span>krb5_sname_to_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sname_to_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sname_to_principal </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>hostname</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>hostname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>sname</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>sname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">int32_t </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>ret_princ</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>ret_princ</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Create a principal for the service running on hostname. If KRB5_NT_SRV_HST is used, the hostname is canonization using DNS (or some other service), this is potentially insecure.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>hostname</em> </td><td>hostname to use </td></tr> - <tr><td valign="top"></td><td valign="top"><em>sname</em> </td><td>Service name to use </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>name type of pricipal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ret_princ</em> </td><td>return principal, free with <a class="el" href="group__krb5__principal.html#g5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> +</div><div class="memdoc"> +<p>Create a principal for the given service running on the given hostname. If KRB5_NT_SRV_HST is used, the hostname is canonicalized according the configured name canonicalization rules, with canonicalization delayed in some cases. One rule involves DNS, which is insecure unless DNSSEC is used, but we don't use DNSSEC-capable resolver APIs here, so that if DNSSEC is used we wouldn't know it.</p> +<p>Canonicalization is immediate (not delayed) only when there is only one canonicalization rule and that rule indicates that we should do a host lookup by name (i.e., DNS).</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">hostname</td><td>hostname to use </td></tr> + <tr><td class="paramname">sname</td><td>Service name to use </td></tr> + <tr><td class="paramname">type</td><td>name type of principal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN. </td></tr> + <tr><td class="paramname">ret_princ</td><td>return principal, free with <a class="el" href="group__krb5__principal.html#ga5bd3f620ebe8cd4fe44b5c858ba17d22">krb5_free_principal()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gac881051ed59fe0dcd08cee62280b332"></a><!-- doxytag: member="principal.c::krb5_unparse_name" ref="gac881051ed59fe0dcd08cee62280b332" args="(krb5_context context, krb5_const_principal principal, char **name)" --> +</div> +<a id="gaac881051ed59fe0dcd08cee62280b332"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaac881051ed59fe0dcd08cee62280b332">◆ </a></span>krb5_unparse_name()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>name</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Unparse the Kerberos name into a string<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to query </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>resulting string, free with krb5_xfree()</td></tr> +</div><div class="memdoc"> +<p>Unparse the Kerberos name into a string</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">principal</td><td>principal to query </td></tr> + <tr><td class="paramname">name</td><td>resulting string, free with krb5_xfree()</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6f173badfb37ad41fdab6db77bde7689"></a><!-- doxytag: member="principal.c::krb5_unparse_name_fixed" ref="g6f173badfb37ad41fdab6db77bde7689" args="(krb5_context context, krb5_const_principal principal, char *name, size_t len)" --> +</div> +<a id="ga6f173badfb37ad41fdab6db77bde7689"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6f173badfb37ad41fdab6db77bde7689">◆ </a></span>krb5_unparse_name_fixed()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Unparse the principal name to a fixed buffer<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer to write name to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of buffer</td></tr> +</div><div class="memdoc"> +<p>Unparse the principal name to a fixed buffer</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> + <tr><td class="paramname">name</td><td>buffer to write name to </td></tr> + <tr><td class="paramname">len</td><td>length of buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd9ba42e18d79aa27458338967b66693f"></a><!-- doxytag: member="principal.c::krb5_unparse_name_fixed_flags" ref="gd9ba42e18d79aa27458338967b66693f" args="(krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)" --> +</div> +<a id="gad9ba42e18d79aa27458338967b66693f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad9ba42e18d79aa27458338967b66693f">◆ </a></span>krb5_unparse_name_fixed_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_flags </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_flags </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>flags</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Unparse the principal name with unparse flags to a fixed buffer.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>unparse flags </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer to write name to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of buffer</td></tr> +</div><div class="memdoc"> +<p>Unparse the principal name with unparse flags to a fixed buffer.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> + <tr><td class="paramname">flags</td><td>unparse flags </td></tr> + <tr><td class="paramname">name</td><td>buffer to write name to </td></tr> + <tr><td class="paramname">len</td><td>length of buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gcebe44e0685fc7b6c89a53eca71e7d24"></a><!-- doxytag: member="principal.c::krb5_unparse_name_fixed_short" ref="gcebe44e0685fc7b6c89a53eca71e7d24" args="(krb5_context context, krb5_const_principal principal, char *name, size_t len)" --> +</div> +<a id="gacebe44e0685fc7b6c89a53eca71e7d24"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gacebe44e0685fc7b6c89a53eca71e7d24">◆ </a></span>krb5_unparse_name_fixed_short()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_short </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_short </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Unparse the principal name to a fixed buffer. The realm is skipped if its a default realm.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>buffer to write name to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of buffer</td></tr> +</div><div class="memdoc"> +<p>Unparse the principal name to a fixed buffer. The realm is skipped if its a default realm.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> + <tr><td class="paramname">name</td><td>buffer to write name to </td></tr> + <tr><td class="paramname">len</td><td>length of buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd46122cd0e543b6c1219abb8730378e7"></a><!-- doxytag: member="principal.c::krb5_unparse_name_flags" ref="gd46122cd0e543b6c1219abb8730378e7" args="(krb5_context context, krb5_const_principal principal, int flags, char **name)" --> +</div> +<a id="gad46122cd0e543b6c1219abb8730378e7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad46122cd0e543b6c1219abb8730378e7">◆ </a></span>krb5_unparse_name_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_flags </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_flags </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>flags</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>name</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Unparse the Kerberos name into a string<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to query </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>flag to determine the behavior </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>resulting string, free with krb5_xfree()</td></tr> +</div><div class="memdoc"> +<p>Unparse the Kerberos name into a string</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">principal</td><td>principal to query </td></tr> + <tr><td class="paramname">flags</td><td>flag to determine the behavior </td></tr> + <tr><td class="paramname">name</td><td>resulting string, free with krb5_xfree()</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g600247895edbde37e195c8b2089295a3"></a><!-- doxytag: member="principal.c::krb5_unparse_name_short" ref="g600247895edbde37e195c8b2089295a3" args="(krb5_context context, krb5_const_principal principal, char **name)" --> +</div> +<a id="ga600247895edbde37e195c8b2089295a3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga600247895edbde37e195c8b2089295a3">◆ </a></span>krb5_unparse_name_short()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_short </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_short </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>name</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Unparse the principal name to a allocated buffer. The realm is skipped if its a default realm.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to unparse </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>returned buffer, free with krb5_xfree()</td></tr> +</div><div class="memdoc"> +<p>Unparse the principal name to a allocated buffer. The realm is skipped if its a default realm.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to unparse </td></tr> + <tr><td class="paramname">name</td><td>returned buffer, free with krb5_xfree()</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An krb5 error code, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An krb5 error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:48 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__storage.html b/doc/doxyout/krb5/html/group__krb5__storage.html index 06825baba621..b48b7850678f 100644 --- a/doc/doxyout/krb5/html/group__krb5__storage.html +++ b/doc/doxyout/krb5/html/group__krb5__storage.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 storage functions</title> +<title>Heimdal Kerberos 5 storage functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,2085 +8,2264 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 storage functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 storage functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g99af12d663a652732293b99ecff81989">krb5_storage_set_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g314501a5959ccde26989429691fded9d">krb5_storage_clear_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g430a3498c04aff00534c6e08330b312c">krb5_storage_is_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder</a> (krb5_storage *sp, krb5_flags byteorder)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_flags <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g9f521cbe41ed5ba522d3a2006c61201a">krb5_storage_get_byteorder</a> (krb5_storage *sp)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gdaf85983fe8563a63623cd472ff6e2b0">krb5_storage_set_max_alloc</a> (krb5_storage *sp, size_t size)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION off_t <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4ecf2806cc57252af155a66fbb705773">krb5_storage_seek</a> (krb5_storage *sp, off_t offset, int whence)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gac8da1cf94bd8f60c32ae41bd30abae6">krb5_storage_truncate</a> (krb5_storage *sp, off_t offset)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_ssize_t <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4b916691b096448f5b492fcd67148106">krb5_storage_read</a> (krb5_storage *sp, void *buf, size_t len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_ssize_t <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbcc9e0d450d9a02773f4a53bf14fefac">krb5_storage_write</a> (krb5_storage *sp, const void *buf, size_t len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbc10ced03dcf096b2f09b08568087900">krb5_storage_set_eof_code</a> (krb5_storage *sp, int code)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g8f9e3f1442a4f14ac802bdb9db5f4890">krb5_storage_get_eof_code</a> (krb5_storage *sp)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g110924b1d3a19859eafcfb58127adbb9">krb5_storage_free</a> (krb5_storage *sp)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g7722a5408e5be17d0c258cc2e57e4f41">krb5_storage_to_data</a> (krb5_storage *sp, krb5_data *data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gf20f743f1d41879479c4a9d7c0f05339">krb5_store_int32</a> (krb5_storage *sp, int32_t value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gc844df1aadfa6d0b38ffd93413aa1fd8">krb5_store_uint32</a> (krb5_storage *sp, uint32_t value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g34771e1bed3a205479b62058b46bf118">krb5_ret_int32</a> (krb5_storage *sp, int32_t *value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbfdfdb6469374de5537cb484f84b11cc">krb5_ret_uint32</a> (krb5_storage *sp, uint32_t *value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g41fd71dc201db2872e59016a1652bf6c">krb5_store_int16</a> (krb5_storage *sp, int16_t value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g80accfb51fadeb1b19584634701a81f7">krb5_store_uint16</a> (krb5_storage *sp, uint16_t value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g22a752d61f15a4dfe2f6250b6318e9ad">krb5_ret_int16</a> (krb5_storage *sp, int16_t *value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g70b3c617f00a9705bc2c5ab841a28aab">krb5_ret_uint16</a> (krb5_storage *sp, uint16_t *value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g39925711ba540216111a8b84f4a1650a">krb5_store_int8</a> (krb5_storage *sp, int8_t value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gb9856e6211e292b4c9d4c96941c6948e">krb5_store_uint8</a> (krb5_storage *sp, uint8_t value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbb124c12e5cee024f44cc2b7c14d39c2">krb5_ret_int8</a> (krb5_storage *sp, int8_t *value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g9a90ecc945cf95ea0cda1c6199a735b5">krb5_ret_uint8</a> (krb5_storage *sp, uint8_t *value)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g49be426cc2c3e5b10d87cb7643069f04">krb5_store_data</a> (krb5_storage *sp, krb5_data data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g8c7a2d85381d67f05b5ac7f11f07317c">krb5_ret_data</a> (krb5_storage *sp, krb5_data *data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g7d0904deeaf23dd845966b954e4b5355">krb5_store_string</a> (krb5_storage *sp, const char *s)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g832d820ec4510a06ee600d5658f7bb44">krb5_ret_string</a> (krb5_storage *sp, char **string)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g60c3e526288efc7b8a751f43ac254aad">krb5_store_stringz</a> (krb5_storage *sp, const char *s)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g49d6e513666d88682d83fe8a68cdff65">krb5_ret_stringz</a> (krb5_storage *sp, char **string)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g54ca232c7ccaf71e2a26e42196dd9780">krb5_store_principal</a> (krb5_storage *sp, krb5_const_principal p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g7dc492d545194b464fd91c03f9685127">krb5_ret_principal</a> (krb5_storage *sp, krb5_principal *princ)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g54b3e661a9b7b267ba5df17b2e9a59f9">krb5_store_keyblock</a> (krb5_storage *sp, krb5_keyblock p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga187d43f213353f98b8bf7dc3ced58d5">krb5_ret_keyblock</a> (krb5_storage *sp, krb5_keyblock *p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g3a0bdbf713eea83651b6f9845ea24900">krb5_store_times</a> (krb5_storage *sp, krb5_times times)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gc2821394420e954939f9eab8cb6492f5">krb5_ret_times</a> (krb5_storage *sp, krb5_times *times)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g36c55f5c0c7b555a189623a49bc478cf">krb5_store_address</a> (krb5_storage *sp, krb5_address p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g6e0be2257ada5b7a37601bde612c3d0c">krb5_ret_address</a> (krb5_storage *sp, krb5_address *adr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gd3a1994e44a47e8106334820db9e4946">krb5_store_addrs</a> (krb5_storage *sp, krb5_addresses p)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4aeeeaba2f5f67031e29704132ecd9ff">krb5_ret_addrs</a> (krb5_storage *sp, krb5_addresses *adr)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g51b5290d8fd6a75c0142815899e209b2">krb5_store_authdata</a> (krb5_storage *sp, krb5_authdata auth)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g49b219ccbc36aed9f3979b4f5374879f">krb5_ret_authdata</a> (krb5_storage *sp, krb5_authdata *auth)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g78a861ff5fb0090d6c05046ef2cff117">krb5_store_creds</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g2dc654b283ff77bc4f9071f4a230948b">krb5_ret_creds</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4a3550d1bb7b7641a8c5904e2dcf1a16">krb5_store_creds_tag</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ge7b1a317660a64e555622499bb7624c6">krb5_ret_creds_tag</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g6ba3655c175405064c1ec80e044667cb">krb5_storage_emem</a> (void)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd</a> (krb5_socket_t fd_in)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem</a> (void *buf, size_t len)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data</a> (krb5_data *data)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem</a> (const void *buf, size_t len)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga99af12d663a652732293b99ecff81989"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga99af12d663a652732293b99ecff81989">krb5_storage_set_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> +<tr class="separator:ga99af12d663a652732293b99ecff81989"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga314501a5959ccde26989429691fded9d"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga314501a5959ccde26989429691fded9d">krb5_storage_clear_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> +<tr class="separator:ga314501a5959ccde26989429691fded9d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga430a3498c04aff00534c6e08330b312c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga430a3498c04aff00534c6e08330b312c">krb5_storage_is_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> +<tr class="separator:ga430a3498c04aff00534c6e08330b312c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8f3e170aeb4a9108b3bfeb550184022c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder</a> (krb5_storage *sp, krb5_flags byteorder)</td></tr> +<tr class="separator:ga8f3e170aeb4a9108b3bfeb550184022c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9f521cbe41ed5ba522d3a2006c61201a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga9f521cbe41ed5ba522d3a2006c61201a">krb5_storage_get_byteorder</a> (krb5_storage *sp)</td></tr> +<tr class="separator:ga9f521cbe41ed5ba522d3a2006c61201a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadaf85983fe8563a63623cd472ff6e2b0"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gadaf85983fe8563a63623cd472ff6e2b0">krb5_storage_set_max_alloc</a> (krb5_storage *sp, size_t size)</td></tr> +<tr class="separator:gadaf85983fe8563a63623cd472ff6e2b0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4ecf2806cc57252af155a66fbb705773"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga4ecf2806cc57252af155a66fbb705773">krb5_storage_seek</a> (krb5_storage *sp, off_t offset, int whence)</td></tr> +<tr class="separator:ga4ecf2806cc57252af155a66fbb705773"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaac8da1cf94bd8f60c32ae41bd30abae6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gaac8da1cf94bd8f60c32ae41bd30abae6">krb5_storage_truncate</a> (krb5_storage *sp, off_t offset)</td></tr> +<tr class="separator:gaac8da1cf94bd8f60c32ae41bd30abae6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaba70f2b27bb3ea2c16184cbc90c83ca2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gaba70f2b27bb3ea2c16184cbc90c83ca2">krb5_storage_fsync</a> (krb5_storage *sp)</td></tr> +<tr class="separator:gaba70f2b27bb3ea2c16184cbc90c83ca2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4b916691b096448f5b492fcd67148106"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga4b916691b096448f5b492fcd67148106">krb5_storage_read</a> (krb5_storage *sp, void *buf, size_t len)</td></tr> +<tr class="separator:ga4b916691b096448f5b492fcd67148106"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabcc9e0d450d9a02773f4a53bf14fefac"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gabcc9e0d450d9a02773f4a53bf14fefac">krb5_storage_write</a> (krb5_storage *sp, const void *buf, size_t len)</td></tr> +<tr class="separator:gabcc9e0d450d9a02773f4a53bf14fefac"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabc10ced03dcf096b2f09b08568087900"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gabc10ced03dcf096b2f09b08568087900">krb5_storage_set_eof_code</a> (krb5_storage *sp, int code)</td></tr> +<tr class="separator:gabc10ced03dcf096b2f09b08568087900"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8f9e3f1442a4f14ac802bdb9db5f4890"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga8f9e3f1442a4f14ac802bdb9db5f4890">krb5_storage_get_eof_code</a> (krb5_storage *sp)</td></tr> +<tr class="separator:ga8f9e3f1442a4f14ac802bdb9db5f4890"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga110924b1d3a19859eafcfb58127adbb9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga110924b1d3a19859eafcfb58127adbb9">krb5_storage_free</a> (krb5_storage *sp)</td></tr> +<tr class="separator:ga110924b1d3a19859eafcfb58127adbb9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7722a5408e5be17d0c258cc2e57e4f41"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga7722a5408e5be17d0c258cc2e57e4f41">krb5_storage_to_data</a> (krb5_storage *sp, krb5_data *data)</td></tr> +<tr class="separator:ga7722a5408e5be17d0c258cc2e57e4f41"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf20f743f1d41879479c4a9d7c0f05339"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gaf20f743f1d41879479c4a9d7c0f05339">krb5_store_int32</a> (krb5_storage *sp, int32_t value)</td></tr> +<tr class="separator:gaf20f743f1d41879479c4a9d7c0f05339"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadfa34daa65040135b8c3fdccbea508de"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gadfa34daa65040135b8c3fdccbea508de">krb5_store_int64</a> (krb5_storage *sp, int64_t value)</td></tr> +<tr class="separator:gadfa34daa65040135b8c3fdccbea508de"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac844df1aadfa6d0b38ffd93413aa1fd8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gac844df1aadfa6d0b38ffd93413aa1fd8">krb5_store_uint32</a> (krb5_storage *sp, uint32_t value)</td></tr> +<tr class="separator:gac844df1aadfa6d0b38ffd93413aa1fd8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac0e5c616871d671bebed4a0185a0cb88"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gac0e5c616871d671bebed4a0185a0cb88">krb5_store_uint64</a> (krb5_storage *sp, uint64_t value)</td></tr> +<tr class="separator:gac0e5c616871d671bebed4a0185a0cb88"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9da9bb2c0977c3b2cf4c733c7db0bccc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga9da9bb2c0977c3b2cf4c733c7db0bccc">krb5_ret_int64</a> (krb5_storage *sp, int64_t *value)</td></tr> +<tr class="separator:ga9da9bb2c0977c3b2cf4c733c7db0bccc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga97f420904fb4533a412fc75fa949154a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga97f420904fb4533a412fc75fa949154a">krb5_ret_uint64</a> (krb5_storage *sp, uint64_t *value)</td></tr> +<tr class="separator:ga97f420904fb4533a412fc75fa949154a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga34771e1bed3a205479b62058b46bf118"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga34771e1bed3a205479b62058b46bf118">krb5_ret_int32</a> (krb5_storage *sp, int32_t *value)</td></tr> +<tr class="separator:ga34771e1bed3a205479b62058b46bf118"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabfdfdb6469374de5537cb484f84b11cc"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gabfdfdb6469374de5537cb484f84b11cc">krb5_ret_uint32</a> (krb5_storage *sp, uint32_t *value)</td></tr> +<tr class="separator:gabfdfdb6469374de5537cb484f84b11cc"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga41fd71dc201db2872e59016a1652bf6c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga41fd71dc201db2872e59016a1652bf6c">krb5_store_int16</a> (krb5_storage *sp, int16_t value)</td></tr> +<tr class="separator:ga41fd71dc201db2872e59016a1652bf6c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga80accfb51fadeb1b19584634701a81f7"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga80accfb51fadeb1b19584634701a81f7">krb5_store_uint16</a> (krb5_storage *sp, uint16_t value)</td></tr> +<tr class="separator:ga80accfb51fadeb1b19584634701a81f7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga22a752d61f15a4dfe2f6250b6318e9ad"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga22a752d61f15a4dfe2f6250b6318e9ad">krb5_ret_int16</a> (krb5_storage *sp, int16_t *value)</td></tr> +<tr class="separator:ga22a752d61f15a4dfe2f6250b6318e9ad"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga70b3c617f00a9705bc2c5ab841a28aab"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga70b3c617f00a9705bc2c5ab841a28aab">krb5_ret_uint16</a> (krb5_storage *sp, uint16_t *value)</td></tr> +<tr class="separator:ga70b3c617f00a9705bc2c5ab841a28aab"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga39925711ba540216111a8b84f4a1650a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga39925711ba540216111a8b84f4a1650a">krb5_store_int8</a> (krb5_storage *sp, int8_t value)</td></tr> +<tr class="separator:ga39925711ba540216111a8b84f4a1650a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab9856e6211e292b4c9d4c96941c6948e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gab9856e6211e292b4c9d4c96941c6948e">krb5_store_uint8</a> (krb5_storage *sp, uint8_t value)</td></tr> +<tr class="separator:gab9856e6211e292b4c9d4c96941c6948e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabb124c12e5cee024f44cc2b7c14d39c2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gabb124c12e5cee024f44cc2b7c14d39c2">krb5_ret_int8</a> (krb5_storage *sp, int8_t *value)</td></tr> +<tr class="separator:gabb124c12e5cee024f44cc2b7c14d39c2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9a90ecc945cf95ea0cda1c6199a735b5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga9a90ecc945cf95ea0cda1c6199a735b5">krb5_ret_uint8</a> (krb5_storage *sp, uint8_t *value)</td></tr> +<tr class="separator:ga9a90ecc945cf95ea0cda1c6199a735b5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga49be426cc2c3e5b10d87cb7643069f04"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga49be426cc2c3e5b10d87cb7643069f04">krb5_store_data</a> (krb5_storage *sp, krb5_data data)</td></tr> +<tr class="separator:ga49be426cc2c3e5b10d87cb7643069f04"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8c7a2d85381d67f05b5ac7f11f07317c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga8c7a2d85381d67f05b5ac7f11f07317c">krb5_ret_data</a> (krb5_storage *sp, krb5_data *data)</td></tr> +<tr class="separator:ga8c7a2d85381d67f05b5ac7f11f07317c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7d0904deeaf23dd845966b954e4b5355"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga7d0904deeaf23dd845966b954e4b5355">krb5_store_string</a> (krb5_storage *sp, const char *s)</td></tr> +<tr class="separator:ga7d0904deeaf23dd845966b954e4b5355"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga832d820ec4510a06ee600d5658f7bb44"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga832d820ec4510a06ee600d5658f7bb44">krb5_ret_string</a> (krb5_storage *sp, char **string)</td></tr> +<tr class="separator:ga832d820ec4510a06ee600d5658f7bb44"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga60c3e526288efc7b8a751f43ac254aad"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga60c3e526288efc7b8a751f43ac254aad">krb5_store_stringz</a> (krb5_storage *sp, const char *s)</td></tr> +<tr class="separator:ga60c3e526288efc7b8a751f43ac254aad"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga49d6e513666d88682d83fe8a68cdff65"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga49d6e513666d88682d83fe8a68cdff65">krb5_ret_stringz</a> (krb5_storage *sp, char **string)</td></tr> +<tr class="separator:ga49d6e513666d88682d83fe8a68cdff65"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga54ca232c7ccaf71e2a26e42196dd9780"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga54ca232c7ccaf71e2a26e42196dd9780">krb5_store_principal</a> (krb5_storage *sp, krb5_const_principal p)</td></tr> +<tr class="separator:ga54ca232c7ccaf71e2a26e42196dd9780"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7dc492d545194b464fd91c03f9685127"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga7dc492d545194b464fd91c03f9685127">krb5_ret_principal</a> (krb5_storage *sp, krb5_principal *princ)</td></tr> +<tr class="separator:ga7dc492d545194b464fd91c03f9685127"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga54b3e661a9b7b267ba5df17b2e9a59f9"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga54b3e661a9b7b267ba5df17b2e9a59f9">krb5_store_keyblock</a> (krb5_storage *sp, krb5_keyblock p)</td></tr> +<tr class="separator:ga54b3e661a9b7b267ba5df17b2e9a59f9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa187d43f213353f98b8bf7dc3ced58d5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gaa187d43f213353f98b8bf7dc3ced58d5">krb5_ret_keyblock</a> (krb5_storage *sp, krb5_keyblock *p)</td></tr> +<tr class="separator:gaa187d43f213353f98b8bf7dc3ced58d5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3a0bdbf713eea83651b6f9845ea24900"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga3a0bdbf713eea83651b6f9845ea24900">krb5_store_times</a> (krb5_storage *sp, krb5_times times)</td></tr> +<tr class="separator:ga3a0bdbf713eea83651b6f9845ea24900"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac2821394420e954939f9eab8cb6492f5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gac2821394420e954939f9eab8cb6492f5">krb5_ret_times</a> (krb5_storage *sp, krb5_times *times)</td></tr> +<tr class="separator:gac2821394420e954939f9eab8cb6492f5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga36c55f5c0c7b555a189623a49bc478cf"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga36c55f5c0c7b555a189623a49bc478cf">krb5_store_address</a> (krb5_storage *sp, krb5_address p)</td></tr> +<tr class="separator:ga36c55f5c0c7b555a189623a49bc478cf"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6e0be2257ada5b7a37601bde612c3d0c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga6e0be2257ada5b7a37601bde612c3d0c">krb5_ret_address</a> (krb5_storage *sp, krb5_address *adr)</td></tr> +<tr class="separator:ga6e0be2257ada5b7a37601bde612c3d0c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad3a1994e44a47e8106334820db9e4946"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gad3a1994e44a47e8106334820db9e4946">krb5_store_addrs</a> (krb5_storage *sp, krb5_addresses p)</td></tr> +<tr class="separator:gad3a1994e44a47e8106334820db9e4946"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4aeeeaba2f5f67031e29704132ecd9ff"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga4aeeeaba2f5f67031e29704132ecd9ff">krb5_ret_addrs</a> (krb5_storage *sp, krb5_addresses *adr)</td></tr> +<tr class="separator:ga4aeeeaba2f5f67031e29704132ecd9ff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga51b5290d8fd6a75c0142815899e209b2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga51b5290d8fd6a75c0142815899e209b2">krb5_store_authdata</a> (krb5_storage *sp, krb5_authdata auth)</td></tr> +<tr class="separator:ga51b5290d8fd6a75c0142815899e209b2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga49b219ccbc36aed9f3979b4f5374879f"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga49b219ccbc36aed9f3979b4f5374879f">krb5_ret_authdata</a> (krb5_storage *sp, krb5_authdata *auth)</td></tr> +<tr class="separator:ga49b219ccbc36aed9f3979b4f5374879f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga78a861ff5fb0090d6c05046ef2cff117"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga78a861ff5fb0090d6c05046ef2cff117">krb5_store_creds</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> +<tr class="separator:ga78a861ff5fb0090d6c05046ef2cff117"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2dc654b283ff77bc4f9071f4a230948b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga2dc654b283ff77bc4f9071f4a230948b">krb5_ret_creds</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> +<tr class="separator:ga2dc654b283ff77bc4f9071f4a230948b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4a3550d1bb7b7641a8c5904e2dcf1a16"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga4a3550d1bb7b7641a8c5904e2dcf1a16">krb5_store_creds_tag</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> +<tr class="separator:ga4a3550d1bb7b7641a8c5904e2dcf1a16"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae7b1a317660a64e555622499bb7624c6"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gae7b1a317660a64e555622499bb7624c6">krb5_ret_creds_tag</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> +<tr class="separator:gae7b1a317660a64e555622499bb7624c6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6ba3655c175405064c1ec80e044667cb"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga6ba3655c175405064c1ec80e044667cb">krb5_storage_emem</a> (void)</td></tr> +<tr class="separator:ga6ba3655c175405064c1ec80e044667cb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga69636fa431b7972c0ca83f889c921657"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga69636fa431b7972c0ca83f889c921657">krb5_storage_from_fd</a> (int fd_in)</td></tr> +<tr class="separator:ga69636fa431b7972c0ca83f889c921657"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga481850b82dfa486ffaf15be7109f9d07"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem</a> (void *buf, size_t len)</td></tr> +<tr class="separator:ga481850b82dfa486ffaf15be7109f9d07"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga022a581989d5cffca3ac53dd79d865af"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data</a> (krb5_data *data)</td></tr> +<tr class="separator:ga022a581989d5cffca3ac53dd79d865af"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga53fa57f40353b6dc6a322f597ddbe628"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem</a> (const void *buf, size_t len)</td></tr> +<tr class="separator:ga53fa57f40353b6dc6a322f597ddbe628"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7ca108d156e70b1232e80f6b8c542484"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga7ca108d156e70b1232e80f6b8c542484">krb5_storage_from_socket</a> (krb5_socket_t sock_in)</td></tr> +<tr class="separator:ga7ca108d156e70b1232e80f6b8c542484"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g6e0be2257ada5b7a37601bde612c3d0c"></a><!-- doxytag: member="store.c::krb5_ret_address" ref="g6e0be2257ada5b7a37601bde612c3d0c" args="(krb5_storage *sp, krb5_address *adr)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga6e0be2257ada5b7a37601bde612c3d0c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6e0be2257ada5b7a37601bde612c3d0c">◆ </a></span>krb5_ret_address()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_address </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_address </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address * </td> - <td class="paramname"> <em>adr</em></td><td> </td> + <td class="paramtype">krb5_address * </td> + <td class="paramname"><em>adr</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a address block from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>adr</em> </td><td>the address block read from storage</td></tr> +</div><div class="memdoc"> +<p>Read a address block from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">adr</td><td>the address block read from storage</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g4aeeeaba2f5f67031e29704132ecd9ff"></a><!-- doxytag: member="store.c::krb5_ret_addrs" ref="g4aeeeaba2f5f67031e29704132ecd9ff" args="(krb5_storage *sp, krb5_addresses *adr)" --> +</div> +<a id="ga4aeeeaba2f5f67031e29704132ecd9ff"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4aeeeaba2f5f67031e29704132ecd9ff">◆ </a></span>krb5_ret_addrs()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_addrs </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_addrs </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses * </td> - <td class="paramname"> <em>adr</em></td><td> </td> + <td class="paramtype">krb5_addresses * </td> + <td class="paramname"><em>adr</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a addresses block from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>adr</em> </td><td>the addresses block read from storage</td></tr> +</div><div class="memdoc"> +<p>Read a addresses block from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">adr</td><td>the addresses block read from storage</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g49b219ccbc36aed9f3979b4f5374879f"></a><!-- doxytag: member="store.c::krb5_ret_authdata" ref="g49b219ccbc36aed9f3979b4f5374879f" args="(krb5_storage *sp, krb5_authdata *auth)" --> +</div> +<a id="ga49b219ccbc36aed9f3979b4f5374879f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga49b219ccbc36aed9f3979b4f5374879f">◆ </a></span>krb5_ret_authdata()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_authdata </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_authdata </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_authdata * </td> - <td class="paramname"> <em>auth</em></td><td> </td> + <td class="paramtype">krb5_authdata * </td> + <td class="paramname"><em>auth</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a auth data from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>auth</em> </td><td>the auth data block read from storage</td></tr> +</div><div class="memdoc"> +<p>Read a auth data from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">auth</td><td>the auth data block read from storage</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g2dc654b283ff77bc4f9071f4a230948b"></a><!-- doxytag: member="store.c::krb5_ret_creds" ref="g2dc654b283ff77bc4f9071f4a230948b" args="(krb5_storage *sp, krb5_creds *creds)" --> +</div> +<a id="ga2dc654b283ff77bc4f9071f4a230948b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga2dc654b283ff77bc4f9071f4a230948b">◆ </a></span>krb5_ret_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a credentials block from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the credentials block read from storage</td></tr> +</div><div class="memdoc"> +<p>Read a credentials block from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">creds</td><td>the credentials block read from storage</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="ge7b1a317660a64e555622499bb7624c6"></a><!-- doxytag: member="store.c::krb5_ret_creds_tag" ref="ge7b1a317660a64e555622499bb7624c6" args="(krb5_storage *sp, krb5_creds *creds)" --> +</div> +<a id="gae7b1a317660a64e555622499bb7624c6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gae7b1a317660a64e555622499bb7624c6">◆ </a></span>krb5_ret_creds_tag()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds_tag </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds_tag </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a tagged credentials block from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the credentials block read from storage</td></tr> +</div><div class="memdoc"> +<p>Read a tagged credentials block from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">creds</td><td>the credentials block read from storage</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g8c7a2d85381d67f05b5ac7f11f07317c"></a><!-- doxytag: member="store.c::krb5_ret_data" ref="g8c7a2d85381d67f05b5ac7f11f07317c" args="(krb5_storage *sp, krb5_data *data)" --> +</div> +<a id="ga8c7a2d85381d67f05b5ac7f11f07317c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8c7a2d85381d67f05b5ac7f11f07317c">◆ </a></span>krb5_ret_data()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_data </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_data </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Parse a data from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the parsed data</td></tr> +</div><div class="memdoc"> +<p>Parse a data from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to read from </td></tr> + <tr><td class="paramname">data</td><td>the parsed data</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g22a752d61f15a4dfe2f6250b6318e9ad"></a><!-- doxytag: member="store.c::krb5_ret_int16" ref="g22a752d61f15a4dfe2f6250b6318e9ad" args="(krb5_storage *sp, int16_t *value)" --> +</div> +<a id="ga22a752d61f15a4dfe2f6250b6318e9ad"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga22a752d61f15a4dfe2f6250b6318e9ad">◆ </a></span>krb5_ret_int16()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int16 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int16 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int16_t * </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">int16_t * </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a int16 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> +</div><div class="memdoc"> +<p>Read a int16 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g34771e1bed3a205479b62058b46bf118"></a><!-- doxytag: member="store.c::krb5_ret_int32" ref="g34771e1bed3a205479b62058b46bf118" args="(krb5_storage *sp, int32_t *value)" --> +</div> +<a id="ga34771e1bed3a205479b62058b46bf118"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga34771e1bed3a205479b62058b46bf118">◆ </a></span>krb5_ret_int32()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int32 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int32 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t * </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">int32_t * </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a int32 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> +</div><div class="memdoc"> +<p>Read a int32 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbb124c12e5cee024f44cc2b7c14d39c2"></a><!-- doxytag: member="store.c::krb5_ret_int8" ref="gbb124c12e5cee024f44cc2b7c14d39c2" args="(krb5_storage *sp, int8_t *value)" --> +</div> +<a id="ga9da9bb2c0977c3b2cf4c733c7db0bccc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9da9bb2c0977c3b2cf4c733c7db0bccc">◆ </a></span>krb5_ret_int64()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int8 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int64 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int8_t * </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">int64_t * </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a int8 from storage<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> +</div><div class="memdoc"> +<p>Read a int64 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="ga187d43f213353f98b8bf7dc3ced58d5"></a><!-- doxytag: member="store.c::krb5_ret_keyblock" ref="ga187d43f213353f98b8bf7dc3ced58d5" args="(krb5_storage *sp, krb5_keyblock *p)" --> +</div> +<a id="gabb124c12e5cee024f44cc2b7c14d39c2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabb124c12e5cee024f44cc2b7c14d39c2">◆ </a></span>krb5_ret_int8()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_keyblock </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int8 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock * </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">int8_t * </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a keyblock from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the keyblock read from storage, free using <a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a></td></tr> +</div><div class="memdoc"> +<p>Read a int8 from storage</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g7dc492d545194b464fd91c03f9685127"></a><!-- doxytag: member="store.c::krb5_ret_principal" ref="g7dc492d545194b464fd91c03f9685127" args="(krb5_storage *sp, krb5_principal *princ)" --> +</div> +<a id="gaa187d43f213353f98b8bf7dc3ced58d5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaa187d43f213353f98b8bf7dc3ced58d5">◆ </a></span>krb5_ret_keyblock()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_keyblock </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal * </td> - <td class="paramname"> <em>princ</em></td><td> </td> + <td class="paramtype">krb5_keyblock * </td> + <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Parse principal from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>princ</em> </td><td>the parsed principal</td></tr> +</div><div class="memdoc"> +<p>Read a keyblock from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">p</td><td>the keyblock read from storage, free using <a class="el" href="group__krb5__crypto.html#ga2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g832d820ec4510a06ee600d5658f7bb44"></a><!-- doxytag: member="store.c::krb5_ret_string" ref="g832d820ec4510a06ee600d5658f7bb44" args="(krb5_storage *sp, char **string)" --> +</div> +<a id="ga7dc492d545194b464fd91c03f9685127"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7dc492d545194b464fd91c03f9685127">◆ </a></span>krb5_ret_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_string </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_principal </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>string</em></td><td> </td> + <td class="paramtype">krb5_principal * </td> + <td class="paramname"><em>princ</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Parse a string from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>the parsed string</td></tr> +</div><div class="memdoc"> +<p>Parse principal from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to read from </td></tr> + <tr><td class="paramname">princ</td><td>the parsed principal</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g49d6e513666d88682d83fe8a68cdff65"></a><!-- doxytag: member="store.c::krb5_ret_stringz" ref="g49d6e513666d88682d83fe8a68cdff65" args="(krb5_storage *sp, char **string)" --> +</div> +<a id="ga832d820ec4510a06ee600d5658f7bb44"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga832d820ec4510a06ee600d5658f7bb44">◆ </a></span>krb5_ret_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_stringz </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_string </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>string</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>string</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Parse zero terminated string from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>the parsed string</td></tr> +</div><div class="memdoc"> +<p>Parse a string from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to read from </td></tr> + <tr><td class="paramname">string</td><td>the parsed string</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc2821394420e954939f9eab8cb6492f5"></a><!-- doxytag: member="store.c::krb5_ret_times" ref="gc2821394420e954939f9eab8cb6492f5" args="(krb5_storage *sp, krb5_times *times)" --> +</div> +<a id="ga49d6e513666d88682d83fe8a68cdff65"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga49d6e513666d88682d83fe8a68cdff65">◆ </a></span>krb5_ret_stringz()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_times </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_stringz </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_times * </td> - <td class="paramname"> <em>times</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>string</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a times block from the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>times</em> </td><td>the times block read from storage</td></tr> +</div><div class="memdoc"> +<p>Parse zero terminated string from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to read from </td></tr> + <tr><td class="paramname">string</td><td>the parsed string</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g70b3c617f00a9705bc2c5ab841a28aab"></a><!-- doxytag: member="store.c::krb5_ret_uint16" ref="g70b3c617f00a9705bc2c5ab841a28aab" args="(krb5_storage *sp, uint16_t *value)" --> +</div> +<a id="gac2821394420e954939f9eab8cb6492f5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac2821394420e954939f9eab8cb6492f5">◆ </a></span>krb5_ret_times()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint16 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_times </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint16_t * </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">krb5_times * </td> + <td class="paramname"><em>times</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a int16 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> +</div><div class="memdoc"> +<p>Read a times block from the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">times</td><td>the times block read from storage</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbfdfdb6469374de5537cb484f84b11cc"></a><!-- doxytag: member="store.c::krb5_ret_uint32" ref="gbfdfdb6469374de5537cb484f84b11cc" args="(krb5_storage *sp, uint32_t *value)" --> +</div> +<a id="ga70b3c617f00a9705bc2c5ab841a28aab"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga70b3c617f00a9705bc2c5ab841a28aab">◆ </a></span>krb5_ret_uint16()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint32 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint16 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint32_t * </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">uint16_t * </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a uint32 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> +</div><div class="memdoc"> +<p>Read a int16 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g9a90ecc945cf95ea0cda1c6199a735b5"></a><!-- doxytag: member="store.c::krb5_ret_uint8" ref="g9a90ecc945cf95ea0cda1c6199a735b5" args="(krb5_storage *sp, uint8_t *value)" --> +</div> +<a id="gabfdfdb6469374de5537cb484f84b11cc"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabfdfdb6469374de5537cb484f84b11cc">◆ </a></span>krb5_ret_uint32()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint8 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint32 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint8_t * </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read a uint8 from storage<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> +</div><div class="memdoc"> +<p>Read a uint32 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g314501a5959ccde26989429691fded9d"></a><!-- doxytag: member="store.c::krb5_storage_clear_flags" ref="g314501a5959ccde26989429691fded9d" args="(krb5_storage *sp, krb5_flags flags)" --> +</div> +<a id="ga97f420904fb4533a412fc75fa949154a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga97f420904fb4533a412fc75fa949154a">◆ </a></span>krb5_ret_uint64()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_clear_flags </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint64 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">uint64_t * </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Clear the flags on a storage buffer<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to clear the flags on </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>the flags to clear </td></tr> +</div><div class="memdoc"> +<p>Read a uint64 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> </table> + </dd> </dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6ba3655c175405064c1ec80e044667cb"></a><!-- doxytag: member="store_emem.c::krb5_storage_emem" ref="g6ba3655c175405064c1ec80e044667cb" args="(void)" --> +</div> +<a id="ga9a90ecc945cf95ea0cda1c6199a735b5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9a90ecc945cf95ea0cda1c6199a735b5">◆ </a></span>krb5_ret_uint8()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_emem </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint8 </td> <td>(</td> - <td class="paramtype">void </td> - <td class="paramname"> </td> - <td> ) </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint8_t * </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> <td></td> + <td>)</td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Create a elastic (allocating) memory storage backend. Memory is allocated on demand. Free returned krb5_storage with <a class="el" href="group__krb5__storage.html#g110924b1d3a19859eafcfb58127adbb9">krb5_storage_free()</a>.<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> <p> -<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd></dl> +</div><div class="memdoc"> +<p>Read a uint8 from storage</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value read from the buffer</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g110924b1d3a19859eafcfb58127adbb9"></a><!-- doxytag: member="store.c::krb5_storage_free" ref="g110924b1d3a19859eafcfb58127adbb9" args="(krb5_storage *sp)" --> +</div> +<a id="ga314501a5959ccde26989429691fded9d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga314501a5959ccde26989429691fded9d">◆ </a></span>krb5_storage_clear_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_free </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_clear_flags </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em> </td> - <td> ) </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>flags</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free a krb5 storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to free.</td></tr> +</div><div class="memdoc"> +<p>Clear the flags on a storage buffer</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to clear the flags on </td></tr> + <tr><td class="paramname">flags</td><td>the flags to clear </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Kerberos 5 error code. </dd></dl> </div> -</div><p> -<a class="anchor" name="g022a581989d5cffca3ac53dd79d865af"></a><!-- doxytag: member="store_mem.c::krb5_storage_from_data" ref="g022a581989d5cffca3ac53dd79d865af" args="(krb5_data *data)" --> +</div> +<a id="ga6ba3655c175405064c1ec80e044667cb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6ba3655c175405064c1ec80e044667cb">◆ </a></span>krb5_storage_emem()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_data </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_emem </td> <td>(</td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em> </td> - <td> ) </td> + <td class="paramtype">void </td> + <td class="paramname"></td><td>)</td> <td></td> </tr> </table> +</div><div class="memdoc"> +<p>Create a elastic (allocating) memory storage backend. Memory is allocated on demand. Free returned krb5_storage with <a class="el" href="group__krb5__storage.html#ga110924b1d3a19859eafcfb58127adbb9">krb5_storage_free()</a>.</p> +<dl class="section return"><dt>Returns</dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__storage.html#ga481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga69636fa431b7972c0ca83f889c921657">krb5_storage_from_fd()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga7ca108d156e70b1232e80f6b8c542484">krb5_storage_from_socket()</a> </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="ga110924b1d3a19859eafcfb58127adbb9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga110924b1d3a19859eafcfb58127adbb9">◆ </a></span>krb5_storage_free()</h2> -<p> -Create a fixed size memory storage block<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd>krb5_storage_mem() <p> -<a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> </dd></dl> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_free </td> + <td>(</td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Free a krb5 storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to free.</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>An Kerberos 5 error code. </dd></dl> </div> -</div><p> -<a class="anchor" name="g60c7ea40fa36375dfd6b4c1213834668"></a><!-- doxytag: member="store_fd.c::krb5_storage_from_fd" ref="g60c7ea40fa36375dfd6b4c1213834668" args="(krb5_socket_t fd_in)" --> +</div> +<a id="ga022a581989d5cffca3ac53dd79d865af"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga022a581989d5cffca3ac53dd79d865af">◆ </a></span>krb5_storage_from_data()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_fd </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_data </td> <td>(</td> - <td class="paramtype">krb5_socket_t </td> - <td class="paramname"> <em>fd_in</em> </td> - <td> ) </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em></td><td>)</td> <td></td> </tr> </table> +</div><div class="memdoc"> +<p>Create a fixed size memory storage block</p> +<dl class="section return"><dt>Returns</dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> +<dl class="section see"><dt>See also</dt><dd>krb5_storage_mem() </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga69636fa431b7972c0ca83f889c921657">krb5_storage_from_fd()</a> </dd></dl> + </div> -<div class="memdoc"> +</div> +<a id="ga69636fa431b7972c0ca83f889c921657"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga69636fa431b7972c0ca83f889c921657">◆ </a></span>krb5_storage_from_fd()</h2> -<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__storage.html#g6ba3655c175405064c1ec80e044667cb">krb5_storage_emem()</a> <p> -<a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd></dl> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_fd </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>fd_in</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="section return"><dt>Returns</dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__storage.html#ga6ba3655c175405064c1ec80e044667cb">krb5_storage_emem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga7ca108d156e70b1232e80f6b8c542484">krb5_storage_from_socket()</a> </dd></dl> </div> -</div><p> -<a class="anchor" name="g481850b82dfa486ffaf15be7109f9d07"></a><!-- doxytag: member="store_mem.c::krb5_storage_from_mem" ref="g481850b82dfa486ffaf15be7109f9d07" args="(void *buf, size_t len)" --> +</div> +<a id="ga481850b82dfa486ffaf15be7109f9d07"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga481850b82dfa486ffaf15be7109f9d07">◆ </a></span>krb5_storage_from_mem()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_mem </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_mem </td> <td>(</td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>buf</em>, </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Create a fixed size memory storage block<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd>krb5_storage_mem() <p> -<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> <p> -<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> </dd></dl> +</div><div class="memdoc"> +<p>Create a fixed size memory storage block</p> +<dl class="section return"><dt>Returns</dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> +<dl class="section see"><dt>See also</dt><dd>krb5_storage_mem() </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga69636fa431b7972c0ca83f889c921657">krb5_storage_from_fd()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga7ca108d156e70b1232e80f6b8c542484">krb5_storage_from_socket()</a> </dd></dl> </div> -</div><p> -<a class="anchor" name="g53fa57f40353b6dc6a322f597ddbe628"></a><!-- doxytag: member="store_mem.c::krb5_storage_from_readonly_mem" ref="g53fa57f40353b6dc6a322f597ddbe628" args="(const void *buf, size_t len)" --> +</div> +<a id="ga53fa57f40353b6dc6a322f597ddbe628"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga53fa57f40353b6dc6a322f597ddbe628">◆ </a></span>krb5_storage_from_readonly_mem()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_readonly_mem </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_readonly_mem </td> <td>(</td> - <td class="paramtype">const void * </td> - <td class="paramname"> <em>buf</em>, </td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Create a fixed size memory storage block that is read only</p> +<dl class="section return"><dt>Returns</dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> +<dl class="section see"><dt>See also</dt><dd>krb5_storage_mem() </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga69636fa431b7972c0ca83f889c921657">krb5_storage_from_fd()</a> </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="ga7ca108d156e70b1232e80f6b8c542484"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7ca108d156e70b1232e80f6b8c542484">◆ </a></span>krb5_storage_from_socket()</h2> -<p> -Create a fixed size memory storage block that is read only<p> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd>krb5_storage_mem() <p> -<a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> -<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> <p> -<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> </dd></dl> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_socket </td> + <td>(</td> + <td class="paramtype">krb5_socket_t </td> + <td class="paramname"><em>sock_in</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<dl class="section return"><dt>Returns</dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__storage.html#ga6ba3655c175405064c1ec80e044667cb">krb5_storage_emem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd> +<dd> +<a class="el" href="group__krb5__storage.html#ga69636fa431b7972c0ca83f889c921657">krb5_storage_from_fd()</a> </dd></dl> </div> -</div><p> -<a class="anchor" name="g9f521cbe41ed5ba522d3a2006c61201a"></a><!-- doxytag: member="store.c::krb5_storage_get_byteorder" ref="g9f521cbe41ed5ba522d3a2006c61201a" args="(krb5_storage *sp)" --> +</div> +<a id="gaba70f2b27bb3ea2c16184cbc90c83ca2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaba70f2b27bb3ea2c16184cbc90c83ca2">◆ </a></span>krb5_storage_fsync()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL krb5_storage_get_byteorder </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_fsync </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em> </td> - <td> ) </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em></td><td>)</td> <td></td> </tr> </table> -</div> -<div class="memdoc"> +</div><div class="memdoc"> +<p>Sync the storage buffer to its backing store. If there is no backing store this function will return success.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to sync</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>A Kerberos 5 error code </dd></dl> -<p> -Return the current byteorder for the buffer. See <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a> for the list or byte order contants. </div> -</div><p> -<a class="anchor" name="g8f9e3f1442a4f14ac802bdb9db5f4890"></a><!-- doxytag: member="store.c::krb5_storage_get_eof_code" ref="g8f9e3f1442a4f14ac802bdb9db5f4890" args="(krb5_storage *sp)" --> +</div> +<a id="ga9f521cbe41ed5ba522d3a2006c61201a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9f521cbe41ed5ba522d3a2006c61201a">◆ </a></span>krb5_storage_get_byteorder()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_get_eof_code </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL krb5_storage_get_byteorder </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em> </td> - <td> ) </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em></td><td>)</td> <td></td> </tr> </table> +</div><div class="memdoc"> +<p>Return the current byteorder for the buffer. See <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a> for the list or byte order contants. </p> + +</div> </div> -<div class="memdoc"> +<a id="ga8f9e3f1442a4f14ac802bdb9db5f4890"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8f9e3f1442a4f14ac802bdb9db5f4890">◆ </a></span>krb5_storage_get_eof_code()</h2> -<p> -Get the return code that will be used when end of storage is reached.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_get_eof_code </td> + <td>(</td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Get the return code that will be used when end of storage is reached.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>storage error code </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>storage error code </dd></dl> </div> -</div><p> -<a class="anchor" name="g430a3498c04aff00534c6e08330b312c"></a><!-- doxytag: member="store.c::krb5_storage_is_flags" ref="g430a3498c04aff00534c6e08330b312c" args="(krb5_storage *sp, krb5_flags flags)" --> +</div> +<a id="ga430a3498c04aff00534c6e08330b312c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga430a3498c04aff00534c6e08330b312c">◆ </a></span>krb5_storage_is_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_storage_is_flags </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_storage_is_flags </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>flags</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Return true or false depending on if the storage flags is set or not. NB testing for the flag 0 always return true.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to check flags on </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>The flags to test for</td></tr> +</div><div class="memdoc"> +<p>Return true or false depending on if the storage flags is set or not. NB testing for the flag 0 always return true.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to check flags on </td></tr> + <tr><td class="paramname">flags</td><td>The flags to test for</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if all the flags are set, false if not. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>true if all the flags are set, false if not. </dd></dl> </div> -</div><p> -<a class="anchor" name="g4b916691b096448f5b492fcd67148106"></a><!-- doxytag: member="store.c::krb5_storage_read" ref="g4b916691b096448f5b492fcd67148106" args="(krb5_storage *sp, void *buf, size_t len)" --> +</div> +<a id="ga4b916691b096448f5b492fcd67148106"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4b916691b096448f5b492fcd67148106">◆ </a></span>krb5_storage_read()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_read </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_read </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>buf</em>, </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Read to the storage buffer.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> - <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>the buffer to store the data in </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>the length to read</td></tr> +</div><div class="memdoc"> +<p>Read to the storage buffer.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to read from </td></tr> + <tr><td class="paramname">buf</td><td>the buffer to store the data in </td></tr> + <tr><td class="paramname">len</td><td>the length to read</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>The length of data read (can be shorter then len), or negative on error. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>The length of data read (can be shorter then len), or negative on error. </dd></dl> </div> -</div><p> -<a class="anchor" name="g4ecf2806cc57252af155a66fbb705773"></a><!-- doxytag: member="store.c::krb5_storage_seek" ref="g4ecf2806cc57252af155a66fbb705773" args="(krb5_storage *sp, off_t offset, int whence)" --> +</div> +<a id="ga4ecf2806cc57252af155a66fbb705773"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4ecf2806cc57252af155a66fbb705773">◆ </a></span>krb5_storage_seek()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL krb5_storage_seek </td> + <td class="memname">KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL krb5_storage_seek </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">off_t </td> - <td class="paramname"> <em>offset</em>, </td> + <td class="paramtype">off_t </td> + <td class="paramname"><em>offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>whence</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>whence</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Seek to a new offset.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to seek in. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>the offset to seek </td></tr> - <tr><td valign="top"></td><td valign="top"><em>whence</em> </td><td>relateive searching, SEEK_CUR from the current position, SEEK_END from the end, SEEK_SET absolute from the start.</td></tr> +</div><div class="memdoc"> +<p>Seek to a new offset.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to seek in. </td></tr> + <tr><td class="paramname">offset</td><td>the offset to seek </td></tr> + <tr><td class="paramname">whence</td><td>relateive searching, SEEK_CUR from the current position, SEEK_END from the end, SEEK_SET absolute from the start.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new current offset </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>The new current offset </dd></dl> </div> -</div><p> -<a class="anchor" name="g8f3e170aeb4a9108b3bfeb550184022c"></a><!-- doxytag: member="store.c::krb5_storage_set_byteorder" ref="g8f3e170aeb4a9108b3bfeb550184022c" args="(krb5_storage *sp, krb5_flags byteorder)" --> +</div> +<a id="ga8f3e170aeb4a9108b3bfeb550184022c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8f3e170aeb4a9108b3bfeb550184022c">◆ </a></span>krb5_storage_set_byteorder()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_byteorder </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_byteorder </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>byteorder</em></td><td> </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>byteorder</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the new byte order of the storage buffer.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to set the byte order for. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>byteorder</em> </td><td>the new byte order.</td></tr> +</div><div class="memdoc"> +<p>Set the new byte order of the storage buffer.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to set the byte order for. </td></tr> + <tr><td class="paramname">byteorder</td><td>the new byte order.</td></tr> </table> + </dd> </dl> -The byte order are: KRB5_STORAGE_BYTEORDER_BE, KRB5_STORAGE_BYTEORDER_LE and KRB5_STORAGE_BYTEORDER_HOST. +<p>The byte order are: KRB5_STORAGE_BYTEORDER_BE, KRB5_STORAGE_BYTEORDER_LE and KRB5_STORAGE_BYTEORDER_HOST. </p> + </div> -</div><p> -<a class="anchor" name="gbc10ced03dcf096b2f09b08568087900"></a><!-- doxytag: member="store.c::krb5_storage_set_eof_code" ref="gbc10ced03dcf096b2f09b08568087900" args="(krb5_storage *sp, int code)" --> +</div> +<a id="gabc10ced03dcf096b2f09b08568087900"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabc10ced03dcf096b2f09b08568087900">◆ </a></span>krb5_storage_set_eof_code()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_eof_code </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_eof_code </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>code</em></td><td> </td> + <td class="paramtype">int </td> + <td class="paramname"><em>code</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the return code that will be used when end of storage is reached.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage </td></tr> - <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>the error code to return on end of storage </td></tr> +</div><div class="memdoc"> +<p>Set the return code that will be used when end of storage is reached.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage </td></tr> + <tr><td class="paramname">code</td><td>the error code to return on end of storage </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g99af12d663a652732293b99ecff81989"></a><!-- doxytag: member="store.c::krb5_storage_set_flags" ref="g99af12d663a652732293b99ecff81989" args="(krb5_storage *sp, krb5_flags flags)" --> +</div> +<a id="ga99af12d663a652732293b99ecff81989"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga99af12d663a652732293b99ecff81989">◆ </a></span>krb5_storage_set_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_flags </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_flags </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_flags </td> - <td class="paramname"> <em>flags</em></td><td> </td> + <td class="paramtype">krb5_flags </td> + <td class="paramname"><em>flags</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Add the flags on a storage buffer by or-ing in the flags to the buffer.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to set the flags on </td></tr> - <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>the flags to set </td></tr> +</div><div class="memdoc"> +<p>Add the flags on a storage buffer by or-ing in the flags to the buffer.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to set the flags on </td></tr> + <tr><td class="paramname">flags</td><td>the flags to set </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="gdaf85983fe8563a63623cd472ff6e2b0"></a><!-- doxytag: member="store.c::krb5_storage_set_max_alloc" ref="gdaf85983fe8563a63623cd472ff6e2b0" args="(krb5_storage *sp, size_t size)" --> +</div> +<a id="gadaf85983fe8563a63623cd472ff6e2b0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gadaf85983fe8563a63623cd472ff6e2b0">◆ </a></span>krb5_storage_set_max_alloc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_max_alloc </td> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_max_alloc </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>size</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>size</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Set the max alloc value<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer set the max allow for </td></tr> - <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>maximum size to allocate, use 0 to remove limit </td></tr> +</div><div class="memdoc"> +<p>Set the max alloc value</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer set the max allow for </td></tr> + <tr><td class="paramname">size</td><td>maximum size to allocate, use 0 to remove limit </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g7722a5408e5be17d0c258cc2e57e4f41"></a><!-- doxytag: member="store.c::krb5_storage_to_data" ref="g7722a5408e5be17d0c258cc2e57e4f41" args="(krb5_storage *sp, krb5_data *data)" --> +</div> +<a id="ga7722a5408e5be17d0c258cc2e57e4f41"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7722a5408e5be17d0c258cc2e57e4f41">◆ </a></span>krb5_storage_to_data()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_to_data </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_to_data </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data * </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data * </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Copy the contnent of storage<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to copy to a data </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the copied data, free with <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a></td></tr> +</div><div class="memdoc"> +<p>Copy the contnent of storage</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to copy to a data </td></tr> + <tr><td class="paramname">data</td><td>the copied data, free with <a class="el" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a></td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gac8da1cf94bd8f60c32ae41bd30abae6"></a><!-- doxytag: member="store.c::krb5_storage_truncate" ref="gac8da1cf94bd8f60c32ae41bd30abae6" args="(krb5_storage *sp, off_t offset)" --> +</div> +<a id="gaac8da1cf94bd8f60c32ae41bd30abae6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaac8da1cf94bd8f60c32ae41bd30abae6">◆ </a></span>krb5_storage_truncate()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_truncate </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_truncate </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">off_t </td> - <td class="paramname"> <em>offset</em></td><td> </td> + <td class="paramtype">off_t </td> + <td class="paramname"><em>offset</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Truncate the storage buffer in sp to offset.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to truncate. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>the offset to truncate too.</td></tr> +</div><div class="memdoc"> +<p>Truncate the storage buffer in sp to offset.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to truncate. </td></tr> + <tr><td class="paramname">offset</td><td>the offset to truncate too.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Kerberos 5 error code. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>An Kerberos 5 error code. </dd></dl> </div> -</div><p> -<a class="anchor" name="gbcc9e0d450d9a02773f4a53bf14fefac"></a><!-- doxytag: member="store.c::krb5_storage_write" ref="gbcc9e0d450d9a02773f4a53bf14fefac" args="(krb5_storage *sp, const void *buf, size_t len)" --> +</div> +<a id="gabcc9e0d450d9a02773f4a53bf14fefac"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gabcc9e0d450d9a02773f4a53bf14fefac">◆ </a></span>krb5_storage_write()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_write </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_write </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const void * </td> - <td class="paramname"> <em>buf</em>, </td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">size_t </td> - <td class="paramname"> <em>len</em></td><td> </td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write to the storage buffer.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>the buffer to write to the storage buffer </td></tr> - <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>the length to write</td></tr> +</div><div class="memdoc"> +<p>Write to the storage buffer.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">buf</td><td>the buffer to write to the storage buffer </td></tr> + <tr><td class="paramname">len</td><td>the length to write</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>The length of data written (can be shorter then len), or negative on error. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>The length of data written (can be shorter then len), or negative on error. </dd></dl> </div> -</div><p> -<a class="anchor" name="g36c55f5c0c7b555a189623a49bc478cf"></a><!-- doxytag: member="store.c::krb5_store_address" ref="g36c55f5c0c7b555a189623a49bc478cf" args="(krb5_storage *sp, krb5_address p)" --> +</div> +<a id="ga36c55f5c0c7b555a189623a49bc478cf"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga36c55f5c0c7b555a189623a49bc478cf">◆ </a></span>krb5_store_address()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_address </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_address </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_address </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">krb5_address </td> + <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write a address block to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the address block to write.</td></tr> +</div><div class="memdoc"> +<p>Write a address block to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">p</td><td>the address block to write.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gd3a1994e44a47e8106334820db9e4946"></a><!-- doxytag: member="store.c::krb5_store_addrs" ref="gd3a1994e44a47e8106334820db9e4946" args="(krb5_storage *sp, krb5_addresses p)" --> +</div> +<a id="gad3a1994e44a47e8106334820db9e4946"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gad3a1994e44a47e8106334820db9e4946">◆ </a></span>krb5_store_addrs()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_addrs </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_addrs </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_addresses </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">krb5_addresses </td> + <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write a addresses block to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the addresses block to write.</td></tr> +</div><div class="memdoc"> +<p>Write a addresses block to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">p</td><td>the addresses block to write.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g51b5290d8fd6a75c0142815899e209b2"></a><!-- doxytag: member="store.c::krb5_store_authdata" ref="g51b5290d8fd6a75c0142815899e209b2" args="(krb5_storage *sp, krb5_authdata auth)" --> +</div> +<a id="ga51b5290d8fd6a75c0142815899e209b2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga51b5290d8fd6a75c0142815899e209b2">◆ </a></span>krb5_store_authdata()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_authdata </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_authdata </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_authdata </td> - <td class="paramname"> <em>auth</em></td><td> </td> + <td class="paramtype">krb5_authdata </td> + <td class="paramname"><em>auth</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write a auth data block to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>auth</em> </td><td>the auth data block to write.</td></tr> +</div><div class="memdoc"> +<p>Write a auth data block to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">auth</td><td>the auth data block to write.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g78a861ff5fb0090d6c05046ef2cff117"></a><!-- doxytag: member="store.c::krb5_store_creds" ref="g78a861ff5fb0090d6c05046ef2cff117" args="(krb5_storage *sp, krb5_creds *creds)" --> +</div> +<a id="ga78a861ff5fb0090d6c05046ef2cff117"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga78a861ff5fb0090d6c05046ef2cff117">◆ </a></span>krb5_store_creds()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write a credentials block to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the creds block to write.</td></tr> +</div><div class="memdoc"> +<p>Write a credentials block to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">creds</td><td>the creds block to write.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g4a3550d1bb7b7641a8c5904e2dcf1a16"></a><!-- doxytag: member="store.c::krb5_store_creds_tag" ref="g4a3550d1bb7b7641a8c5904e2dcf1a16" args="(krb5_storage *sp, krb5_creds *creds)" --> +</div> +<a id="ga4a3550d1bb7b7641a8c5904e2dcf1a16"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga4a3550d1bb7b7641a8c5904e2dcf1a16">◆ </a></span>krb5_store_creds_tag()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds_tag </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds_tag </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>creds</em></td><td> </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write a tagged credentials block to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the creds block to write.</td></tr> +</div><div class="memdoc"> +<p>Write a tagged credentials block to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">creds</td><td>the creds block to write.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g49be426cc2c3e5b10d87cb7643069f04"></a><!-- doxytag: member="store.c::krb5_store_data" ref="g49be426cc2c3e5b10d87cb7643069f04" args="(krb5_storage *sp, krb5_data data)" --> +</div> +<a id="ga49be426cc2c3e5b10d87cb7643069f04"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga49be426cc2c3e5b10d87cb7643069f04">◆ </a></span>krb5_store_data()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_data </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_data </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_data </td> - <td class="paramname"> <em>data</em></td><td> </td> + <td class="paramtype">krb5_data </td> + <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a data to the storage. The data is stored with an int32 as lenght plus the data (not padded).<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the buffer to store.</td></tr> +</div><div class="memdoc"> +<p>Store a data to the storage. The data is stored with an int32 as lenght plus the data (not padded).</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">data</td><td>the buffer to store.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g41fd71dc201db2872e59016a1652bf6c"></a><!-- doxytag: member="store.c::krb5_store_int16" ref="g41fd71dc201db2872e59016a1652bf6c" args="(krb5_storage *sp, int16_t value)" --> +</div> +<a id="ga41fd71dc201db2872e59016a1652bf6c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga41fd71dc201db2872e59016a1652bf6c">◆ </a></span>krb5_store_int16()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int16 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int16 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int16_t </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">int16_t </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a int16 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> +</div><div class="memdoc"> +<p>Store a int16 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gf20f743f1d41879479c4a9d7c0f05339"></a><!-- doxytag: member="store.c::krb5_store_int32" ref="gf20f743f1d41879479c4a9d7c0f05339" args="(krb5_storage *sp, int32_t value)" --> +</div> +<a id="gaf20f743f1d41879479c4a9d7c0f05339"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf20f743f1d41879479c4a9d7c0f05339">◆ </a></span>krb5_store_int32()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int32 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int32 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int32_t </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">int32_t </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a int32 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> +</div><div class="memdoc"> +<p>Store a int32 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g39925711ba540216111a8b84f4a1650a"></a><!-- doxytag: member="store.c::krb5_store_int8" ref="g39925711ba540216111a8b84f4a1650a" args="(krb5_storage *sp, int8_t value)" --> +</div> +<a id="gadfa34daa65040135b8c3fdccbea508de"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gadfa34daa65040135b8c3fdccbea508de">◆ </a></span>krb5_store_int64()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int8 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int64 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int8_t </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">int64_t </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a int8 to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> +</div><div class="memdoc"> +<p>Store a int64 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g54b3e661a9b7b267ba5df17b2e9a59f9"></a><!-- doxytag: member="store.c::krb5_store_keyblock" ref="g54b3e661a9b7b267ba5df17b2e9a59f9" args="(krb5_storage *sp, krb5_keyblock p)" --> +</div> +<a id="ga39925711ba540216111a8b84f4a1650a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga39925711ba540216111a8b84f4a1650a">◆ </a></span>krb5_store_int8()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_keyblock </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int8 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_keyblock </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">int8_t </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a keyblock to the storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the keyblock to write</td></tr> +</div><div class="memdoc"> +<p>Store a int8 to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g54ca232c7ccaf71e2a26e42196dd9780"></a><!-- doxytag: member="store.c::krb5_store_principal" ref="g54ca232c7ccaf71e2a26e42196dd9780" args="(krb5_storage *sp, krb5_const_principal p)" --> +</div> +<a id="ga54b3e661a9b7b267ba5df17b2e9a59f9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga54b3e661a9b7b267ba5df17b2e9a59f9">◆ </a></span>krb5_store_keyblock()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_principal </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_keyblock </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_const_principal </td> - <td class="paramname"> <em>p</em></td><td> </td> + <td class="paramtype">krb5_keyblock </td> + <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write a principal block to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the principal block to write.</td></tr> +</div><div class="memdoc"> +<p>Store a keyblock to the storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">p</td><td>the keyblock to write</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g7d0904deeaf23dd845966b954e4b5355"></a><!-- doxytag: member="store.c::krb5_store_string" ref="g7d0904deeaf23dd845966b954e4b5355" args="(krb5_storage *sp, const char *s)" --> +</div> +<a id="ga54ca232c7ccaf71e2a26e42196dd9780"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga54ca232c7ccaf71e2a26e42196dd9780">◆ </a></span>krb5_store_principal()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_string </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_principal </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>s</em></td><td> </td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>p</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a string to the buffer. The data is formated as an len:uint32 plus the string itself (not padded).<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>the string to store.</td></tr> +</div><div class="memdoc"> +<p>Write a principal block to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">p</td><td>the principal block to write.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g60c3e526288efc7b8a751f43ac254aad"></a><!-- doxytag: member="store.c::krb5_store_stringz" ref="g60c3e526288efc7b8a751f43ac254aad" args="(krb5_storage *sp, const char *s)" --> +</div> +<a id="ga7d0904deeaf23dd845966b954e4b5355"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7d0904deeaf23dd845966b954e4b5355">◆ </a></span>krb5_store_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_stringz </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_string </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>s</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>s</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a zero terminated string to the buffer. The data is stored one character at a time until a NUL is stored.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>the string to store.</td></tr> +</div><div class="memdoc"> +<p>Store a string to the buffer. The data is formated as an len:uint32 plus the string itself (not padded).</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">s</td><td>the string to store.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g3a0bdbf713eea83651b6f9845ea24900"></a><!-- doxytag: member="store.c::krb5_store_times" ref="g3a0bdbf713eea83651b6f9845ea24900" args="(krb5_storage *sp, krb5_times times)" --> +</div> +<a id="ga60c3e526288efc7b8a751f43ac254aad"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga60c3e526288efc7b8a751f43ac254aad">◆ </a></span>krb5_store_stringz()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_times </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_stringz </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_times </td> - <td class="paramname"> <em>times</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>s</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Write a times block to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> - <tr><td valign="top"></td><td valign="top"><em>times</em> </td><td>the times block to write.</td></tr> +</div><div class="memdoc"> +<p>Store a zero terminated string to the buffer. The data is stored one character at a time until a NUL is stored.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">s</td><td>the string to store.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="g80accfb51fadeb1b19584634701a81f7"></a><!-- doxytag: member="store.c::krb5_store_uint16" ref="g80accfb51fadeb1b19584634701a81f7" args="(krb5_storage *sp, uint16_t value)" --> +</div> +<a id="ga3a0bdbf713eea83651b6f9845ea24900"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3a0bdbf713eea83651b6f9845ea24900">◆ </a></span>krb5_store_times()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint16 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_times </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint16_t </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">krb5_times </td> + <td class="paramname"><em>times</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Store a uint16 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> +</div><div class="memdoc"> +<p>Write a times block to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage buffer to write to </td></tr> + <tr><td class="paramname">times</td><td>the times block to write.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gc844df1aadfa6d0b38ffd93413aa1fd8"></a><!-- doxytag: member="store.c::krb5_store_uint32" ref="gc844df1aadfa6d0b38ffd93413aa1fd8" args="(krb5_storage *sp, uint32_t value)" --> +</div> +<a id="ga80accfb51fadeb1b19584634701a81f7"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga80accfb51fadeb1b19584634701a81f7">◆ </a></span>krb5_store_uint16()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint32 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint16 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint32_t </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">uint16_t </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Store a uint16 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="gac844df1aadfa6d0b38ffd93413aa1fd8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac844df1aadfa6d0b38ffd93413aa1fd8">◆ </a></span>krb5_store_uint32()</h2> -<p> -Store a uint32 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint32 </td> + <td>(</td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Store a uint32 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb9856e6211e292b4c9d4c96941c6948e"></a><!-- doxytag: member="store.c::krb5_store_uint8" ref="gb9856e6211e292b4c9d4c96941c6948e" args="(krb5_storage *sp, uint8_t value)" --> +</div> +<a id="gac0e5c616871d671bebed4a0185a0cb88"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac0e5c616871d671bebed4a0185a0cb88">◆ </a></span>krb5_store_uint64()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint8 </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint64 </td> <td>(</td> - <td class="paramtype">krb5_storage * </td> - <td class="paramname"> <em>sp</em>, </td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint8_t </td> - <td class="paramname"> <em>value</em></td><td> </td> + <td class="paramtype">uint64_t </td> + <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Store a uint64 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#ga8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="gab9856e6211e292b4c9d4c96941c6948e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab9856e6211e292b4c9d4c96941c6948e">◆ </a></span>krb5_store_uint8()</h2> -<p> -Store a uint8 to storage.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> - <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint8 </td> + <td>(</td> + <td class="paramtype">krb5_storage * </td> + <td class="paramname"><em>sp</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint8_t </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Store a uint8 to storage.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">sp</td><td>the storage to write too </td></tr> + <tr><td class="paramname">value</td><td>the value to store</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__support.html b/doc/doxyout/krb5/html/group__krb5__support.html index 0f733ae72f00..317268978fcc 100644 --- a/doc/doxyout/krb5/html/group__krb5__support.html +++ b/doc/doxyout/krb5/html/group__krb5__support.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 support functions</title> +<title>Heimdal Kerberos 5 support functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,1313 +8,1347 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Data Structures</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 support functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 support functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> (krb5_context context, const char *string, const char *format,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> (krb5_context context, const char *file, const char *format,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi</a> (krb5_context context, const char *fname, krb5_config_section **res)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g84277205c4b221cc28f1fd36be19dba8">krb5_config_file_free</a> (krb5_context context, krb5_config_section *s)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> -krb5_config_binding <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gee87399e25e34ac1e0e4a1841951e2fa">krb5_config_get_list</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const <br> -krb5_config_binding <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gfbc6548d480aaf5118025b742f4f468d">krb5_config_vget_list</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g124f18195eb05c3662ce2bcf06c7451b">krb5_config_vget_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION const char <br> -*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaef298c290e0c315d7f4bf07ba272b60">krb5_config_get_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br> -**KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION char <br> -**KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g8f43dbe4a34a820a70d081e5d3190e01">krb5_config_get_strings</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings</a> (char **strings)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g8a29a130369232a638629cb37bfbeb66">krb5_config_vget_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g16e5b2da5e3751d7b3d4fe8d43f0a677">krb5_config_vget_bool</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g11d7ea1fa9a910acb568c42d8dd28350">krb5_config_vget_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g88331c69f41e1e65abc49a9b66efc7d5">krb5_config_vget_time</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gf797bad7e8499b7be6099ccff7f56226">krb5_config_get_time</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname</a> (krb5_context context, const char *orig_hostname, char **new_hostname)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms</a> (krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm</a> (krb5_context context, krb5_realm *realmlist)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> -KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#g6368eceea4261ef2ccb8dc39ecc87772">krb5_kuserok</a> (krb5_context context, krb5_principal principal, const char *luser)</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gb6e4d59cca3b2e65abbd83204ad0e789">krb5_plugin_register</a> (krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> +Data Structures</h2></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structkrb5plugin__an2ln__ftable__desc.html">krb5plugin_an2ln_ftable_desc</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Description of the krb5_aname_to_lname(3) plugin facility. <a href="structkrb5plugin__an2ln__ftable__desc.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structkrb5plugin__db__ftable__desc.html">krb5plugin_db_ftable_desc</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Description of the krb5 DB plugin facility. <a href="structkrb5plugin__db__ftable__desc.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structkrb5plugin__kuserok__ftable__desc.html">krb5plugin_kuserok_ftable_desc</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Description of the krb5_kuserok(3) plugin facility. <a href="structkrb5plugin__kuserok__ftable__desc.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga245208f2d59a8fd7187089ad445e51d0"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> (krb5_context context, const char *string, const char *format,...)</td></tr> +<tr class="separator:ga245208f2d59a8fd7187089ad445e51d0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7c5dbc1743dc0bc63765edf82d10eb9e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> (krb5_context context, const char *file, const char *format,...)</td></tr> +<tr class="separator:ga7c5dbc1743dc0bc63765edf82d10eb9e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3da1c15fbc425a71da10784139140644"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga3da1c15fbc425a71da10784139140644">krb5_aname_to_localname</a> (krb5_context context, krb5_const_principal aname, size_t lnsize, char *lname)</td></tr> +<tr class="separator:ga3da1c15fbc425a71da10784139140644"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga59892cdf61d0a6a59b3dd2e9998b541a"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi</a> (krb5_context context, const char *fname, krb5_config_section **res)</td></tr> +<tr class="separator:ga59892cdf61d0a6a59b3dd2e9998b541a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga84277205c4b221cc28f1fd36be19dba8"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga84277205c4b221cc28f1fd36be19dba8">krb5_config_file_free</a> (krb5_context context, krb5_config_section *s)</td></tr> +<tr class="separator:ga84277205c4b221cc28f1fd36be19dba8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaee87399e25e34ac1e0e4a1841951e2fa"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const krb5_config_binding *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaee87399e25e34ac1e0e4a1841951e2fa">krb5_config_get_list</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> +<tr class="separator:gaee87399e25e34ac1e0e4a1841951e2fa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gafbc6548d480aaf5118025b742f4f468d"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const krb5_config_binding *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gafbc6548d480aaf5118025b742f4f468d">krb5_config_vget_list</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> +<tr class="separator:gafbc6548d480aaf5118025b742f4f468d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gac0845cba8c8f7fd2e447de60d81556ac"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gac0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> +<tr class="separator:gac0845cba8c8f7fd2e447de60d81556ac"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaec7eaee2b6f04f1ed4a64b37efa767e4"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> +<tr class="separator:gaec7eaee2b6f04f1ed4a64b37efa767e4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga124f18195eb05c3662ce2bcf06c7451b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga124f18195eb05c3662ce2bcf06c7451b">krb5_config_vget_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)</td></tr> +<tr class="separator:ga124f18195eb05c3662ce2bcf06c7451b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaef298c290e0c315d7f4bf07ba272b60"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaaef298c290e0c315d7f4bf07ba272b60">krb5_config_get_string_default</a> (krb5_context context, const krb5_config_section *c, const char *def_value,...)</td></tr> +<tr class="separator:gaaef298c290e0c315d7f4bf07ba272b60"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga614850564b4d21b92e113fde9420bf3c"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION char **KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> +<tr class="separator:ga614850564b4d21b92e113fde9420bf3c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8f43dbe4a34a820a70d081e5d3190e01"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION char **KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga8f43dbe4a34a820a70d081e5d3190e01">krb5_config_get_strings</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> +<tr class="separator:ga8f43dbe4a34a820a70d081e5d3190e01"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3440f86b07fa86aae0f0889445a0def2"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION void KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings</a> (char **strings)</td></tr> +<tr class="separator:ga3440f86b07fa86aae0f0889445a0def2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8a29a130369232a638629cb37bfbeb66"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga8a29a130369232a638629cb37bfbeb66">krb5_config_vget_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)</td></tr> +<tr class="separator:ga8a29a130369232a638629cb37bfbeb66"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga16e5b2da5e3751d7b3d4fe8d43f0a677"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga16e5b2da5e3751d7b3d4fe8d43f0a677">krb5_config_vget_bool</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> +<tr class="separator:ga16e5b2da5e3751d7b3d4fe8d43f0a677"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaca6abdb90a74af3747f87bfb5e9c85ab"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default</a> (krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)</td></tr> +<tr class="separator:gaca6abdb90a74af3747f87bfb5e9c85ab"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga39402ca8c1b1eb2af4b514eed826f971"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> +<tr class="separator:ga39402ca8c1b1eb2af4b514eed826f971"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga11d7ea1fa9a910acb568c42d8dd28350"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga11d7ea1fa9a910acb568c42d8dd28350">krb5_config_vget_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value, va_list args)</td></tr> +<tr class="separator:ga11d7ea1fa9a910acb568c42d8dd28350"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga88331c69f41e1e65abc49a9b66efc7d5"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga88331c69f41e1e65abc49a9b66efc7d5">krb5_config_vget_time</a> (krb5_context context, const krb5_config_section *c, va_list args)</td></tr> +<tr class="separator:ga88331c69f41e1e65abc49a9b66efc7d5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga019554d71140a32f64b6e4a2244d1168"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default</a> (krb5_context context, const krb5_config_section *c, int def_value,...)</td></tr> +<tr class="separator:ga019554d71140a32f64b6e4a2244d1168"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf797bad7e8499b7be6099ccff7f56226"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaf797bad7e8499b7be6099ccff7f56226">krb5_config_get_time</a> (krb5_context context, const krb5_config_section *c,...)</td></tr> +<tr class="separator:gaf797bad7e8499b7be6099ccff7f56226"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga947f1780e8b73fe0edb4f64da2f0b2f3"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname</a> (krb5_context context, const char *orig_hostname, char **new_hostname)</td></tr> +<tr class="separator:ga947f1780e8b73fe0edb4f64da2f0b2f3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga933f524c34ae6a80ba8aa6c0700992ef"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms</a> (krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)</td></tr> +<tr class="separator:ga933f524c34ae6a80ba8aa6c0700992ef"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaca0ab80d3affb5986aa5061f3782401b"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gaca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm</a> (krb5_context context, krb5_realm *realmlist)</td></tr> +<tr class="separator:gaca0ab80d3affb5986aa5061f3782401b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga6368eceea4261ef2ccb8dc39ecc87772"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#ga6368eceea4261ef2ccb8dc39ecc87772">krb5_kuserok</a> (krb5_context context, krb5_principal principal, const char *luser)</td></tr> +<tr class="separator:ga6368eceea4261ef2ccb8dc39ecc87772"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab6e4d59cca3b2e65abbd83204ad0e789"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__support.html#gab6e4d59cca3b2e65abbd83204ad0e789">krb5_plugin_register</a> (krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)</td></tr> +<tr class="separator:gab6e4d59cca3b2e65abbd83204ad0e789"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g7c5dbc1743dc0bc63765edf82d10eb9e"></a><!-- doxytag: member="acl.c::krb5_acl_match_file" ref="g7c5dbc1743dc0bc63765edf82d10eb9e" args="(krb5_context context, const char *file, const char *format,...)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga7c5dbc1743dc0bc63765edf82d10eb9e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7c5dbc1743dc0bc63765edf82d10eb9e">◆ </a></span>krb5_acl_match_file()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>file</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>format</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_acl_match_file matches ACL format against each line in a file using <a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string()</a>. Lines starting with # are treated like comments and ignored.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>file</em> </td><td>file with acl listed in the file. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>format to match. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>parameter to format string.</td></tr> +</div><div class="memdoc"> +<p>krb5_acl_match_file matches ACL format against each line in a file using <a class="el" href="group__krb5__support.html#ga245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string()</a>. Lines starting with # are treated like comments and ignored.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">file</td><td>file with acl listed in the file. </td></tr> + <tr><td class="paramname">format</td><td>format to match. </td></tr> + <tr><td class="paramname">...</td><td>parameter to format string.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0.</dd></dl> +<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__support.html#ga245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a> </dd></dl> </div> -</div><p> -<a class="anchor" name="g245208f2d59a8fd7187089ad445e51d0"></a><!-- doxytag: member="acl.c::krb5_acl_match_string" ref="g245208f2d59a8fd7187089ad445e51d0" args="(krb5_context context, const char *string, const char *format,...)" --> +</div> +<a id="ga245208f2d59a8fd7187089ad445e51d0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga245208f2d59a8fd7187089ad445e51d0">◆ </a></span>krb5_acl_match_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>string</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>format</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -krb5_acl_match_string matches ACL format against a string.<p> -The ACL format has three format specifiers: s, f, and r. Each specifier will retrieve one argument from the variable arguments for either matching or storing data. The input string is split up using " " (space) and "\t" (tab) as a delimiter; multiple and "\t" in a row are considered to be the same.<p> -List of format specifiers:<ul> -<li>s Matches a string using strcmp(3) (case sensitive).</li><li>f Matches the string with fnmatch(3). Theflags argument (the last argument) passed to the fnmatch function is 0.</li><li>r Returns a copy of the string in the char ** passed in; the copy must be freed with free(3). There is no need to free(3) the string on error: the function will clean up and set the pointer to NULL.</li></ul> -<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>string to match with </td></tr> - <tr><td valign="top"></td><td valign="top"><em>format</em> </td><td>format to match </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>parameter to format string</td></tr> +</div><div class="memdoc"> +<p>krb5_acl_match_string matches ACL format against a string.</p> +<p>The ACL format has three format specifiers: s, f, and r. Each specifier will retrieve one argument from the variable arguments for either matching or storing data. The input string is split up using " " (space) and "\t" (tab) as a delimiter; multiple and "\t" in a row are considered to be the same.</p> +<p>List of format specifiers:</p><ul> +<li>s Matches a string using strcmp(3) (case sensitive).</li> +<li>f Matches the string with fnmatch(3). Theflags argument (the last argument) passed to the fnmatch function is 0.</li> +<li>r Returns a copy of the string in the char ** passed in; the copy must be freed with free(3). There is no need to free(3) the string on error: the function will clean up and set the pointer to NULL.</li> +</ul> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context </td></tr> + <tr><td class="paramname">string</td><td>string to match with </td></tr> + <tr><td class="paramname">format</td><td>format to match </td></tr> + <tr><td class="paramname">...</td><td>parameter to format string</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0.</dd></dl> -<div class="fragment"><pre class="fragment"> <span class="keywordtype">char</span> *s; - - ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo"</span>, <span class="stringliteral">"s"</span>, <span class="stringliteral">"foo"</span>); - <span class="keywordflow">if</span> (ret) - krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>); - ret = <a class="code" href="group__krb5__support.html#g245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo foo baz/kaka"</span>, - <span class="stringliteral">"ss"</span>, <span class="stringliteral">"foo"</span>, &s, <span class="stringliteral">"foo/\\*"</span>); - <span class="keywordflow">if</span> (ret) { - <span class="comment">// no need to free(s) on error</span> - assert(s == NULL); - krb5_errx(context, 1, <span class="stringliteral">"acl didn't match"</span>); - } - free(s); -</pre></div><p> -<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__support.html#g7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0.</dd></dl> +<div class="fragment"><div class="line"><span class="keywordtype">char</span> *s;</div><div class="line"></div><div class="line">ret = <a class="code" href="group__krb5__support.html#ga245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo"</span>, <span class="stringliteral">"s"</span>, <span class="stringliteral">"foo"</span>);</div><div class="line"><span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#ga1b898cb64c7e0e9a61d52440e1ada17e">krb5_errx</a>(context, 1, <span class="stringliteral">"acl didn't match"</span>);</div><div class="line">ret = <a class="code" href="group__krb5__support.html#ga245208f2d59a8fd7187089ad445e51d0">krb5_acl_match_string</a>(context, <span class="stringliteral">"foo foo baz/kaka"</span>,</div><div class="line"> <span class="stringliteral">"ss"</span>, <span class="stringliteral">"foo"</span>, &s, <span class="stringliteral">"foo/\\*"</span>);</div><div class="line"><span class="keywordflow">if</span> (ret) {</div><div class="line"> <span class="comment">// no need to free(s) on error</span></div><div class="line"> assert(s == NULL);</div><div class="line"> <a class="code" href="group__krb5__error.html#ga1b898cb64c7e0e9a61d52440e1ada17e">krb5_errx</a>(context, 1, <span class="stringliteral">"acl didn't match"</span>);</div><div class="line">}</div><div class="line">free(s);</div></div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__krb5__support.html#ga7c5dbc1743dc0bc63765edf82d10eb9e">krb5_acl_match_file</a> </dd></dl> </div> -</div><p> -<a class="anchor" name="g84277205c4b221cc28f1fd36be19dba8"></a><!-- doxytag: member="config_file.c::krb5_config_file_free" ref="g84277205c4b221cc28f1fd36be19dba8" args="(krb5_context context, krb5_config_section *s)" --> +</div> +<a id="ga3da1c15fbc425a71da10784139140644"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3da1c15fbc425a71da10784139140644">◆ </a></span>krb5_aname_to_localname()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_aname_to_localname </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">krb5_const_principal </td> + <td class="paramname"><em>aname</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>lnsize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_config_section * </td> - <td class="paramname"> <em>s</em></td><td> </td> + <td class="paramtype">char * </td> + <td class="paramname"><em>lname</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free configuration file section, the result of krb5_config_parse_file() and <a class="el" href="group__krb5__support.html#g59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>the configuration section to free</td></tr> +</div><div class="memdoc"> +<p>Map a principal name to a local username.</p> +<p>Returns 0 on success, KRB5_NO_LOCALNAME if no mapping was found, or some Kerberos or system error.</p> +<p>Inputs:</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A krb5_context </td></tr> + <tr><td class="paramname">aname</td><td>A principal name </td></tr> + <tr><td class="paramname">lnsize</td><td>The size of the buffer into which the username will be written </td></tr> + <tr><td class="paramname">lname</td><td>The buffer into which the username will be written </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns 0 on successes, otherwise an error code, see krb5_get_error_message() </dd></dl> </div> -</div><p> -<a class="anchor" name="g3440f86b07fa86aae0f0889445a0def2"></a><!-- doxytag: member="config_file.c::krb5_config_free_strings" ref="g3440f86b07fa86aae0f0889445a0def2" args="(char **strings)" --> +</div> +<a id="ga84277205c4b221cc28f1fd36be19dba8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga84277205c4b221cc28f1fd36be19dba8">◆ </a></span>krb5_config_file_free()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free </td> <td>(</td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>strings</em> </td> - <td> ) </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> <td></td> + <td class="paramtype">krb5_config_section * </td> + <td class="paramname"><em>s</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> </tr> </table> +</div><div class="memdoc"> +<p>Free configuration file section, the result of krb5_config_parse_file() and <a class="el" href="group__krb5__support.html#ga59892cdf61d0a6a59b3dd2e9998b541a">krb5_config_parse_file_multi()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context </td></tr> + <tr><td class="paramname">s</td><td>the configuration section to free</td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>returns 0 on successes, otherwise an error code, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a> </dd></dl> + +</div> </div> -<div class="memdoc"> +<a id="ga3440f86b07fa86aae0f0889445a0def2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga3440f86b07fa86aae0f0889445a0def2">◆ </a></span>krb5_config_free_strings()</h2> -<p> -Free the resulting strings from krb5_config-get_strings() and <a class="el" href="group__krb5__support.html#g614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>strings</em> </td><td>strings to free </td></tr> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings </td> + <td>(</td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>strings</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> +<p>Free the resulting strings from krb5_config-get_strings() and <a class="el" href="group__krb5__support.html#ga614850564b4d21b92e113fde9420bf3c">krb5_config_vget_strings()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">strings</td><td>strings to free </td></tr> </table> + </dd> </dl> </div> -</div><p> -<a class="anchor" name="g39402ca8c1b1eb2af4b514eed826f971"></a><!-- doxytag: member="config_file.c::krb5_config_get_bool" ref="g39402ca8c1b1eb2af4b514eed826f971" args="(krb5_context context, const krb5_config_section *c,...)" --> +</div> +<a id="ga39402ca8c1b1eb2af4b514eed826f971"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga39402ca8c1b1eb2af4b514eed826f971">◆ </a></span>krb5_config_get_bool()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Like <a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> but with a va_list list of configuration selection.<p> -Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p>Like <a class="el" href="group__krb5__support.html#ga39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> but with a va_list list of configuration selection.</p> +<p>Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>TRUE or FALSE </dd></dl> </div> -</div><p> -<a class="anchor" name="gca6abdb90a74af3747f87bfb5e9c85ab"></a><!-- doxytag: member="config_file.c::krb5_config_get_bool_default" ref="gca6abdb90a74af3747f87bfb5e9c85ab" args="(krb5_context context, const krb5_config_section *c, krb5_boolean def_value,...)" --> +</div> +<a id="gaca6abdb90a74af3747f87bfb5e9c85ab"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaca6abdb90a74af3747f87bfb5e9c85ab">◆ </a></span>krb5_config_get_bool_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>def_value</em>, </td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>def_value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -<a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p><a class="el" href="group__krb5__support.html#gaca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">def_value</td><td>the default value to return if no configuration found in the database. </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>TRUE or FALSE </dd></dl> </div> -</div><p> -<a class="anchor" name="gee87399e25e34ac1e0e4a1841951e2fa"></a><!-- doxytag: member="config_file.c::krb5_config_get_list" ref="gee87399e25e34ac1e0e4a1841951e2fa" args="(krb5_context context, const krb5_config_section *c,...)" --> +</div> +<a id="gaee87399e25e34ac1e0e4a1841951e2fa"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaee87399e25e34ac1e0e4a1841951e2fa">◆ </a></span>krb5_config_get_list()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list </td> + <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get a list of configuration binding list for more processing<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p>Get a list of configuration binding list for more processing</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> </div> -</div><p> -<a class="anchor" name="gc0845cba8c8f7fd2e447de60d81556ac"></a><!-- doxytag: member="config_file.c::krb5_config_get_string" ref="gc0845cba8c8f7fd2e447de60d81556ac" args="(krb5_context context, const krb5_config_section *c,...)" --> +</div> +<a id="gac0845cba8c8f7fd2e447de60d81556ac"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gac0845cba8c8f7fd2e447de60d81556ac">◆ </a></span>krb5_config_get_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Returns a "const char *" to a string in the configuration database. The string may not be valid after a reload of the configuration database so a caller should make a local copy if it needs to keep the string.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p>Returns a "const char *" to a string in the configuration database. The string may not be valid after a reload of the configuration database so a caller should make a local copy if it needs to keep the string.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> </div> -</div><p> -<a class="anchor" name="gaef298c290e0c315d7f4bf07ba272b60"></a><!-- doxytag: member="config_file.c::krb5_config_get_string_default" ref="gaef298c290e0c315d7f4bf07ba272b60" args="(krb5_context context, const krb5_config_section *c, const char *def_value,...)" --> +</div> +<a id="gaaef298c290e0c315d7f4bf07ba272b60"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaaef298c290e0c315d7f4bf07ba272b60">◆ </a></span>krb5_config_get_string_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>def_value</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>def_value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Like <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but instead of returning NULL, instead return a default value.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p>Like <a class="el" href="group__krb5__support.html#gac0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but instead of returning NULL, instead return a default value.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">def_value</td><td>the default value to return if no configuration found in the database. </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>a configuration string </dd></dl> </div> -</div><p> -<a class="anchor" name="g8f43dbe4a34a820a70d081e5d3190e01"></a><!-- doxytag: member="config_file.c::krb5_config_get_strings" ref="g8f43dbe4a34a820a70d081e5d3190e01" args="(krb5_context context, const krb5_config_section *c,...)" --> +</div> +<a id="ga8f43dbe4a34a820a70d081e5d3190e01"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8f43dbe4a34a820a70d081e5d3190e01">◆ </a></span>krb5_config_get_strings()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings </td> + <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p>Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#ga3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>TRUE or FALSE </dd></dl> </div> -</div><p> -<a class="anchor" name="gf797bad7e8499b7be6099ccff7f56226"></a><!-- doxytag: member="config_file.c::krb5_config_get_time" ref="gf797bad7e8499b7be6099ccff7f56226" args="(krb5_context context, const krb5_config_section *c,...)" --> +</div> +<a id="gaf797bad7e8499b7be6099ccff7f56226"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaf797bad7e8499b7be6099ccff7f56226">◆ </a></span>krb5_config_get_time()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the time from the configuration file using a relative time, for example: 1h30s<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p>Get the time from the configuration file using a relative time, for example: 1h30s</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>parsed the time or -1 on error </dd></dl> </div> -</div><p> -<a class="anchor" name="g019554d71140a32f64b6e4a2244d1168"></a><!-- doxytag: member="config_file.c::krb5_config_get_time_default" ref="g019554d71140a32f64b6e4a2244d1168" args="(krb5_context context, const krb5_config_section *c, int def_value,...)" --> +</div> +<a id="ga019554d71140a32f64b6e4a2244d1168"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga019554d71140a32f64b6e4a2244d1168">◆ </a></span>krb5_config_get_time_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>def_value</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>def_value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype"> </td> - <td class="paramname"> <em>...</em></td><td> </td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the time from the configuration file using a relative time, for example: 1h30s<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>a list of names, terminated with NULL.</td></tr> +</div><div class="memdoc"> +<p>Get the time from the configuration file using a relative time, for example: 1h30s</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">def_value</td><td>the default value to return if no configuration found in the database. </td></tr> + <tr><td class="paramname">...</td><td>a list of names, terminated with NULL.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>parsed the time (or def_value on parse error) </dd></dl> </div> -</div><p> -<a class="anchor" name="g59892cdf61d0a6a59b3dd2e9998b541a"></a><!-- doxytag: member="config_file.c::krb5_config_parse_file_multi" ref="g59892cdf61d0a6a59b3dd2e9998b541a" args="(krb5_context context, const char *fname, krb5_config_section **res)" --> +</div> +<a id="ga59892cdf61d0a6a59b3dd2e9998b541a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga59892cdf61d0a6a59b3dd2e9998b541a">◆ </a></span>krb5_config_parse_file_multi()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>fname</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>fname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_config_section ** </td> - <td class="paramname"> <em>res</em></td><td> </td> + <td class="paramtype">krb5_config_section ** </td> + <td class="paramname"><em>res</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Parse a configuration file and add the result into res. This interface can be used to parse several configuration files into one resulting krb5_config_section by calling it repeatably.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>a file name to a Kerberos configuration file </td></tr> - <tr><td valign="top"></td><td valign="top"><em>res</em> </td><td>the returned result, must be free with <a class="el" href="group__krb5.html#gce1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>. </td></tr> +</div><div class="memdoc"> +<p>Parse a configuration file and add the result into res. This interface can be used to parse several configuration files into one resulting krb5_config_section by calling it repeatably.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Kerberos 5 context. </td></tr> + <tr><td class="paramname">fname</td><td>a file name to a Kerberos configuration file </td></tr> + <tr><td class="paramname">res</td><td>the returned result, must be free with <a class="el" href="group__krb5.html#gace1b568d05875e7c4fbc6e5af5a8bdbf">krb5_free_config_files()</a>. </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> +<p>If the fname starts with "~/" parse configuration file in the current users home directory. The behavior can be disabled and enabled by calling <a class="el" href="group__krb5.html#ga3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access()</a>.</p> -<p> -If the fname starts with "~/" parse configuration file in the current users home directory. The behavior can be disabled and enabled by calling <a class="el" href="group__krb5.html#g3a8e40d622ff1460b2f554d83a9059ea">krb5_set_home_dir_access()</a>. </div> -</div><p> -<a class="anchor" name="g16e5b2da5e3751d7b3d4fe8d43f0a677"></a><!-- doxytag: member="config_file.c::krb5_config_vget_bool" ref="g16e5b2da5e3751d7b3d4fe8d43f0a677" args="(krb5_context context, const krb5_config_section *c, va_list args)" --> +</div> +<a id="ga16e5b2da5e3751d7b3d4fe8d43f0a677"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga16e5b2da5e3751d7b3d4fe8d43f0a677">◆ </a></span>krb5_config_vget_bool()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -<a class="el" href="group__krb5__support.html#g39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p><a class="el" href="group__krb5__support.html#ga39402ca8c1b1eb2af4b514eed826f971">krb5_config_get_bool()</a> will convert the configuration option value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>TRUE or FALSE </dd></dl> </div> -</div><p> -<a class="anchor" name="g8a29a130369232a638629cb37bfbeb66"></a><!-- doxytag: member="config_file.c::krb5_config_vget_bool_default" ref="g8a29a130369232a638629cb37bfbeb66" args="(krb5_context context, const krb5_config_section *c, krb5_boolean def_value, va_list args)" --> +</div> +<a id="ga8a29a130369232a638629cb37bfbeb66"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga8a29a130369232a638629cb37bfbeb66">◆ </a></span>krb5_config_vget_bool_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_boolean </td> - <td class="paramname"> <em>def_value</em>, </td> + <td class="paramtype">krb5_boolean </td> + <td class="paramname"><em>def_value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Like <a class="el" href="group__krb5__support.html#gca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> but with a va_list list of configuration selection.<p> -Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p>Like <a class="el" href="group__krb5__support.html#gaca6abdb90a74af3747f87bfb5e9c85ab">krb5_config_get_bool_default()</a> but with a va_list list of configuration selection.</p> +<p>Configuration value to a boolean value, where yes/true and any non-zero number means TRUE and other value is FALSE.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">def_value</td><td>the default value to return if no configuration found in the database. </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>TRUE or FALSE </dd></dl> </div> -</div><p> -<a class="anchor" name="gfbc6548d480aaf5118025b742f4f468d"></a><!-- doxytag: member="config_file.c::krb5_config_vget_list" ref="gfbc6548d480aaf5118025b742f4f468d" args="(krb5_context context, const krb5_config_section *c, va_list args)" --> +</div> +<a id="gafbc6548d480aaf5118025b742f4f468d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gafbc6548d480aaf5118025b742f4f468d">◆ </a></span>krb5_config_vget_list()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list </td> + <td class="memname">KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get a list of configuration binding list for more processing<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p>Get a list of configuration binding list for more processing</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>NULL if configuration list is not found, a list otherwise </dd></dl> </div> -</div><p> -<a class="anchor" name="gec7eaee2b6f04f1ed4a64b37efa767e4"></a><!-- doxytag: member="config_file.c::krb5_config_vget_string" ref="gec7eaee2b6f04f1ed4a64b37efa767e4" args="(krb5_context context, const krb5_config_section *c, va_list args)" --> +</div> +<a id="gaec7eaee2b6f04f1ed4a64b37efa767e4"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaec7eaee2b6f04f1ed4a64b37efa767e4">◆ </a></span>krb5_config_vget_string()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Like <a class="el" href="group__krb5__support.html#gc0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but uses a va_list instead of ...<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p>Like <a class="el" href="group__krb5__support.html#gac0845cba8c8f7fd2e447de60d81556ac">krb5_config_get_string()</a>, but uses a va_list instead of ...</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>NULL if configuration string not found, a string otherwise </dd></dl> </div> -</div><p> -<a class="anchor" name="g124f18195eb05c3662ce2bcf06c7451b"></a><!-- doxytag: member="config_file.c::krb5_config_vget_string_default" ref="g124f18195eb05c3662ce2bcf06c7451b" args="(krb5_context context, const krb5_config_section *c, const char *def_value, va_list args)" --> +</div> +<a id="ga124f18195eb05c3662ce2bcf06c7451b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga124f18195eb05c3662ce2bcf06c7451b">◆ </a></span>krb5_config_vget_string_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default </td> + <td class="memname">KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>def_value</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>def_value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Like <a class="el" href="group__krb5__support.html#gec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string()</a>, but instead of returning NULL, instead return a default value.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p>Like <a class="el" href="group__krb5__support.html#gaec7eaee2b6f04f1ed4a64b37efa767e4">krb5_config_vget_string()</a>, but instead of returning NULL, instead return a default value.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">def_value</td><td>the default value to return if no configuration found in the database. </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a configuration string </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>a configuration string </dd></dl> </div> -</div><p> -<a class="anchor" name="g614850564b4d21b92e113fde9420bf3c"></a><!-- doxytag: member="config_file.c::krb5_config_vget_strings" ref="g614850564b4d21b92e113fde9420bf3c" args="(krb5_context context, const krb5_config_section *c, va_list args)" --> +</div> +<a id="ga614850564b4d21b92e113fde9420bf3c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga614850564b4d21b92e113fde9420bf3c">◆ </a></span>krb5_config_vget_strings()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings </td> + <td class="memname">KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#g3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p>Get a list of configuration strings, free the result with <a class="el" href="group__krb5__support.html#ga3440f86b07fa86aae0f0889445a0def2">krb5_config_free_strings()</a>.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE or FALSE </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>TRUE or FALSE </dd></dl> </div> -</div><p> -<a class="anchor" name="g88331c69f41e1e65abc49a9b66efc7d5"></a><!-- doxytag: member="config_file.c::krb5_config_vget_time" ref="g88331c69f41e1e65abc49a9b66efc7d5" args="(krb5_context context, const krb5_config_section *c, va_list args)" --> +</div> +<a id="ga88331c69f41e1e65abc49a9b66efc7d5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga88331c69f41e1e65abc49a9b66efc7d5">◆ </a></span>krb5_config_vget_time()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the time from the configuration file using a relative time, for example: 1h30s<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p>Get the time from the configuration file using a relative time, for example: 1h30s</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time or -1 on error </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>parsed the time or -1 on error </dd></dl> </div> -</div><p> -<a class="anchor" name="g11d7ea1fa9a910acb568c42d8dd28350"></a><!-- doxytag: member="config_file.c::krb5_config_vget_time_default" ref="g11d7ea1fa9a910acb568c42d8dd28350" args="(krb5_context context, const krb5_config_section *c, int def_value, va_list args)" --> +</div> +<a id="ga11d7ea1fa9a910acb568c42d8dd28350"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga11d7ea1fa9a910acb568c42d8dd28350">◆ </a></span>krb5_config_vget_time_default()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default </td> + <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_config_section * </td> - <td class="paramname"> <em>c</em>, </td> + <td class="paramtype">const krb5_config_section * </td> + <td class="paramname"><em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> - <td class="paramname"> <em>def_value</em>, </td> + <td class="paramtype">int </td> + <td class="paramname"><em>def_value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">va_list </td> - <td class="paramname"> <em>args</em></td><td> </td> + <td class="paramtype">va_list </td> + <td class="paramname"><em>args</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the time from the configuration file using a relative time.<p> -Like <a class="el" href="group__krb5__support.html#g019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default()</a> but with a va_list list of configuration selection.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>a configuration section, or NULL to use the section from context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>def_value</em> </td><td>the default value to return if no configuration found in the database. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>args</em> </td><td>a va_list of arguments</td></tr> +</div><div class="memdoc"> +<p>Get the time from the configuration file using a relative time.</p> +<p>Like <a class="el" href="group__krb5__support.html#ga019554d71140a32f64b6e4a2244d1168">krb5_config_get_time_default()</a> but with a va_list list of configuration selection.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">c</td><td>a configuration section, or NULL to use the section from context </td></tr> + <tr><td class="paramname">def_value</td><td>the default value to return if no configuration found in the database. </td></tr> + <tr><td class="paramname">args</td><td>a va_list of arguments</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>parsed the time (or def_value on parse error) </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>parsed the time (or def_value on parse error) </dd></dl> </div> -</div><p> -<a class="anchor" name="g947f1780e8b73fe0edb4f64da2f0b2f3"></a><!-- doxytag: member="expand_hostname.c::krb5_expand_hostname" ref="g947f1780e8b73fe0edb4f64da2f0b2f3" args="(krb5_context context, const char *orig_hostname, char **new_hostname)" --> +</div> +<a id="ga947f1780e8b73fe0edb4f64da2f0b2f3"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga947f1780e8b73fe0edb4f64da2f0b2f3">◆ </a></span>krb5_expand_hostname()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>orig_hostname</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>orig_hostname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>new_hostname</em></td><td> </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>new_hostname</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -<a class="el" href="group__krb5__support.html#g947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname()</a> tries to make orig_hostname into a more canonical one in the newly allocated space returned in new_hostname.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em> </td><td>hostname to canonicalise. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>new_hostname</em> </td><td>output hostname, caller must free hostname with krb5_xfree().</td></tr> +</div><div class="memdoc"> +<p><a class="el" href="group__krb5__support.html#ga947f1780e8b73fe0edb4f64da2f0b2f3">krb5_expand_hostname()</a> tries to make orig_hostname into a more canonical one in the newly allocated space returned in new_hostname.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">orig_hostname</td><td>hostname to canonicalise. </td></tr> + <tr><td class="paramname">new_hostname</td><td>output hostname, caller must free hostname with krb5_xfree().</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g933f524c34ae6a80ba8aa6c0700992ef"></a><!-- doxytag: member="expand_hostname.c::krb5_expand_hostname_realms" ref="g933f524c34ae6a80ba8aa6c0700992ef" args="(krb5_context context, const char *orig_hostname, char **new_hostname, char ***realms)" --> +</div> +<a id="ga933f524c34ae6a80ba8aa6c0700992ef"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga933f524c34ae6a80ba8aa6c0700992ef">◆ </a></span>krb5_expand_hostname_realms()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>orig_hostname</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>orig_hostname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char ** </td> - <td class="paramname"> <em>new_hostname</em>, </td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>new_hostname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">char *** </td> - <td class="paramname"> <em>realms</em></td><td> </td> + <td class="paramtype">char *** </td> + <td class="paramname"><em>realms</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -<a class="el" href="group__krb5__support.html#g933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms()</a> expands orig_hostname to a name we believe to be a hostname in newly allocated space in new_hostname and return the realms new_hostname is believed to belong to in realms.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>orig_hostname</em> </td><td>hostname to canonicalise. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>new_hostname</em> </td><td>output hostname, caller must free hostname with krb5_xfree(). </td></tr> - <tr><td valign="top"></td><td valign="top"><em>realms</em> </td><td>output possible realms, is an array that is terminated with NULL. Caller must free with <a class="el" href="group__krb5__support.html#gca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm()</a>.</td></tr> +</div><div class="memdoc"> +<p><a class="el" href="group__krb5__support.html#ga933f524c34ae6a80ba8aa6c0700992ef">krb5_expand_hostname_realms()</a> expands orig_hostname to a name we believe to be a hostname in newly allocated space in new_hostname and return the realms new_hostname is believed to belong to in realms.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">orig_hostname</td><td>hostname to canonicalise. </td></tr> + <tr><td class="paramname">new_hostname</td><td>output hostname, caller must free hostname with krb5_xfree(). </td></tr> + <tr><td class="paramname">realms</td><td>output possible realms, is an array that is terminated with NULL. Caller must free with <a class="el" href="group__krb5__support.html#gaca0ab80d3affb5986aa5061f3782401b">krb5_free_host_realm()</a>.</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return an error code or 0, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Return an error code or 0, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="gca0ab80d3affb5986aa5061f3782401b"></a><!-- doxytag: member="free_host_realm.c::krb5_free_host_realm" ref="gca0ab80d3affb5986aa5061f3782401b" args="(krb5_context context, krb5_realm *realmlist)" --> +</div> +<a id="gaca0ab80d3affb5986aa5061f3782401b"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaca0ab80d3affb5986aa5061f3782401b">◆ </a></span>krb5_free_host_realm()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_realm * </td> - <td class="paramname"> <em>realmlist</em></td><td> </td> + <td class="paramtype">krb5_realm * </td> + <td class="paramname"><em>realmlist</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Free all memory allocated by `realmlist'<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>A Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>realmlist</em> </td><td>realmlist to free, NULL is ok</td></tr> +</div><div class="memdoc"> +<p>Free all memory allocated by `realmlist'</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>A Kerberos 5 context. </td></tr> + <tr><td class="paramname">realmlist</td><td>realmlist to free, NULL is ok</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>a Kerberos error code, always 0. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>a Kerberos error code, always 0. </dd></dl> </div> -</div><p> -<a class="anchor" name="g6368eceea4261ef2ccb8dc39ecc87772"></a><!-- doxytag: member="kuserok.c::krb5_kuserok" ref="g6368eceea4261ef2ccb8dc39ecc87772" args="(krb5_context context, krb5_principal principal, const char *luser)" --> +</div> +<a id="ga6368eceea4261ef2ccb8dc39ecc87772"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga6368eceea4261ef2ccb8dc39ecc87772">◆ </a></span>krb5_kuserok()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_principal </td> - <td class="paramname"> <em>principal</em>, </td> + <td class="paramtype">krb5_principal </td> + <td class="paramname"><em>principal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>luser</em></td><td> </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>luser</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -This function takes the name of a local user and checks if principal is allowed to log in as that user.<p> -The user may have a ~/.k5login file listing principals that are allowed to login as that user. If that file does not exist, all principals with a first component identical to the username, and a realm considered local, are allowed access.<p> -The .k5login file must contain one principal per line, be owned by user and not be writable by group or other (but must be readable by anyone).<p> -Note that if the file exists, no implicit access rights are given to user@LOCALREALM.<p> -Optionally, a set of files may be put in ~/.k5login.d (a directory), in which case they will all be checked in the same manner as .k5login. The files may be called anything, but files starting with a hash (#) , or ending with a tilde (~) are ignored. Subdirectories are not traversed. Note that this directory may not be checked by other Kerberos implementations.<p> -If no configuration file exists, match user against local domains, ie luser@LOCAL-REALMS-IN-CONFIGURATION-FILES.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>principal</em> </td><td>principal to check if allowed to login </td></tr> - <tr><td valign="top"></td><td valign="top"><em>luser</em> </td><td>local user id</td></tr> +</div><div class="memdoc"> +<p>This function takes the name of a local user and checks if principal is allowed to log in as that user.</p> +<p>The user may have a ~/.k5login file listing principals that are allowed to login as that user. If that file does not exist, all principals with a only one component that is identical to the username, and a realm considered local, are allowed access.</p> +<p>The .k5login file must contain one principal per line, be owned by user and not be writable by group or other (but must be readable by anyone).</p> +<p>Note that if the file exists, no implicit access rights are given to user@LOCALREALM.</p> +<p>Optionally, a set of files may be put in ~/.k5login.d (a directory), in which case they will all be checked in the same manner as .k5login. The files may be called anything, but files starting with a hash (#) , or ending with a tilde (~) are ignored. Subdirectories are not traversed. Note that this directory may not be checked by other Kerberos implementations.</p> +<p>If no configuration file exists, match user against local domains, ie luser@LOCAL-REALMS-IN-CONFIGURATION-FILES.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">principal</td><td>principal to check if allowed to login </td></tr> + <tr><td class="paramname">luser</td><td>local user id</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>returns TRUE if access should be granted, FALSE otherwise. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>returns TRUE if access should be granted, FALSE otherwise. </dd></dl> </div> -</div><p> -<a class="anchor" name="gb6e4d59cca3b2e65abbd83204ad0e789"></a><!-- doxytag: member="plugin.c::krb5_plugin_register" ref="gb6e4d59cca3b2e65abbd83204ad0e789" args="(krb5_context context, enum krb5_plugin_type type, const char *name, void *symbol)" --> +</div> +<a id="gab6e4d59cca3b2e65abbd83204ad0e789"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab6e4d59cca3b2e65abbd83204ad0e789">◆ </a></span>krb5_plugin_register()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">enum krb5_plugin_type </td> - <td class="paramname"> <em>type</em>, </td> + <td class="paramtype">enum krb5_plugin_type </td> + <td class="paramname"><em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const char * </td> - <td class="paramname"> <em>name</em>, </td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">void * </td> - <td class="paramname"> <em>symbol</em></td><td> </td> + <td class="paramtype">void * </td> + <td class="paramname"><em>symbol</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Register a plugin symbol name of specific type. <dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>a Keberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>type of plugin symbol </td></tr> - <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>name of plugin symbol </td></tr> - <tr><td valign="top"></td><td valign="top"><em>symbol</em> </td><td>a pointer to the named symbol </td></tr> +</div><div class="memdoc"> +<p>Register a plugin symbol name of specific type. </p><dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>a Keberos context </td></tr> + <tr><td class="paramname">type</td><td>type of plugin symbol </td></tr> + <tr><td class="paramname">name</td><td>name of plugin symbol </td></tr> + <tr><td class="paramname">symbol</td><td>a pointer to the named symbol </td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of error a non zero error com_err error is returned and the Kerberos error string is set. </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>In case of error a non zero error com_err error is returned and the Kerberos error string is set. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__ticket.html b/doc/doxyout/krb5/html/group__krb5__ticket.html index 818d83c0ea35..b0c901db11f3 100644 --- a/doc/doxyout/krb5/html/group__krb5__ticket.html +++ b/doc/doxyout/krb5/html/group__krb5__ticket.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 ticket functions</title> +<title>Heimdal Kerberos 5 ticket functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,66 +8,70 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 ticket functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 ticket functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION unsigned <br> -long KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ticket.html#gb6a75ab695ff8478394084138af9eb16">krb5_ticket_get_flags</a> (krb5_context context, const krb5_ticket *ticket)</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gab6a75ab695ff8478394084138af9eb16"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__ticket.html#gab6a75ab695ff8478394084138af9eb16">krb5_ticket_get_flags</a> (krb5_context context, const krb5_ticket *ticket)</td></tr> +<tr class="separator:gab6a75ab695ff8478394084138af9eb16"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="gb6a75ab695ff8478394084138af9eb16"></a><!-- doxytag: member="ticket.c::krb5_ticket_get_flags" ref="gb6a75ab695ff8478394084138af9eb16" args="(krb5_context context, const krb5_ticket *ticket)" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="gab6a75ab695ff8478394084138af9eb16"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab6a75ab695ff8478394084138af9eb16">◆ </a></span>krb5_ticket_get_flags()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL krb5_ticket_get_flags </td> + <td class="memname">KRB5_LIB_FUNCTION unsigned long KRB5_LIB_CALL krb5_ticket_get_flags </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const krb5_ticket * </td> - <td class="paramname"> <em>ticket</em></td><td> </td> + <td class="paramtype">const krb5_ticket * </td> + <td class="paramname"><em>ticket</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Get the flags from the Kerberos ticket<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos context </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ticket</em> </td><td>Kerberos ticket</td></tr> +</div><div class="memdoc"> +<p>Get the flags from the Kerberos ticket</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos context </td></tr> + <tr><td class="paramname">ticket</td><td>Kerberos ticket</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>ticket flags </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>ticket flags </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/group__krb5__v4compat.html b/doc/doxyout/krb5/html/group__krb5__v4compat.html index 0ddefa47f2a1..342a192e837f 100644 --- a/doc/doxyout/krb5/html/group__krb5__v4compat.html +++ b/doc/doxyout/krb5/html/group__krb5__v4compat.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 4 compatiblity functions</title> +<title>Heimdal Kerberos 4 compatiblity functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,127 +8,130 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 4 compatiblity functions</div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 4 compatiblity functions</h1><table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -<tr><td colspan="2"><br><h2>Functions</h2></td></tr> -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__v4compat.html#g0b661217785509322350a73e516ebb3e">krb524_convert_creds_kdc</a> (krb5_context context, krb5_creds *in_cred, struct credentials *v4creds) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - -<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> -krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__v4compat.html#g9669ba06773974372902df45a8284cf0">krb524_convert_creds_kdc_ccache</a> (krb5_context context, krb5_ccache ccache, krb5_creds *in_cred, struct credentials *v4creds) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> - +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga0b661217785509322350a73e516ebb3e"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__v4compat.html#ga0b661217785509322350a73e516ebb3e">krb524_convert_creds_kdc</a> (krb5_context context, krb5_creds *in_cred, struct credentials *v4creds) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga0b661217785509322350a73e516ebb3e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9669ba06773974372902df45a8284cf0"><td class="memItemLeft" align="right" valign="top">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__v4compat.html#ga9669ba06773974372902df45a8284cf0">krb524_convert_creds_kdc_ccache</a> (krb5_context context, krb5_ccache ccache, krb5_creds *in_cred, struct credentials *v4creds) KRB5_DEPRECATED_FUNCTION("Use X instead")</td></tr> +<tr class="separator:ga9669ba06773974372902df45a8284cf0"><td class="memSeparator" colspan="2"> </td></tr> </table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -<hr><h2>Function Documentation</h2> -<a class="anchor" name="g0b661217785509322350a73e516ebb3e"></a><!-- doxytag: member="convert_creds.c::krb524_convert_creds_kdc" ref="g0b661217785509322350a73e516ebb3e" args="(krb5_context context, krb5_creds *in_cred, struct credentials *v4creds) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<h2 class="groupheader">Function Documentation</h2> +<a id="ga0b661217785509322350a73e516ebb3e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga0b661217785509322350a73e516ebb3e">◆ </a></span>krb524_convert_creds_kdc()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb524_convert_creds_kdc </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb524_convert_creds_kdc </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>in_cred</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>in_cred</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">struct credentials * </td> - <td class="paramname"> <em>v4creds</em></td><td> </td> + <td class="paramtype">struct credentials * </td> + <td class="paramname"><em>v4creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Convert the v5 credentials in in_cred to v4-dito in v4creds. This is done by sending them to the 524 function in the KDC. If `in_cred' doesn't contain a DES session key, then a new one is gotten from the KDC and stored in the cred cache `ccache'.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>in_cred</em> </td><td>the credential to convert </td></tr> - <tr><td valign="top"></td><td valign="top"><em>v4creds</em> </td><td>the converted credential</td></tr> +</div><div class="memdoc"> +<p>Convert the v5 credentials in in_cred to v4-dito in v4creds. This is done by sending them to the 524 function in the KDC. If `in_cred' doesn't contain a DES session key, then a new one is gotten from the KDC and stored in the cred cache `ccache'.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">in_cred</td><td>the credential to convert </td></tr> + <tr><td class="paramname">v4creds</td><td>the converted credential</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> -<a class="anchor" name="g9669ba06773974372902df45a8284cf0"></a><!-- doxytag: member="convert_creds.c::krb524_convert_creds_kdc_ccache" ref="g9669ba06773974372902df45a8284cf0" args="(krb5_context context, krb5_ccache ccache, krb5_creds *in_cred, struct credentials *v4creds) KRB5_DEPRECATED_FUNCTION("Use X instead")" --> +</div> +<a id="ga9669ba06773974372902df45a8284cf0"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9669ba06773974372902df45a8284cf0">◆ </a></span>krb524_convert_creds_kdc_ccache()</h2> + <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb524_convert_creds_kdc_ccache </td> + <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb524_convert_creds_kdc_ccache </td> <td>(</td> - <td class="paramtype">krb5_context </td> - <td class="paramname"> <em>context</em>, </td> + <td class="paramtype">krb5_context </td> + <td class="paramname"><em>context</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_ccache </td> - <td class="paramname"> <em>ccache</em>, </td> + <td class="paramtype">krb5_ccache </td> + <td class="paramname"><em>ccache</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">krb5_creds * </td> - <td class="paramname"> <em>in_cred</em>, </td> + <td class="paramtype">krb5_creds * </td> + <td class="paramname"><em>in_cred</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">struct credentials * </td> - <td class="paramname"> <em>v4creds</em></td><td> </td> + <td class="paramtype">struct credentials * </td> + <td class="paramname"><em>v4creds</em> </td> </tr> <tr> <td></td> <td>)</td> - <td></td><td></td><td></td> + <td></td><td></td> </tr> </table> -</div> -<div class="memdoc"> - -<p> -Convert the v5 credentials in in_cred to v4-dito in v4creds, check the credential cache ccache before checking with the KDC.<p> -<dl compact><dt><b>Parameters:</b></dt><dd> - <table border="0" cellspacing="2" cellpadding="0"> - <tr><td valign="top"></td><td valign="top"><em>context</em> </td><td>Kerberos 5 context. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>ccache</em> </td><td>credential cache used to check for des-ticket. </td></tr> - <tr><td valign="top"></td><td valign="top"><em>in_cred</em> </td><td>the credential to convert </td></tr> - <tr><td valign="top"></td><td valign="top"><em>v4creds</em> </td><td>the converted credential</td></tr> +</div><div class="memdoc"> +<p>Convert the v5 credentials in in_cred to v4-dito in v4creds, check the credential cache ccache before checking with the KDC.</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">context</td><td>Kerberos 5 context. </td></tr> + <tr><td class="paramname">ccache</td><td>credential cache used to check for des-ticket. </td></tr> + <tr><td class="paramname">in_cred</td><td>the credential to convert </td></tr> + <tr><td class="paramname">v4creds</td><td>the converted credential</td></tr> </table> + </dd> </dl> -<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see krb5_get_error_message(). </dd></dl> +<dl class="section return"><dt>Returns</dt><dd>Returns 0 to indicate success. Otherwise an kerberos et error code is returned, see <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. </dd></dl> </div> -</div><p> </div> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/index.html b/doc/doxyout/krb5/html/index.html index 1152d065c92a..9e3ea434966a 100644 --- a/doc/doxyout/krb5/html/index.html +++ b/doc/doxyout/krb5/html/index.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Heimdal Kerberos 5 library</title> +<title>Heimdal Kerberos 5 library</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,30 +8,35 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li class="current"><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Heimdal Kerberos 5 library </div> </div> +</div><!--header--> <div class="contents"> -<h1>Heimdal Kerberos 5 library</h1> -<p> -<h3 align="center">1.5.2 </h3><h2><a class="anchor" name="intro"> -Introduction</a></h2> -Heimdal libkrb5 library is a implementation of the Kerberos protocol.<p> -Kerberos is a system for authenticating users and services on a network. It is built upon the assumption that the network is ``unsafe''. For example, data sent over the network can be eavesdropped and altered, and addresses can also be faked. Therefore they cannot be used for authentication purposes.<p> +<div class="textblock"><h1><a class="anchor" id="intro"></a> +Introduction</h1> +<p>Heimdal libkrb5 library is a implementation of the Kerberos protocol.</p> +<p>Kerberos is a system for authenticating users and services on a network. It is built upon the assumption that the network is ``unsafe''. For example, data sent over the network can be eavesdropped and altered, and addresses can also be faked. Therefore they cannot be used for authentication purposes.</p> <ul> -<li><a class="el" href="krb5_introduction.html">Introduction to the Kerberos 5 API</a></li><li><a class="el" href="krb5_principal_intro.html">The principal handing functions.</a></li><li><a class="el" href="krb5_ccache_intro.html">The credential cache functions</a></li><li><a class="el" href="krb5_keytab_intro.html">The keytab handing functions</a></li></ul> -<p> -If you want to know more about the file formats that is used by Heimdal, please see: <a class="el" href="krb5_fileformats.html">File formats</a><p> -The project web page: <a href="http://www.h5l.org/">http://www.h5l.org/</a> </div> +<li><a class="el" href="krb5_introduction.html">Introduction to the Kerberos 5 API</a></li> +<li><a class="el" href="krb5_principal_intro.html">The principal handing functions.</a></li> +<li><a class="el" href="krb5_ccache_intro.html">The credential cache functions</a></li> +<li><a class="el" href="krb5_keytab_intro.html">The keytab handing functions</a></li> +</ul> +<p>If you want to know more about the file formats that is used by Heimdal, please see: <a class="el" href="krb5_fileformats.html">File formats</a></p> +<p>The project web page: <a href="http://www.h5l.org/">http://www.h5l.org/</a> </p> +</div></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/jquery.js b/doc/doxyout/krb5/html/jquery.js new file mode 100644 index 000000000000..f5343eda922a --- /dev/null +++ b/doc/doxyout/krb5/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h<j.length;h++){if(e.options[j[h][0]]){j[h][1].apply(e.element,f)}}}},contains:function(f,e){return document.compareDocumentPosition?f.compareDocumentPosition(e)&16:f!==e&&f.contains(e)},hasScroll:function(h,f){if(a(h).css("overflow")==="hidden"){return false}var e=(f&&f==="left")?"scrollLeft":"scrollTop",g=false;if(h[e]>0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g<l.length;g++){var j=c.trim(l[g]),e="ui-resizable-"+j;var h=c('<div class="ui-resizable-handle '+e+'"></div>');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(h<e.maxWidth){e.maxWidth=h}if(k<e.maxHeight){e.maxHeight=k}}this._vBoundaries=e},_updateCache:function(e){var f=this.options;this.offset=this.helper.offset();if(a(e.left)){this.position.left=e.left}if(a(e.top)){this.position.top=e.top}if(a(e.height)){this.size.height=e.height}if(a(e.width)){this.size.width=e.width}},_updateRatio:function(h,g){var i=this.options,j=this.position,f=this.size,e=this.axis;if(a(h.height)){h.width=(h.height*this.aspectRatio)}else{if(a(h.width)){h.height=(h.width/this.aspectRatio)}}if(e=="sw"){h.left=j.left+(f.width-h.width);h.top=null}if(e=="nw"){h.top=j.top+(f.height-h.height);h.left=j.left+(f.width-h.width)}return h},_respectSize:function(l,g){var j=this.helper,i=this._vBoundaries,r=this._aspectRatio||g.shiftKey,q=this.axis,t=a(l.width)&&i.maxWidth&&(i.maxWidth<l.width),m=a(l.height)&&i.maxHeight&&(i.maxHeight<l.height),h=a(l.width)&&i.minWidth&&(i.minWidth>l.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f<this._proportionallyResizeElements.length;f++){var h=this._proportionallyResizeElements[f];if(!this.borderDif){var e=[h.css("borderTopWidth"),h.css("borderRightWidth"),h.css("borderBottomWidth"),h.css("borderLeftWidth")],j=[h.css("paddingTop"),h.css("paddingRight"),h.css("paddingBottom"),h.css("paddingLeft")];this.borderDif=c.map(e,function(l,n){var m=parseInt(l,10)||0,o=parseInt(j[n],10)||0;return m+o})}if(c.browser.msie&&!(!(c(g).is(":hidden")||c(g).parents(":hidden").length))){continue}h.css({height:(g.height()-this.borderDif[0]-this.borderDif[2])||0,width:(g.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var f=this.element,i=this.options;this.elementOffset=f.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('<script>document.domain="'+t+'"<\/script>');u.close();q.location.hash=v}}})();return j})()})(jQuery,this);(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);/*! + PowerTip - v1.2.0 - 2013-04-03 + http://stevenbenner.github.com/jquery-powertip/ + Copyright (c) 2013 Steven Benner (http://stevenbenner.com/). + Released under MIT license. + https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt +*/ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P<N.intentSensitivity){F.showTip(K)}else{c.previousX=c.currentX;c.previousY=c.currentY;L()}}function M(){J=clearTimeout(J);c.delayInProgress=false}function H(){F.resetPosition(K)}this.show=L;this.hide=G;this.cancel=M;this.resetPosition=H}function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(q(M)){I=H(M,K)}else{I=F(M,K)}switch(L){case"n":N.set("left",I.left-(J/2));N.set("bottom",c.windowHeight-I.top+P);break;case"e":N.set("left",I.left+P);N.set("top",I.top-(O/2));break;case"s":N.set("left",I.left-(J/2));N.set("top",I.top+P);break;case"w":N.set("top",I.top-(O/2));N.set("right",c.windowWidth-I.left+P);break;case"nw":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"nw-alt":N.set("left",I.left);N.set("bottom",c.windowHeight-I.top+P);break;case"ne":N.set("left",I.left-20);N.set("bottom",c.windowHeight-I.top+P);break;case"ne-alt":N.set("bottom",c.windowHeight-I.top+P);N.set("right",c.windowWidth-I.left);break;case"sw":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left-20);break;case"sw-alt":N.set("left",I.left);N.set("top",I.top+P);break;case"se":N.set("left",I.left-20);N.set("top",I.top+P);break;case"se-alt":N.set("top",I.top+P);N.set("right",c.windowWidth-I.left);break}return N}function F(K,J){var O=K.offset(),N=K.outerWidth(),I=K.outerHeight(),M,L;switch(J){case"n":M=O.left+N/2;L=O.top;break;case"e":M=O.left+N;L=O.top+I/2;break;case"s":M=O.left+N/2;L=O.top+I;break;case"w":M=O.left;L=O.top+I/2;break;case"nw":M=O.left;L=O.top;break;case"ne":M=O.left+N;L=O.top;break;case"sw":M=O.left;L=O.top+I;break;case"se":M=O.left+N;L=O.top+I;break}return{top:L,left:M}}function H(O,K){var S=O.closest("svg")[0],N=O[0],W=S.createSVGPoint(),L=N.getBBox(),V=N.getScreenCTM(),M=L.width/2,Q=L.height/2,P=[],I=["nw","n","ne","e","se","s","sw","w"],U,X,R,T;function J(){P.push(W.matrixTransform(V))}W.x=L.x;W.y=L.y;J();W.x+=M;J();W.x+=M;J();W.y+=Q;J();W.y+=Q;J();W.x-=M;J();W.x-=M;J();W.y-=Q;J();if(P[0].y!==P[1].y||P[0].x!==P[7].x){X=Math.atan2(V.b,V.a)*E;R=Math.ceil(((X%360)-22.5)/45);if(R<1){R+=8}while(R--){I.push(I.shift())}}for(T=0;T<P.length;T++){if(I[T]===K){U=P[T];break}}return{top:U.y+c.scrollTop,left:U.x+c.scrollLeft}}this.compute=G}function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<div/>",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.top<G||Math.abs(M.bottom-c.windowHeight)-K<G){H|=p.top}if(M.top+K>I||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.left<J||M.right+L>F){H|=p.left}if(M.left+L>F||M.right<J){H|=p.right}return H}function a(G){var F=0;while(G){G&=G-1;F++}return F}}));/*! + * jQuery UI Touch Punch 0.2.3 + * + * Copyright 2011–2014, Dave Furfero + * Dual licensed under the MIT or GPL Version 2 licenses. + * + * Depends: + * jquery.ui.widget.js + * jquery.ui.mouse.js + */ +(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return}var d=b.ui.mouse.prototype,f=d._mouseInit,c=d._mouseDestroy,a;function e(h,i){if(h.originalEvent.touches.length>1){return}h.preventDefault();var j=h.originalEvent.changedTouches[0],g=document.createEvent("MouseEvents");g.initMouseEvent(i,true,true,window,1,j.screenX,j.screenY,j.clientX,j.clientY,false,false,false,false,0,null);h.target.dispatchEvent(g)}d._touchStart=function(h){var g=this;if(a||!g._mouseCapture(h.originalEvent.changedTouches[0])){return}a=true;g._touchMoved=false;e(h,"mouseover");e(h,"mousemove");e(h,"mousedown")};d._touchMove=function(g){if(!a){return}this._touchMoved=true;e(g,"mousemove")};d._touchEnd=function(g){if(!a){return}e(g,"mouseup");e(g,"mouseout");if(!this._touchMoved){e(g,"click")}a=false};d._mouseInit=function(){var g=this;g.element.bind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});f.call(g)};d._mouseDestroy=function(){var g=this;g.element.unbind({touchstart:b.proxy(g,"_touchStart"),touchmove:b.proxy(g,"_touchMove"),touchend:b.proxy(g,"_touchEnd")});c.call(g)}})(jQuery);/*! + * SmartMenus jQuery Plugin - v1.0.0 - January 27, 2016 + * http://www.smartmenus.org/ + * + * Copyright Vasil Dinkov, Vadikom Web Ltd. + * http://vadikom.com + * + * Licensed MIT + */ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof module==="object"&&typeof module.exports==="object"){module.exports=a(require("jquery"))}else{a(jQuery)}}}(function(a){var b=[],e=!!window.createPopup,f=false,d="ontouchstart" in window,h=false,g=window.requestAnimationFrame||function(l){return setTimeout(l,1000/60)},c=window.cancelAnimationFrame||function(l){clearTimeout(l)};function k(m){var n=".smartmenus_mouse";if(!h&&!m){var o=true,l=null;a(document).bind(i([["mousemove",function(s){var t={x:s.pageX,y:s.pageY,timeStamp:new Date().getTime()};if(l){var q=Math.abs(l.x-t.x),p=Math.abs(l.y-t.y);if((q>0||p>0)&&q<=2&&p<=2&&t.timeStamp-l.timeStamp<=300){f=true;if(o){var r=a(s.target).closest("a");if(r.is("a")){a.each(b,function(){if(a.contains(this.$root[0],r[0])){this.itemEnter({currentTarget:r[0]});return false}})}o=false}}}l=t}],[d?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut",function(p){if(j(p.originalEvent)){f=false}}]],n));h=true}else{if(h&&m){a(document).unbind(n);h=false}}}function j(l){return !/^(4|mouse)$/.test(l.pointerType)}function i(l,n){if(!n){n=""}var m={};a.each(l,function(o,p){m[p[0].split(" ").join(n+" ")+n]=p[1]});return m}a.SmartMenus=function(m,l){this.$root=a(m);this.opts=l;this.rootId="";this.accessIdPrefix="";this.$subArrow=null;this.activatedItems=[];this.visibleSubMenus=[];this.showTimeout=0;this.hideTimeout=0;this.scrollTimeout=0;this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.idInc=0;this.$firstLink=null;this.$firstSub=null;this.disabled=false;this.$disableOverlay=null;this.$touchScrollingSub=null;this.cssTransforms3d="perspective" in m.style||"webkitPerspective" in m.style;this.wasCollapsible=false;this.init()};a.extend(a.SmartMenus,{hideAll:function(){a.each(b,function(){this.menuHideAll()})},destroy:function(){while(b.length){b[0].destroy()}k(true)},prototype:{init:function(n){var l=this;if(!n){b.push(this);this.rootId=(new Date().getTime()+Math.random()+"").replace(/\D/g,"");this.accessIdPrefix="sm-"+this.rootId+"-";if(this.$root.hasClass("sm-rtl")){this.opts.rightToLeftSubMenus=true}var r=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).bind(i([["mouseover focusin",a.proxy(this.rootOver,this)],["mouseout focusout",a.proxy(this.rootOut,this)],["keydown",a.proxy(this.rootKeyDown,this)]],r)).delegate("a",i([["mouseenter",a.proxy(this.itemEnter,this)],["mouseleave",a.proxy(this.itemLeave,this)],["mousedown",a.proxy(this.itemDown,this)],["focus",a.proxy(this.itemFocus,this)],["blur",a.proxy(this.itemBlur,this)],["click",a.proxy(this.itemClick,this)]],r));r+=this.rootId;if(this.opts.hideOnClick){a(document).bind(i([["touchstart",a.proxy(this.docTouchStart,this)],["touchmove",a.proxy(this.docTouchMove,this)],["touchend",a.proxy(this.docTouchEnd,this)],["click",a.proxy(this.docClick,this)]],r))}a(window).bind(i([["resize orientationchange",a.proxy(this.winResize,this)]],r));if(this.opts.subIndicators){this.$subArrow=a("<span/>").addClass("sub-arrow");if(this.opts.subIndicatorsText){this.$subArrow.html(this.opts.subIndicatorsText)}}k()}this.$firstSub=this.$root.find("ul").each(function(){l.menuInit(a(this))}).eq(0);this.$firstLink=this.$root.find("a").eq(0);if(this.opts.markCurrentItem){var p=/(index|default)\.[^#\?\/]*/i,m=/#.*/,q=window.location.href.replace(p,""),o=q.replace(m,"");this.$root.find("a").each(function(){var s=this.href.replace(p,""),t=a(this);if(s==q||s==o){t.addClass("current");if(l.opts.markCurrentTree){t.parentsUntil("[data-smartmenus-id]","ul").each(function(){a(this).dataSM("parent-a").addClass("current")})}}})}this.wasCollapsible=this.isCollapsible()},destroy:function(m){if(!m){var n=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").unbind(n).undelegate(n);n+=this.rootId;a(document).unbind(n);a(window).unbind(n);if(this.opts.subIndicators){this.$subArrow=null}}this.menuHideAll();var l=this;this.$root.find("ul").each(function(){var o=a(this);if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}if(o.dataSM("shown-before")){if(l.opts.subMenusMinWidth||l.opts.subMenusMaxWidth){o.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap")}if(o.dataSM("scroll-arrows")){o.dataSM("scroll-arrows").remove()}o.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})}if((o.attr("id")||"").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("ie-shim").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded");this.$root.find("a.has-submenu").each(function(){var o=a(this);if(o.attr("id").indexOf(l.accessIdPrefix)==0){o.removeAttr("id")}}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub");if(this.opts.subIndicators){this.$root.find("span.sub-arrow").remove()}if(this.opts.markCurrentItem){this.$root.find("a.current").removeClass("current")}if(!m){this.$root=null;this.$firstLink=null;this.$firstSub=null;if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}b.splice(a.inArray(this,b),1)}},disable:function(l){if(!this.disabled){this.menuHideAll();if(!l&&!this.opts.isPopup&&this.$root.is(":visible")){var m=this.$root.offset();this.$disableOverlay=a('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:m.top,left:m.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(true),opacity:0}).appendTo(document.body)}this.disabled=true}},docClick:function(l){if(this.$touchScrollingSub){this.$touchScrollingSub=null;return}if(this.visibleSubMenus.length&&!a.contains(this.$root[0],l.target)||a(l.target).is("a")){this.menuHideAll()}},docTouchEnd:function(m){if(!this.lastTouch){return}if(this.visibleSubMenus.length&&(this.lastTouch.x2===undefined||this.lastTouch.x1==this.lastTouch.x2)&&(this.lastTouch.y2===undefined||this.lastTouch.y1==this.lastTouch.y2)&&(!this.lastTouch.target||!a.contains(this.$root[0],this.lastTouch.target))){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},350)}this.lastTouch=null},docTouchMove:function(m){if(!this.lastTouch){return}var l=m.originalEvent.touches[0];this.lastTouch.x2=l.pageX;this.lastTouch.y2=l.pageY},docTouchStart:function(m){var l=m.originalEvent.touches[0];this.lastTouch={x1:l.pageX,y1:l.pageY,target:l.target}},enable:function(){if(this.disabled){if(this.$disableOverlay){this.$disableOverlay.remove();this.$disableOverlay=null}this.disabled=false}},getClosestMenu:function(m){var l=a(m).closest("ul");while(l.dataSM("in-mega")){l=l.parent().closest("ul")}return l[0]||null},getHeight:function(l){return this.getOffset(l,true)},getOffset:function(n,l){var m;if(n.css("display")=="none"){m={position:n[0].style.position,visibility:n[0].style.visibility};n.css({position:"absolute",visibility:"hidden"}).show()}var o=n[0].getBoundingClientRect&&n[0].getBoundingClientRect(),p=o&&(l?o.height||o.bottom-o.top:o.width||o.right-o.left);if(!p&&p!==0){p=l?n[0].offsetHeight:n[0].offsetWidth}if(m){n.hide().css(m)}return p},getStartZIndex:function(l){var m=parseInt(this[l?"$root":"$firstSub"].css("z-index"));if(!l&&isNaN(m)){m=parseInt(this.$root.css("z-index"))}return !isNaN(m)?m:1},getTouchPoint:function(l){return l.touches&&l.touches[0]||l.changedTouches&&l.changedTouches[0]||l},getViewport:function(l){var m=l?"Height":"Width",o=document.documentElement["client"+m],n=window["inner"+m];if(n){o=Math.min(o,n)}return o},getViewportHeight:function(){return this.getViewport(true)},getViewportWidth:function(){return this.getViewport()},getWidth:function(l){return this.getOffset(l)},handleEvents:function(){return !this.disabled&&this.isCSSOn()},handleItemEvents:function(l){return this.handleEvents()&&!this.isLinkInMegaMenu(l)},isCollapsible:function(){return this.$firstSub.css("position")=="static"},isCSSOn:function(){return this.$firstLink.css("display")=="block"},isFixed:function(){var l=this.$root.css("position")=="fixed";if(!l){this.$root.parentsUntil("body").each(function(){if(a(this).css("position")=="fixed"){l=true;return false}})}return l},isLinkInMegaMenu:function(l){return a(this.getClosestMenu(l[0])).hasClass("mega-menu")},isTouchMode:function(){return !f||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(p,l){var n=p.closest("ul"),q=n.dataSM("level");if(q>1&&(!this.activatedItems[q-2]||this.activatedItems[q-2][0]!=n.dataSM("parent-a")[0])){var m=this;a(n.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(n).each(function(){m.itemActivate(a(this).dataSM("parent-a"))})}if(!this.isCollapsible()||l){this.menuHideSubMenus(!this.activatedItems[q-1]||this.activatedItems[q-1][0]!=p[0]?q-1:q)}this.activatedItems[q-1]=p;if(this.$root.triggerHandler("activate.smapi",p[0])===false){return}var o=p.dataSM("sub");if(o&&(this.isTouchMode()||(!this.opts.showOnClick||this.clickActivated))){this.menuShow(o)}},itemBlur:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}this.$root.triggerHandler("blur.smapi",l[0])},itemClick:function(o){var n=a(o.currentTarget);if(!this.handleItemEvents(n)){return}if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==n.closest("ul")[0]){this.$touchScrollingSub=null;o.stopPropagation();return false}if(this.$root.triggerHandler("click.smapi",n[0])===false){return false}var p=a(o.target).is("span.sub-arrow"),m=n.dataSM("sub"),l=m?m.dataSM("level")==2:false;if(m&&!m.is(":visible")){if(this.opts.showOnClick&&l){this.clickActivated=true}this.itemActivate(n);if(m.is(":visible")){this.focusActivated=true;return false}}else{if(this.isCollapsible()&&p){this.itemActivate(n);this.menuHide(m);return false}}if(this.opts.showOnClick&&l||n.hasClass("disabled")||this.$root.triggerHandler("select.smapi",n[0])===false){return false}},itemDown:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}l.dataSM("mousedown",true)},itemEnter:function(n){var m=a(n.currentTarget);if(!this.handleItemEvents(m)){return}if(!this.isTouchMode()){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var l=this;this.showTimeout=setTimeout(function(){l.itemActivate(m)},this.opts.showOnClick&&m.closest("ul").dataSM("level")==1?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",m[0])},itemFocus:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(this.focusActivated&&(!this.isTouchMode()||!l.dataSM("mousedown"))&&(!this.activatedItems.length||this.activatedItems[this.activatedItems.length-1][0]!=l[0])){this.itemActivate(l,true)}this.$root.triggerHandler("focus.smapi",l[0])},itemLeave:function(m){var l=a(m.currentTarget);if(!this.handleItemEvents(l)){return}if(!this.isTouchMode()){l[0].blur();if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}}l.removeDataSM("mousedown");this.$root.triggerHandler("mouseleave.smapi",l[0])},menuHide:function(m){if(this.$root.triggerHandler("beforehide.smapi",m[0])===false){return}m.stop(true,true);if(m.css("display")!="none"){var l=function(){m.css("z-index","")};if(this.isCollapsible()){if(this.opts.collapsibleHideFunction){this.opts.collapsibleHideFunction.call(this,m,l)}else{m.hide(this.opts.collapsibleHideDuration,l)}}else{if(this.opts.hideFunction){this.opts.hideFunction.call(this,m,l)}else{m.hide(this.opts.hideDuration,l)}}if(m.dataSM("ie-shim")){m.dataSM("ie-shim").remove().css({"-webkit-transform":"",transform:""})}if(m.dataSM("scroll")){this.menuScrollStop(m);m.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).unbind(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()}m.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false");m.attr({"aria-expanded":"false","aria-hidden":"true"});var n=m.dataSM("level");this.activatedItems.splice(n-1,1);this.visibleSubMenus.splice(a.inArray(m,this.visibleSubMenus),1);this.$root.triggerHandler("hide.smapi",m[0])}},menuHideAll:function(){if(this.showTimeout){clearTimeout(this.showTimeout);this.showTimeout=0}var m=this.opts.isPopup?1:0;for(var l=this.visibleSubMenus.length-1;l>=m;l--){this.menuHide(this.visibleSubMenus[l])}if(this.opts.isPopup){this.$root.stop(true,true);if(this.$root.is(":visible")){if(this.opts.hideFunction){this.opts.hideFunction.call(this,this.$root)}else{this.$root.hide(this.opts.hideDuration)}if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").remove()}}}this.activatedItems=[];this.visibleSubMenus=[];this.clickActivated=false;this.focusActivated=false;this.zIndexInc=0;this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(n){for(var l=this.activatedItems.length-1;l>=n;l--){var m=this.activatedItems[l].dataSM("sub");if(m){this.menuHide(m)}}},menuIframeShim:function(l){if(e&&this.opts.overlapControlsInIE&&!l.dataSM("ie-shim")){l.dataSM("ie-shim",a("<iframe/>").attr({src:"javascript:0",tabindex:-9}).css({position:"absolute",top:"auto",left:"0",opacity:0,border:"0"}))}},menuInit:function(l){if(!l.dataSM("in-mega")){if(l.hasClass("mega-menu")){l.find("ul").dataSM("in-mega",true)}var q=2,m=l[0];while((m=m.parentNode.parentNode)!=this.$root[0]){q++}var n=l.prevAll("a").eq(-1);if(!n.length){n=l.prevAll().find("a").eq(-1)}n.addClass("has-submenu").dataSM("sub",l);l.dataSM("parent-a",n).dataSM("level",q).parent().dataSM("sub",l);var o=n.attr("id")||this.accessIdPrefix+(++this.idInc),p=l.attr("id")||this.accessIdPrefix+(++this.idInc);n.attr({id:o,"aria-haspopup":"true","aria-controls":p,"aria-expanded":"false"});l.attr({id:p,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"});if(this.opts.subIndicators){n[this.opts.subIndicatorsPos](this.$subArrow.clone())}}},menuPosition:function(K){var r=K.dataSM("parent-a"),D=r.closest("li"),E=D.parent(),l=K.dataSM("level"),t=this.getWidth(K),J=this.getHeight(K),u=r.offset(),o=u.left,m=u.top,q=this.getWidth(r),F=this.getHeight(r),H=a(window),v=H.scrollLeft(),s=H.scrollTop(),z=this.getViewportWidth(),L=this.getViewportHeight(),w=E.parent().is("[data-sm-horizontal-sub]")||l==2&&!E.hasClass("sm-vertical"),B=this.opts.rightToLeftSubMenus&&!D.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&D.is("[data-sm-reverse]"),p=l==2?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,n=l==2?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY,C,A;if(w){C=B?q-t-p:p;A=this.opts.bottomToTopSubMenus?-J-n:F+n}else{C=B?p-t:q-p;A=this.opts.bottomToTopSubMenus?F-n-J:n}if(this.opts.keepInViewport){var N=o+C,M=m+A;if(B&&N<v){C=w?v-N+C:q-p}else{if(!B&&N+t>v+z){C=w?v+z-t-N+C:p-t}}if(!w){if(J<L&&M+J>s+L){A+=s+L-J-M}else{if(J>=L||M<s){A+=s-M}}}if(w&&(M+J>s+L+0.49||M<s)||!w&&J>L+0.49){var G=this;if(!K.dataSM("scroll-arrows")){K.dataSM("scroll-arrows",a([a('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],a('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).bind({mouseenter:function(){K.dataSM("scroll").up=a(this).hasClass("scroll-up");G.menuScroll(K)},mouseleave:function(x){G.menuScrollStop(K);G.menuScrollOut(K,x)},"mousewheel DOMMouseScroll":function(x){x.preventDefault()}}).insertAfter(K))}var I=".smartmenus_scroll";K.dataSM("scroll",{y:this.cssTransforms3d?0:A-F,step:1,itemH:F,subH:J,arrowDownH:this.getHeight(K.dataSM("scroll-arrows").eq(1))}).bind(i([["mouseover",function(x){G.menuScrollOver(K,x)}],["mouseout",function(x){G.menuScrollOut(K,x)}],["mousewheel DOMMouseScroll",function(x){G.menuScrollMousewheel(K,x)}]],I)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:C+(parseInt(K.css("border-left-width"))||0),width:t-(parseInt(K.css("border-left-width"))||0)-(parseInt(K.css("border-right-width"))||0),zIndex:K.css("z-index")}).eq(w&&this.opts.bottomToTopSubMenus?0:1).show();if(this.isFixed()){K.css({"touch-action":"none","-ms-touch-action":"none"}).bind(i([[d?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp",function(x){G.menuScrollTouch(K,x)}]],I))}}}K.css({top:"auto",left:"0",marginLeft:C,marginTop:A-F});this.menuIframeShim(K);if(K.dataSM("ie-shim")){K.dataSM("ie-shim").css({zIndex:K.css("z-index"),width:t,height:J,marginLeft:C,marginTop:A-F})}},menuScroll:function(r,m,n){var p=r.dataSM("scroll"),q=r.dataSM("scroll-arrows"),o=p.up?p.upEnd:p.downEnd,s;if(!m&&p.momentum){p.momentum*=0.92;s=p.momentum;if(s<0.5){this.menuScrollStop(r);return}}else{s=n||(m||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(p.step))}var l=r.dataSM("level");if(this.activatedItems[l-1]&&this.activatedItems[l-1].dataSM("sub")&&this.activatedItems[l-1].dataSM("sub").is(":visible")){this.menuHideSubMenus(l-1)}p.y=p.up&&o<=p.y||!p.up&&o>=p.y?p.y:(Math.abs(o-p.y)>s?p.y+(p.up?s:-s):o);r.add(r.dataSM("ie-shim")).css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+p.y+"px, 0)",transform:"translate3d(0, "+p.y+"px, 0)"}:{marginTop:p.y});if(f&&(p.up&&p.y>p.downEnd||!p.up&&p.y<p.upEnd)){q.eq(p.up?1:0).show()}if(p.y==o){if(f){q.eq(p.up?0:1).hide()}this.menuScrollStop(r)}else{if(!m){if(this.opts.scrollAccelerate&&p.step<this.opts.scrollStep){p.step+=0.2}var t=this;this.scrollTimeout=g(function(){t.menuScroll(r)})}}},menuScrollMousewheel:function(m,n){if(this.getClosestMenu(n.target)==m[0]){n=n.originalEvent;var l=(n.wheelDelta||-n.detail)>0;if(m.dataSM("scroll-arrows").eq(l?0:1).is(":visible")){m.dataSM("scroll").up=l;this.menuScroll(m,true)}}n.preventDefault()},menuScrollOut:function(l,m){if(f){if(!/^scroll-(up|down)/.test((m.relatedTarget||"").className)&&(l[0]!=m.relatedTarget&&!a.contains(l[0],m.relatedTarget)||this.getClosestMenu(m.relatedTarget)!=l[0])){l.dataSM("scroll-arrows").css("visibility","hidden")}}},menuScrollOver:function(n,o){if(f){if(!/^scroll-(up|down)/.test(o.target.className)&&this.getClosestMenu(o.target)==n[0]){this.menuScrollRefreshData(n);var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;n.dataSM("scroll-arrows").eq(0).css("margin-top",l).end().eq(1).css("margin-top",l+this.getViewportHeight()-m.arrowDownH).end().css("visibility","visible")}}},menuScrollRefreshData:function(n){var m=n.dataSM("scroll"),l=a(window).scrollTop()-n.dataSM("parent-a").offset().top-m.itemH;if(this.cssTransforms3d){l=-(parseFloat(n.css("margin-top"))-l)}a.extend(m,{upEnd:l,downEnd:l+this.getViewportHeight()-m.subH})},menuScrollStop:function(l){if(this.scrollTimeout){c(this.scrollTimeout);this.scrollTimeout=0;l.dataSM("scroll").step=1;return true}},menuScrollTouch:function(p,q){q=q.originalEvent;if(j(q)){var m=this.getTouchPoint(q);if(this.getClosestMenu(m.target)==p[0]){var o=p.dataSM("scroll");if(/(start|down)$/i.test(q.type)){if(this.menuScrollStop(p)){q.preventDefault();this.$touchScrollingSub=p}else{this.$touchScrollingSub=null}this.menuScrollRefreshData(p);a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}else{if(/move$/i.test(q.type)){var n=o.touchY!==undefined?o.touchY:o.touchStartY;if(n!==undefined&&n!=m.pageY){this.$touchScrollingSub=p;var l=n<m.pageY;if(o.up!==undefined&&o.up!=l){a.extend(o,{touchStartY:m.pageY,touchStartTime:q.timeStamp})}a.extend(o,{up:l,touchY:m.pageY});this.menuScroll(p,true,Math.abs(m.pageY-n))}q.preventDefault()}else{if(o.touchY!==undefined){if(o.momentum=Math.pow(Math.abs(m.pageY-o.touchStartY)/(q.timeStamp-o.touchStartTime),2)*15){this.menuScrollStop(p);this.menuScroll(p);q.preventDefault()}delete o.touchY}}}}}},menuShow:function(n){if(!n.dataSM("beforefirstshowfired")){n.dataSM("beforefirstshowfired",true);if(this.$root.triggerHandler("beforefirstshow.smapi",n[0])===false){return}}if(this.$root.triggerHandler("beforeshow.smapi",n[0])===false){return}n.dataSM("shown-before",true).stop(true,true);if(!n.is(":visible")){var m=n.dataSM("parent-a");if(this.opts.keepHighlighted||this.isCollapsible()){m.addClass("highlighted")}if(this.isCollapsible()){n.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""})}else{n.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1);if(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth){n.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap");if(this.opts.subMenusMinWidth){n.css("min-width",this.opts.subMenusMinWidth)}if(this.opts.subMenusMaxWidth){var o=this.getWidth(n);n.css("max-width",this.opts.subMenusMaxWidth);if(o>this.getWidth(n)){n.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}}}this.menuPosition(n);if(n.dataSM("ie-shim")){n.dataSM("ie-shim").insertBefore(n)}}var l=function(){n.css("overflow","")};if(this.isCollapsible()){if(this.opts.collapsibleShowFunction){this.opts.collapsibleShowFunction.call(this,n,l)}else{n.show(this.opts.collapsibleShowDuration,l)}}else{if(this.opts.showFunction){this.opts.showFunction.call(this,n,l)}else{n.show(this.opts.showDuration,l)}}m.attr("aria-expanded","true");n.attr({"aria-expanded":"true","aria-hidden":"false"});this.visibleSubMenus.push(n);this.$root.triggerHandler("show.smapi",n[0])}},popupHide:function(l){if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}var m=this;this.hideTimeout=setTimeout(function(){m.menuHideAll()},l?1:this.opts.hideTimeout)},popupShow:function(o,n){if(!this.opts.isPopup){alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.');return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}this.$root.dataSM("shown-before",true).stop(true,true);if(!this.$root.is(":visible")){this.$root.css({left:o,top:n});this.menuIframeShim(this.$root);if(this.$root.dataSM("ie-shim")){this.$root.dataSM("ie-shim").css({zIndex:this.$root.css("z-index"),width:this.getWidth(this.$root),height:this.getHeight(this.$root),left:o,top:n}).insertBefore(this.$root)}var m=this,l=function(){m.$root.css("overflow","")};if(this.opts.showFunction){this.opts.showFunction.call(this,this.$root,l)}else{this.$root.show(this.opts.showDuration,l)}this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(true);this.init(true)},rootKeyDown:function(o){if(!this.handleEvents()){return}switch(o.keyCode){case 27:var m=this.activatedItems[0];if(m){this.menuHideAll();m[0].focus();var n=m.dataSM("sub");if(n){this.menuHide(n)}}break;case 32:var l=a(o.target);if(l.is("a")&&this.handleItemEvents(l)){var n=l.dataSM("sub");if(n&&!n.is(":visible")){this.itemClick({currentTarget:o.target});o.preventDefault()}}break}},rootOut:function(m){if(!this.handleEvents()||this.isTouchMode()||m.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}if(!this.opts.showOnClick||!this.opts.hideOnClick){var l=this;this.hideTimeout=setTimeout(function(){l.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(l){if(!this.handleEvents()||this.isTouchMode()||l.target==this.$root[0]){return}if(this.hideTimeout){clearTimeout(this.hideTimeout);this.hideTimeout=0}},winResize:function(m){if(!this.handleEvents()){if(this.$disableOverlay){var n=this.$root.offset();this.$disableOverlay.css({top:n.top,left:n.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}return}if(!("onorientationchange" in window)||m.type=="orientationchange"){var l=this.isCollapsible();if(!(this.wasCollapsible&&l)){if(this.activatedItems.length){this.activatedItems[this.activatedItems.length-1][0].blur()}this.menuHideAll()}this.wasCollapsible=l}}}});a.fn.dataSM=function(l,m){if(m){return this.data(l+"_smartmenus",m)}return this.data(l+"_smartmenus")};a.fn.removeDataSM=function(l){return this.removeData(l+"_smartmenus")};a.fn.smartmenus=function(m){if(typeof m=="string"){var l=arguments,o=m;Array.prototype.shift.call(l);return this.each(function(){var p=a(this).data("smartmenus");if(p&&p[o]){p[o].apply(p,l)}})}var n=a.extend({},a.fn.smartmenus.defaults,m);return this.each(function(){new a.SmartMenus(this,n)})};a.fn.smartmenus.defaults={isPopup:false,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:true,subIndicatorsPos:"prepend",subIndicatorsText:"+",scrollStep:30,scrollAccelerate:true,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(m,l){m.fadeOut(200,l)},collapsibleShowDuration:0,collapsibleShowFunction:function(m,l){m.slideDown(200,l)},collapsibleHideDuration:0,collapsibleHideFunction:function(m,l){m.slideUp(200,l)},showOnClick:false,hideOnClick:true,noMouseOver:false,keepInViewport:true,keepHighlighted:true,markCurrentItem:false,markCurrentTree:true,rightToLeftSubMenus:false,bottomToTopSubMenus:false,overlapControlsInIE:true};return a}));
\ No newline at end of file diff --git a/doc/doxyout/krb5/html/krb5_ccache_intro.html b/doc/doxyout/krb5/html/krb5_ccache_intro.html index d89b0e0960c2..92f850c3f5ad 100644 --- a/doc/doxyout/krb5/html/krb5_ccache_intro.html +++ b/doc/doxyout/krb5/html/krb5_ccache_intro.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: The credential cache functions</title> +<title>The credential cache functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,67 +8,36 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">The credential cache functions </div> </div> +</div><!--header--> <div class="contents"> -<h1><a class="anchor" name="krb5_ccache_intro">The credential cache functions </a></h1><h2><a class="anchor" name="section_krb5_ccache"> -Kerberos credential caches</a></h2> -krb5_ccache structure holds a Kerberos credential cache.<p> -Heimdal support the follow types of credential caches:<p> +<div class="textblock"><h1><a class="anchor" id="section_krb5_ccache"></a> +Kerberos credential caches</h1> +<p>krb5_ccache structure holds a Kerberos credential cache.</p> +<p>Heimdal support the follow types of credential caches:</p> <ul> -<li>SCC Store the credential in a database</li><li>FILE Store the credential in memory</li><li>MEMORY Store the credential in memory</li><li>API A credential cache server based solution for Mac OS X</li><li>KCM A credential cache server based solution for all platforms</li></ul> -<h3><a class="anchor" name="Example"> -Example</a></h3> -This is a minimalistic version of klist: <div class="fragment"><pre class="fragment"><span class="preprocessor">#include <krb5.h></span> - -<span class="keywordtype">int</span> -main (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) -{ - krb5_context context; - krb5_cc_cursor cursor; - krb5_error_code ret; - krb5_ccache id; - krb5_creds creds; - - <span class="keywordflow">if</span> (<a class="code" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context</a> (&context) != 0) - errx(1, <span class="stringliteral">"krb5_context"</span>); - - ret = <a class="code" href="group__krb5__ccache.html#gd7d54822ef022f3e27f7f0f457d9c751">krb5_cc_default</a> (context, &<span class="keywordtype">id</span>); - <span class="keywordflow">if</span> (ret) - krb5_err(context, 1, ret, <span class="stringliteral">"krb5_cc_default"</span>); - - ret = <a class="code" href="group__krb5__ccache.html#gcbf766cea6b49dd64b76628c7708b979">krb5_cc_start_seq_get</a>(context, <span class="keywordtype">id</span>, &cursor); - <span class="keywordflow">if</span> (ret) - krb5_err(context, 1, ret, <span class="stringliteral">"krb5_cc_start_seq_get"</span>); - - <span class="keywordflow">while</span>((ret = <a class="code" href="group__krb5__ccache.html#gd9cd0ebcc7bdf3ca2b0ed166ea2f8df6">krb5_cc_next_cred</a>(context, <span class="keywordtype">id</span>, &cursor, &creds)) == 0){ - <span class="keywordtype">char</span> *principal; - - <a class="code" href="group__krb5__principal.html#gac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a>(context, creds.server, &principal); - printf(<span class="stringliteral">"principal: %s\\n"</span>, principal); - free(principal); - <a class="code" href="group__krb5.html#gd89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents</a> (context, &creds); - } - ret = <a class="code" href="group__krb5__ccache.html#g024ce036ebf277f918354d4681bd0550">krb5_cc_end_seq_get</a>(context, <span class="keywordtype">id</span>, &cursor); - <span class="keywordflow">if</span> (ret) - krb5_err(context, 1, ret, <span class="stringliteral">"krb5_cc_end_seq_get"</span>); - - <a class="code" href="group__krb5__ccache.html#gebc0dd2a77529c05fb49e27235da7017">krb5_cc_close</a>(context, <span class="keywordtype">id</span>); - - <a class="code" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context</a>(context); - <span class="keywordflow">return</span> 0; -} -</pre></div> </div> +<li>SCC Store the credential in a database</li> +<li>FILE Store the credential in memory</li> +<li>MEMORY Store the credential in memory</li> +<li>API A credential cache server based solution for Mac OS X</li> +<li>KCM A credential cache server based solution for all platforms</li> +</ul> +<h2><a class="anchor" id="Example"></a> +Example</h2> +<p>This is a minimalistic version of klist: </p><div class="fragment"><div class="line"><span class="preprocessor">#include <krb5.h></span></div><div class="line"></div><div class="line"><span class="keywordtype">int</span></div><div class="line">main (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div><div class="line">{</div><div class="line"> krb5_context context;</div><div class="line"> krb5_cc_cursor cursor;</div><div class="line"> krb5_error_code ret;</div><div class="line"> krb5_ccache id;</div><div class="line"> krb5_creds creds;</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context</a> (&context) != 0)</div><div class="line"> errx(1, <span class="stringliteral">"krb5_context"</span>);</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__krb5__ccache.html#gad7d54822ef022f3e27f7f0f457d9c751">krb5_cc_default</a> (context, &<span class="keywordtype">id</span>);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">"krb5_cc_default"</span>);</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__krb5__ccache.html#gacbf766cea6b49dd64b76628c7708b979">krb5_cc_start_seq_get</a>(context, <span class="keywordtype">id</span>, &cursor);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">"krb5_cc_start_seq_get"</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">while</span>((ret = <a class="code" href="group__krb5__ccache.html#gad9cd0ebcc7bdf3ca2b0ed166ea2f8df6">krb5_cc_next_cred</a>(context, <span class="keywordtype">id</span>, &cursor, &creds)) == 0){</div><div class="line"> <span class="keywordtype">char</span> *principal;</div><div class="line"></div><div class="line"> <a class="code" href="group__krb5__principal.html#gaac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a>(context, creds.server, &principal);</div><div class="line"> printf(<span class="stringliteral">"principal: %s\\n"</span>, principal);</div><div class="line"> free(principal);</div><div class="line"> <a class="code" href="group__krb5.html#gad89c4c7b633646c39e4a34a7230c94e1">krb5_free_cred_contents</a> (context, &creds);</div><div class="line"> }</div><div class="line"> ret = <a class="code" href="group__krb5__ccache.html#ga024ce036ebf277f918354d4681bd0550">krb5_cc_end_seq_get</a>(context, <span class="keywordtype">id</span>, &cursor);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">"krb5_cc_end_seq_get"</span>);</div><div class="line"></div><div class="line"> <a class="code" href="group__krb5__ccache.html#gaebc0dd2a77529c05fb49e27235da7017">krb5_cc_close</a>(context, <span class="keywordtype">id</span>);</div><div class="line"></div><div class="line"> <a class="code" href="group__krb5.html#gae51d83f5d5f589883f1cd10887892777">krb5_free_context</a>(context);</div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div></div><!-- fragment --> </div></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/krb5_fileformats.html b/doc/doxyout/krb5/html/krb5_fileformats.html index 04482fc79d42..8438a9235529 100644 --- a/doc/doxyout/krb5/html/krb5_fileformats.html +++ b/doc/doxyout/krb5/html/krb5_fileformats.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: File formats</title> +<title>File formats</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,147 +8,92 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">File formats </div> </div> +</div><!--header--> <div class="contents"> -<h1><a class="anchor" name="krb5_fileformats">File formats </a></h1><h2><a class="anchor" name="fileformats"> -File formats</a></h2> -This section documents the diffrent file formats that are used in Heimdal and other Kerberos implementations.<h3><a class="anchor" name="file_keytab"> -keytab</a></h3> -The keytab binary format is not a standard format. The format has evolved and may continue to. It is however understood by several Kerberos implementations including Heimdal, MIT, Sun's Java ktab and are created by the ktpass.exe utility from Windows. So it has established itself as the defacto format for storing Kerberos keys.<p> -The following C-like structure definitions illustrate the MIT keytab file format. All values are in network byte order. All text is ASCII.<p> -<div class="fragment"><pre class="fragment"> keytab { - uint16_t file_format_version; # 0x502 - keytab_entry entries[*]; - }; - - keytab_entry { - int32_t size; - uint16_t num_components; # subtract 1 <span class="keywordflow">if</span> version 0x501 - counted_octet_string realm; - counted_octet_string components[num_components]; - uint32_t name_type; # not present <span class="keywordflow">if</span> version 0x501 - uint32_t timestamp; - uint8_t vno8; - keyblock key; - uint32_t vno; #only present <span class="keywordflow">if</span> >= 4 bytes left in entry - uint32_t flags; #only present <span class="keywordflow">if</span> >= 4 bytes left in entry - }; - - counted_octet_string { - uint16_t length; - uint8_t data[length]; - }; - - keyblock { - uint16_t type; - counted_octet_string; - }; -</pre></div><p> -All numbers are stored in network byteorder (big endian) format.<p> -The keytab file format begins with the 16 bit file_format_version which at the time this document was authored is 0x502. The format of older keytabs is described at the end of this document.<p> -The file_format_version is immediately followed by an array of keytab_entry structures which are prefixed with a 32 bit size indicating the number of bytes that follow in the entry. Note that the size should be evaluated as signed. This is because a negative value indicates that the entry is in fact empty (e.g. it has been deleted) and that the negative value of that negative value (which is of course a positive value) is the offset to the next keytab_entry. Based on these size values alone the entire keytab file can be traversed.<p> -The size is followed by a 16 bit num_components field indicating the number of counted_octet_string components in the components array.<p> -The num_components field is followed by a counted_octet_string representing the realm of the principal.<p> -A counted_octet_string is simply an array of bytes prefixed with a 16 bit length. For the realm and name components, the counted_octet_string bytes are ASCII encoded text with no zero terminator.<p> -Following the realm is the components array that represents the name of the principal. The text of these components may be joined with slashs to construct the typical SPN representation. For example, the service principal HTTP/www.foo.net@FOO.NET would consist of name components "HTTP" followed by "www.foo.net".<p> -Following the components array is the 32 bit name_type (e.g. 1 is KRB5_NT_PRINCIPAL, 2 is KRB5_NT_SRV_INST, 5 is KRB5_NT_UID, etc). In practice the name_type is almost certainly 1 meaning KRB5_NT_PRINCIPAL.<p> -The 32 bit timestamp indicates the time the key was established for that principal. The value represents the number of seconds since Jan 1, 1970.<p> -The 8 bit vno8 field is the version number of the key. This value is overridden by the 32 bit vno field if it is present. The vno8 field is filled with the lower 8 bits of the 32 bit protocol kvno field.<p> -The keyblock structure consists of a 16 bit value indicating the encryption type and is a counted_octet_string containing the key. The encryption type is the same as the Kerberos standard (e.g. 3 is des-cbc-md5, 23 is arcfour-hmac-md5, etc).<p> -The last field of the keytab_entry structure is optional. If the size of the keytab_entry indicates that there are at least 4 bytes remaining, a 32 bit value representing the key version number is present. This value supersedes the 8 bit vno8 value preceeding the keyblock.<p> -Older keytabs with a file_format_version of 0x501 are different in three ways:<p> +<div class="textblock"><h1><a class="anchor" id="fileformats"></a> +File formats</h1> +<p>This section documents the diffrent file formats that are used in Heimdal and other Kerberos implementations.</p> +<h2><a class="anchor" id="file_keytab"></a> +keytab</h2> +<p>The keytab binary format is not a standard format. The format has evolved and may continue to. It is however understood by several Kerberos implementations including Heimdal, MIT, Sun's Java ktab and are created by the ktpass.exe utility from Windows. So it has established itself as the defacto format for storing Kerberos keys.</p> +<p>The following C-like structure definitions illustrate the MIT keytab file format. All values are in network byte order. All text is ASCII.</p> +<div class="fragment"><div class="line">keytab {</div><div class="line"> uint16_t file_format_version; # 0x502</div><div class="line"> keytab_entry entries[*];</div><div class="line">};</div><div class="line"></div><div class="line">keytab_entry {</div><div class="line"> int32_t size;</div><div class="line"> uint16_t num_components; # subtract 1 <span class="keywordflow">if</span> version 0x501</div><div class="line"> counted_octet_string realm;</div><div class="line"> counted_octet_string components[num_components];</div><div class="line"> uint32_t name_type; # not present <span class="keywordflow">if</span> version 0x501</div><div class="line"> uint32_t timestamp;</div><div class="line"> uint8_t vno8;</div><div class="line"> keyblock key;</div><div class="line"> uint32_t vno; #only present <span class="keywordflow">if</span> >= 4 bytes left in entry</div><div class="line"> uint32_t flags; #only present <span class="keywordflow">if</span> >= 4 bytes left in entry</div><div class="line">};</div><div class="line"></div><div class="line">counted_octet_string {</div><div class="line"> uint16_t length;</div><div class="line"> uint8_t data[length];</div><div class="line">};</div><div class="line"></div><div class="line">keyblock {</div><div class="line"> uint16_t type;</div><div class="line"> counted_octet_string;</div><div class="line">};</div></div><!-- fragment --><p>All numbers are stored in network byteorder (big endian) format.</p> +<p>The keytab file format begins with the 16 bit file_format_version which at the time this document was authored is 0x502. The format of older keytabs is described at the end of this document.</p> +<p>The file_format_version is immediately followed by an array of keytab_entry structures which are prefixed with a 32 bit size indicating the number of bytes that follow in the entry. Note that the size should be evaluated as signed. This is because a negative value indicates that the entry is in fact empty (e.g. it has been deleted) and that the negative value of that negative value (which is of course a positive value) is the offset to the next keytab_entry. Based on these size values alone the entire keytab file can be traversed.</p> +<p>The size is followed by a 16 bit num_components field indicating the number of counted_octet_string components in the components array.</p> +<p>The num_components field is followed by a counted_octet_string representing the realm of the principal.</p> +<p>A counted_octet_string is simply an array of bytes prefixed with a 16 bit length. For the realm and name components, the counted_octet_string bytes are ASCII encoded text with no zero terminator.</p> +<p>Following the realm is the components array that represents the name of the principal. The text of these components may be joined with slashs to construct the typical SPN representation. For example, the service principal HTTP/www.foo.net@FOO.NET would consist of name components "HTTP" followed by "www.foo.net".</p> +<p>Following the components array is the 32 bit name_type (e.g. 1 is KRB5_NT_PRINCIPAL, 2 is KRB5_NT_SRV_INST, 5 is KRB5_NT_UID, etc). In practice the name_type is almost certainly 1 meaning KRB5_NT_PRINCIPAL.</p> +<p>The 32 bit timestamp indicates the time the key was established for that principal. The value represents the number of seconds since Jan 1, 1970.</p> +<p>The 8 bit vno8 field is the version number of the key. This value is overridden by the 32 bit vno field if it is present. The vno8 field is filled with the lower 8 bits of the 32 bit protocol kvno field.</p> +<p>The keyblock structure consists of a 16 bit value indicating the encryption type and is a counted_octet_string containing the key. The encryption type is the same as the Kerberos standard (e.g. 3 is des-cbc-md5, 23 is arcfour-hmac-md5, etc).</p> +<p>The last field of the keytab_entry structure is optional. If the size of the keytab_entry indicates that there are at least 4 bytes remaining, a 32 bit value representing the key version number is present. This value supersedes the 8 bit vno8 value preceeding the keyblock.</p> +<p>Older keytabs with a file_format_version of 0x501 are different in three ways:</p> <ul> -<li>All integers are in host byte order [1].</li><li>The num_components field is 1 too large (i.e. after decoding, decrement by 1).</li><li>The 32 bit name_type field is not present.</li></ul> -<p> -[1] The file_format_version field should really be treated as two separate 8 bit quantities representing the major and minor version number respectively.<h3><a class="anchor" name="file_hdb_dump"> -Heimdal database dump file</a></h3> -Format of the Heimdal text dump file as of Heimdal 0.6.3:<p> -Each line in the dump file is one entry in the database.<p> -Each field of a line is separated by one or more spaces, with the exception of fields consisting of principals containing spaces, where space can be quoted with \ and \ is quoted by \.<p> -Fields and their types are:<p> -<div class="fragment"><pre class="fragment"> Quoted princial (quote character is \) [string] - Keys [keys] - Created by [event] - Modified by [<span class="keyword">event</span> optional] - Valid start time [time optional] - Valid end time [time optional] - Password end valid time [time optional] - Max lifetime of ticket [time optional] - Max renew time of ticket [integer optional] - Flags [hdb flags] - Generation number [generation optional] - Extensions [extentions optional] -</pre></div><p> -Fields following these silently are ignored.<p> -All optional fields will be skipped if they fail to parse (or comprise the optional field marker of "-", w/o quotes).<p> -Example:<p> -<div class="fragment"><pre class="fragment"> fred\@CODE.COM 27:1:16:e8b4c8fc7e60b9e641dcf4cff3f08a701d982a2f89ba373733d26ca59ba6c789666f6b8bfcf169412bb1e5dceb9b33cda29f3412:-:1:3:4498a933881178c744f4232172dcd774c64e81fa6d05ecdf643a7e390624a0ebf3c7407a:-:1:2:b01934b13eb795d76f3a80717d469639b4da0cfb644161340ef44fdeb375e54d684dbb85:-:1:1:ea8e16d8078bf60c781da90f508d4deccba70595258b9d31888d33987cd31af0c9cced2e:- 20020415130120:admin\@CODE.COM 20041221112428:fred\@CODE.COM - - - 86400 604800 126 20020415130120:793707:28 - -</pre></div><p> -Encoding of types are as follows:<p> -<ul> -<li>keys</li></ul> -<p> -<div class="fragment"><pre class="fragment"> kvno:[masterkvno:keytype:keydata:salt]{zero or more separated by :} -</pre></div><p> -kvno is the key version number.<p> -keydata is hex-encoded<p> -masterkvno is the kvno of the database master key. If this field is empty, the kadmin load and merge operations will encrypt the key data with the master key if there is one. Otherwise the key data will be imported asis.<p> -salt is encoded as "-" (no/default salt) or<p> -<div class="fragment"><pre class="fragment"> salt-type / - salt-type / <span class="stringliteral">"string"</span> - salt-type / hex-encoded-data -</pre></div><p> -keytype is the protocol enctype number; see enum ENCTYPE in include/krb5_asn1.h for values.<p> -Example: <div class="fragment"><pre class="fragment"> 27:1:16:e8b4c8fc7e60b9e641dcf4cff3f08a701d982a2f89ba373733d26ca59ba6c789666f6b8bfcf169412bb1e5dceb9b33cda29f3412:-:1:3:4498a933881178c744f4232172dcd774c64e81fa6d05ecdf643a7e390624a0ebf3c7407a:-:1:2:b01934b13eb795d76f3a80717d469639b4da0cfb644161340ef44fdeb375e54d684dbb85:-:1:1:ea8e16d8078bf60c781da90f508d4deccba70595258b9d31888d33987cd31af0c9cced2e:- -</pre></div><p> -<div class="fragment"><pre class="fragment"> kvno=27,{key: masterkvno=1,keytype=des3-cbc-sha1,keydata=..., <span class="keywordflow">default</span> salt}... -</pre></div><p> -<ul> -<li>time</li></ul> -<p> -Format of the time is: YYYYmmddHHMMSS, corresponding to strftime format "%Y%m%d%k%M%S".<p> -Time is expressed in UTC.<p> -Time can be optional (using -), when the time 0 is used.<p> -Example:<p> -<div class="fragment"><pre class="fragment"> 20041221112428 -</pre></div><p> +<li>All integers are in host byte order [1].</li> +<li>The num_components field is 1 too large (i.e. after decoding, decrement by 1).</li> +<li>The 32 bit name_type field is not present.</li> +</ul> +<p>[1] The file_format_version field should really be treated as two separate 8 bit quantities representing the major and minor version number respectively.</p> +<h2><a class="anchor" id="file_hdb_dump"></a> +Heimdal database dump file</h2> +<p>Format of the Heimdal text dump file as of Heimdal 0.6.3:</p> +<p>Each line in the dump file is one entry in the database.</p> +<p>Each field of a line is separated by one or more spaces, with the exception of fields consisting of principals containing spaces, where space can be quoted with \ and \ is quoted by .</p> +<p>Fields and their types are:</p> +<div class="fragment"><div class="line">Quoted princial (quote character is \) [string]</div><div class="line">Keys [keys]</div><div class="line">Created by [event]</div><div class="line">Modified by [<span class="keyword">event</span> optional]</div><div class="line">Valid start time [time optional]</div><div class="line">Valid end time [time optional]</div><div class="line">Password end valid time [time optional]</div><div class="line">Max lifetime of ticket [time optional]</div><div class="line">Max renew time of ticket [integer optional]</div><div class="line">Flags [hdb flags]</div><div class="line">Generation number [generation optional]</div><div class="line">Extensions [extentions optional]</div></div><!-- fragment --><p>Fields following these silently are ignored.</p> +<p>All optional fields will be skipped if they fail to parse (or comprise the optional field marker of "-", w/o quotes).</p> +<p>Example:</p> +<div class="fragment"><div class="line">fred\@CODE.COM 27:1:16:e8b4c8fc7e60b9e641dcf4cff3f08a701d982a2f89ba373733d26ca59ba6c789666f6b8bfcf169412bb1e5dceb9b33cda29f3412:-:1:3:4498a933881178c744f4232172dcd774c64e81fa6d05ecdf643a7e390624a0ebf3c7407a:-:1:2:b01934b13eb795d76f3a80717d469639b4da0cfb644161340ef44fdeb375e54d684dbb85:-:1:1:ea8e16d8078bf60c781da90f508d4deccba70595258b9d31888d33987cd31af0c9cced2e:- 20020415130120:admin\@CODE.COM 20041221112428:fred\@CODE.COM - - - 86400 604800 126 20020415130120:793707:28 -</div></div><!-- fragment --><p>Encoding of types are as follows:</p> <ul> -<li>event</li></ul> -<p> -<div class="fragment"><pre class="fragment"> time:principal -</pre></div><p> -time is as given in format time<p> -principal is a string. Not quoting it may not work in earlier versions of Heimdal.<p> -Example: <div class="fragment"><pre class="fragment"> 20041221112428:bloggs\@CODE.COM -</pre></div><p> +<li>keys</li> +</ul> +<div class="fragment"><div class="line">kvno:[masterkvno:keytype:keydata:salt]{zero or more separated by :}</div></div><!-- fragment --><p>kvno is the key version number.</p> +<p>keydata is hex-encoded</p> +<p>masterkvno is the kvno of the database master key. If this field is empty, the kadmin load and merge operations will encrypt the key data with the master key if there is one. Otherwise the key data will be imported asis.</p> +<p>salt is encoded as "-" (no/default salt) or</p> +<div class="fragment"><div class="line">salt-type /</div><div class="line">salt-type / <span class="stringliteral">"string"</span></div><div class="line">salt-type / hex-encoded-data</div></div><!-- fragment --><p>keytype is the protocol enctype number; see enum ENCTYPE in include/krb5_asn1.h for values.</p> +<p>Example: </p><div class="fragment"><div class="line">27:1:16:e8b4c8fc7e60b9e641dcf4cff3f08a701d982a2f89ba373733d26ca59ba6c789666f6b8bfcf169412bb1e5dceb9b33cda29f3412:-:1:3:4498a933881178c744f4232172dcd774c64e81fa6d05ecdf643a7e390624a0ebf3c7407a:-:1:2:b01934b13eb795d76f3a80717d469639b4da0cfb644161340ef44fdeb375e54d684dbb85:-:1:1:ea8e16d8078bf60c781da90f508d4deccba70595258b9d31888d33987cd31af0c9cced2e:-</div></div><!-- fragment --><div class="fragment"><div class="line">kvno=27,{key: masterkvno=1,keytype=des3-cbc-sha1,keydata=..., <span class="keywordflow">default</span> salt}...</div></div><!-- fragment --><ul> +<li>time</li> +</ul> +<p>Format of the time is: YYYYmmddHHMMSS, corresponding to strftime format "%Y%m%d%k%M%S".</p> +<p>Time is expressed in UTC.</p> +<p>Time can be optional (using -), when the time 0 is used.</p> +<p>Example:</p> +<div class="fragment"><div class="line">20041221112428</div></div><!-- fragment --><ul> +<li>event</li> +</ul> +<div class="fragment"><div class="line">time:principal</div></div><!-- fragment --><p>time is as given in format time</p> +<p>principal is a string. Not quoting it may not work in earlier versions of Heimdal.</p> +<p>Example: </p><div class="fragment"><div class="line">20041221112428:bloggs\@CODE.COM</div></div><!-- fragment --><ul> +<li>hdb flags</li> +</ul> +<p>Integer encoding of HDB flags, see HDBFlags in lib/hdb/hdb.asn1. Each bit in the integer is the same as the bit in the specification.</p> <ul> -<li>hdb flags</li></ul> -<p> -Integer encoding of HDB flags, see HDBFlags in lib/hdb/hdb.asn1. Each bit in the integer is the same as the bit in the specification.<p> +<li>generation:</li> +</ul> +<div class="fragment"><div class="line">time:usec:gen</div></div><!-- fragment --><p>usec is a the microsecond, integer. gen is generation number, integer.</p> +<p>The generation can be defaulted (using '-') or the empty string</p> <ul> -<li>generation:</li></ul> -<p> -<div class="fragment"><pre class="fragment"> time:usec:gen -</pre></div><p> -usec is a the microsecond, integer. gen is generation number, integer.<p> -The generation can be defaulted (using '-') or the empty string<p> -<ul> -<li>extensions:</li></ul> -<p> -<div class="fragment"><pre class="fragment"> first-hex-encoded-HDB-Extension[:second-...] -</pre></div><p> -HDB-extension is encoded the DER encoded HDB-Extension from lib/hdb/hdb.asn1. Consumers HDB extensions should be aware that unknown entires needs to be preserved even thought the ASN.1 data content might be unknown. There is a critical flag in the data to show to the KDC that the entry MUST be understod if the entry is to be used. </div> +<li>extensions:</li> +</ul> +<div class="fragment"><div class="line">first-hex-encoded-HDB-Extension[:second-...]</div></div><!-- fragment --><p>HDB-extension is encoded the DER encoded HDB-Extension from lib/hdb/hdb.asn1. Consumers HDB extensions should be aware that unknown entires needs to be preserved even thought the ASN.1 data content might be unknown. There is a critical flag in the data to show to the KDC that the entry MUST be understod if the entry is to be used. </p> +</div></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/krb5_init_creds_intro.html b/doc/doxyout/krb5/html/krb5_init_creds_intro.html index ca8615d8f2c8..7466060f924d 100644 --- a/doc/doxyout/krb5/html/krb5_init_creds_intro.html +++ b/doc/doxyout/krb5/html/krb5_init_creds_intro.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: The initial credential handing functions</title> +<title>The initial credential handing functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,22 +8,26 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">The initial credential handing functions </div> </div> +</div><!--header--> <div class="contents"> -<h1><a class="anchor" name="krb5_init_creds_intro">The initial credential handing functions </a></h1><h2><a class="anchor" name="section_krb5_init_creds"> -Initial credential</a></h2> -Functions to get initial credentials: <a class="el" href="group__krb5__credential.html">Heimdal Kerberos 5 credential handing functions</a> . </div> +<div class="textblock"><h1><a class="anchor" id="section_krb5_init_creds"></a> +Initial credential</h1> +<p>Functions to get initial credentials: <a class="el" href="group__krb5__credential.html">Heimdal Kerberos 5 credential handing functions</a> . </p> +</div></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/krb5_introduction.html b/doc/doxyout/krb5/html/krb5_introduction.html index a7b7d1caa4a6..a55d7e83adde 100644 --- a/doc/doxyout/krb5/html/krb5_introduction.html +++ b/doc/doxyout/krb5/html/krb5_introduction.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Introduction to the Kerberos 5 API</title> +<title>Introduction to the Kerberos 5 API</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,197 +8,95 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Introduction to the Kerberos 5 API </div> </div> +</div><!--header--> <div class="contents"> -<h1><a class="anchor" name="krb5_introduction">Introduction to the Kerberos 5 API </a></h1><h2><a class="anchor" name="api_overview"> -Kerberos 5 API Overview</a></h2> -All functions are documented in manual pages. This section tries to give an overview of the major components used in Kerberos library, and point to where to look for a specific function.<h3><a class="anchor" name="intro_krb5_context"> -Kerberos context</a></h3> -A kerberos context (krb5_context) holds all per thread state. All global variables that are context specific are stored in this structure, including default encryption types, credential cache (for example, a ticket file), and default realms.<p> -The internals of the structure should never be accessed directly, functions exist for extracting information.<p> -See the manual page for <a class="el" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context()</a> how to create a context and module <a class="el" href="group__krb5.html">Heimdal Kerberos 5 library</a> for more information about the functions.<h3><a class="anchor" name="intro_krb5_auth_context"> -Kerberos authentication context</a></h3> -Kerberos authentication context (krb5_auth_context) holds all context related to an authenticated connection, in a similar way to the kerberos context that holds the context for the thread or process.<p> -The krb5_auth_context is used by various functions that are directly related to authentication between the server/client. Example of data that this structure contains are various flags, addresses of client and server, port numbers, keyblocks (and subkeys), sequence numbers, replay cache, and checksum types.<h3><a class="anchor" name="intro_krb5_principal"> -Kerberos principal</a></h3> -The Kerberos principal is the structure that identifies a user or service in Kerberos. The structure that holds the principal is the krb5_principal. There are function to extract the realm and elements of the principal, but most applications have no reason to inspect the content of the structure.<p> -The are several ways to create a principal (with different degree of portability), and one way to free it.<p> -See also the page <a class="el" href="krb5_principal_intro.html">The principal handing functions.</a> for more information and also module <a class="el" href="group__krb5__principal.html">Heimdal Kerberos 5 principal functions</a>.<h3><a class="anchor" name="intro_krb5_ccache"> -Credential cache</a></h3> -A credential cache holds the tickets for a user. A given user can have several credential caches, one for each realm where the user have the initial tickets (the first krbtgt).<p> -The credential cache data can be stored internally in different way, each of them for different proposes. File credential (FILE) caches and processes based (KCM) caches are for permanent storage. While memory caches (MEMORY) are local caches to the local process.<p> -Caches are opened with <a class="el" href="group__krb5__ccache.html#ge8ab9d6f4af5710dab860f2806a7d13b">krb5_cc_resolve()</a> or created with <a class="el" href="group__krb5__ccache.html#g86c0f70d0c2b5de2d876edf4b693b5b9">krb5_cc_new_unique()</a>.<p> -If the cache needs to be opened again (using <a class="el" href="group__krb5__ccache.html#ge8ab9d6f4af5710dab860f2806a7d13b">krb5_cc_resolve()</a>) <a class="el" href="group__krb5__ccache.html#gebc0dd2a77529c05fb49e27235da7017">krb5_cc_close()</a> will close the handle, but not the remove the cache. <a class="el" href="group__krb5__ccache.html#g3115bcccd71594374831caa9a07b1290">krb5_cc_destroy()</a> will zero out the cache, remove the cache so it can no longer be referenced.<p> -See also <a class="el" href="krb5_ccache_intro.html">The credential cache functions</a> and <a class="el" href="group__krb5__ccache.html">Heimdal Kerberos 5 credential cache functions</a> .<h3><a class="anchor" name="intro_krb5_error_code"> -Kerberos errors</a></h3> -Kerberos errors are based on the com_err library. All error codes are 32-bit signed numbers, the first 24 bits define what subsystem the error originates from, and last 8 bits are 255 error codes within the library. Each error code have fixed string associated with it. For example, the error-code -1765328383 have the symbolic name KRB5KDC_ERR_NAME_EXP, and associated error string ``Client's entry in database has expired''.<p> -This is a great improvement compared to just getting one of the unix error-codes back. However, Heimdal have an extention to pass back customised errors messages. Instead of getting ``Key table entry not found'', the user might back ``failed to find host/host.example.com@EXAMLE.COM(kvno 3) in keytab /etc/krb5.keytab (des-cbc-crc)''. This improves the chance that the user find the cause of the error so you should use the customised error message whenever it's available.<p> -See also module <a class="el" href="group__krb5__error.html">Heimdal Kerberos 5 error reporting functions</a> .<h3><a class="anchor" name="intro_krb5_keytab"> -Keytab management</a></h3> -A keytab is a storage for locally stored keys. Heimdal includes keytab support for Kerberos 5 keytabs, Kerberos 4 srvtab, AFS-KeyFile's, and for storing keys in memory.<p> -Keytabs are used for servers and long-running services.<p> -See also <a class="el" href="krb5_keytab_intro.html">The keytab handing functions</a> and <a class="el" href="group__krb5__keytab.html">Heimdal Kerberos 5 keytab handling functions</a> .<h3><a class="anchor" name="intro_krb5_crypto"> -Kerberos crypto</a></h3> -Heimdal includes a implementation of the Kerberos crypto framework, all crypto operations. To create a crypto context call <a class="el" href="group__krb5__crypto.html#gd7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init()</a>.<p> -See also module <a class="el" href="group__krb5__crypto.html">Heimdal Kerberos 5 cryptography functions</a> .<h2><a class="anchor" name="kerberos5_client"> -Walkthrough of a sample Kerberos 5 client</a></h2> -This example contains parts of a sample TCP Kerberos 5 clients, if you want a real working client, please look in appl/test directory in the Heimdal distribution.<p> -All Kerberos error-codes that are returned from kerberos functions in this program are passed to krb5_err, that will print a descriptive text of the error code and exit. Graphical programs can convert error-code to a human readable error-string with the krb5_get_error_message() function.<p> -Note that you should not use any Kerberos function before <a class="el" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context()</a> have completed successfully. That is the reason err() is used when <a class="el" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context()</a> fails.<p> -First the client needs to call krb5_init_context to initialise the Kerberos 5 library. This is only needed once per thread in the program. If the function returns a non-zero value it indicates that either the Kerberos implementation is failing or it's disabled on this host.<p> -<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include <krb5.h></span> - - <span class="keywordtype">int</span> - main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) - { - krb5_context context; - - <span class="keywordflow">if</span> (<a class="code" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context</a>(&context)) - errx (1, <span class="stringliteral">"krb5_context"</span>); -</pre></div><p> -Now the client wants to connect to the host at the other end. The preferred way of doing this is using getaddrinfo (for operating system that have this function implemented), since getaddrinfo is neutral to the address type and can use any protocol that is available.<p> -<div class="fragment"><pre class="fragment"> <span class="keyword">struct </span>addrinfo *ai, *a; - <span class="keyword">struct </span>addrinfo hints; - <span class="keywordtype">int</span> error; - - memset (&hints, 0, <span class="keyword">sizeof</span>(hints)); - hints.ai_socktype = SOCK_STREAM; - hints.ai_protocol = IPPROTO_TCP; - - error = getaddrinfo (hostname, <span class="stringliteral">"pop3"</span>, &hints, &ai); - <span class="keywordflow">if</span> (error) - errx (1, <span class="stringliteral">"%s: %s"</span>, hostname, gai_strerror(error)); - - <span class="keywordflow">for</span> (a = ai; a != NULL; a = a->ai_next) { - <span class="keywordtype">int</span> s; - - s = socket (a->ai_family, a->ai_socktype, a->ai_protocol); - <span class="keywordflow">if</span> (s < 0) - <span class="keywordflow">continue</span>; - <span class="keywordflow">if</span> (connect (s, a->ai_addr, a->ai_addrlen) < 0) { - warn (<span class="stringliteral">"connect(%s)"</span>, hostname); - close (s); - <span class="keywordflow">continue</span>; - } - freeaddrinfo (ai); - ai = NULL; - } - <span class="keywordflow">if</span> (ai) { - freeaddrinfo (ai); - errx (<span class="stringliteral">"failed to contact %s"</span>, hostname); - } -</pre></div><p> -Before authenticating, an authentication context needs to be created. This context keeps all information for one (to be) authenticated connection (see krb5_auth_context).<p> -<div class="fragment"><pre class="fragment"> status = krb5_auth_con_init (context, &auth_context); - <span class="keywordflow">if</span> (status) - krb5_err (context, 1, status, <span class="stringliteral">"krb5_auth_con_init"</span>); -</pre></div><p> -For setting the address in the authentication there is a help function krb5_auth_con_setaddrs_from_fd() that does everything that is needed when given a connected file descriptor to the socket.<p> -<div class="fragment"><pre class="fragment"> status = krb5_auth_con_setaddrs_from_fd (context, - auth_context, - &sock); - <span class="keywordflow">if</span> (status) - krb5_err (context, 1, status, - <span class="stringliteral">"krb5_auth_con_setaddrs_from_fd"</span>); -</pre></div><p> -The next step is to build a server principal for the service we want to connect to. (See also <a class="el" href="group__krb5__principal.html#g8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal()</a>.)<p> -<div class="fragment"><pre class="fragment"> status = <a class="code" href="group__krb5__principal.html#g8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal</a> (context, - hostname, - service, - KRB5_NT_SRV_HST, - &server); - <span class="keywordflow">if</span> (status) - krb5_err (context, 1, status, <span class="stringliteral">"krb5_sname_to_principal"</span>); -</pre></div><p> -The client principal is not passed to krb5_sendauth() function, this causes the krb5_sendauth() function to try to figure it out itself.<p> -The server program is using the function krb5_recvauth() to receive the Kerberos 5 authenticator.<p> -In this case, mutual authentication will be tried. That means that the server will authenticate to the client. Using mutual authentication is good since it enables the user to verify that they are talking to the right server (a server that knows the key).<p> -If you are using a non-blocking socket you will need to do all work of krb5_sendauth() yourself. Basically you need to send over the authenticator from krb5_mk_req() and, in case of mutual authentication, verifying the result from the server with krb5_rd_rep().<p> -<div class="fragment"><pre class="fragment"> status = krb5_sendauth (context, - &auth_context, - &sock, - VERSION, - NULL, - server, - AP_OPTS_MUTUAL_REQUIRED, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL); - <span class="keywordflow">if</span> (status) - krb5_err (context, 1, status, <span class="stringliteral">"krb5_sendauth"</span>); -</pre></div><p> -Once authentication has been performed, it is time to send some data. First we create a krb5_data structure, then we sign it with krb5_mk_safe() using the auth_context that contains the session-key that was exchanged in the krb5_sendauth()/krb5_recvauth() authentication sequence.<p> -<div class="fragment"><pre class="fragment"> data.data = <span class="stringliteral">"hej"</span>; - data.length = 3; - - <a class="code" href="group__krb5.html#ga059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero</a> (&packet); - - status = krb5_mk_safe (context, - auth_context, - &data, - &packet, - NULL); - <span class="keywordflow">if</span> (status) - krb5_err (context, 1, status, <span class="stringliteral">"krb5_mk_safe"</span>); -</pre></div><p> -And send it over the network.<p> -<div class="fragment"><pre class="fragment"> len = packet.length; - net_len = htonl(len); - - <span class="keywordflow">if</span> (krb5_net_write (context, &sock, &net_len, 4) != 4) - err (1, <span class="stringliteral">"krb5_net_write"</span>); - <span class="keywordflow">if</span> (krb5_net_write (context, &sock, packet.data, len) != len) - err (1, <span class="stringliteral">"krb5_net_write"</span>); -</pre></div><p> -To send encrypted (and signed) data krb5_mk_priv() should be used instead. krb5_mk_priv() works the same way as krb5_mk_safe(), with the exception that it encrypts the data in addition to signing it.<p> -<div class="fragment"><pre class="fragment"> data.data = <span class="stringliteral">"hemligt"</span>; - data.length = 7; - - <a class="code" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free</a> (&packet); - - status = krb5_mk_priv (context, - auth_context, - &data, - &packet, - NULL); - <span class="keywordflow">if</span> (status) - krb5_err (context, 1, status, <span class="stringliteral">"krb5_mk_priv"</span>); -</pre></div><p> -And send it over the network.<p> -<div class="fragment"><pre class="fragment"> len = packet.length; - net_len = htonl(len); - - <span class="keywordflow">if</span> (krb5_net_write (context, &sock, &net_len, 4) != 4) - err (1, <span class="stringliteral">"krb5_net_write"</span>); - <span class="keywordflow">if</span> (krb5_net_write (context, &sock, packet.data, len) != len) - err (1, <span class="stringliteral">"krb5_net_write"</span>); -</pre></div><p> -The server is using krb5_rd_safe() and krb5_rd_priv() to verify the signature and decrypt the packet.<h2><a class="anchor" name="intro_krb5_verify_user"> -Validating a password in an application</a></h2> -See the manual page for krb5_verify_user().<h2><a class="anchor" name="mit_differences"> -API differences to MIT Kerberos</a></h2> -This section is somewhat disorganised, but so far there is no overall structure to the differences, though some of the have their root in that Heimdal uses an ASN.1 compiler and MIT doesn't.<h3><a class="anchor" name="mit_krb5_principal"> -Principal and realms</a></h3> -Heimdal stores the realm as a krb5_realm, that is a char *. MIT Kerberos uses a krb5_data to store a realm.<p> -In Heimdal krb5_principal doesn't contain the component name_type; it's instead stored in component name.name_type. To get and set the nametype in Heimdal, use <a class="el" href="group__krb5__principal.html#gf4a599c42592ff7485753e80b8de67b7">krb5_principal_get_type()</a> and <a class="el" href="group__krb5__principal.html#g28b750b990452f02922bc74a6cac0313">krb5_principal_set_type()</a>.<p> -For more information about principal and realms, see krb5_principal.<h3><a class="anchor" name="mit_krb5_error_code"> -Error messages</a></h3> -To get the error string, Heimdal uses krb5_get_error_message(). This is to return custom error messages (like ``Can't find host/datan.example.com@CODE.COM in /etc/krb5.conf.'' instead of a ``Key table entry not found'' that error_message returns.<p> -Heimdal uses a threadsafe(r) version of the com_err interface; the global com_err table isn't initialised. Then error_message returns quite a boring error string (just the error code itself). </div> +<div class="textblock"><h1><a class="anchor" id="api_overview"></a> +Kerberos 5 API Overview</h1> +<p>All functions are documented in manual pages. This section tries to give an overview of the major components used in Kerberos library, and point to where to look for a specific function.</p> +<h2><a class="anchor" id="intro_krb5_context"></a> +Kerberos context</h2> +<p>A kerberos context (krb5_context) holds all per thread state. All global variables that are context specific are stored in this structure, including default encryption types, credential cache (for example, a ticket file), and default realms.</p> +<p>The internals of the structure should never be accessed directly, functions exist for extracting information.</p> +<p>See the manual page for <a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a> how to create a context and module <a class="el" href="group__krb5.html">Heimdal Kerberos 5 library</a> for more information about the functions.</p> +<h2><a class="anchor" id="intro_krb5_auth_context"></a> +Kerberos authentication context</h2> +<p>Kerberos authentication context (krb5_auth_context) holds all context related to an authenticated connection, in a similar way to the kerberos context that holds the context for the thread or process.</p> +<p>The krb5_auth_context is used by various functions that are directly related to authentication between the server/client. Example of data that this structure contains are various flags, addresses of client and server, port numbers, keyblocks (and subkeys), sequence numbers, replay cache, and checksum types.</p> +<h2><a class="anchor" id="intro_krb5_principal"></a> +Kerberos principal</h2> +<p>The Kerberos principal is the structure that identifies a user or service in Kerberos. The structure that holds the principal is the krb5_principal. There are function to extract the realm and elements of the principal, but most applications have no reason to inspect the content of the structure.</p> +<p>The are several ways to create a principal (with different degree of portability), and one way to free it.</p> +<p>See also the page <a class="el" href="krb5_principal_intro.html">The principal handing functions.</a> for more information and also module <a class="el" href="group__krb5__principal.html">Heimdal Kerberos 5 principal functions</a>.</p> +<h2><a class="anchor" id="intro_krb5_ccache"></a> +Credential cache</h2> +<p>A credential cache holds the tickets for a user. A given user can have several credential caches, one for each realm where the user have the initial tickets (the first krbtgt).</p> +<p>The credential cache data can be stored internally in different way, each of them for different proposes. File credential (FILE) caches and processes based (KCM) caches are for permanent storage. While memory caches (MEMORY) are local caches to the local process.</p> +<p>Caches are opened with <a class="el" href="group__krb5__ccache.html#gae8ab9d6f4af5710dab860f2806a7d13b">krb5_cc_resolve()</a> or created with <a class="el" href="group__krb5__ccache.html#ga86c0f70d0c2b5de2d876edf4b693b5b9">krb5_cc_new_unique()</a>.</p> +<p>If the cache needs to be opened again (using <a class="el" href="group__krb5__ccache.html#gae8ab9d6f4af5710dab860f2806a7d13b">krb5_cc_resolve()</a>) <a class="el" href="group__krb5__ccache.html#gaebc0dd2a77529c05fb49e27235da7017">krb5_cc_close()</a> will close the handle, but not the remove the cache. <a class="el" href="group__krb5__ccache.html#ga3115bcccd71594374831caa9a07b1290">krb5_cc_destroy()</a> will zero out the cache, remove the cache so it can no longer be referenced.</p> +<p>See also <a class="el" href="krb5_ccache_intro.html">The credential cache functions</a> and <a class="el" href="group__krb5__ccache.html">Heimdal Kerberos 5 credential cache functions</a> .</p> +<h2><a class="anchor" id="intro_krb5_error_code"></a> +Kerberos errors</h2> +<p>Kerberos errors are based on the com_err library. All error codes are 32-bit signed numbers, the first 24 bits define what subsystem the error originates from, and last 8 bits are 255 error codes within the library. Each error code have fixed string associated with it. For example, the error-code -1765328383 have the symbolic name KRB5KDC_ERR_NAME_EXP, and associated error string ``Client's entry in database has expired''.</p> +<p>This is a great improvement compared to just getting one of the unix error-codes back. However, Heimdal have an extention to pass back customised errors messages. Instead of getting <code>Key table entry not found'', the user might back</code>failed to find host/host.example.com@EXAMLE.COM(kvno 3) in keytab /etc/krb5.keytab (des-cbc-crc)''. This improves the chance that the user find the cause of the error so you should use the customised error message whenever it's available.</p> +<p>See also module <a class="el" href="group__krb5__error.html">Heimdal Kerberos 5 error reporting functions</a> .</p> +<h2><a class="anchor" id="intro_krb5_keytab"></a> +Keytab management</h2> +<p>A keytab is a storage for locally stored keys. Heimdal includes keytab support for Kerberos 5 keytabs, Kerberos 4 srvtab, AFS-KeyFile's, and for storing keys in memory.</p> +<p>Keytabs are used for servers and long-running services.</p> +<p>See also <a class="el" href="krb5_keytab_intro.html">The keytab handing functions</a> and <a class="el" href="group__krb5__keytab.html">Heimdal Kerberos 5 keytab handling functions</a> .</p> +<h2><a class="anchor" id="intro_krb5_crypto"></a> +Kerberos crypto</h2> +<p>Heimdal includes a implementation of the Kerberos crypto framework, all crypto operations. To create a crypto context call <a class="el" href="group__krb5__crypto.html#gad7003a8a81cef633cc0a2cc07c93dd32">krb5_crypto_init()</a>.</p> +<p>See also module <a class="el" href="group__krb5__crypto.html">Heimdal Kerberos 5 cryptography functions</a> .</p> +<h1><a class="anchor" id="kerberos5_client"></a> +Walkthrough of a sample Kerberos 5 client</h1> +<p>This example contains parts of a sample TCP Kerberos 5 clients, if you want a real working client, please look in appl/test directory in the Heimdal distribution.</p> +<p>All Kerberos error-codes that are returned from kerberos functions in this program are passed to krb5_err, that will print a descriptive text of the error code and exit. Graphical programs can convert error-code to a human readable error-string with the <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a> function.</p> +<p>Note that you should not use any Kerberos function before <a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a> have completed successfully. That is the reason err() is used when <a class="el" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context()</a> fails.</p> +<p>First the client needs to call krb5_init_context to initialise the Kerberos 5 library. This is only needed once per thread in the program. If the function returns a non-zero value it indicates that either the Kerberos implementation is failing or it's disabled on this host.</p> +<div class="fragment"><div class="line"><span class="preprocessor">#include <krb5.h></span></div><div class="line"></div><div class="line"><span class="keywordtype">int</span></div><div class="line">main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div><div class="line">{</div><div class="line"> krb5_context context;</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context</a>(&context))</div><div class="line"> errx (1, <span class="stringliteral">"krb5_context"</span>);</div></div><!-- fragment --><p>Now the client wants to connect to the host at the other end. The preferred way of doing this is using getaddrinfo (for operating system that have this function implemented), since getaddrinfo is neutral to the address type and can use any protocol that is available.</p> +<div class="fragment"><div class="line"><span class="keyword">struct </span>addrinfo *ai, *a;</div><div class="line"><span class="keyword">struct </span>addrinfo hints;</div><div class="line"><span class="keywordtype">int</span> error;</div><div class="line"></div><div class="line">memset (&hints, 0, <span class="keyword">sizeof</span>(hints));</div><div class="line">hints.ai_socktype = SOCK_STREAM;</div><div class="line">hints.ai_protocol = IPPROTO_TCP;</div><div class="line"></div><div class="line">error = getaddrinfo (hostname, <span class="stringliteral">"pop3"</span>, &hints, &ai);</div><div class="line"><span class="keywordflow">if</span> (error)</div><div class="line"> errx (1, <span class="stringliteral">"%s: %s"</span>, hostname, gai_strerror(error));</div><div class="line"></div><div class="line"><span class="keywordflow">for</span> (a = ai; a != NULL; a = a->ai_next) {</div><div class="line"> <span class="keywordtype">int</span> s;</div><div class="line"></div><div class="line"> s = socket (a->ai_family, a->ai_socktype, a->ai_protocol);</div><div class="line"> <span class="keywordflow">if</span> (s < 0)</div><div class="line"> <span class="keywordflow">continue</span>;</div><div class="line"> <span class="keywordflow">if</span> (connect (s, a->ai_addr, a->ai_addrlen) < 0) {</div><div class="line"> warn (<span class="stringliteral">"connect(%s)"</span>, hostname);</div><div class="line"> close (s);</div><div class="line"> <span class="keywordflow">continue</span>;</div><div class="line"> }</div><div class="line"> freeaddrinfo (ai);</div><div class="line"> ai = NULL;</div><div class="line">}</div><div class="line"><span class="keywordflow">if</span> (ai) {</div><div class="line"> freeaddrinfo (ai);</div><div class="line"> errx (<span class="stringliteral">"failed to contact %s"</span>, hostname);</div><div class="line">}</div></div><!-- fragment --><p>Before authenticating, an authentication context needs to be created. This context keeps all information for one (to be) authenticated connection (see krb5_auth_context).</p> +<div class="fragment"><div class="line">status = krb5_auth_con_init (context, &auth_context);</div><div class="line"><span class="keywordflow">if</span> (status)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a> (context, 1, status, <span class="stringliteral">"krb5_auth_con_init"</span>);</div></div><!-- fragment --><p>For setting the address in the authentication there is a help function krb5_auth_con_setaddrs_from_fd() that does everything that is needed when given a connected file descriptor to the socket.</p> +<div class="fragment"><div class="line">status = krb5_auth_con_setaddrs_from_fd (context,</div><div class="line"> auth_context,</div><div class="line"> &sock);</div><div class="line"><span class="keywordflow">if</span> (status)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a> (context, 1, status,</div><div class="line"> <span class="stringliteral">"krb5_auth_con_setaddrs_from_fd"</span>);</div></div><!-- fragment --><p>The next step is to build a server principal for the service we want to connect to. (See also <a class="el" href="group__krb5__principal.html#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal()</a>.)</p> +<div class="fragment"><div class="line">status = <a class="code" href="group__krb5__principal.html#ga8be0f5000da6ee0d4bd5dcaf3cb01d08">krb5_sname_to_principal</a> (context,</div><div class="line"> hostname,</div><div class="line"> service,</div><div class="line"> KRB5_NT_SRV_HST,</div><div class="line"> &server);</div><div class="line"><span class="keywordflow">if</span> (status)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a> (context, 1, status, <span class="stringliteral">"krb5_sname_to_principal"</span>);</div></div><!-- fragment --><p>The client principal is not passed to krb5_sendauth() function, this causes the krb5_sendauth() function to try to figure it out itself.</p> +<p>The server program is using the function krb5_recvauth() to receive the Kerberos 5 authenticator.</p> +<p>In this case, mutual authentication will be tried. That means that the server will authenticate to the client. Using mutual authentication is required to avoid man-in-the-middle attacks, since it enables the user to verify that they are talking to the right server (a server that knows the key).</p> +<p>If you are using a non-blocking socket you will need to do all work of krb5_sendauth() yourself. Basically you need to send over the authenticator from krb5_mk_req() and, in case of mutual authentication, verifying the result from the server with krb5_rd_rep().</p> +<div class="fragment"><div class="line">status = krb5_sendauth (context,</div><div class="line"> &auth_context,</div><div class="line"> &sock,</div><div class="line"> VERSION,</div><div class="line"> NULL,</div><div class="line"> server,</div><div class="line"> AP_OPTS_MUTUAL_REQUIRED,</div><div class="line"> NULL,</div><div class="line"> NULL,</div><div class="line"> NULL,</div><div class="line"> NULL,</div><div class="line"> NULL,</div><div class="line"> NULL);</div><div class="line"><span class="keywordflow">if</span> (status)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a> (context, 1, status, <span class="stringliteral">"krb5_sendauth"</span>);</div></div><!-- fragment --><p>Once authentication has been performed, it is time to send some data. First we create a krb5_data structure, then we sign it with krb5_mk_safe() using the auth_context that contains the session-key that was exchanged in the krb5_sendauth()/krb5_recvauth() authentication sequence.</p> +<div class="fragment"><div class="line">data.data = <span class="stringliteral">"hej"</span>;</div><div class="line">data.length = 3;</div><div class="line"></div><div class="line"><a class="code" href="group__krb5.html#gaa059e96dde4e0b8c082eb6f3d570b7bc">krb5_data_zero</a> (&packet);</div><div class="line"></div><div class="line">status = krb5_mk_safe (context,</div><div class="line"> auth_context,</div><div class="line"> &data,</div><div class="line"> &packet,</div><div class="line"> NULL);</div><div class="line"><span class="keywordflow">if</span> (status)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a> (context, 1, status, <span class="stringliteral">"krb5_mk_safe"</span>);</div></div><!-- fragment --><p>And send it over the network.</p> +<div class="fragment"><div class="line">len = packet.length;</div><div class="line">net_len = htonl(len);</div><div class="line"></div><div class="line"><span class="keywordflow">if</span> (krb5_net_write (context, &sock, &net_len, 4) != 4)</div><div class="line"> err (1, <span class="stringliteral">"krb5_net_write"</span>);</div><div class="line"><span class="keywordflow">if</span> (krb5_net_write (context, &sock, packet.data, len) != len)</div><div class="line"> err (1, <span class="stringliteral">"krb5_net_write"</span>);</div></div><!-- fragment --><p>To send encrypted (and signed) data krb5_mk_priv() should be used instead. krb5_mk_priv() works the same way as krb5_mk_safe(), with the exception that it encrypts the data in addition to signing it.</p> +<div class="fragment"><div class="line">data.data = <span class="stringliteral">"hemligt"</span>;</div><div class="line">data.length = 7;</div><div class="line"></div><div class="line"><a class="code" href="group__krb5.html#gab4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free</a> (&packet);</div><div class="line"></div><div class="line">status = krb5_mk_priv (context,</div><div class="line"> auth_context,</div><div class="line"> &data,</div><div class="line"> &packet,</div><div class="line"> NULL);</div><div class="line"><span class="keywordflow">if</span> (status)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a> (context, 1, status, <span class="stringliteral">"krb5_mk_priv"</span>);</div></div><!-- fragment --><p>And send it over the network.</p> +<div class="fragment"><div class="line">len = packet.length;</div><div class="line">net_len = htonl(len);</div><div class="line"></div><div class="line"><span class="keywordflow">if</span> (krb5_net_write (context, &sock, &net_len, 4) != 4)</div><div class="line"> err (1, <span class="stringliteral">"krb5_net_write"</span>);</div><div class="line"><span class="keywordflow">if</span> (krb5_net_write (context, &sock, packet.data, len) != len)</div><div class="line"> err (1, <span class="stringliteral">"krb5_net_write"</span>);</div></div><!-- fragment --><p>The server is using krb5_rd_safe() and krb5_rd_priv() to verify the signature and decrypt the packet.</p> +<h1><a class="anchor" id="intro_krb5_verify_user"></a> +Validating a password in an application</h1> +<p>See the manual page for krb5_verify_user().</p> +<h1><a class="anchor" id="mit_differences"></a> +API differences to MIT Kerberos</h1> +<p>This section is somewhat disorganised, but so far there is no overall structure to the differences, though some of the have their root in that Heimdal uses an ASN.1 compiler and MIT doesn't.</p> +<h2><a class="anchor" id="mit_krb5_principal"></a> +Principal and realms</h2> +<p>Heimdal stores the realm as a krb5_realm, that is a char *. MIT Kerberos uses a krb5_data to store a realm.</p> +<p>In Heimdal krb5_principal doesn't contain the component name_type; it's instead stored in component name.name_type. To get and set the nametype in Heimdal, use <a class="el" href="group__krb5__principal.html#gaf4a599c42592ff7485753e80b8de67b7">krb5_principal_get_type()</a> and <a class="el" href="group__krb5__principal.html#ga28b750b990452f02922bc74a6cac0313">krb5_principal_set_type()</a>.</p> +<p>For more information about principal and realms, see krb5_principal.</p> +<h2><a class="anchor" id="mit_krb5_error_code"></a> +Error messages</h2> +<p>To get the error string, Heimdal uses <a class="el" href="group__krb5__error.html#ga35cbf80e68f43a6d9503952886b85ed2">krb5_get_error_message()</a>. This is to return custom error messages (like <code>Can't find host/datan.example.com\@CODE.COM in /etc/krb5.conf.'' instead of a</code>Key table entry not found'' that error_message returns.</p> +<p>Heimdal uses a threadsafe(r) version of the com_err interface; the global com_err table isn't initialised. Then error_message returns quite a boring error string (just the error code itself). </p> +</div></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/krb5_keytab_intro.html b/doc/doxyout/krb5/html/krb5_keytab_intro.html index 684ed7d0bd54..02b2ceae9620 100644 --- a/doc/doxyout/krb5/html/krb5_keytab_intro.html +++ b/doc/doxyout/krb5/html/krb5_keytab_intro.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: The keytab handing functions</title> +<title>The keytab handing functions</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,75 +8,41 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">The keytab handing functions </div> </div> +</div><!--header--> <div class="contents"> -<h1><a class="anchor" name="krb5_keytab_intro">The keytab handing functions </a></h1><h2><a class="anchor" name="section_krb5_keytab"> -Kerberos Keytabs</a></h2> -See the library functions here: <a class="el" href="group__krb5__keytab.html">Heimdal Kerberos 5 keytab handling functions</a><p> -Keytabs are long term key storage for servers, their equvalment of password files.<p> -Normally the only function that useful for server are to specify what keytab to use to other core functions like krb5_rd_req() <a class="el" href="group__krb5__keytab.html#gc57fead58fb1baa003d6438613731901">krb5_kt_resolve()</a>, and <a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a>.<h3><a class="anchor" name="krb5_keytab_names"> -Keytab names</a></h3> -A keytab name is on the form type:residual. The residual part is specific to each keytab-type.<p> -When a keytab-name is resolved, the type is matched with an internal list of keytab types. If there is no matching keytab type, the default keytab is used. The current default type is FILE.<p> -The default value can be changed in the configuration file /etc/krb5.conf by setting the variable [defaults]default_keytab_name.<p> -The keytab types that are implemented in Heimdal are:<ul> -<li>file store the keytab in a file, the type's name is FILE . The residual part is a filename. For compatibility with other Kerberos implemtation WRFILE and JAVA14 is also accepted. WRFILE has the same format as FILE. JAVA14 have a format that is compatible with older versions of MIT kerberos and SUN's Java based installation. They store a truncted kvno, so when the knvo excess 255, they are truncted in this format.</li></ul> -<p> -<ul> -<li>keytab store the keytab in a AFS keyfile (usually /usr/afs/etc/KeyFile ), the type's name is AFSKEYFILE. The residual part is a filename.</li></ul> -<p> -<ul> -<li>memory The keytab is stored in a memory segment. This allows sensitive and/or temporary data not to be stored on disk. The type's name is MEMORY. Each MEMORY keytab is referenced counted by and opened by the residual name, so two handles can point to the same memory area. When the last user closes using <a class="el" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a> the keytab, the keys in they keytab is memset() to zero and freed and can no longer be looked up by name.</li></ul> -<h3><a class="anchor" name="krb5_keytab_example"> -Keytab example</a></h3> -This is a minimalistic version of ktutil.<p> -<div class="fragment"><pre class="fragment"><span class="keywordtype">int</span> -main (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) -{ - krb5_context context; - krb5_keytab keytab; - krb5_kt_cursor cursor; - krb5_keytab_entry entry; - krb5_error_code ret; - <span class="keywordtype">char</span> *principal; - - <span class="keywordflow">if</span> (<a class="code" href="group__krb5.html#gbd94206e186c58a093975424a4a567a8">krb5_init_context</a> (&context) != 0) - errx(1, <span class="stringliteral">"krb5_context"</span>); - - ret = <a class="code" href="group__krb5__keytab.html#gfcd059883c79dbd99a179bc4225d16b5">krb5_kt_default</a> (context, &keytab); - <span class="keywordflow">if</span> (ret) - krb5_err(context, 1, ret, <span class="stringliteral">"krb5_kt_default"</span>); - - ret = <a class="code" href="group__krb5__keytab.html#g1efd8ee48d6e3caa31cad475423b8917">krb5_kt_start_seq_get</a>(context, keytab, &cursor); - <span class="keywordflow">if</span> (ret) - krb5_err(context, 1, ret, <span class="stringliteral">"krb5_kt_start_seq_get"</span>); - <span class="keywordflow">while</span>((ret = <a class="code" href="group__krb5__keytab.html#gc40140c41333a86d3c40426f50b4e1b0">krb5_kt_next_entry</a>(context, keytab, &entry, &cursor)) == 0){ - <a class="code" href="group__krb5__principal.html#gac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a>(context, entry.principal, &principal); - printf(<span class="stringliteral">"principal: %s\n"</span>, principal); - free(principal); - <a class="code" href="group__krb5__keytab.html#gc0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry</a>(context, &entry); - } - ret = <a class="code" href="group__krb5__keytab.html#g11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get</a>(context, keytab, &cursor); - <span class="keywordflow">if</span> (ret) - krb5_err(context, 1, ret, <span class="stringliteral">"krb5_kt_end_seq_get"</span>); - ret = <a class="code" href="group__krb5__keytab.html#gb67f5ae0a7c4b87d193218b842cad590">krb5_kt_close</a>(context, keytab); - <span class="keywordflow">if</span> (ret) - krb5_err(context, 1, ret, <span class="stringliteral">"krb5_kt_close"</span>); - <a class="code" href="group__krb5.html#ge51d83f5d5f589883f1cd10887892777">krb5_free_context</a>(context); - <span class="keywordflow">return</span> 0; -} -</pre></div> </div> +<div class="textblock"><h1><a class="anchor" id="section_krb5_keytab"></a> +Kerberos Keytabs</h1> +<p>See the library functions here: <a class="el" href="group__krb5__keytab.html">Heimdal Kerberos 5 keytab handling functions</a></p> +<p>Keytabs are long term key storage for servers, their equvalment of password files.</p> +<p>Normally the only function that useful for server are to specify what keytab to use to other core functions like krb5_rd_req() <a class="el" href="group__krb5__keytab.html#gac57fead58fb1baa003d6438613731901">krb5_kt_resolve()</a>, and <a class="el" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a>.</p> +<h2><a class="anchor" id="krb5_keytab_names"></a> +Keytab names</h2> +<p>A keytab name is on the form type:residual. The residual part is specific to each keytab-type.</p> +<p>When a keytab-name is resolved, the type is matched with an internal list of keytab types. If there is no matching keytab type, the default keytab is used. The current default type is FILE.</p> +<p>The default value can be changed in the configuration file /etc/krb5.conf by setting the variable [defaults]default_keytab_name.</p> +<p>The keytab types that are implemented in Heimdal are:</p><ul> +<li>file store the keytab in a file, the type's name is FILE . The residual part is a filename. For compatibility with other Kerberos implemtation WRFILE and JAVA14 is also accepted. WRFILE has the same format as FILE. JAVA14 have a format that is compatible with older versions of MIT kerberos and SUN's Java based installation. They store a truncted kvno, so when the knvo excess 255, they are truncted in this format.</li> +<li>keytab store the keytab in a AFS keyfile (usually /usr/afs/etc/KeyFile ), the type's name is AFSKEYFILE. The residual part is a filename.</li> +<li>memory The keytab is stored in a memory segment. This allows sensitive and/or temporary data not to be stored on disk. The type's name is MEMORY. Each MEMORY keytab is referenced counted by and opened by the residual name, so two handles can point to the same memory area. When the last user closes using <a class="el" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close()</a> the keytab, the keys in they keytab is memset() to zero and freed and can no longer be looked up by name.</li> +</ul> +<h2><a class="anchor" id="krb5_keytab_example"></a> +Keytab example</h2> +<pre class="fragment">This is a minimalistic version of ktutil. +</pre><div class="fragment"><div class="line"><span class="keywordtype">int</span></div><div class="line">main (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div><div class="line">{</div><div class="line"> krb5_context context;</div><div class="line"> krb5_keytab keytab;</div><div class="line"> krb5_kt_cursor cursor;</div><div class="line"> krb5_keytab_entry entry;</div><div class="line"> krb5_error_code ret;</div><div class="line"> <span class="keywordtype">char</span> *principal;</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__krb5.html#gabd94206e186c58a093975424a4a567a8">krb5_init_context</a> (&context) != 0)</div><div class="line"> errx(1, <span class="stringliteral">"krb5_context"</span>);</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__krb5__keytab.html#gafcd059883c79dbd99a179bc4225d16b5">krb5_kt_default</a> (context, &keytab);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">"krb5_kt_default"</span>);</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__krb5__keytab.html#ga1efd8ee48d6e3caa31cad475423b8917">krb5_kt_start_seq_get</a>(context, keytab, &cursor);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">"krb5_kt_start_seq_get"</span>);</div><div class="line"> <span class="keywordflow">while</span>((ret = <a class="code" href="group__krb5__keytab.html#gac40140c41333a86d3c40426f50b4e1b0">krb5_kt_next_entry</a>(context, keytab, &entry, &cursor)) == 0){</div><div class="line"> <a class="code" href="group__krb5__principal.html#gaac881051ed59fe0dcd08cee62280b332">krb5_unparse_name</a>(context, entry.principal, &principal);</div><div class="line"> printf(<span class="stringliteral">"principal: %s\n"</span>, principal);</div><div class="line"> free(principal);</div><div class="line"> <a class="code" href="group__krb5__keytab.html#gac0774ab1407eaaaa0e5998478de246e2">krb5_kt_free_entry</a>(context, &entry);</div><div class="line"> }</div><div class="line"> ret = <a class="code" href="group__krb5__keytab.html#ga11289efb407d93a1f84d5c64731a4bd1">krb5_kt_end_seq_get</a>(context, keytab, &cursor);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">"krb5_kt_end_seq_get"</span>);</div><div class="line"> ret = <a class="code" href="group__krb5__keytab.html#gab67f5ae0a7c4b87d193218b842cad590">krb5_kt_close</a>(context, keytab);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <a class="code" href="group__krb5__error.html#gad75c268bcf26225ee8d4a39c178131a1">krb5_err</a>(context, 1, ret, <span class="stringliteral">"krb5_kt_close"</span>);</div><div class="line"> <a class="code" href="group__krb5.html#gae51d83f5d5f589883f1cd10887892777">krb5_free_context</a>(context);</div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div></div><!-- fragment --> </div></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/krb5_principal_intro.html b/doc/doxyout/krb5/html/krb5_principal_intro.html index cfb061e955ed..57212fde7e72 100644 --- a/doc/doxyout/krb5/html/krb5_principal_intro.html +++ b/doc/doxyout/krb5/html/krb5_principal_intro.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: The principal handing functions.</title> +<title>The principal handing functions.</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,25 +8,27 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">The principal handing functions. </div> </div> +</div><!--header--> <div class="contents"> -<h1><a class="anchor" name="krb5_principal_intro">The principal handing functions. </a></h1>A Kerberos principal is a email address looking string that contains to parts separeted by a @. The later part is the kerbero realm the principal belongs to and the former is a list of 0 or more components. For example <div class="fragment"><pre class="fragment"> -lha@SU.SE +<div class="textblock"><p>A Kerberos principal is a email address looking string that contains two parts separated by . The second part is the kerberos realm the principal belongs to and the first is a list of 0 or more components. For example </p><pre class="fragment">lha@SU.SE host/hummel.it.su.se@SU.SE host/admin@H5L.ORG -</pre></div><p> -See the library functions here: <a class="el" href="group__krb5__principal.html">Heimdal Kerberos 5 principal functions</a> </div> +</pre><p>See the library functions here: <a class="el" href="group__krb5__principal.html">Heimdal Kerberos 5 principal functions</a> </p> +</div></div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/menu.js b/doc/doxyout/krb5/html/menu.js new file mode 100644 index 000000000000..97db4c239227 --- /dev/null +++ b/doc/doxyout/krb5/html/menu.js @@ -0,0 +1,26 @@ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+='<ul>'; + for (var i in data.children) { + result+='<li><a href="'+relPath+data.children[i].url+'">'+ + data.children[i].text+'</a>'+ + makeTree(data.children[i],relPath)+'</li>'; + } + result+='</ul>'; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>'); + } else { + $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>'); + } + } + $('#main-menu').smartmenus(); +} diff --git a/doc/doxyout/krb5/html/menudata.js b/doc/doxyout/krb5/html/menudata.js new file mode 100644 index 000000000000..079c07467895 --- /dev/null +++ b/doc/doxyout/krb5/html/menudata.js @@ -0,0 +1,6 @@ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Modules",url:"modules.html"}, +{text:"Data Structures",url:"annotated.html",children:[ +{text:"Data Structures",url:"annotated.html"}]}]} diff --git a/doc/doxyout/krb5/html/modules.html b/doc/doxyout/krb5/html/modules.html index 74aa0ccfe6cb..39d06da08ea8 100644 --- a/doc/doxyout/krb5/html/modules.html +++ b/doc/doxyout/krb5/html/modules.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Module Index</title> +<title>Modules</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,38 +8,43 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li class="current"><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Modules</div> </div> +</div><!--header--> <div class="contents"> -<h1>Modules</h1>Here is a list of all modules:<ul> -<li><a class="el" href="group__krb5.html">Heimdal Kerberos 5 library</a> -<li><a class="el" href="group__krb5__address.html">Heimdal Kerberos 5 address functions</a> -<li><a class="el" href="group__krb5__principal.html">Heimdal Kerberos 5 principal functions</a> -<li><a class="el" href="group__krb5__ccache.html">Heimdal Kerberos 5 credential cache functions</a> -<li><a class="el" href="group__krb5__crypto.html">Heimdal Kerberos 5 cryptography functions</a> -<li><a class="el" href="group__krb5__credential.html">Heimdal Kerberos 5 credential handing functions</a> -<li><a class="el" href="group__krb5__deprecated.html">Heimdal Kerberos 5 deprecated functions</a> -<li><a class="el" href="group__krb5__digest.html">Heimdal Kerberos 5 digest service</a> -<li><a class="el" href="group__krb5__error.html">Heimdal Kerberos 5 error reporting functions</a> -<li><a class="el" href="group__krb5__keytab.html">Heimdal Kerberos 5 keytab handling functions</a> -<li><a class="el" href="group__krb5__ticket.html">Heimdal Kerberos 5 ticket functions</a> -<li><a class="el" href="group__krb5__pac.html">Heimdal Kerberos 5 PAC handling functions</a> -<li><a class="el" href="group__krb5__v4compat.html">Heimdal Kerberos 4 compatiblity functions</a> -<li><a class="el" href="group__krb5__storage.html">Heimdal Kerberos 5 storage functions</a> -<li><a class="el" href="group__krb5__support.html">Heimdal Kerberos 5 support functions</a> -<li><a class="el" href="group__krb5__auth.html">Heimdal Kerberos 5 authentication functions</a> -</ul> -</div> +<div class="textblock">Here is a list of all modules:</div><div class="directory"> +<table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5.html" target="_self">Heimdal Kerberos 5 library</a></td><td class="desc"></td></tr> +<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__address.html" target="_self">Heimdal Kerberos 5 address functions</a></td><td class="desc"></td></tr> +<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__principal.html" target="_self">Heimdal Kerberos 5 principal functions</a></td><td class="desc"></td></tr> +<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__ccache.html" target="_self">Heimdal Kerberos 5 credential cache functions</a></td><td class="desc"></td></tr> +<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__crypto.html" target="_self">Heimdal Kerberos 5 cryptography functions</a></td><td class="desc"></td></tr> +<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__credential.html" target="_self">Heimdal Kerberos 5 credential handing functions</a></td><td class="desc"></td></tr> +<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__deprecated.html" target="_self">Heimdal Kerberos 5 deprecated functions</a></td><td class="desc"></td></tr> +<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__digest.html" target="_self">Heimdal Kerberos 5 digest service</a></td><td class="desc"></td></tr> +<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__error.html" target="_self">Heimdal Kerberos 5 error reporting functions</a></td><td class="desc"></td></tr> +<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__keytab.html" target="_self">Heimdal Kerberos 5 keytab handling functions</a></td><td class="desc"></td></tr> +<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__ticket.html" target="_self">Heimdal Kerberos 5 ticket functions</a></td><td class="desc"></td></tr> +<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__pac.html" target="_self">Heimdal Kerberos 5 PAC handling functions</a></td><td class="desc"></td></tr> +<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__v4compat.html" target="_self">Heimdal Kerberos 4 compatiblity functions</a></td><td class="desc"></td></tr> +<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__storage.html" target="_self">Heimdal Kerberos 5 storage functions</a></td><td class="desc"></td></tr> +<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__support.html" target="_self">Heimdal Kerberos 5 support functions</a></td><td class="desc"></td></tr> +<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__krb5__auth.html" target="_self">Heimdal Kerberos 5 authentication functions</a></td><td class="desc"></td></tr> +</table> +</div><!-- directory --> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/nav_f.png b/doc/doxyout/krb5/html/nav_f.png Binary files differnew file mode 100644 index 000000000000..72a58a529ed3 --- /dev/null +++ b/doc/doxyout/krb5/html/nav_f.png diff --git a/doc/doxyout/krb5/html/nav_g.png b/doc/doxyout/krb5/html/nav_g.png Binary files differnew file mode 100644 index 000000000000..2093a237a94f --- /dev/null +++ b/doc/doxyout/krb5/html/nav_g.png diff --git a/doc/doxyout/krb5/html/nav_h.png b/doc/doxyout/krb5/html/nav_h.png Binary files differnew file mode 100644 index 000000000000..33389b101d9c --- /dev/null +++ b/doc/doxyout/krb5/html/nav_h.png diff --git a/doc/doxyout/krb5/html/open.png b/doc/doxyout/krb5/html/open.png Binary files differnew file mode 100644 index 000000000000..30f75c7efe2d --- /dev/null +++ b/doc/doxyout/krb5/html/open.png diff --git a/doc/doxyout/krb5/html/pages.html b/doc/doxyout/krb5/html/pages.html index 1ac91a45b4a3..1104d68b0708 100644 --- a/doc/doxyout/krb5/html/pages.html +++ b/doc/doxyout/krb5/html/pages.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: Page Index</title> +<title>Related Pages</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,34 +8,33 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">Related Pages</div> </div> +</div><!--header--> <div class="contents"> -<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul> -<li><a class="el" href="krb5_ccache_intro.html">The credential cache functions</a> - -<li><a class="el" href="krb5_introduction.html">Introduction to the Kerberos 5 API</a> - -<li><a class="el" href="krb5_fileformats.html">File formats</a> - -<li><a class="el" href="krb5_init_creds_intro.html">The initial credential handing functions</a> - -<li><a class="el" href="krb5_keytab_intro.html">The keytab handing functions</a> - -<li><a class="el" href="krb5_principal_intro.html">The principal handing functions.</a> - -</ul> -</div> +<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory"> +<table class="directory"> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="krb5_ccache_intro.html" target="_self">The credential cache functions</a></td><td class="desc"></td></tr> +<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="krb5_introduction.html" target="_self">Introduction to the Kerberos 5 API</a></td><td class="desc"></td></tr> +<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="krb5_fileformats.html" target="_self">File formats</a></td><td class="desc"></td></tr> +<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="krb5_init_creds_intro.html" target="_self">The initial credential handing functions</a></td><td class="desc"></td></tr> +<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="krb5_keytab_intro.html" target="_self">The keytab handing functions</a></td><td class="desc"></td></tr> +<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="krb5_principal_intro.html" target="_self">The principal handing functions.</a></td><td class="desc"></td></tr> +</table> +</div><!-- directory --> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:47 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/splitbar.png b/doc/doxyout/krb5/html/splitbar.png Binary files differnew file mode 100644 index 000000000000..fe895f2c5817 --- /dev/null +++ b/doc/doxyout/krb5/html/splitbar.png diff --git a/doc/doxyout/krb5/html/structkrb5__crypto__iov.html b/doc/doxyout/krb5/html/structkrb5__crypto__iov.html index baa22460392d..947339afc10d 100644 --- a/doc/doxyout/krb5/html/structkrb5__crypto__iov.html +++ b/doc/doxyout/krb5/html/structkrb5__crypto__iov.html @@ -1,6 +1,6 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> -<title>HeimdalKerberos5library: krb5_crypto_iov Struct Reference</title> +<title>krb5_crypto_iov Struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> @@ -8,33 +8,30 @@ <a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> </p> <!-- end of header marker --> -<!-- Generated by Doxygen 1.5.6 --> -<div class="navigation" id="top"> - <div class="tabs"> - <ul> - <li><a href="index.html"><span>Main Page</span></a></li> - <li><a href="pages.html"><span>Related Pages</span></a></li> - <li><a href="modules.html"><span>Modules</span></a></li> - <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> - <div class="tabs"> - <ul> - <li><a href="annotated.html"><span>Data Structures</span></a></li> - </ul> - </div> -</div> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">krb5_crypto_iov Struct Reference</div> </div> +</div><!--header--> <div class="contents"> -<h1>krb5_crypto_iov Struct Reference</h1><!-- doxytag: class="krb5_crypto_iov" --><code>#include <krb5.h></code> -<p> -<table border="0" cellpadding="0" cellspacing="0"> -<tr><td></td></tr> -</table> -<hr><a name="_details"></a><h2>Detailed Description</h2> -Semi private, not stable yet <hr>The documentation for this struct was generated from the following file:<ul> -<li>/Users/lha/src/heimdal/heimdal-release/heimdal-1.5.2/lib/krb5/krb5.h</ul> -</div> + +<p><code>#include <krb5.h></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Semi private, not stable yet </p> +</div><hr/>The documentation for this struct was generated from the following file:<ul> +<li>/Volumes/gitvol/viktor/heimdal/lib/krb5/krb5.h</li> +</ul> +</div><!-- contents --> <hr size="1"><address style="text-align: right;"><small> -Generated on Wed Jan 11 14:07:50 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> </body> </html> diff --git a/doc/doxyout/krb5/html/structkrb5plugin__an2ln__ftable__desc.html b/doc/doxyout/krb5/html/structkrb5plugin__an2ln__ftable__desc.html new file mode 100644 index 000000000000..4c3d3c2f1ec8 --- /dev/null +++ b/doc/doxyout/krb5/html/structkrb5plugin__an2ln__ftable__desc.html @@ -0,0 +1,61 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>krb5plugin_an2ln_ftable_desc Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<p> +<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> +</p> +<!-- end of header marker --> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">krb5plugin_an2ln_ftable_desc Struct Reference<div class="ingroups"><a class="el" href="group__krb5__support.html">Heimdal Kerberos 5 support functions</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Description of the krb5_aname_to_lname(3) plugin facility. + <a href="structkrb5plugin__an2ln__ftable__desc.html#details">More...</a></p> + +<p><code>#include <an2ln_plugin.h></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Description of the krb5_aname_to_lname(3) plugin facility. </p> +<p>The krb5_aname_to_lname(3) function is pluggable. The plugin is named KRB5_PLUGIN_AN2LN ("an2ln"), with a single minor version, KRB5_PLUGIN_AN2LN_VERSION_0 (0).</p> +<p>The plugin for krb5_aname_to_lname(3) consists of a data symbol referencing a structure of type krb5plugin_an2ln_ftable, with four fields:</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">init</td><td>Plugin initialization function (see krb5-plugin(7))</td></tr> + <tr><td class="paramname">minor_version</td><td>The plugin minor version number (0)</td></tr> + <tr><td class="paramname">fini</td><td>Plugin finalization function</td></tr> + <tr><td class="paramname">an2ln</td><td>Plugin aname_to_lname function</td></tr> + </table> + </dd> +</dl> +<p>The an2ln field is the plugin entry point that performs the traditional aname_to_lname operation however the plugin desires. It is invoked in no particular order relative to other an2ln plugins, but it has a 'rule' argument that indicates which plugin is intended to act on the rule. The plugin an2ln function must return KRB5_PLUGIN_NO_HANDLE if the rule is not applicable to it.</p> +<p>The plugin an2ln function has the following arguments, in this order:</p> +<ol type="1"> +<li>plug_ctx, the context value output by the plugin's init function</li> +<li>context, a krb5_context</li> +<li>rule, the aname_to_lname rule being evaluated (from krb5.conf(5))</li> +<li>aname, the krb5_principal to be mapped to an lname</li> +<li>set_res_f, a function the plugin must call to set its result</li> +<li>set_res_ctx, the first argument to set_res_f (the second is the result lname string) </li> +</ol> +</div><hr/>The documentation for this struct was generated from the following file:<ul> +<li>/Volumes/gitvol/viktor/heimdal/lib/krb5/an2ln_plugin.h</li> +</ul> +</div><!-- contents --> +<hr size="1"><address style="text-align: right;"><small> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> +</body> +</html> diff --git a/doc/doxyout/krb5/html/structkrb5plugin__db__ftable__desc.html b/doc/doxyout/krb5/html/structkrb5plugin__db__ftable__desc.html new file mode 100644 index 000000000000..5580e662a797 --- /dev/null +++ b/doc/doxyout/krb5/html/structkrb5plugin__db__ftable__desc.html @@ -0,0 +1,51 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>krb5plugin_db_ftable_desc Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<p> +<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> +</p> +<!-- end of header marker --> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">krb5plugin_db_ftable_desc Struct Reference<div class="ingroups"><a class="el" href="group__krb5__support.html">Heimdal Kerberos 5 support functions</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Description of the krb5 DB plugin facility. + <a href="structkrb5plugin__db__ftable__desc.html#details">More...</a></p> + +<p><code>#include <db_plugin.h></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Description of the krb5 DB plugin facility. </p> +<p>The krb5_aname_to_lname(3) function's DB rule is pluggable. The plugin is named KRB5_PLUGIN_DB ("krb5_db_plug"), with a single minor version, KRB5_PLUGIN_DB_VERSION_0 (0).</p> +<p>The plugin consists of a data symbol referencing a structure of type <a class="el" href="structkrb5plugin__db__ftable__desc.html" title="Description of the krb5 DB plugin facility. ">krb5plugin_db_ftable_desc</a>, with three fields:</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">init</td><td>Plugin initialization function (see krb5-plugin(7))</td></tr> + <tr><td class="paramname">minor_version</td><td>The plugin minor version number (0)</td></tr> + <tr><td class="paramname">fini</td><td>Plugin finalization function</td></tr> + </table> + </dd> +</dl> +<p>The init entry point is expected to call heim_db_register(). The fini entry point is expected to do nothing. </p> +</div><hr/>The documentation for this struct was generated from the following file:<ul> +<li>/Volumes/gitvol/viktor/heimdal/lib/krb5/db_plugin.h</li> +</ul> +</div><!-- contents --> +<hr size="1"><address style="text-align: right;"><small> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> +</body> +</html> diff --git a/doc/doxyout/krb5/html/structkrb5plugin__kuserok__ftable__desc.html b/doc/doxyout/krb5/html/structkrb5plugin__kuserok__ftable__desc.html new file mode 100644 index 000000000000..060c59632e31 --- /dev/null +++ b/doc/doxyout/krb5/html/structkrb5plugin__kuserok__ftable__desc.html @@ -0,0 +1,63 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>krb5plugin_kuserok_ftable_desc Struct Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<p> +<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> +</p> +<!-- end of header marker --> +<!-- Generated by Doxygen 1.8.13 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div class="header"> + <div class="headertitle"> +<div class="title">krb5plugin_kuserok_ftable_desc Struct Reference<div class="ingroups"><a class="el" href="group__krb5__support.html">Heimdal Kerberos 5 support functions</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Description of the krb5_kuserok(3) plugin facility. + <a href="structkrb5plugin__kuserok__ftable__desc.html#details">More...</a></p> + +<p><code>#include <kuserok_plugin.h></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Description of the krb5_kuserok(3) plugin facility. </p> +<p>The krb5_kuserok(3) function is pluggable. The plugin is named KRB5_PLUGIN_KUSEROK ("krb5_plugin_kuserok"), with a single minor version, KRB5_PLUGIN_KUSEROK_VERSION_0 (0).</p> +<p>The plugin for krb5_kuserok(3) consists of a data symbol referencing a structure of type krb5plugin_kuserok_ftable, with four fields:</p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">init</td><td>Plugin initialization function (see krb5-plugin(7))</td></tr> + <tr><td class="paramname">minor_version</td><td>The plugin minor version number (0)</td></tr> + <tr><td class="paramname">fini</td><td>Plugin finalization function</td></tr> + <tr><td class="paramname">kuserok</td><td>Plugin kuserok function</td></tr> + </table> + </dd> +</dl> +<p>The kuserok field is the plugin entry point that performs the traditional kuserok operation however the plugin desires. It is invoked in no particular order relative to other kuserok plugins, but it has a 'rule' argument that indicates which plugin is intended to act on the rule. The plugin kuserok function must return KRB5_PLUGIN_NO_HANDLE if the rule is not applicable to it.</p> +<p>The plugin kuserok function has the following arguments, in this order:</p> +<ol type="1"> +<li>plug_ctx, the context value output by the plugin's init function</li> +<li>context, a krb5_context</li> +<li>rule, the kuserok rule being evaluated (from krb5.conf(5))</li> +<li>flags</li> +<li>k5login_dir, configured location of k5login per-user files if any</li> +<li>luser, name of the local user account to which principal is attempting to access.</li> +<li>principal, the krb5_principal trying to access the luser account</li> +<li>result, a krb5_boolean pointer where the plugin will output its result </li> +</ol> +</div><hr/>The documentation for this struct was generated from the following file:<ul> +<li>/Volumes/gitvol/viktor/heimdal/lib/krb5/kuserok_plugin.h</li> +</ul> +</div><!-- contents --> +<hr size="1"><address style="text-align: right;"><small> +Generated on Fri Dec 8 2017 03:48:59 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address> +</body> +</html> diff --git a/doc/doxyout/krb5/html/sync_off.png b/doc/doxyout/krb5/html/sync_off.png Binary files differnew file mode 100644 index 000000000000..3b443fc62892 --- /dev/null +++ b/doc/doxyout/krb5/html/sync_off.png diff --git a/doc/doxyout/krb5/html/sync_on.png b/doc/doxyout/krb5/html/sync_on.png Binary files differnew file mode 100644 index 000000000000..e08320fb64e6 --- /dev/null +++ b/doc/doxyout/krb5/html/sync_on.png diff --git a/doc/doxyout/krb5/html/tab_a.png b/doc/doxyout/krb5/html/tab_a.png Binary files differnew file mode 100644 index 000000000000..3b725c41c5a5 --- /dev/null +++ b/doc/doxyout/krb5/html/tab_a.png diff --git a/doc/doxyout/krb5/html/tab_b.gif b/doc/doxyout/krb5/html/tab_b.gif Binary files differdeleted file mode 100644 index 0d623483ffdf..000000000000 --- a/doc/doxyout/krb5/html/tab_b.gif +++ /dev/null diff --git a/doc/doxyout/krb5/html/tab_b.png b/doc/doxyout/krb5/html/tab_b.png Binary files differnew file mode 100644 index 000000000000..e2b4a8638cb3 --- /dev/null +++ b/doc/doxyout/krb5/html/tab_b.png diff --git a/doc/doxyout/krb5/html/tab_h.png b/doc/doxyout/krb5/html/tab_h.png Binary files differnew file mode 100644 index 000000000000..fd5cb705488e --- /dev/null +++ b/doc/doxyout/krb5/html/tab_h.png diff --git a/doc/doxyout/krb5/html/tab_l.gif b/doc/doxyout/krb5/html/tab_l.gif Binary files differdeleted file mode 100644 index 9b1e6337c929..000000000000 --- a/doc/doxyout/krb5/html/tab_l.gif +++ /dev/null diff --git a/doc/doxyout/krb5/html/tab_r.gif b/doc/doxyout/krb5/html/tab_r.gif Binary files differdeleted file mode 100644 index ce9dd9f533cb..000000000000 --- a/doc/doxyout/krb5/html/tab_r.gif +++ /dev/null diff --git a/doc/doxyout/krb5/html/tab_s.png b/doc/doxyout/krb5/html/tab_s.png Binary files differnew file mode 100644 index 000000000000..ab478c95b673 --- /dev/null +++ b/doc/doxyout/krb5/html/tab_s.png diff --git a/doc/doxyout/krb5/html/tabs.css b/doc/doxyout/krb5/html/tabs.css index 95f00a91da30..a28614b8e3d0 100644 --- a/doc/doxyout/krb5/html/tabs.css +++ b/doc/doxyout/krb5/html/tabs.css @@ -1,102 +1 @@ -/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ - -DIV.tabs -{ - float : left; - width : 100%; - background : url("tab_b.gif") repeat-x bottom; - margin-bottom : 4px; -} - -DIV.tabs UL -{ - margin : 0px; - padding-left : 10px; - list-style : none; -} - -DIV.tabs LI, DIV.tabs FORM -{ - display : inline; - margin : 0px; - padding : 0px; -} - -DIV.tabs FORM -{ - float : right; -} - -DIV.tabs A -{ - float : left; - background : url("tab_r.gif") no-repeat right top; - border-bottom : 1px solid #84B0C7; - font-size : x-small; - font-weight : bold; - text-decoration : none; -} - -DIV.tabs A:hover -{ - background-position: 100% -150px; -} - -DIV.tabs A:link, DIV.tabs A:visited, -DIV.tabs A:active, DIV.tabs A:hover -{ - color: #1A419D; -} - -DIV.tabs SPAN -{ - float : left; - display : block; - background : url("tab_l.gif") no-repeat left top; - padding : 5px 9px; - white-space : nowrap; -} - -DIV.tabs INPUT -{ - float : right; - display : inline; - font-size : 1em; -} - -DIV.tabs TD -{ - font-size : x-small; - font-weight : bold; - text-decoration : none; -} - - - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -DIV.tabs SPAN {float : none;} -/* End IE5-Mac hack */ - -DIV.tabs A:hover SPAN -{ - background-position: 0% -150px; -} - -DIV.tabs LI.current A -{ - background-position: 100% -150px; - border-width : 0px; -} - -DIV.tabs LI.current SPAN -{ - background-position: 0% -150px; - padding-bottom : 6px; -} - -DIV.navpath -{ - background : none; - border : none; - border-bottom : 1px solid #84B0C7; -} +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#doc-content{overflow:auto;display:block;padding:0;margin:0;-webkit-overflow-scrolling:touch}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file |