diff options
author | Stanislav Sedov <stas@FreeBSD.org> | 2011-10-05 07:23:29 +0000 |
---|---|---|
committer | Stanislav Sedov <stas@FreeBSD.org> | 2011-10-05 07:23:29 +0000 |
commit | 7c450da7b446c557e05f34a100b597800967d987 (patch) | |
tree | 57a48e7e9b592f2d5b713e80a4455820625c2b7b /doc/doxyout/ntlm | |
parent | b4e3a10e9339a8400197298021d6ca9b8e3aa039 (diff) |
Notes
Diffstat (limited to 'doc/doxyout/ntlm')
67 files changed, 3665 insertions, 0 deletions
diff --git a/doc/doxyout/ntlm/html/annotated.html b/doc/doxyout/ntlm/html/annotated.html new file mode 100644 index 0000000000000..d6a03542ff9f3 --- /dev/null +++ b/doc/doxyout/ntlm/html/annotated.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>Heimdalntlmlibrary: Data Structures</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.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="modules.html"><span>Modules</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>Data Structures</h1>Here are the data structures with brief descriptions:<table> + <tr><td class="indexkey"><a class="el" href="structntlm__buf.html">ntlm_buf</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="structntlm__type1.html">ntlm_type1</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="structntlm__type2.html">ntlm_type2</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="structntlm__type3.html">ntlm_type3</a></td><td class="indexvalue"></td></tr> +</table> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/doxygen.css b/doc/doxyout/ntlm/html/doxygen.css new file mode 100644 index 0000000000000..22c484301dd16 --- /dev/null +++ b/doc/doxyout/ntlm/html/doxygen.css @@ -0,0 +1,473 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { + font-weight: bold +} +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +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; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { + text-decoration: none; + background-color: #6666cc; + color: #ffffff +} +A.el { + text-decoration: none; + font-weight: bold +} +A.elRef { + font-weight: bold +} +A.code:link { + text-decoration: none; + font-weight: normal; + color: #0000FF +} +A.code:visited { + text-decoration: none; + font-weight: normal; + color: #0000FF +} +A.codeRef:link { + font-weight: normal; + color: #0000FF +} +A.codeRef:visited { + font-weight: normal; + color: #0000FF +} +A:hover { + text-decoration: none; + background-color: #f2f2ff +} +DL.el { + margin-left: -1cm +} +.fragment { + font-family: monospace, fixed; + font-size: 95%; +} +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; +} +DIV.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { + margin-left: 16px; + font-style: italic; + font-size: 90% +} +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + 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%; + 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%; +} +.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%; +} +.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%; +} +.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%; +} +.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%; +} +.search { + color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { + font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { + background: #e8eef2; + font-weight: bold; +} +HR { + height: 1px; + border: none; + border-top: 1px solid black; +} + +/* Style for detailed member documentation */ +.memtemplate { + font-size: 80%; + color: #606060; + font-weight: normal; + margin-left: 3px; +} +.memnav { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +.memitem { + padding: 4px; + background-color: #eef3f5; + border-width: 1px; + border-style: solid; + border-color: #dedeee; + -moz-border-radius: 8px 8px 8px 8px; +} +.memname { + white-space: nowrap; + font-weight: bold; +} +.memdoc{ + padding-left: 10px; +} +.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; +} +.paramkey { + text-align: right; +} +.paramtype { + white-space: nowrap; +} +.paramname { + color: #602020; + font-style: italic; + white-space: nowrap; +} +/* End Styling for detailed member documentation */ + +/* for the tree view */ +.ftvtree { + font-family: sans-serif; + margin:0.5em; +} +/* these are for tree view when used as main index */ +.directory { + font-size: 9pt; + font-weight: bold; +} +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* 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. */ + +/* .directory h3.swap { */ +/* height: 61px; */ +/* background-repeat: no-repeat; */ +/* background-image: url("yourimage.gif"); */ +/* } */ +/* .directory h3.swap span { */ +/* display: none; */ +/* } */ + +.directory > h3 { + margin-top: 0; +} +.directory p { + margin: 0px; + white-space: nowrap; +} +.directory div { + display: none; + margin: 0px; +} +.directory img { + vertical-align: -30%; +} +/* these are for tree view when not used as main index */ +.directory-alt { + font-size: 100%; + font-weight: bold; +} +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} +.directory-alt > h3 { + margin-top: 0; +} +.directory-alt p { + margin: 0px; + white-space: nowrap; +} +.directory-alt div { + display: none; + margin: 0px; +} +.directory-alt img { + vertical-align: -30%; +} + diff --git a/doc/doxyout/ntlm/html/doxygen.png b/doc/doxyout/ntlm/html/doxygen.png Binary files differnew file mode 100644 index 0000000000000..f0a274bbaffdd --- /dev/null +++ b/doc/doxyout/ntlm/html/doxygen.png diff --git a/doc/doxyout/ntlm/html/examples.html b/doc/doxyout/ntlm/html/examples.html new file mode 100644 index 0000000000000..4382552adbd04 --- /dev/null +++ b/doc/doxyout/ntlm/html/examples.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: Examples</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.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="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>Examples</h1>Here is a list of all examples:<ul> +<li><a class="el" href="test__ntlm_8c-example.html">test_ntlm.c</a> +</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/functions.html b/doc/doxyout/ntlm/html/functions.html new file mode 100644 index 0000000000000..89a84285c4680 --- /dev/null +++ b/doc/doxyout/ntlm/html/functions.html @@ -0,0 +1,78 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: Data Fields</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.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="modules.html"><span>Modules</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +Here is a list of all documented struct and union fields with links to the struct/union documentation for each field: +<p> +<ul> +<li>challenge +: <a class="el" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">ntlm_type2</a> +<li>context +: <a class="el" href="structntlm__type2.html#15b0b79e029be5a33d1e3813681024ae">ntlm_type2</a> +<li>data +: <a class="el" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">ntlm_buf</a> +<li>domain +: <a class="el" href="structntlm__type1.html#7d99f4da91742cd5bd94f1af1713c075">ntlm_type1</a> +<li>flags +: <a class="el" href="structntlm__type1.html#e2f4bbf968f7dde8f1cd2a71396a06fb">ntlm_type1</a> +, <a class="el" href="structntlm__type3.html#65347e68a22b66fc65c299f2cda2cf2d">ntlm_type3</a> +, <a class="el" href="structntlm__type2.html#7f52e5d5e1e31e369d88d1cfb738a9ff">ntlm_type2</a> +<li>hostname +: <a class="el" href="structntlm__type1.html#63e2c0e1d31b93802670e677b89ae7e8">ntlm_type1</a> +<li>length +: <a class="el" href="structntlm__buf.html#1ca1856fd5b4ac0197320d7723c73bd0">ntlm_buf</a> +<li>lm +: <a class="el" href="structntlm__type3.html#879e24340a26a3b8099d57767fbd0d30">ntlm_type3</a> +<li>ntlm +: <a class="el" href="structntlm__type3.html#7b496ad8682fbd4a5fe06c32da7621c7">ntlm_type3</a> +<li>os +: <a class="el" href="structntlm__type1.html#3f0a2c98b021a211c030b09b37d35fa3">ntlm_type1</a> +, <a class="el" href="structntlm__type3.html#f95c920ddc2d3cccfc82b3c54cd7bba2">ntlm_type3</a> +, <a class="el" href="structntlm__type2.html#16a0efdad1ba0d057a9c650e849b9321">ntlm_type2</a> +<li>sessionkey +: <a class="el" href="structntlm__type3.html#f94bd38360086ec7f8aa4f18966d0a12">ntlm_type3</a> +<li>targetinfo +: <a class="el" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">ntlm_type2</a> +<li>targetname +: <a class="el" href="structntlm__type3.html#89d7688f04cb1362ffa5a81759d28716">ntlm_type3</a> +, <a class="el" href="structntlm__type2.html#7ed7a5246d77d4358e6fa459c6263a10">ntlm_type2</a> +<li>username +: <a class="el" href="structntlm__type3.html#c6e99229102b238c4aad9b93fabe95b7">ntlm_type3</a> +<li>ws +: <a class="el" href="structntlm__type3.html#ffbe974b5c93e47e2c8bf6f5a767c82d">ntlm_type3</a> +</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/functions_vars.html b/doc/doxyout/ntlm/html/functions_vars.html new file mode 100644 index 0000000000000..7452b716fb82a --- /dev/null +++ b/doc/doxyout/ntlm/html/functions_vars.html @@ -0,0 +1,78 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: Data Fields - Variables</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.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="modules.html"><span>Modules</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li> + </ul> + </div> +</div> +<div class="contents"> + +<p> +<ul> +<li>challenge +: <a class="el" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">ntlm_type2</a> +<li>context +: <a class="el" href="structntlm__type2.html#15b0b79e029be5a33d1e3813681024ae">ntlm_type2</a> +<li>data +: <a class="el" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">ntlm_buf</a> +<li>domain +: <a class="el" href="structntlm__type1.html#7d99f4da91742cd5bd94f1af1713c075">ntlm_type1</a> +<li>flags +: <a class="el" href="structntlm__type1.html#e2f4bbf968f7dde8f1cd2a71396a06fb">ntlm_type1</a> +, <a class="el" href="structntlm__type3.html#65347e68a22b66fc65c299f2cda2cf2d">ntlm_type3</a> +, <a class="el" href="structntlm__type2.html#7f52e5d5e1e31e369d88d1cfb738a9ff">ntlm_type2</a> +<li>hostname +: <a class="el" href="structntlm__type1.html#63e2c0e1d31b93802670e677b89ae7e8">ntlm_type1</a> +<li>length +: <a class="el" href="structntlm__buf.html#1ca1856fd5b4ac0197320d7723c73bd0">ntlm_buf</a> +<li>lm +: <a class="el" href="structntlm__type3.html#879e24340a26a3b8099d57767fbd0d30">ntlm_type3</a> +<li>ntlm +: <a class="el" href="structntlm__type3.html#7b496ad8682fbd4a5fe06c32da7621c7">ntlm_type3</a> +<li>os +: <a class="el" href="structntlm__type1.html#3f0a2c98b021a211c030b09b37d35fa3">ntlm_type1</a> +, <a class="el" href="structntlm__type3.html#f95c920ddc2d3cccfc82b3c54cd7bba2">ntlm_type3</a> +, <a class="el" href="structntlm__type2.html#16a0efdad1ba0d057a9c650e849b9321">ntlm_type2</a> +<li>sessionkey +: <a class="el" href="structntlm__type3.html#f94bd38360086ec7f8aa4f18966d0a12">ntlm_type3</a> +<li>targetinfo +: <a class="el" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">ntlm_type2</a> +<li>targetname +: <a class="el" href="structntlm__type3.html#89d7688f04cb1362ffa5a81759d28716">ntlm_type3</a> +, <a class="el" href="structntlm__type2.html#7ed7a5246d77d4358e6fa459c6263a10">ntlm_type2</a> +<li>username +: <a class="el" href="structntlm__type3.html#c6e99229102b238c4aad9b93fabe95b7">ntlm_type3</a> +<li>ws +: <a class="el" href="structntlm__type3.html#ffbe974b5c93e47e2c8bf6f5a767c82d">ntlm_type3</a> +</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/graph_legend.dot b/doc/doxyout/ntlm/html/graph_legend.dot new file mode 100644 index 0000000000000..4df0f1aa4864c --- /dev/null +++ b/doc/doxyout/ntlm/html/graph_legend.dot @@ -0,0 +1,22 @@ +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/ntlm/html/graph_legend.html b/doc/doxyout/ntlm/html/graph_legend.html new file mode 100644 index 0000000000000..d4b7360c24831 --- /dev/null +++ b/doc/doxyout/ntlm/html/graph_legend.html @@ -0,0 +1,89 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: Graph Legend</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.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="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div> +<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"> +</div> +</center> <p> +The boxes in the above graph have the following meaning: <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> +<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> +<li> +A dark blue arrow is used to visualize a public inheritance relation between two classes. </li> +<li> +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> +<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> +</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/graph_legend.png b/doc/doxyout/ntlm/html/graph_legend.png Binary files differnew file mode 100644 index 0000000000000..9b96937bfd5f7 --- /dev/null +++ b/doc/doxyout/ntlm/html/graph_legend.png diff --git a/doc/doxyout/ntlm/html/group__ntlm__core.html b/doc/doxyout/ntlm/html/group__ntlm__core.html new file mode 100644 index 0000000000000..99a1449ad93a8 --- /dev/null +++ b/doc/doxyout/ntlm/html/group__ntlm__core.html @@ -0,0 +1,936 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: Heimdal NTLM library</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.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="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>Heimdal NTLM 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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf</a> (struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *p)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g704ec8c5dba05ef57186d242ff165565">heim_ntlm_free_targetinfo</a> (struct ntlm_targetinfo *ti)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g2881747fad2ac2979a28d3bd050b0fa8">heim_ntlm_encode_targetinfo</a> (const struct ntlm_targetinfo *ti, int ucs2, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *data)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#gf1d4de2faec8b1c1070a55fd2e6e630f">heim_ntlm_decode_targetinfo</a> (const struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *data, int ucs2, struct ntlm_targetinfo *ti)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g76fa6caf3f539e24008e31613f5eb663">heim_ntlm_free_type1</a> (struct <a class="el" href="structntlm__type1.html">ntlm_type1</a> *data)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g0107727234287ac61a8801b0faff9dff">heim_ntlm_encode_type1</a> (const struct <a class="el" href="structntlm__type1.html">ntlm_type1</a> *type1, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *data)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g8fde84c86f1c7c9f730f7fb4acedcb43">heim_ntlm_free_type2</a> (struct <a class="el" href="structntlm__type2.html">ntlm_type2</a> *data)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g2860c6f6d497255eb433adc8cacc49dd">heim_ntlm_encode_type2</a> (const struct <a class="el" href="structntlm__type2.html">ntlm_type2</a> *type2, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *data)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#gc4e6d01e5247b8540d41ccbbf1031319">heim_ntlm_free_type3</a> (struct <a class="el" href="structntlm__type3.html">ntlm_type3</a> *data)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g9cf026be6e602c22d62aa9e47e85c7c2">heim_ntlm_encode_type3</a> (const struct <a class="el" href="structntlm__type3.html">ntlm_type3</a> *type3, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *data)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g254ee0a4d5a2594833e36697ad575d7e">heim_ntlm_nt_key</a> (const char *password, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *key)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#ge3b634802ef94233a175291abd2ea14d">heim_ntlm_calculate_ntlm1</a> (void *key, size_t len, unsigned char challenge[8], struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *answer)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#gd09935f9ccecb9fb2917d68fb82ec3d6">heim_ntlm_build_ntlm1_master</a> (void *key, size_t len, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *session, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *master)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#gd189a009fcac6cba44678b6a0aef81e0">heim_ntlm_build_ntlm2_master</a> (void *key, size_t len, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *blob, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *session, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *master)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g6ef0049af05a83d73b7a3d962e679c2a">heim_ntlm_keyex_unwrap</a> (struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *baseKey, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *encryptedSession, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *session)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g4c4c32652527acead6848052615ae284">heim_ntlm_ntlmv2_key</a> (const void *key, size_t len, const char *username, const char *target, unsigned char ntlmv2[16])</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g9bc09732da698d0f2d8c9d41e60d764d">heim_ntlm_calculate_lm2</a> (const void *key, size_t len, const char *username, const char *target, const unsigned char serverchallenge[8], unsigned char ntlmv2[16], struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *answer)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#ga8f07fb71a0d5f095cde3fb9fb40d10c">heim_ntlm_calculate_ntlm2</a> (const void *key, size_t len, const char *username, const char *target, const unsigned char serverchallenge[8], const struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *infotarget, unsigned char ntlmv2[16], struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *answer)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__ntlm__core.html#g3b3d6a5187cab6bfe656afa7a8273ca6">heim_ntlm_verify_ntlm2</a> (const void *key, size_t len, const char *username, const char *target, time_t now, const unsigned char serverchallenge[8], const struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *answer, struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> *infotarget, unsigned char ntlmv2[16])</td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +The NTLM core functions implement the string2key generation function, message encode and decode function, and the hash function functions. <hr><h2>Function Documentation</h2> +<a class="anchor" name="gd09935f9ccecb9fb2917d68fb82ec3d6"></a><!-- doxytag: member="ntlm.c::heim_ntlm_build_ntlm1_master" ref="gd09935f9ccecb9fb2917d68fb82ec3d6" args="(void *key, size_t len, struct ntlm_buf *session, struct ntlm_buf *master)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_build_ntlm1_master </td> + <td>(</td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>key</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 class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>session</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>master</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Generates an NTLMv1 session random with assosited session master 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>key</em> </td><td>the ntlm v1 key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>session</em> </td><td>generated session nonce, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>master</em> </td><td>calculated session master key, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="gd189a009fcac6cba44678b6a0aef81e0"></a><!-- doxytag: member="ntlm.c::heim_ntlm_build_ntlm2_master" ref="gd189a009fcac6cba44678b6a0aef81e0" args="(void *key, size_t len, struct ntlm_buf *blob, struct ntlm_buf *session, struct ntlm_buf *master)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_build_ntlm2_master </td> + <td>(</td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>key</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 class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>blob</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>session</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>master</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Generates an NTLMv2 session random with associated session master 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>key</em> </td><td>the NTLMv2 key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>blob</em> </td><td>the NTLMv2 "blob" </td></tr> + <tr><td valign="top"></td><td valign="top"><em>session</em> </td><td>generated session nonce, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>master</em> </td><td>calculated session master key, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g9bc09732da698d0f2d8c9d41e60d764d"></a><!-- doxytag: member="ntlm.c::heim_ntlm_calculate_lm2" ref="g9bc09732da698d0f2d8c9d41e60d764d" args="(const void *key, size_t len, const char *username, const char *target, const unsigned char serverchallenge[8], unsigned char ntlmv2[16], struct ntlm_buf *answer)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_calculate_lm2 </td> + <td>(</td> + <td class="paramtype">const void * </td> + <td class="paramname"> <em>key</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 class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>username</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>target</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const unsigned char </td> + <td class="paramname"> <em>serverchallenge</em>[8], </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned char </td> + <td class="paramname"> <em>ntlmv2</em>[16], </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>answer</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Calculate LMv2 response<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the ntlm key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>username</em> </td><td>name of the user, as sent in the message, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the name of the target, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>serverchallenge</em> </td><td>challenge as sent by the server in the type2 message. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>ntlmv2</em> </td><td>calculated session key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>answer</em> </td><td>ntlm response answer, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="ge3b634802ef94233a175291abd2ea14d"></a><!-- doxytag: member="ntlm.c::heim_ntlm_calculate_ntlm1" ref="ge3b634802ef94233a175291abd2ea14d" args="(void *key, size_t len, unsigned char challenge[8], struct ntlm_buf *answer)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_calculate_ntlm1 </td> + <td>(</td> + <td class="paramtype">void * </td> + <td class="paramname"> <em>key</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 class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned char </td> + <td class="paramname"> <em>challenge</em>[8], </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>answer</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Calculate NTLMv1 response hash<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the ntlm v1 key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>challenge</em> </td><td>sent by the server </td></tr> + <tr><td valign="top"></td><td valign="top"><em>answer</em> </td><td>calculated answer, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="ga8f07fb71a0d5f095cde3fb9fb40d10c"></a><!-- doxytag: member="ntlm.c::heim_ntlm_calculate_ntlm2" ref="ga8f07fb71a0d5f095cde3fb9fb40d10c" args="(const void *key, size_t len, const char *username, const char *target, const unsigned char serverchallenge[8], const struct ntlm_buf *infotarget, unsigned char ntlmv2[16], struct ntlm_buf *answer)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_calculate_ntlm2 </td> + <td>(</td> + <td class="paramtype">const void * </td> + <td class="paramname"> <em>key</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 class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>username</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>target</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const unsigned char </td> + <td class="paramname"> <em>serverchallenge</em>[8], </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>infotarget</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned char </td> + <td class="paramname"> <em>ntlmv2</em>[16], </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>answer</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Calculate NTLMv2 response<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the ntlm key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>username</em> </td><td>name of the user, as sent in the message, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the name of the target, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>serverchallenge</em> </td><td>challenge as sent by the server in the type2 message. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>infotarget</em> </td><td>infotarget as sent by the server in the type2 message. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>ntlmv2</em> </td><td>calculated session key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>answer</em> </td><td>ntlm response answer, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="gf1d4de2faec8b1c1070a55fd2e6e630f"></a><!-- doxytag: member="ntlm.c::heim_ntlm_decode_targetinfo" ref="gf1d4de2faec8b1c1070a55fd2e6e630f" args="(const struct ntlm_buf *data, int ucs2, struct ntlm_targetinfo *ti)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_decode_targetinfo </td> + <td>(</td> + <td class="paramtype">const struct <a class="el" href="structntlm__buf.html">ntlm_buf</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>ucs2</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct ntlm_targetinfo * </td> + <td class="paramname"> <em>ti</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Decodes an NTLM targetinfo 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>data</em> </td><td>input data buffer with the encode NTLM targetinfo message </td></tr> + <tr><td valign="top"></td><td valign="top"><em>ucs2</em> </td><td>if the strings should be encoded with ucs2 (selected by flag in message). </td></tr> + <tr><td valign="top"></td><td valign="top"><em>ti</em> </td><td>the decoded target info, should be freed with <a class="el" href="group__ntlm__core.html#g704ec8c5dba05ef57186d242ff165565">heim_ntlm_free_targetinfo()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g2881747fad2ac2979a28d3bd050b0fa8"></a><!-- doxytag: member="ntlm.c::heim_ntlm_encode_targetinfo" ref="g2881747fad2ac2979a28d3bd050b0fa8" args="(const struct ntlm_targetinfo *ti, int ucs2, struct ntlm_buf *data)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_encode_targetinfo </td> + <td>(</td> + <td class="paramtype">const struct ntlm_targetinfo * </td> + <td class="paramname"> <em>ti</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>ucs2</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>data</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Encodes a ntlm_targetinfo 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>ti</em> </td><td>the ntlm_targetinfo message to encode. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>ucs2</em> </td><td>ignored </td></tr> + <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>is the return buffer with the encoded message, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g0107727234287ac61a8801b0faff9dff"></a><!-- doxytag: member="ntlm.c::heim_ntlm_encode_type1" ref="g0107727234287ac61a8801b0faff9dff" args="(const struct ntlm_type1 *type1, struct ntlm_buf *data)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_encode_type1 </td> + <td>(</td> + <td class="paramtype">const struct <a class="el" href="structntlm__type1.html">ntlm_type1</a> * </td> + <td class="paramname"> <em>type1</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>data</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Encodes an <a class="el" href="structntlm__type1.html">ntlm_type1</a> 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>type1</em> </td><td>the <a class="el" href="structntlm__type1.html">ntlm_type1</a> message to encode. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>is the return buffer with the encoded message, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g2860c6f6d497255eb433adc8cacc49dd"></a><!-- doxytag: member="ntlm.c::heim_ntlm_encode_type2" ref="g2860c6f6d497255eb433adc8cacc49dd" args="(const struct ntlm_type2 *type2, struct ntlm_buf *data)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_encode_type2 </td> + <td>(</td> + <td class="paramtype">const struct <a class="el" href="structntlm__type2.html">ntlm_type2</a> * </td> + <td class="paramname"> <em>type2</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>data</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Encodes an <a class="el" href="structntlm__type2.html">ntlm_type2</a> 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>type2</em> </td><td>the <a class="el" href="structntlm__type2.html">ntlm_type2</a> message to encode. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>is the return buffer with the encoded message, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g9cf026be6e602c22d62aa9e47e85c7c2"></a><!-- doxytag: member="ntlm.c::heim_ntlm_encode_type3" ref="g9cf026be6e602c22d62aa9e47e85c7c2" args="(const struct ntlm_type3 *type3, struct ntlm_buf *data)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_encode_type3 </td> + <td>(</td> + <td class="paramtype">const struct <a class="el" href="structntlm__type3.html">ntlm_type3</a> * </td> + <td class="paramname"> <em>type3</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>data</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Encodes an <a class="el" href="structntlm__type3.html">ntlm_type3</a> 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>type3</em> </td><td>the <a class="el" href="structntlm__type3.html">ntlm_type3</a> message to encode. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>is the return buffer with the encoded message, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g5f6c313a3a7258cda5f09bb44f8d1776"></a><!-- doxytag: member="ntlm.c::heim_ntlm_free_buf" ref="g5f6c313a3a7258cda5f09bb44f8d1776" args="(struct ntlm_buf *p)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void heim_ntlm_free_buf </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>p</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +heim_ntlm_free_buf frees the ntlm 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>p</em> </td><td>buffer to be freed </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="g704ec8c5dba05ef57186d242ff165565"></a><!-- doxytag: member="ntlm.c::heim_ntlm_free_targetinfo" ref="g704ec8c5dba05ef57186d242ff165565" args="(struct ntlm_targetinfo *ti)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void heim_ntlm_free_targetinfo </td> + <td>(</td> + <td class="paramtype">struct ntlm_targetinfo * </td> + <td class="paramname"> <em>ti</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Frees the ntlm_targetinfo 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>ti</em> </td><td>targetinfo to be freed </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="g76fa6caf3f539e24008e31613f5eb663"></a><!-- doxytag: member="ntlm.c::heim_ntlm_free_type1" ref="g76fa6caf3f539e24008e31613f5eb663" args="(struct ntlm_type1 *data)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void heim_ntlm_free_type1 </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structntlm__type1.html">ntlm_type1</a> * </td> + <td class="paramname"> <em>data</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Frees the <a class="el" href="structntlm__type1.html">ntlm_type1</a> 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>data</em> </td><td>message to be freed </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="g8fde84c86f1c7c9f730f7fb4acedcb43"></a><!-- doxytag: member="ntlm.c::heim_ntlm_free_type2" ref="g8fde84c86f1c7c9f730f7fb4acedcb43" args="(struct ntlm_type2 *data)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void heim_ntlm_free_type2 </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structntlm__type2.html">ntlm_type2</a> * </td> + <td class="paramname"> <em>data</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Frees the <a class="el" href="structntlm__type2.html">ntlm_type2</a> 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>data</em> </td><td>message to be freed </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="gc4e6d01e5247b8540d41ccbbf1031319"></a><!-- doxytag: member="ntlm.c::heim_ntlm_free_type3" ref="gc4e6d01e5247b8540d41ccbbf1031319" args="(struct ntlm_type3 *data)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void heim_ntlm_free_type3 </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structntlm__type3.html">ntlm_type3</a> * </td> + <td class="paramname"> <em>data</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Frees the <a class="el" href="structntlm__type3.html">ntlm_type3</a> 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>data</em> </td><td>message to be freed </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="g6ef0049af05a83d73b7a3d962e679c2a"></a><!-- doxytag: member="ntlm.c::heim_ntlm_keyex_unwrap" ref="g6ef0049af05a83d73b7a3d962e679c2a" args="(struct ntlm_buf *baseKey, struct ntlm_buf *encryptedSession, struct ntlm_buf *session)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_keyex_unwrap </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>baseKey</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>encryptedSession</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>session</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Given a key and encrypted session, unwrap the session 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>baseKey</em> </td><td>the sessionBaseKey </td></tr> + <tr><td valign="top"></td><td valign="top"><em>encryptedSession</em> </td><td>encrypted session, type3.session field. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>session</em> </td><td>generated session nonce, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g254ee0a4d5a2594833e36697ad575d7e"></a><!-- doxytag: member="ntlm.c::heim_ntlm_nt_key" ref="g254ee0a4d5a2594833e36697ad575d7e" args="(const char *password, struct ntlm_buf *key)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_nt_key </td> + <td>(</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">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>key</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Calculate the NTLM key, the password is assumed to be in UTF8.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>password</em> </td><td>password to calcute the key for. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>calcuted key, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>.</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g4c4c32652527acead6848052615ae284"></a><!-- doxytag: member="ntlm.c::heim_ntlm_ntlmv2_key" ref="g4c4c32652527acead6848052615ae284" args="(const void *key, size_t len, const char *username, const char *target, unsigned char ntlmv2[16])" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_ntlmv2_key </td> + <td>(</td> + <td class="paramtype">const void * </td> + <td class="paramname"> <em>key</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 class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>username</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>target</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned char </td> + <td class="paramname"> <em>ntlmv2</em>[16]</td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Generates an NTLMv2 session 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>key</em> </td><td>the ntlm key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>username</em> </td><td>name of the user, as sent in the message, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the name of the target, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>ntlmv2</em> </td><td>the ntlmv2 session key</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, or an error code on failure. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g3b3d6a5187cab6bfe656afa7a8273ca6"></a><!-- doxytag: member="ntlm.c::heim_ntlm_verify_ntlm2" ref="g3b3d6a5187cab6bfe656afa7a8273ca6" args="(const void *key, size_t len, const char *username, const char *target, time_t now, const unsigned char serverchallenge[8], const struct ntlm_buf *answer, struct ntlm_buf *infotarget, unsigned char ntlmv2[16])" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int heim_ntlm_verify_ntlm2 </td> + <td>(</td> + <td class="paramtype">const void * </td> + <td class="paramname"> <em>key</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 class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>username</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"> <em>target</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">time_t </td> + <td class="paramname"> <em>now</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const unsigned char </td> + <td class="paramname"> <em>serverchallenge</em>[8], </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>answer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> * </td> + <td class="paramname"> <em>infotarget</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned char </td> + <td class="paramname"> <em>ntlmv2</em>[16]</td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Verify NTLMv2 response.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the ntlm key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of key </td></tr> + <tr><td valign="top"></td><td valign="top"><em>username</em> </td><td>name of the user, as sent in the message, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the name of the target, assumed to be in UTF8. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>now</em> </td><td>the time now (0 if the library should pick it up itself) </td></tr> + <tr><td valign="top"></td><td valign="top"><em>serverchallenge</em> </td><td>challenge as sent by the server in the type2 message. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>answer</em> </td><td>ntlm response answer, should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>infotarget</em> </td><td>infotarget as sent by the server in the type2 message. </td></tr> + <tr><td valign="top"></td><td valign="top"><em>ntlmv2</em> </td><td>calculated session key</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>In case of success 0 is return, an errors, a errno in what went wrong. </dd></dl> + +</div> +</div><p> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/index.html b/doc/doxyout/ntlm/html/index.html new file mode 100644 index 0000000000000..4e45d312b11bd --- /dev/null +++ b/doc/doxyout/ntlm/html/index.html @@ -0,0 +1,37 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: Heimdal NTLM library</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.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="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>Heimdal NTLM library</h1> +<p> +<h3 align="center">1.5 </h3><h2><a class="anchor" name="intro"> +Introduction</a></h2> +Heimdal libheimntlm library is a implementation of the NTLM protocol, both version 1 and 2. The GSS-API mech that uses this library adds support for transport encryption and integrity checking.<p> +NTLM is a protocol for mutual authentication, its still used in many protocol where Kerberos is not support, one example is EAP/X802.1x mechanism LEAP from Microsoft and Cisco.<p> +This is a support library for the core protocol, its used in Heimdal to implement and GSS-API mechanism. There is also support in the KDC to do remote digest authenticiation, this to allow services to authenticate users w/o direct access to the users ntlm hashes (same as Kerberos arcfour enctype keys).<p> +More information about the NTLM protocol can found here <a href="http://davenport.sourceforge.net/ntlm.html">http://davenport.sourceforge.net/ntlm.html</a> .<p> +The Heimdal projects web page: <a href="http://www.h5l.org/">http://www.h5l.org/</a><h2><a class="anchor" name="ntlm_example"> +NTLM Example</a></h2> +Example to to use <a class="el" href="test__ntlm_8c-example.html">test_ntlm::c</a> . </div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/modules.html b/doc/doxyout/ntlm/html/modules.html new file mode 100644 index 0000000000000..1baf0fa97a350 --- /dev/null +++ b/doc/doxyout/ntlm/html/modules.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: Module 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.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="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>Modules</h1>Here is a list of all modules:<ul> +<li><a class="el" href="group__ntlm__core.html">Heimdal NTLM library</a> +</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/structntlm__buf.html b/doc/doxyout/ntlm/html/structntlm__buf.html new file mode 100644 index 0000000000000..547452789cc88 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__buf.html @@ -0,0 +1,82 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: ntlm_buf 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.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="modules.html"><span>Modules</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>ntlm_buf Struct Reference</h1><!-- doxytag: class="ntlm_buf" --><code>#include <heimntlm.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__buf.html#1ca1856fd5b4ac0197320d7723c73bd0">length</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a></td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Buffer for storing data in the NTLM library. When filled in by the library it should be freed with <a class="el" href="group__ntlm__core.html#g5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf()</a>. <dl compact><dt><b>Examples: </b></dt><dd> + +<p> +<a class="el" href="test__ntlm_8c-example.html#_a3">test_ntlm.c</a>.</dl><hr><h2>Field Documentation</h2> +<a class="anchor" name="1ca1856fd5b4ac0197320d7723c73bd0"></a><!-- doxytag: member="ntlm_buf::length" ref="1ca1856fd5b4ac0197320d7723c73bd0" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="structntlm__buf.html#1ca1856fd5b4ac0197320d7723c73bd0">ntlm_buf::length</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +length buffer data <dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a15">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="0cb7caf04f8f80326491b45edcdd2687"></a><!-- doxytag: member="ntlm_buf::data" ref="0cb7caf04f8f80326491b45edcdd2687" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void* <a class="el" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">ntlm_buf::data</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +pointer to the data itself <dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a9">test_ntlm.c</a>.</dl> +</div> +</div><p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li>/Users/lha/src/heimdal/heimdal-release/heimdal-1.5/lib/ntlm/heimntlm.h</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/structntlm__type1.html b/doc/doxyout/ntlm/html/structntlm__type1.html new file mode 100644 index 0000000000000..ea8cef32e1c0d --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type1.html @@ -0,0 +1,118 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: ntlm_type1 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.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="modules.html"><span>Modules</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>ntlm_type1 Struct Reference</h1><!-- doxytag: class="ntlm_type1" --><code>#include <heimntlm.h></code> +<p> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type1.html#e2f4bbf968f7dde8f1cd2a71396a06fb">flags</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type1.html#7d99f4da91742cd5bd94f1af1713c075">domain</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type1.html#63e2c0e1d31b93802670e677b89ae7e8">hostname</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type1.html#3f0a2c98b021a211c030b09b37d35fa3">os</a> [2]</td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Struct for the NTLM type1 message info, the strings is assumed to be in UTF8. When filled in by the library it should be freed with <a class="el" href="group__ntlm__core.html#g76fa6caf3f539e24008e31613f5eb663">heim_ntlm_free_type1()</a>. <dl compact><dt><b>Examples: </b></dt><dd> + +<p> +<a class="el" href="test__ntlm_8c-example.html#_a0">test_ntlm.c</a>.</dl><hr><h2>Field Documentation</h2> +<a class="anchor" name="e2f4bbf968f7dde8f1cd2a71396a06fb"></a><!-- doxytag: member="ntlm_type1::flags" ref="e2f4bbf968f7dde8f1cd2a71396a06fb" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t <a class="el" href="structntlm__type1.html#e2f4bbf968f7dde8f1cd2a71396a06fb">ntlm_type1::flags</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a4">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="7d99f4da91742cd5bd94f1af1713c075"></a><!-- doxytag: member="ntlm_type1::domain" ref="7d99f4da91742cd5bd94f1af1713c075" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">char* <a class="el" href="structntlm__type1.html#7d99f4da91742cd5bd94f1af1713c075">ntlm_type1::domain</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a5">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="63e2c0e1d31b93802670e677b89ae7e8"></a><!-- doxytag: member="ntlm_type1::hostname" ref="63e2c0e1d31b93802670e677b89ae7e8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">char* <a class="el" href="structntlm__type1.html#63e2c0e1d31b93802670e677b89ae7e8">ntlm_type1::hostname</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a6">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="3f0a2c98b021a211c030b09b37d35fa3"></a><!-- doxytag: member="ntlm_type1::os" ref="3f0a2c98b021a211c030b09b37d35fa3" args="[2]" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t <a class="el" href="structntlm__type1.html#3f0a2c98b021a211c030b09b37d35fa3">ntlm_type1::os</a>[2] </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a7">test_ntlm.c</a>.</dl> +</div> +</div><p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li>/Users/lha/src/heimdal/heimdal-release/heimdal-1.5/lib/ntlm/heimntlm.h</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/structntlm__type2.html b/doc/doxyout/ntlm/html/structntlm__type2.html new file mode 100644 index 0000000000000..f301e41d55299 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type2.html @@ -0,0 +1,159 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: ntlm_type2 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.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="modules.html"><span>Modules</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>ntlm_type2 Struct Reference</h1><!-- doxytag: class="ntlm_type2" --><code>#include <heimntlm.h></code> +<p> +<div class="dynheader"> +Collaboration diagram for ntlm_type2:</div> +<div class="dynsection"> +<p><center><img src="structntlm__type2__coll__graph.png" border="0" usemap="#ntlm__type2__coll__map" alt="Collaboration graph"></center> +<map name="ntlm__type2__coll__map"> +<area shape="rect" href="structntlm__buf.html" title="ntlm_buf" alt="" coords="12,5,87,32"></map> +<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type2.html#7f52e5d5e1e31e369d88d1cfb738a9ff">flags</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type2.html#7ed7a5246d77d4358e6fa459c6263a10">targetname</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">targetinfo</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">challenge</a> [8]</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type2.html#15b0b79e029be5a33d1e3813681024ae">context</a> [2]</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type2.html#16a0efdad1ba0d057a9c650e849b9321">os</a> [2]</td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Struct for the NTLM type2 message info, the strings is assumed to be in UTF8. When filled in by the library it should be freed with <a class="el" href="group__ntlm__core.html#g8fde84c86f1c7c9f730f7fb4acedcb43">heim_ntlm_free_type2()</a>. <dl compact><dt><b>Examples: </b></dt><dd> + +<p> +<a class="el" href="test__ntlm_8c-example.html#_a1">test_ntlm.c</a>.</dl><hr><h2>Field Documentation</h2> +<a class="anchor" name="7f52e5d5e1e31e369d88d1cfb738a9ff"></a><!-- doxytag: member="ntlm_type2::flags" ref="7f52e5d5e1e31e369d88d1cfb738a9ff" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t <a class="el" href="structntlm__type2.html#7f52e5d5e1e31e369d88d1cfb738a9ff">ntlm_type2::flags</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a11">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="7ed7a5246d77d4358e6fa459c6263a10"></a><!-- doxytag: member="ntlm_type2::targetname" ref="7ed7a5246d77d4358e6fa459c6263a10" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">char* <a class="el" href="structntlm__type2.html#7ed7a5246d77d4358e6fa459c6263a10">ntlm_type2::targetname</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a13">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="d468bf3c5f042a893f3d118a9cb50a34"></a><!-- doxytag: member="ntlm_type2::targetinfo" ref="d468bf3c5f042a893f3d118a9cb50a34" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> <a class="el" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">ntlm_type2::targetinfo</a><code> [read]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a14">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="12c5c7a960c60bbd54dbf49527856bab"></a><!-- doxytag: member="ntlm_type2::challenge" ref="12c5c7a960c60bbd54dbf49527856bab" args="[8]" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned char <a class="el" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">ntlm_type2::challenge</a>[8] </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a12">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="15b0b79e029be5a33d1e3813681024ae"></a><!-- doxytag: member="ntlm_type2::context" ref="15b0b79e029be5a33d1e3813681024ae" args="[2]" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t <a class="el" href="structntlm__type2.html#15b0b79e029be5a33d1e3813681024ae">ntlm_type2::context</a>[2] </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="16a0efdad1ba0d057a9c650e849b9321"></a><!-- doxytag: member="ntlm_type2::os" ref="16a0efdad1ba0d057a9c650e849b9321" args="[2]" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t <a class="el" href="structntlm__type2.html#16a0efdad1ba0d057a9c650e849b9321">ntlm_type2::os</a>[2] </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li>/Users/lha/src/heimdal/heimdal-release/heimdal-1.5/lib/ntlm/heimntlm.h</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.map b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.map new file mode 100644 index 0000000000000..9e6cd72b444e0 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.map @@ -0,0 +1 @@ +<area shape="rect" href="$structntlm__buf.html" title="ntlm_buf" alt="" coords="12,5,87,32"> diff --git a/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.md5 b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.md5 new file mode 100644 index 0000000000000..4340819135c34 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.md5 @@ -0,0 +1 @@ +b5989391473842dda9191d0175c17177
\ No newline at end of file diff --git a/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.png b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.png Binary files differnew file mode 100644 index 0000000000000..14c79b434fb7e --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.png diff --git a/doc/doxyout/ntlm/html/structntlm__type3.html b/doc/doxyout/ntlm/html/structntlm__type3.html new file mode 100644 index 0000000000000..210b4693fc223 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type3.html @@ -0,0 +1,194 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: ntlm_type3 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.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="modules.html"><span>Modules</span></a></li> + <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> + <div class="tabs"> + <ul> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="functions.html"><span>Data Fields</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>ntlm_type3 Struct Reference</h1><!-- doxytag: class="ntlm_type3" --><code>#include <heimntlm.h></code> +<p> +<div class="dynheader"> +Collaboration diagram for ntlm_type3:</div> +<div class="dynsection"> +<p><center><img src="structntlm__type3__coll__graph.png" border="0" usemap="#ntlm__type3__coll__map" alt="Collaboration graph"></center> +<map name="ntlm__type3__coll__map"> +<area shape="rect" href="structntlm__buf.html" title="ntlm_buf" alt="" coords="12,5,87,32"></map> +<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> +<table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#65347e68a22b66fc65c299f2cda2cf2d">flags</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#c6e99229102b238c4aad9b93fabe95b7">username</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#89d7688f04cb1362ffa5a81759d28716">targetname</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#879e24340a26a3b8099d57767fbd0d30">lm</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#7b496ad8682fbd4a5fe06c32da7621c7">ntlm</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#f94bd38360086ec7f8aa4f18966d0a12">sessionkey</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#ffbe974b5c93e47e2c8bf6f5a767c82d">ws</a></td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structntlm__type3.html#f95c920ddc2d3cccfc82b3c54cd7bba2">os</a> [2]</td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Struct for the NTLM type3 message info, the strings is assumed to be in UTF8. When filled in by the library it should be freed with <a class="el" href="group__ntlm__core.html#gc4e6d01e5247b8540d41ccbbf1031319">heim_ntlm_free_type3()</a>. <dl compact><dt><b>Examples: </b></dt><dd> + +<p> +<a class="el" href="test__ntlm_8c-example.html#_a2">test_ntlm.c</a>.</dl><hr><h2>Field Documentation</h2> +<a class="anchor" name="65347e68a22b66fc65c299f2cda2cf2d"></a><!-- doxytag: member="ntlm_type3::flags" ref="65347e68a22b66fc65c299f2cda2cf2d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t <a class="el" href="structntlm__type3.html#65347e68a22b66fc65c299f2cda2cf2d">ntlm_type3::flags</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a18">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="c6e99229102b238c4aad9b93fabe95b7"></a><!-- doxytag: member="ntlm_type3::username" ref="c6e99229102b238c4aad9b93fabe95b7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">char* <a class="el" href="structntlm__type3.html#c6e99229102b238c4aad9b93fabe95b7">ntlm_type3::username</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a19">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="89d7688f04cb1362ffa5a81759d28716"></a><!-- doxytag: member="ntlm_type3::targetname" ref="89d7688f04cb1362ffa5a81759d28716" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">char* <a class="el" href="structntlm__type3.html#89d7688f04cb1362ffa5a81759d28716">ntlm_type3::targetname</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a20">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="879e24340a26a3b8099d57767fbd0d30"></a><!-- doxytag: member="ntlm_type3::lm" ref="879e24340a26a3b8099d57767fbd0d30" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> <a class="el" href="structntlm__type3.html#879e24340a26a3b8099d57767fbd0d30">ntlm_type3::lm</a><code> [read]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="7b496ad8682fbd4a5fe06c32da7621c7"></a><!-- doxytag: member="ntlm_type3::ntlm" ref="7b496ad8682fbd4a5fe06c32da7621c7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> <a class="el" href="structntlm__type3.html#7b496ad8682fbd4a5fe06c32da7621c7">ntlm_type3::ntlm</a><code> [read]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a24">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="f94bd38360086ec7f8aa4f18966d0a12"></a><!-- doxytag: member="ntlm_type3::sessionkey" ref="f94bd38360086ec7f8aa4f18966d0a12" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct <a class="el" href="structntlm__buf.html">ntlm_buf</a> <a class="el" href="structntlm__type3.html#f94bd38360086ec7f8aa4f18966d0a12">ntlm_type3::sessionkey</a><code> [read]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="ffbe974b5c93e47e2c8bf6f5a767c82d"></a><!-- doxytag: member="ntlm_type3::ws" ref="ffbe974b5c93e47e2c8bf6f5a767c82d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">char* <a class="el" href="structntlm__type3.html#ffbe974b5c93e47e2c8bf6f5a767c82d">ntlm_type3::ws</a> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +<dl compact><dt><b>Examples: </b></dt><dd> +<a class="el" href="test__ntlm_8c-example.html#a21">test_ntlm.c</a>.</dl> +</div> +</div><p> +<a class="anchor" name="f95c920ddc2d3cccfc82b3c54cd7bba2"></a><!-- doxytag: member="ntlm_type3::os" ref="f95c920ddc2d3cccfc82b3c54cd7bba2" args="[2]" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t <a class="el" href="structntlm__type3.html#f95c920ddc2d3cccfc82b3c54cd7bba2">ntlm_type3::os</a>[2] </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr>The documentation for this struct was generated from the following file:<ul> +<li>/Users/lha/src/heimdal/heimdal-release/heimdal-1.5/lib/ntlm/heimntlm.h</ul> +</div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.map b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.map new file mode 100644 index 0000000000000..9e6cd72b444e0 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.map @@ -0,0 +1 @@ +<area shape="rect" href="$structntlm__buf.html" title="ntlm_buf" alt="" coords="12,5,87,32"> diff --git a/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.md5 b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.md5 new file mode 100644 index 0000000000000..1c9e7239dc0c3 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.md5 @@ -0,0 +1 @@ +e51b24543271b5e19333877ec8086fcd
\ No newline at end of file diff --git a/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.png b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.png Binary files differnew file mode 100644 index 0000000000000..6553470777e86 --- /dev/null +++ b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.png diff --git a/doc/doxyout/ntlm/html/tab_b.gif b/doc/doxyout/ntlm/html/tab_b.gif Binary files differnew file mode 100644 index 0000000000000..0d623483ffdf5 --- /dev/null +++ b/doc/doxyout/ntlm/html/tab_b.gif diff --git a/doc/doxyout/ntlm/html/tab_l.gif b/doc/doxyout/ntlm/html/tab_l.gif Binary files differnew file mode 100644 index 0000000000000..9b1e6337c9299 --- /dev/null +++ b/doc/doxyout/ntlm/html/tab_l.gif diff --git a/doc/doxyout/ntlm/html/tab_r.gif b/doc/doxyout/ntlm/html/tab_r.gif Binary files differnew file mode 100644 index 0000000000000..ce9dd9f533cb5 --- /dev/null +++ b/doc/doxyout/ntlm/html/tab_r.gif diff --git a/doc/doxyout/ntlm/html/tabs.css b/doc/doxyout/ntlm/html/tabs.css new file mode 100644 index 0000000000000..95f00a91da307 --- /dev/null +++ b/doc/doxyout/ntlm/html/tabs.css @@ -0,0 +1,102 @@ +/* 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; +} diff --git a/doc/doxyout/ntlm/html/test__ntlm_8c-example.html b/doc/doxyout/ntlm/html/test__ntlm_8c-example.html new file mode 100644 index 0000000000000..a64fdad3c89a5 --- /dev/null +++ b/doc/doxyout/ntlm/html/test__ntlm_8c-example.html @@ -0,0 +1,408 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<title>Heimdalntlmlibrary: test_ntlm.c</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.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="modules.html"><span>Modules</span></a></li> + <li><a href="annotated.html"><span>Data Structures</span></a></li> + <li><a href="examples.html"><span>Examples</span></a></li> + </ul> + </div> +</div> +<div class="contents"> +<h1>test_ntlm.c</h1>Example how to use the NTLM primitives.<p> +<div class="fragment"><pre class="fragment"><span class="comment">/*</span> +<span class="comment"> * Copyright (c) 2006 - 2007 Kungliga Tekniska Högskolan</span> +<span class="comment"> * (Royal Institute of Technology, Stockholm, Sweden).</span> +<span class="comment"> * All rights reserved.</span> +<span class="comment"> *</span> +<span class="comment"> * Redistribution and use in source and binary forms, with or without</span> +<span class="comment"> * modification, are permitted provided that the following conditions</span> +<span class="comment"> * are met:</span> +<span class="comment"> *</span> +<span class="comment"> * 1. Redistributions of source code must retain the above copyright</span> +<span class="comment"> * notice, this list of conditions and the following disclaimer.</span> +<span class="comment"> *</span> +<span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span> +<span class="comment"> * notice, this list of conditions and the following disclaimer in the</span> +<span class="comment"> * documentation and/or other materials provided with the distribution.</span> +<span class="comment"> *</span> +<span class="comment"> * 3. Neither the name of KTH nor the names of its contributors may be</span> +<span class="comment"> * used to endorse or promote products derived from this software without</span> +<span class="comment"> * specific prior written permission.</span> +<span class="comment"> *</span> +<span class="comment"> * THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY</span> +<span class="comment"> * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span> +<span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</span> +<span class="comment"> * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE</span> +<span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span> +<span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span> +<span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR</span> +<span class="comment"> * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,</span> +<span class="comment"> * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR</span> +<span class="comment"> * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF</span> +<span class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span> +<span class="comment"> */</span> + +<span class="preprocessor">#include "config.h"</span> + +<span class="preprocessor">#include <stdio.h></span> +<span class="preprocessor">#include <err.h></span> +<span class="preprocessor">#include <roken.h></span> +<span class="preprocessor">#include <getarg.h></span> + +<span class="preprocessor">#include <krb5-types.h></span> <span class="comment">/* or <inttypes.h> */</span> +<span class="preprocessor">#include <heimntlm.h></span> + +<span class="keyword">static</span> <span class="keywordtype">int</span> +test_parse(<span class="keywordtype">void</span>) +{ + <span class="keyword">const</span> <span class="keywordtype">char</span> *user = <span class="stringliteral">"foo"</span>, + *domain = <span class="stringliteral">"mydomain"</span>, + *password = <span class="stringliteral">"digestpassword"</span>, + *target = <span class="stringliteral">"DOMAIN"</span>; + <span class="keyword">struct </span><a name="_a0"></a><a class="code" href="structntlm__type1.html">ntlm_type1</a> type1; + <span class="keyword">struct </span><a name="_a1"></a><a class="code" href="structntlm__type2.html">ntlm_type2</a> type2; + <span class="keyword">struct </span><a name="_a2"></a><a class="code" href="structntlm__type3.html">ntlm_type3</a> type3; + <span class="keyword">struct </span><a name="_a3"></a><a class="code" href="structntlm__buf.html">ntlm_buf</a> data; + <span class="keywordtype">int</span> ret, flags; + + memset(&type1, 0, <span class="keyword">sizeof</span>(type1)); + + type1.<a name="a4"></a><a class="code" href="structntlm__type1.html#e2f4bbf968f7dde8f1cd2a71396a06fb">flags</a> = NTLM_NEG_UNICODE|NTLM_NEG_TARGET|NTLM_NEG_NTLM; + type1.<a name="a5"></a><a class="code" href="structntlm__type1.html#7d99f4da91742cd5bd94f1af1713c075">domain</a> = rk_UNCONST(domain); + type1.<a name="a6"></a><a class="code" href="structntlm__type1.html#63e2c0e1d31b93802670e677b89ae7e8">hostname</a> = NULL; + type1.<a name="a7"></a><a class="code" href="structntlm__type1.html#3f0a2c98b021a211c030b09b37d35fa3">os</a>[0] = 0; + type1.<a class="code" href="structntlm__type1.html#3f0a2c98b021a211c030b09b37d35fa3">os</a>[1] = 0; + + ret = <a name="a8"></a><a class="code" href="group__ntlm__core.html#g0107727234287ac61a8801b0faff9dff">heim_ntlm_encode_type1</a>(&type1, &data); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_encode_type1"</span>); + + memset(&type1, 0, <span class="keyword">sizeof</span>(type1)); + + ret = heim_ntlm_decode_type1(&data, &type1); + free(data.<a name="a9"></a><a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a>); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_encode_type1"</span>); + + <a name="a10"></a><a class="code" href="group__ntlm__core.html#g76fa6caf3f539e24008e31613f5eb663">heim_ntlm_free_type1</a>(&type1); + + <span class="comment">/*</span> +<span class="comment"> *</span> +<span class="comment"> */</span> + + memset(&type2, 0, <span class="keyword">sizeof</span>(type2)); + + flags = NTLM_NEG_UNICODE | NTLM_NEG_NTLM | NTLM_TARGET_DOMAIN; + type2.<a name="a11"></a><a class="code" href="structntlm__type2.html#7f52e5d5e1e31e369d88d1cfb738a9ff">flags</a> = flags; + + memset(type2.<a name="a12"></a><a class="code" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">challenge</a>, 0x7f, <span class="keyword">sizeof</span>(type2.<a class="code" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">challenge</a>)); + type2.<a name="a13"></a><a class="code" href="structntlm__type2.html#7ed7a5246d77d4358e6fa459c6263a10">targetname</a> = rk_UNCONST(target); + type2.<a name="a14"></a><a class="code" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">targetinfo</a>.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a> = NULL; + type2.<a class="code" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">targetinfo</a>.<a name="a15"></a><a class="code" href="structntlm__buf.html#1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 0; + + ret = <a name="a16"></a><a class="code" href="group__ntlm__core.html#g2860c6f6d497255eb433adc8cacc49dd">heim_ntlm_encode_type2</a>(&type2, &data); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_encode_type2"</span>); + + memset(&type2, 0, <span class="keyword">sizeof</span>(type2)); + + ret = heim_ntlm_decode_type2(&data, &type2); + free(data.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a>); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_decode_type2"</span>); + + <a name="a17"></a><a class="code" href="group__ntlm__core.html#g8fde84c86f1c7c9f730f7fb4acedcb43">heim_ntlm_free_type2</a>(&type2); + + <span class="comment">/*</span> +<span class="comment"> *</span> +<span class="comment"> */</span> + + memset(&type3, 0, <span class="keyword">sizeof</span>(type3)); + + type3.<a name="a18"></a><a class="code" href="structntlm__type3.html#65347e68a22b66fc65c299f2cda2cf2d">flags</a> = flags; + type3.<a name="a19"></a><a class="code" href="structntlm__type3.html#c6e99229102b238c4aad9b93fabe95b7">username</a> = rk_UNCONST(user); + type3.<a name="a20"></a><a class="code" href="structntlm__type3.html#89d7688f04cb1362ffa5a81759d28716">targetname</a> = rk_UNCONST(target); + type3.<a name="a21"></a><a class="code" href="structntlm__type3.html#ffbe974b5c93e47e2c8bf6f5a767c82d">ws</a> = rk_UNCONST(<span class="stringliteral">"workstation"</span>); + + { + <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> key; + <a name="a22"></a><a class="code" href="group__ntlm__core.html#g254ee0a4d5a2594833e36697ad575d7e">heim_ntlm_nt_key</a>(password, &key); + + <a name="a23"></a><a class="code" href="group__ntlm__core.html#ge3b634802ef94233a175291abd2ea14d">heim_ntlm_calculate_ntlm1</a>(key.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a>, key.<a class="code" href="structntlm__buf.html#1ca1856fd5b4ac0197320d7723c73bd0">length</a>, + type2.<a class="code" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">challenge</a>, + &type3.<a name="a24"></a><a class="code" href="structntlm__type3.html#7b496ad8682fbd4a5fe06c32da7621c7">ntlm</a>); + free(key.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a>); + } + + ret = <a name="a25"></a><a class="code" href="group__ntlm__core.html#g9cf026be6e602c22d62aa9e47e85c7c2">heim_ntlm_encode_type3</a>(&type3, &data); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_encode_type3"</span>); + + free(type3.<a class="code" href="structntlm__type3.html#7b496ad8682fbd4a5fe06c32da7621c7">ntlm</a>.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a>); + + memset(&type3, 0, <span class="keyword">sizeof</span>(type3)); + + ret = heim_ntlm_decode_type3(&data, 1, &type3); + free(data.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a>); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_decode_type3"</span>); + + <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">"workstation"</span>, type3.<a class="code" href="structntlm__type3.html#ffbe974b5c93e47e2c8bf6f5a767c82d">ws</a>) != 0) + errx(1, <span class="stringliteral">"type3 ws wrong"</span>); + + <span class="keywordflow">if</span> (strcmp(target, type3.<a class="code" href="structntlm__type3.html#89d7688f04cb1362ffa5a81759d28716">targetname</a>) != 0) + errx(1, <span class="stringliteral">"type3 targetname wrong"</span>); + + <span class="keywordflow">if</span> (strcmp(user, type3.<a class="code" href="structntlm__type3.html#c6e99229102b238c4aad9b93fabe95b7">username</a>) != 0) + errx(1, <span class="stringliteral">"type3 username wrong"</span>); + + + <a name="a26"></a><a class="code" href="group__ntlm__core.html#gc4e6d01e5247b8540d41ccbbf1031319">heim_ntlm_free_type3</a>(&type3); + + <span class="comment">/*</span> +<span class="comment"> * NTLMv2</span> +<span class="comment"> */</span> + + memset(&type2, 0, <span class="keyword">sizeof</span>(type2)); + + flags = NTLM_NEG_UNICODE | NTLM_NEG_NTLM | NTLM_TARGET_DOMAIN; + type2.<a class="code" href="structntlm__type2.html#7f52e5d5e1e31e369d88d1cfb738a9ff">flags</a> = flags; + + memset(type2.<a class="code" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">challenge</a>, 0x7f, <span class="keyword">sizeof</span>(type2.<a class="code" href="structntlm__type2.html#12c5c7a960c60bbd54dbf49527856bab">challenge</a>)); + type2.<a class="code" href="structntlm__type2.html#7ed7a5246d77d4358e6fa459c6263a10">targetname</a> = rk_UNCONST(target); + type2.<a class="code" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">targetinfo</a>.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a> = <span class="stringliteral">"\x00\x00"</span>; + type2.<a class="code" href="structntlm__type2.html#d468bf3c5f042a893f3d118a9cb50a34">targetinfo</a>.<a class="code" href="structntlm__buf.html#1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 2; + + ret = <a class="code" href="group__ntlm__core.html#g2860c6f6d497255eb433adc8cacc49dd">heim_ntlm_encode_type2</a>(&type2, &data); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_encode_type2"</span>); + + memset(&type2, 0, <span class="keyword">sizeof</span>(type2)); + + ret = heim_ntlm_decode_type2(&data, &type2); + free(data.<a class="code" href="structntlm__buf.html#0cb7caf04f8f80326491b45edcdd2687">data</a>); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_decode_type2"</span>); + + <a class="code" href="group__ntlm__core.html#g8fde84c86f1c7c9f730f7fb4acedcb43">heim_ntlm_free_type2</a>(&type2); + + <span class="keywordflow">return</span> 0; +} + +<span class="keyword">static</span> <span class="keywordtype">int</span> +test_keys(<span class="keywordtype">void</span>) +{ + <span class="keyword">const</span> <span class="keywordtype">char</span> + *username = <span class="stringliteral">"test"</span>, + *password = <span class="stringliteral">"test1234"</span>, + *target = <span class="stringliteral">"TESTNT"</span>; + <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> + serverchallenge[8] = <span class="stringliteral">"\x67\x7f\x1c\x55\x7a\x5e\xe9\x6c"</span>; + <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> infotarget, infotarget2, answer, key; + <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ntlmv2[16], ntlmv2_1[16]; + <span class="keywordtype">int</span> ret; + + infotarget.length = 70; + infotarget.data = + <span class="stringliteral">"\x02\x00\x0c\x00\x54\x00\x45\x00\x53\x00\x54\x00\x4e\x00\x54\x00"</span> + <span class="stringliteral">"\x01\x00\x0c\x00\x4d\x00\x45\x00\x4d\x00\x42\x00\x45\x00\x52\x00"</span> + <span class="stringliteral">"\x03\x00\x1e\x00\x6d\x00\x65\x00\x6d\x00\x62\x00\x65\x00\x72\x00"</span> + <span class="stringliteral">"\x2e\x00\x74\x00\x65\x00\x73\x00\x74\x00\x2e\x00\x63\x00\x6f"</span> + <span class="stringliteral">"\x00\x6d\x00"</span> + <span class="stringliteral">"\x00\x00\x00\x00"</span>; + + answer.length = 0; + answer.data = NULL; + + <a class="code" href="group__ntlm__core.html#g254ee0a4d5a2594833e36697ad575d7e">heim_ntlm_nt_key</a>(password, &key); + + ret = <a name="a27"></a><a class="code" href="group__ntlm__core.html#ga8f07fb71a0d5f095cde3fb9fb40d10c">heim_ntlm_calculate_ntlm2</a>(key.data, + key.length, + username, + target, + serverchallenge, + &infotarget, + ntlmv2, + &answer); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_calculate_ntlm2"</span>); + + ret = <a name="a28"></a><a class="code" href="group__ntlm__core.html#g3b3d6a5187cab6bfe656afa7a8273ca6">heim_ntlm_verify_ntlm2</a>(key.data, + key.length, + username, + target, + 0, + serverchallenge, + &answer, + &infotarget2, + ntlmv2_1); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_verify_ntlm2"</span>); + + <span class="keywordflow">if</span> (memcmp(ntlmv2, ntlmv2_1, <span class="keyword">sizeof</span>(ntlmv2)) != 0) + errx(1, <span class="stringliteral">"ntlm master key not same"</span>); + + <span class="keywordflow">if</span> (infotarget.length > infotarget2.length) + errx(1, <span class="stringliteral">"infotarget length"</span>); + + <span class="keywordflow">if</span> (memcmp(infotarget.data, infotarget2.data, infotarget.length) != 0) + errx(1, <span class="stringliteral">"infotarget not the same"</span>); + + free(key.data); + free(answer.data); + free(infotarget2.data); + + <span class="keywordflow">return</span> 0; +} + +<span class="keyword">static</span> <span class="keywordtype">int</span> +test_ntlm2_session_resp(<span class="keywordtype">void</span>) +{ + <span class="keywordtype">int</span> ret; + <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> lm, ntlm; + + <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> lm_resp[24] = + <span class="stringliteral">"\xff\xff\xff\x00\x11\x22\x33\x44"</span> + <span class="stringliteral">"\x00\x00\x00\x00\x00\x00\x00\x00"</span> + <span class="stringliteral">"\x00\x00\x00\x00\x00\x00\x00\x00"</span>; + <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ntlm2_sess_resp[24] = + <span class="stringliteral">"\x10\xd5\x50\x83\x2d\x12\xb2\xcc"</span> + <span class="stringliteral">"\xb7\x9d\x5a\xd1\xf4\xee\xd3\xdf"</span> + <span class="stringliteral">"\x82\xac\xa4\xc3\x68\x1d\xd4\x55"</span>; + + <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> client_nonce[8] = + <span class="stringliteral">"\xff\xff\xff\x00\x11\x22\x33\x44"</span>; + <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> server_challenge[8] = + <span class="stringliteral">"\x01\x23\x45\x67\x89\xab\xcd\xef"</span>; + + <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ntlm_hash[16] = + <span class="stringliteral">"\xcd\x06\xca\x7c\x7e\x10\xc9\x9b"</span> + <span class="stringliteral">"\x1d\x33\xb7\x48\x5a\x2e\xd8\x08"</span>; + + ret = heim_ntlm_calculate_ntlm2_sess(client_nonce, + server_challenge, + ntlm_hash, + &lm, + &ntlm); + <span class="keywordflow">if</span> (ret) + errx(1, <span class="stringliteral">"heim_ntlm_calculate_ntlm2_sess_resp"</span>); + + <span class="keywordflow">if</span> (lm.length != 24 || memcmp(lm.data, lm_resp, 24) != 0) + errx(1, <span class="stringliteral">"lm_resp wrong"</span>); + <span class="keywordflow">if</span> (ntlm.length != 24 || memcmp(ntlm.data, ntlm2_sess_resp, 24) != 0) + errx(1, <span class="stringliteral">"ntlm2_sess_resp wrong"</span>); + + free(lm.data); + free(ntlm.data); + + + <span class="keywordflow">return</span> 0; +} + +<span class="keyword">static</span> <span class="keywordtype">int</span> +test_targetinfo(<span class="keywordtype">void</span>) +{ + <span class="keyword">struct </span>ntlm_targetinfo ti; + <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> buf; + <span class="keyword">const</span> <span class="keywordtype">char</span> *dnsservername = <span class="stringliteral">"dnsservername"</span>; + <span class="keywordtype">int</span> ret; + + memset(&ti, 0, <span class="keyword">sizeof</span>(ti)); + + ti.dnsservername = rk_UNCONST(dnsservername); + ti.avflags = 1; + ret = <a name="a29"></a><a class="code" href="group__ntlm__core.html#g2881747fad2ac2979a28d3bd050b0fa8">heim_ntlm_encode_targetinfo</a>(&ti, 1, &buf); + <span class="keywordflow">if</span> (ret) + <span class="keywordflow">return</span> ret; + + memset(&ti, 0, <span class="keyword">sizeof</span>(ti)); + + ret = <a name="a30"></a><a class="code" href="group__ntlm__core.html#gf1d4de2faec8b1c1070a55fd2e6e630f">heim_ntlm_decode_targetinfo</a>(&buf, 1, &ti); + <span class="keywordflow">if</span> (ret) + <span class="keywordflow">return</span> ret; + + <span class="keywordflow">if</span> (ti.dnsservername == NULL || + strcmp(ti.dnsservername, dnsservername) != 0) + errx(1, <span class="stringliteral">"ti.dnshostname != %s"</span>, dnsservername); + <span class="keywordflow">if</span> (ti.avflags != 1) + errx(1, <span class="stringliteral">"ti.avflags != 1"</span>); + + <a name="a31"></a><a class="code" href="group__ntlm__core.html#g704ec8c5dba05ef57186d242ff165565">heim_ntlm_free_targetinfo</a>(&ti); + + <span class="keywordflow">return</span> 0; +} + +<span class="keyword">static</span> <span class="keywordtype">int</span> verbose_flag = 0; +<span class="keyword">static</span> <span class="keywordtype">int</span> version_flag = 0; +<span class="keyword">static</span> <span class="keywordtype">int</span> help_flag = 0; + +<span class="keyword">static</span> <span class="keyword">struct </span>getargs args[] = { + {<span class="stringliteral">"verbose"</span>, 0, arg_flag, &verbose_flag, <span class="stringliteral">"verbose printing"</span>, NULL }, + {<span class="stringliteral">"version"</span>, 0, arg_flag, &version_flag, <span class="stringliteral">"print version"</span>, NULL }, + {<span class="stringliteral">"help"</span>, 0, arg_flag, &help_flag, NULL, NULL } +}; + +<span class="keyword">static</span> <span class="keywordtype">void</span> +usage (<span class="keywordtype">int</span> ret) +{ + arg_printusage (args, <span class="keyword">sizeof</span>(args)/<span class="keyword">sizeof</span>(*args), + NULL, <span class="stringliteral">""</span>); + exit (ret); +} + +<span class="keywordtype">int</span> +main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) +{ + <span class="keywordtype">int</span> ret = 0, optind = 0; + + setprogname(argv[0]); + + <span class="keywordflow">if</span>(getarg(args, <span class="keyword">sizeof</span>(args) / <span class="keyword">sizeof</span>(args[0]), argc, argv, &optind)) + usage(1); + + <span class="keywordflow">if</span> (help_flag) + usage (0); + + <span class="keywordflow">if</span>(version_flag){ + print_version(NULL); + exit(0); + } + + argc -= optind; + argv += optind; + + <span class="keywordflow">if</span> (verbose_flag) + printf(<span class="stringliteral">"test_parse\n"</span>); + + ret += test_parse(); + <span class="keywordflow">if</span> (verbose_flag) + printf(<span class="stringliteral">"test_keys\n"</span>); + + ret += test_keys(); + <span class="keywordflow">if</span> (verbose_flag) + printf(<span class="stringliteral">"test_ntlm2_session_resp\n"</span>); + ret += test_ntlm2_session_resp(); + + <span class="keywordflow">if</span> (verbose_flag) + printf(<span class="stringliteral">"test_targetinfo\n"</span>); + ret += test_targetinfo(); + + <span class="keywordflow">return</span> ret; +} +</pre></div> </div> +<hr size="1"><address style="text-align: right;"><small> +Generated on Sat Jul 30 13:45:40 2011 for Heimdalntlmlibrary 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> +</body> +</html> diff --git a/doc/doxyout/ntlm/man/man3/challenge.3 b/doc/doxyout/ntlm/man/man3/challenge.3 new file mode 100644 index 0000000000000..a7659b3d1febb --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/challenge.3 @@ -0,0 +1 @@ +.so man3/ntlm_type2.3 diff --git a/doc/doxyout/ntlm/man/man3/context.3 b/doc/doxyout/ntlm/man/man3/context.3 new file mode 100644 index 0000000000000..a7659b3d1febb --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/context.3 @@ -0,0 +1 @@ +.so man3/ntlm_type2.3 diff --git a/doc/doxyout/ntlm/man/man3/data.3 b/doc/doxyout/ntlm/man/man3/data.3 new file mode 100644 index 0000000000000..340108f66d7b1 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/data.3 @@ -0,0 +1 @@ +.so man3/ntlm_buf.3 diff --git a/doc/doxyout/ntlm/man/man3/domain.3 b/doc/doxyout/ntlm/man/man3/domain.3 new file mode 100644 index 0000000000000..d1020b43b40dc --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/domain.3 @@ -0,0 +1 @@ +.so man3/ntlm_type1.3 diff --git a/doc/doxyout/ntlm/man/man3/flags.3 b/doc/doxyout/ntlm/man/man3/flags.3 new file mode 100644 index 0000000000000..d1020b43b40dc --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/flags.3 @@ -0,0 +1 @@ +.so man3/ntlm_type1.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_build_ntlm1_master.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_build_ntlm1_master.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_build_ntlm1_master.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_build_ntlm2_master.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_build_ntlm2_master.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_build_ntlm2_master.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_lm2.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_lm2.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_lm2.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_ntlm1.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_ntlm1.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_ntlm1.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_ntlm2.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_ntlm2.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_calculate_ntlm2.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_decode_targetinfo.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_decode_targetinfo.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_decode_targetinfo.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_targetinfo.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_targetinfo.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_targetinfo.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type1.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type1.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type1.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type2.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type2.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type2.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type3.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type3.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_encode_type3.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_free_buf.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_buf.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_buf.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_free_targetinfo.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_targetinfo.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_targetinfo.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type1.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type1.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type1.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type2.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type2.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type2.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type3.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type3.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_free_type3.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_keyex_unwrap.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_keyex_unwrap.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_keyex_unwrap.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_nt_key.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_nt_key.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_nt_key.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_ntlmv2_key.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_ntlmv2_key.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_ntlmv2_key.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/heim_ntlm_verify_ntlm2.3 b/doc/doxyout/ntlm/man/man3/heim_ntlm_verify_ntlm2.3 new file mode 100644 index 0000000000000..c44afffe65ef6 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/heim_ntlm_verify_ntlm2.3 @@ -0,0 +1 @@ +.so man3/ntlm_core.3 diff --git a/doc/doxyout/ntlm/man/man3/hostname.3 b/doc/doxyout/ntlm/man/man3/hostname.3 new file mode 100644 index 0000000000000..d1020b43b40dc --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/hostname.3 @@ -0,0 +1 @@ +.so man3/ntlm_type1.3 diff --git a/doc/doxyout/ntlm/man/man3/length.3 b/doc/doxyout/ntlm/man/man3/length.3 new file mode 100644 index 0000000000000..340108f66d7b1 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/length.3 @@ -0,0 +1 @@ +.so man3/ntlm_buf.3 diff --git a/doc/doxyout/ntlm/man/man3/lm.3 b/doc/doxyout/ntlm/man/man3/lm.3 new file mode 100644 index 0000000000000..de392aede5fd4 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/lm.3 @@ -0,0 +1 @@ +.so man3/ntlm_type3.3 diff --git a/doc/doxyout/ntlm/man/man3/ntlm.3 b/doc/doxyout/ntlm/man/man3/ntlm.3 new file mode 100644 index 0000000000000..de392aede5fd4 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/ntlm.3 @@ -0,0 +1 @@ +.so man3/ntlm_type3.3 diff --git a/doc/doxyout/ntlm/man/man3/ntlm_buf.3 b/doc/doxyout/ntlm/man/man3/ntlm_buf.3 new file mode 100644 index 0000000000000..5e7fe858897f0 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/ntlm_buf.3 @@ -0,0 +1,48 @@ +.TH "ntlm_buf" 3 "30 Jul 2011" "Version 1.5" "Heimdalntlmlibrary" \" -*- nroff -*- +.ad l +.nh +.SH NAME +ntlm_buf \- +.SH SYNOPSIS +.br +.PP +\fC#include <heimntlm.h>\fP +.PP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "size_t \fBlength\fP" +.br +.ti -1c +.RI "void * \fBdata\fP" +.br +.in -1c +.SH "Detailed Description" +.PP +Buffer for storing data in the NTLM library. When filled in by the library it should be freed with \fBheim_ntlm_free_buf()\fP. +.PP +\fBExamples: \fP +.in +1c +.PP +\fBtest_ntlm.c\fP. +.SH "Field Documentation" +.PP +.SS "size_t \fBntlm_buf::length\fP" +.PP +length buffer data +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "void* \fBntlm_buf::data\fP" +.PP +pointer to the data itself +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. + +.SH "Author" +.PP +Generated automatically by Doxygen for Heimdalntlmlibrary from the source code. diff --git a/doc/doxyout/ntlm/man/man3/ntlm_core.3 b/doc/doxyout/ntlm/man/man3/ntlm_core.3 new file mode 100644 index 0000000000000..20b2ec6756e75 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/ntlm_core.3 @@ -0,0 +1,421 @@ +.TH "Heimdal NTLM library" 3 "30 Jul 2011" "Version 1.5" "Heimdalntlmlibrary" \" -*- nroff -*- +.ad l +.nh +.SH NAME +Heimdal NTLM library \- +.SS "Functions" + +.in +1c +.ti -1c +.RI "void \fBheim_ntlm_free_buf\fP (struct \fBntlm_buf\fP *p)" +.br +.ti -1c +.RI "void \fBheim_ntlm_free_targetinfo\fP (struct ntlm_targetinfo *ti)" +.br +.ti -1c +.RI "int \fBheim_ntlm_encode_targetinfo\fP (const struct ntlm_targetinfo *ti, int ucs2, struct \fBntlm_buf\fP *data)" +.br +.ti -1c +.RI "int \fBheim_ntlm_decode_targetinfo\fP (const struct \fBntlm_buf\fP *data, int ucs2, struct ntlm_targetinfo *ti)" +.br +.ti -1c +.RI "void \fBheim_ntlm_free_type1\fP (struct \fBntlm_type1\fP *data)" +.br +.ti -1c +.RI "int \fBheim_ntlm_encode_type1\fP (const struct \fBntlm_type1\fP *type1, struct \fBntlm_buf\fP *data)" +.br +.ti -1c +.RI "void \fBheim_ntlm_free_type2\fP (struct \fBntlm_type2\fP *data)" +.br +.ti -1c +.RI "int \fBheim_ntlm_encode_type2\fP (const struct \fBntlm_type2\fP *type2, struct \fBntlm_buf\fP *data)" +.br +.ti -1c +.RI "void \fBheim_ntlm_free_type3\fP (struct \fBntlm_type3\fP *data)" +.br +.ti -1c +.RI "int \fBheim_ntlm_encode_type3\fP (const struct \fBntlm_type3\fP *type3, struct \fBntlm_buf\fP *data)" +.br +.ti -1c +.RI "int \fBheim_ntlm_nt_key\fP (const char *password, struct \fBntlm_buf\fP *key)" +.br +.ti -1c +.RI "int \fBheim_ntlm_calculate_ntlm1\fP (void *key, size_t len, unsigned char challenge[8], struct \fBntlm_buf\fP *answer)" +.br +.ti -1c +.RI "int \fBheim_ntlm_build_ntlm1_master\fP (void *key, size_t len, struct \fBntlm_buf\fP *session, struct \fBntlm_buf\fP *master)" +.br +.ti -1c +.RI "int \fBheim_ntlm_build_ntlm2_master\fP (void *key, size_t len, struct \fBntlm_buf\fP *blob, struct \fBntlm_buf\fP *session, struct \fBntlm_buf\fP *master)" +.br +.ti -1c +.RI "int \fBheim_ntlm_keyex_unwrap\fP (struct \fBntlm_buf\fP *baseKey, struct \fBntlm_buf\fP *encryptedSession, struct \fBntlm_buf\fP *session)" +.br +.ti -1c +.RI "int \fBheim_ntlm_ntlmv2_key\fP (const void *key, size_t len, const char *username, const char *target, unsigned char ntlmv2[16])" +.br +.ti -1c +.RI "int \fBheim_ntlm_calculate_lm2\fP (const void *key, size_t len, const char *username, const char *target, const unsigned char serverchallenge[8], unsigned char ntlmv2[16], struct \fBntlm_buf\fP *answer)" +.br +.ti -1c +.RI "int \fBheim_ntlm_calculate_ntlm2\fP (const void *key, size_t len, const char *username, const char *target, const unsigned char serverchallenge[8], const struct \fBntlm_buf\fP *infotarget, unsigned char ntlmv2[16], struct \fBntlm_buf\fP *answer)" +.br +.ti -1c +.RI "int \fBheim_ntlm_verify_ntlm2\fP (const void *key, size_t len, const char *username, const char *target, time_t now, const unsigned char serverchallenge[8], const struct \fBntlm_buf\fP *answer, struct \fBntlm_buf\fP *infotarget, unsigned char ntlmv2[16])" +.br +.in -1c +.SH "Detailed Description" +.PP +The NTLM core functions implement the string2key generation function, message encode and decode function, and the hash function functions. +.SH "Function Documentation" +.PP +.SS "int heim_ntlm_build_ntlm1_master (void * key, size_t len, struct \fBntlm_buf\fP * session, struct \fBntlm_buf\fP * master)" +.PP +Generates an NTLMv1 session random with assosited session master key. +.PP +\fBParameters:\fP +.RS 4 +\fIkey\fP the ntlm v1 key +.br +\fIlen\fP length of key +.br +\fIsession\fP generated session nonce, should be freed with \fBheim_ntlm_free_buf()\fP. +.br +\fImaster\fP calculated session master key, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_build_ntlm2_master (void * key, size_t len, struct \fBntlm_buf\fP * blob, struct \fBntlm_buf\fP * session, struct \fBntlm_buf\fP * master)" +.PP +Generates an NTLMv2 session random with associated session master key. +.PP +\fBParameters:\fP +.RS 4 +\fIkey\fP the NTLMv2 key +.br +\fIlen\fP length of key +.br +\fIblob\fP the NTLMv2 'blob' +.br +\fIsession\fP generated session nonce, should be freed with \fBheim_ntlm_free_buf()\fP. +.br +\fImaster\fP calculated session master key, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_calculate_lm2 (const void * key, size_t len, const char * username, const char * target, const unsigned char serverchallenge[8], unsigned char ntlmv2[16], struct \fBntlm_buf\fP * answer)" +.PP +Calculate LMv2 response +.PP +\fBParameters:\fP +.RS 4 +\fIkey\fP the ntlm key +.br +\fIlen\fP length of key +.br +\fIusername\fP name of the user, as sent in the message, assumed to be in UTF8. +.br +\fItarget\fP the name of the target, assumed to be in UTF8. +.br +\fIserverchallenge\fP challenge as sent by the server in the type2 message. +.br +\fIntlmv2\fP calculated session key +.br +\fIanswer\fP ntlm response answer, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_calculate_ntlm1 (void * key, size_t len, unsigned char challenge[8], struct \fBntlm_buf\fP * answer)" +.PP +Calculate NTLMv1 response hash +.PP +\fBParameters:\fP +.RS 4 +\fIkey\fP the ntlm v1 key +.br +\fIlen\fP length of key +.br +\fIchallenge\fP sent by the server +.br +\fIanswer\fP calculated answer, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_calculate_ntlm2 (const void * key, size_t len, const char * username, const char * target, const unsigned char serverchallenge[8], const struct \fBntlm_buf\fP * infotarget, unsigned char ntlmv2[16], struct \fBntlm_buf\fP * answer)" +.PP +Calculate NTLMv2 response +.PP +\fBParameters:\fP +.RS 4 +\fIkey\fP the ntlm key +.br +\fIlen\fP length of key +.br +\fIusername\fP name of the user, as sent in the message, assumed to be in UTF8. +.br +\fItarget\fP the name of the target, assumed to be in UTF8. +.br +\fIserverchallenge\fP challenge as sent by the server in the type2 message. +.br +\fIinfotarget\fP infotarget as sent by the server in the type2 message. +.br +\fIntlmv2\fP calculated session key +.br +\fIanswer\fP ntlm response answer, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_decode_targetinfo (const struct \fBntlm_buf\fP * data, int ucs2, struct ntlm_targetinfo * ti)" +.PP +Decodes an NTLM targetinfo message +.PP +\fBParameters:\fP +.RS 4 +\fIdata\fP input data buffer with the encode NTLM targetinfo message +.br +\fIucs2\fP if the strings should be encoded with ucs2 (selected by flag in message). +.br +\fIti\fP the decoded target info, should be freed with \fBheim_ntlm_free_targetinfo()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_encode_targetinfo (const struct ntlm_targetinfo * ti, int ucs2, struct \fBntlm_buf\fP * data)" +.PP +Encodes a ntlm_targetinfo message. +.PP +\fBParameters:\fP +.RS 4 +\fIti\fP the ntlm_targetinfo message to encode. +.br +\fIucs2\fP ignored +.br +\fIdata\fP is the return buffer with the encoded message, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_encode_type1 (const struct \fBntlm_type1\fP * type1, struct \fBntlm_buf\fP * data)" +.PP +Encodes an \fBntlm_type1\fP message. +.PP +\fBParameters:\fP +.RS 4 +\fItype1\fP the \fBntlm_type1\fP message to encode. +.br +\fIdata\fP is the return buffer with the encoded message, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_encode_type2 (const struct \fBntlm_type2\fP * type2, struct \fBntlm_buf\fP * data)" +.PP +Encodes an \fBntlm_type2\fP message. +.PP +\fBParameters:\fP +.RS 4 +\fItype2\fP the \fBntlm_type2\fP message to encode. +.br +\fIdata\fP is the return buffer with the encoded message, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_encode_type3 (const struct \fBntlm_type3\fP * type3, struct \fBntlm_buf\fP * data)" +.PP +Encodes an \fBntlm_type3\fP message. +.PP +\fBParameters:\fP +.RS 4 +\fItype3\fP the \fBntlm_type3\fP message to encode. +.br +\fIdata\fP is the return buffer with the encoded message, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "void heim_ntlm_free_buf (struct \fBntlm_buf\fP * p)" +.PP +heim_ntlm_free_buf frees the ntlm buffer +.PP +\fBParameters:\fP +.RS 4 +\fIp\fP buffer to be freed +.RE +.PP + +.SS "void heim_ntlm_free_targetinfo (struct ntlm_targetinfo * ti)" +.PP +Frees the ntlm_targetinfo message +.PP +\fBParameters:\fP +.RS 4 +\fIti\fP targetinfo to be freed +.RE +.PP + +.SS "void heim_ntlm_free_type1 (struct \fBntlm_type1\fP * data)" +.PP +Frees the \fBntlm_type1\fP message +.PP +\fBParameters:\fP +.RS 4 +\fIdata\fP message to be freed +.RE +.PP + +.SS "void heim_ntlm_free_type2 (struct \fBntlm_type2\fP * data)" +.PP +Frees the \fBntlm_type2\fP message +.PP +\fBParameters:\fP +.RS 4 +\fIdata\fP message to be freed +.RE +.PP + +.SS "void heim_ntlm_free_type3 (struct \fBntlm_type3\fP * data)" +.PP +Frees the \fBntlm_type3\fP message +.PP +\fBParameters:\fP +.RS 4 +\fIdata\fP message to be freed +.RE +.PP + +.SS "int heim_ntlm_keyex_unwrap (struct \fBntlm_buf\fP * baseKey, struct \fBntlm_buf\fP * encryptedSession, struct \fBntlm_buf\fP * session)" +.PP +Given a key and encrypted session, unwrap the session key +.PP +\fBParameters:\fP +.RS 4 +\fIbaseKey\fP the sessionBaseKey +.br +\fIencryptedSession\fP encrypted session, type3.session field. +.br +\fIsession\fP generated session nonce, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_nt_key (const char * password, struct \fBntlm_buf\fP * key)" +.PP +Calculate the NTLM key, the password is assumed to be in UTF8. +.PP +\fBParameters:\fP +.RS 4 +\fIpassword\fP password to calcute the key for. +.br +\fIkey\fP calcuted key, should be freed with \fBheim_ntlm_free_buf()\fP. +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + +.SS "int heim_ntlm_ntlmv2_key (const void * key, size_t len, const char * username, const char * target, unsigned char ntlmv2[16])" +.PP +Generates an NTLMv2 session key. +.PP +\fBParameters:\fP +.RS 4 +\fIkey\fP the ntlm key +.br +\fIlen\fP length of key +.br +\fIusername\fP name of the user, as sent in the message, assumed to be in UTF8. +.br +\fItarget\fP the name of the target, assumed to be in UTF8. +.br +\fIntlmv2\fP the ntlmv2 session key +.RE +.PP +\fBReturns:\fP +.RS 4 +0 on success, or an error code on failure. +.RE +.PP + +.SS "int heim_ntlm_verify_ntlm2 (const void * key, size_t len, const char * username, const char * target, time_t now, const unsigned char serverchallenge[8], const struct \fBntlm_buf\fP * answer, struct \fBntlm_buf\fP * infotarget, unsigned char ntlmv2[16])" +.PP +Verify NTLMv2 response. +.PP +\fBParameters:\fP +.RS 4 +\fIkey\fP the ntlm key +.br +\fIlen\fP length of key +.br +\fIusername\fP name of the user, as sent in the message, assumed to be in UTF8. +.br +\fItarget\fP the name of the target, assumed to be in UTF8. +.br +\fInow\fP the time now (0 if the library should pick it up itself) +.br +\fIserverchallenge\fP challenge as sent by the server in the type2 message. +.br +\fIanswer\fP ntlm response answer, should be freed with \fBheim_ntlm_free_buf()\fP. +.br +\fIinfotarget\fP infotarget as sent by the server in the type2 message. +.br +\fIntlmv2\fP calculated session key +.RE +.PP +\fBReturns:\fP +.RS 4 +In case of success 0 is return, an errors, a errno in what went wrong. +.RE +.PP + diff --git a/doc/doxyout/ntlm/man/man3/ntlm_type1.3 b/doc/doxyout/ntlm/man/man3/ntlm_type1.3 new file mode 100644 index 0000000000000..5afdd789c7756 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/ntlm_type1.3 @@ -0,0 +1,68 @@ +.TH "ntlm_type1" 3 "30 Jul 2011" "Version 1.5" "Heimdalntlmlibrary" \" -*- nroff -*- +.ad l +.nh +.SH NAME +ntlm_type1 \- +.SH SYNOPSIS +.br +.PP +\fC#include <heimntlm.h>\fP +.PP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "uint32_t \fBflags\fP" +.br +.ti -1c +.RI "char * \fBdomain\fP" +.br +.ti -1c +.RI "char * \fBhostname\fP" +.br +.ti -1c +.RI "uint32_t \fBos\fP [2]" +.br +.in -1c +.SH "Detailed Description" +.PP +Struct for the NTLM type1 message info, the strings is assumed to be in UTF8. When filled in by the library it should be freed with \fBheim_ntlm_free_type1()\fP. +.PP +\fBExamples: \fP +.in +1c +.PP +\fBtest_ntlm.c\fP. +.SH "Field Documentation" +.PP +.SS "uint32_t \fBntlm_type1::flags\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "char* \fBntlm_type1::domain\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "char* \fBntlm_type1::hostname\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "uint32_t \fBntlm_type1::os\fP[2]" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. + +.SH "Author" +.PP +Generated automatically by Doxygen for Heimdalntlmlibrary from the source code. diff --git a/doc/doxyout/ntlm/man/man3/ntlm_type2.3 b/doc/doxyout/ntlm/man/man3/ntlm_type2.3 new file mode 100644 index 0000000000000..75ca8afe016dc --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/ntlm_type2.3 @@ -0,0 +1,80 @@ +.TH "ntlm_type2" 3 "30 Jul 2011" "Version 1.5" "Heimdalntlmlibrary" \" -*- nroff -*- +.ad l +.nh +.SH NAME +ntlm_type2 \- +.SH SYNOPSIS +.br +.PP +\fC#include <heimntlm.h>\fP +.PP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "uint32_t \fBflags\fP" +.br +.ti -1c +.RI "char * \fBtargetname\fP" +.br +.ti -1c +.RI "struct \fBntlm_buf\fP \fBtargetinfo\fP" +.br +.ti -1c +.RI "unsigned char \fBchallenge\fP [8]" +.br +.ti -1c +.RI "uint32_t \fBcontext\fP [2]" +.br +.ti -1c +.RI "uint32_t \fBos\fP [2]" +.br +.in -1c +.SH "Detailed Description" +.PP +Struct for the NTLM type2 message info, the strings is assumed to be in UTF8. When filled in by the library it should be freed with \fBheim_ntlm_free_type2()\fP. +.PP +\fBExamples: \fP +.in +1c +.PP +\fBtest_ntlm.c\fP. +.SH "Field Documentation" +.PP +.SS "uint32_t \fBntlm_type2::flags\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "char* \fBntlm_type2::targetname\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "struct \fBntlm_buf\fP \fBntlm_type2::targetinfo\fP\fC [read]\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "unsigned char \fBntlm_type2::challenge\fP[8]" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "uint32_t \fBntlm_type2::context\fP[2]" +.PP + +.SS "uint32_t \fBntlm_type2::os\fP[2]" +.PP + + +.SH "Author" +.PP +Generated automatically by Doxygen for Heimdalntlmlibrary from the source code. diff --git a/doc/doxyout/ntlm/man/man3/ntlm_type3.3 b/doc/doxyout/ntlm/man/man3/ntlm_type3.3 new file mode 100644 index 0000000000000..300de94d9444e --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/ntlm_type3.3 @@ -0,0 +1,96 @@ +.TH "ntlm_type3" 3 "30 Jul 2011" "Version 1.5" "Heimdalntlmlibrary" \" -*- nroff -*- +.ad l +.nh +.SH NAME +ntlm_type3 \- +.SH SYNOPSIS +.br +.PP +\fC#include <heimntlm.h>\fP +.PP +.SS "Data Fields" + +.in +1c +.ti -1c +.RI "uint32_t \fBflags\fP" +.br +.ti -1c +.RI "char * \fBusername\fP" +.br +.ti -1c +.RI "char * \fBtargetname\fP" +.br +.ti -1c +.RI "struct \fBntlm_buf\fP \fBlm\fP" +.br +.ti -1c +.RI "struct \fBntlm_buf\fP \fBntlm\fP" +.br +.ti -1c +.RI "struct \fBntlm_buf\fP \fBsessionkey\fP" +.br +.ti -1c +.RI "char * \fBws\fP" +.br +.ti -1c +.RI "uint32_t \fBos\fP [2]" +.br +.in -1c +.SH "Detailed Description" +.PP +Struct for the NTLM type3 message info, the strings is assumed to be in UTF8. When filled in by the library it should be freed with \fBheim_ntlm_free_type3()\fP. +.PP +\fBExamples: \fP +.in +1c +.PP +\fBtest_ntlm.c\fP. +.SH "Field Documentation" +.PP +.SS "uint32_t \fBntlm_type3::flags\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "char* \fBntlm_type3::username\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "char* \fBntlm_type3::targetname\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "struct \fBntlm_buf\fP \fBntlm_type3::lm\fP\fC [read]\fP" +.PP + +.SS "struct \fBntlm_buf\fP \fBntlm_type3::ntlm\fP\fC [read]\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "struct \fBntlm_buf\fP \fBntlm_type3::sessionkey\fP\fC [read]\fP" +.PP + +.SS "char* \fBntlm_type3::ws\fP" +.PP + +.PP +\fBExamples: \fP +.in +1c +\fBtest_ntlm.c\fP. +.SS "uint32_t \fBntlm_type3::os\fP[2]" +.PP + + +.SH "Author" +.PP +Generated automatically by Doxygen for Heimdalntlmlibrary from the source code. diff --git a/doc/doxyout/ntlm/man/man3/os.3 b/doc/doxyout/ntlm/man/man3/os.3 new file mode 100644 index 0000000000000..d1020b43b40dc --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/os.3 @@ -0,0 +1 @@ +.so man3/ntlm_type1.3 diff --git a/doc/doxyout/ntlm/man/man3/sessionkey.3 b/doc/doxyout/ntlm/man/man3/sessionkey.3 new file mode 100644 index 0000000000000..de392aede5fd4 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/sessionkey.3 @@ -0,0 +1 @@ +.so man3/ntlm_type3.3 diff --git a/doc/doxyout/ntlm/man/man3/targetinfo.3 b/doc/doxyout/ntlm/man/man3/targetinfo.3 new file mode 100644 index 0000000000000..a7659b3d1febb --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/targetinfo.3 @@ -0,0 +1 @@ +.so man3/ntlm_type2.3 diff --git a/doc/doxyout/ntlm/man/man3/targetname.3 b/doc/doxyout/ntlm/man/man3/targetname.3 new file mode 100644 index 0000000000000..a7659b3d1febb --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/targetname.3 @@ -0,0 +1 @@ +.so man3/ntlm_type2.3 diff --git a/doc/doxyout/ntlm/man/man3/username.3 b/doc/doxyout/ntlm/man/man3/username.3 new file mode 100644 index 0000000000000..de392aede5fd4 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/username.3 @@ -0,0 +1 @@ +.so man3/ntlm_type3.3 diff --git a/doc/doxyout/ntlm/man/man3/ws.3 b/doc/doxyout/ntlm/man/man3/ws.3 new file mode 100644 index 0000000000000..de392aede5fd4 --- /dev/null +++ b/doc/doxyout/ntlm/man/man3/ws.3 @@ -0,0 +1 @@ +.so man3/ntlm_type3.3 diff --git a/doc/doxyout/ntlm/manpages b/doc/doxyout/ntlm/manpages new file mode 100644 index 0000000000000..d79b6dd9a43a3 --- /dev/null +++ b/doc/doxyout/ntlm/manpages @@ -0,0 +1,39 @@ +ntlm/man/man3/challenge.3 +ntlm/man/man3/context.3 +ntlm/man/man3/data.3 +ntlm/man/man3/domain.3 +ntlm/man/man3/flags.3 +ntlm/man/man3/heim_ntlm_build_ntlm1_master.3 +ntlm/man/man3/heim_ntlm_build_ntlm2_master.3 +ntlm/man/man3/heim_ntlm_calculate_lm2.3 +ntlm/man/man3/heim_ntlm_calculate_ntlm1.3 +ntlm/man/man3/heim_ntlm_calculate_ntlm2.3 +ntlm/man/man3/heim_ntlm_decode_targetinfo.3 +ntlm/man/man3/heim_ntlm_encode_targetinfo.3 +ntlm/man/man3/heim_ntlm_encode_type1.3 +ntlm/man/man3/heim_ntlm_encode_type2.3 +ntlm/man/man3/heim_ntlm_encode_type3.3 +ntlm/man/man3/heim_ntlm_free_buf.3 +ntlm/man/man3/heim_ntlm_free_targetinfo.3 +ntlm/man/man3/heim_ntlm_free_type1.3 +ntlm/man/man3/heim_ntlm_free_type2.3 +ntlm/man/man3/heim_ntlm_free_type3.3 +ntlm/man/man3/heim_ntlm_keyex_unwrap.3 +ntlm/man/man3/heim_ntlm_nt_key.3 +ntlm/man/man3/heim_ntlm_ntlmv2_key.3 +ntlm/man/man3/heim_ntlm_verify_ntlm2.3 +ntlm/man/man3/hostname.3 +ntlm/man/man3/length.3 +ntlm/man/man3/lm.3 +ntlm/man/man3/ntlm.3 +ntlm/man/man3/ntlm_buf.3 +ntlm/man/man3/ntlm_core.3 +ntlm/man/man3/ntlm_type1.3 +ntlm/man/man3/ntlm_type2.3 +ntlm/man/man3/ntlm_type3.3 +ntlm/man/man3/os.3 +ntlm/man/man3/sessionkey.3 +ntlm/man/man3/targetinfo.3 +ntlm/man/man3/targetname.3 +ntlm/man/man3/username.3 +ntlm/man/man3/ws.3 |