aboutsummaryrefslogtreecommitdiff
path: root/doc/doxyout/ntlm
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2022-03-28 17:02:13 +0000
committerCy Schubert <cy@FreeBSD.org>2022-03-28 17:02:13 +0000
commit49af073ed77202a54dfdd773cbcbbf7835c75baf (patch)
treeb180dbeab238a3d30b8d99d05c9cf0e30fbadd5a /doc/doxyout/ntlm
parentd684f11da759490a8d98d7b790796106285f4084 (diff)
Diffstat (limited to 'doc/doxyout/ntlm')
-rw-r--r--doc/doxyout/ntlm/html/annotated.html2
-rw-r--r--doc/doxyout/ntlm/html/classes.html2
-rw-r--r--doc/doxyout/ntlm/html/examples.html2
-rw-r--r--doc/doxyout/ntlm/html/functions.html2
-rw-r--r--doc/doxyout/ntlm/html/functions_vars.html2
-rw-r--r--doc/doxyout/ntlm/html/graph_legend.html2
-rw-r--r--doc/doxyout/ntlm/html/graph_legend.pngbin25694 -> 26272 bytes
-rw-r--r--doc/doxyout/ntlm/html/group__ntlm__core.html2
-rw-r--r--doc/doxyout/ntlm/html/index.html2
-rw-r--r--doc/doxyout/ntlm/html/modules.html2
-rw-r--r--doc/doxyout/ntlm/html/structntlm__buf.html2
-rw-r--r--doc/doxyout/ntlm/html/structntlm__type1.html2
-rw-r--r--doc/doxyout/ntlm/html/structntlm__type2.html2
-rw-r--r--doc/doxyout/ntlm/html/structntlm__type2__coll__graph.pngbin4119 -> 4345 bytes
-rw-r--r--doc/doxyout/ntlm/html/structntlm__type3.html2
-rw-r--r--doc/doxyout/ntlm/html/structntlm__type3__coll__graph.pngbin4997 -> 5171 bytes
-rw-r--r--doc/doxyout/ntlm/html/test_ntlm_8c-example.html2
-rw-r--r--doc/doxyout/ntlm/man/man3/ntlm_buf.32
-rw-r--r--doc/doxyout/ntlm/man/man3/ntlm_core.32
-rw-r--r--doc/doxyout/ntlm/man/man3/ntlm_type1.32
-rw-r--r--doc/doxyout/ntlm/man/man3/ntlm_type2.32
-rw-r--r--doc/doxyout/ntlm/man/man3/ntlm_type3.32
22 files changed, 19 insertions, 19 deletions
diff --git a/doc/doxyout/ntlm/html/annotated.html b/doc/doxyout/ntlm/html/annotated.html
index 87cbf8a843bc..d9a23d7fba97 100644
--- a/doc/doxyout/ntlm/html/annotated.html
+++ b/doc/doxyout/ntlm/html/annotated.html
@@ -33,6 +33,6 @@ $(function() {
</div><!-- directory -->
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/classes.html b/doc/doxyout/ntlm/html/classes.html
index d30d6b91001d..19ea669ea111 100644
--- a/doc/doxyout/ntlm/html/classes.html
+++ b/doc/doxyout/ntlm/html/classes.html
@@ -34,6 +34,6 @@ $(function() {
<div class="qindex"><a class="qindex" href="#letter_n">n</a></div>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/examples.html b/doc/doxyout/ntlm/html/examples.html
index 8135402acaad..665f206443a5 100644
--- a/doc/doxyout/ntlm/html/examples.html
+++ b/doc/doxyout/ntlm/html/examples.html
@@ -29,6 +29,6 @@ $(function() {
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/functions.html b/doc/doxyout/ntlm/html/functions.html
index 577ec73a78cd..2524238301b3 100644
--- a/doc/doxyout/ntlm/html/functions.html
+++ b/doc/doxyout/ntlm/html/functions.html
@@ -29,6 +29,6 @@ $(function() {
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/functions_vars.html b/doc/doxyout/ntlm/html/functions_vars.html
index bff10abefd60..b3059e86bca7 100644
--- a/doc/doxyout/ntlm/html/functions_vars.html
+++ b/doc/doxyout/ntlm/html/functions_vars.html
@@ -29,6 +29,6 @@ $(function() {
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/graph_legend.html b/doc/doxyout/ntlm/html/graph_legend.html
index f4724de236a4..c04747289836 100644
--- a/doc/doxyout/ntlm/html/graph_legend.html
+++ b/doc/doxyout/ntlm/html/graph_legend.html
@@ -54,6 +54,6 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/graph_legend.png b/doc/doxyout/ntlm/html/graph_legend.png
index 881e40f9c0a2..d1fdf389c3b6 100644
--- a/doc/doxyout/ntlm/html/graph_legend.png
+++ b/doc/doxyout/ntlm/html/graph_legend.png
Binary files differ
diff --git a/doc/doxyout/ntlm/html/group__ntlm__core.html b/doc/doxyout/ntlm/html/group__ntlm__core.html
index 00267126e0ec..6f9319707d9f 100644
--- a/doc/doxyout/ntlm/html/group__ntlm__core.html
+++ b/doc/doxyout/ntlm/html/group__ntlm__core.html
@@ -963,6 +963,6 @@ Functions</h2></td></tr>
</div>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/index.html b/doc/doxyout/ntlm/html/index.html
index 3327c9134141..e9f5f0838b5f 100644
--- a/doc/doxyout/ntlm/html/index.html
+++ b/doc/doxyout/ntlm/html/index.html
@@ -35,6 +35,6 @@ NTLM Example</h1>
<p>Example to to use <a class="el" href="test_ntlm_8c-example.html">test_ntlm.c</a> . </p>
</div></div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/modules.html b/doc/doxyout/ntlm/html/modules.html
index f6d7f809f562..15821305c0a5 100644
--- a/doc/doxyout/ntlm/html/modules.html
+++ b/doc/doxyout/ntlm/html/modules.html
@@ -30,6 +30,6 @@ $(function() {
</div><!-- directory -->
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/structntlm__buf.html b/doc/doxyout/ntlm/html/structntlm__buf.html
index c789acf95b6e..90e5aa28b2e4 100644
--- a/doc/doxyout/ntlm/html/structntlm__buf.html
+++ b/doc/doxyout/ntlm/html/structntlm__buf.html
@@ -76,6 +76,6 @@ Data Fields</h2></td></tr>
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/structntlm__type1.html b/doc/doxyout/ntlm/html/structntlm__type1.html
index 797a8173928c..8a5b70afbb1f 100644
--- a/doc/doxyout/ntlm/html/structntlm__type1.html
+++ b/doc/doxyout/ntlm/html/structntlm__type1.html
@@ -33,6 +33,6 @@ $(function() {
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/structntlm__type2.html b/doc/doxyout/ntlm/html/structntlm__type2.html
index 81cf09fe80fd..6cf2ec16cd7e 100644
--- a/doc/doxyout/ntlm/html/structntlm__type2.html
+++ b/doc/doxyout/ntlm/html/structntlm__type2.html
@@ -41,6 +41,6 @@ Collaboration diagram for ntlm_type2:</div>
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.png b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.png
index f02bb92a6a14..639257a0e15c 100644
--- a/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.png
+++ b/doc/doxyout/ntlm/html/structntlm__type2__coll__graph.png
Binary files differ
diff --git a/doc/doxyout/ntlm/html/structntlm__type3.html b/doc/doxyout/ntlm/html/structntlm__type3.html
index f5be00a29a5d..e273edfd1620 100644
--- a/doc/doxyout/ntlm/html/structntlm__type3.html
+++ b/doc/doxyout/ntlm/html/structntlm__type3.html
@@ -41,6 +41,6 @@ Collaboration diagram for ntlm_type3:</div>
</ul>
</div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.png b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.png
index 24b7d07154da..ebfc9034e91b 100644
--- a/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.png
+++ b/doc/doxyout/ntlm/html/structntlm__type3__coll__graph.png
Binary files differ
diff --git a/doc/doxyout/ntlm/html/test_ntlm_8c-example.html b/doc/doxyout/ntlm/html/test_ntlm_8c-example.html
index 8c895b09c7fe..7ea4abf32663 100644
--- a/doc/doxyout/ntlm/html/test_ntlm_8c-example.html
+++ b/doc/doxyout/ntlm/html/test_ntlm_8c-example.html
@@ -26,6 +26,6 @@ $(function() {
<p>Example how to use the NTLM primitives.</p>
<div class="fragment"><div class="line"><span class="comment">/*</span></div><div class="line"><span class="comment"> * Copyright (c) 2006 - 2007 Kungliga Tekniska Högskolan</span></div><div class="line"><span class="comment"> * (Royal Institute of Technology, Stockholm, Sweden).</span></div><div class="line"><span class="comment"> * All rights reserved.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div><div class="line"><span class="comment"> * modification, are permitted provided that the following conditions</span></div><div class="line"><span class="comment"> * are met:</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * 1. Redistributions of source code must retain the above copyright</span></div><div class="line"><span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div><div class="line"><span class="comment"> * notice, this list of conditions and the following disclaimer in the</span></div><div class="line"><span class="comment"> * documentation and/or other materials provided with the distribution.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * 3. Neither the name of KTH nor the names of its contributors may be</span></div><div class="line"><span class="comment"> * used to endorse or promote products derived from this software without</span></div><div class="line"><span class="comment"> * specific prior written permission.</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS&#39;&#39; AND ANY</span></div><div class="line"><span class="comment"> * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div><div class="line"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</span></div><div class="line"><span class="comment"> * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE</span></div><div class="line"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div><div class="line"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div><div class="line"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR</span></div><div class="line"><span class="comment"> * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,</span></div><div class="line"><span class="comment"> * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR</span></div><div class="line"><span class="comment"> * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF</span></div><div class="line"><span class="comment"> * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div><div class="line"><span class="comment"> */</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &lt;stdio.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;err.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;roken.h&gt;</span></div><div class="line"><span class="preprocessor">#include &lt;getarg.h&gt;</span></div><div class="line"></div><div class="line"><span class="preprocessor">#include &lt;krb5-types.h&gt;</span> <span class="comment">/* or &lt;inttypes.h&gt; */</span></div><div class="line"><span class="preprocessor">#include &lt;heimntlm.h&gt;</span></div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> dumpdata_flag;</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line">test_parse(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *user = <span class="stringliteral">&quot;foo&quot;</span>,</div><div class="line"> *domain = <span class="stringliteral">&quot;mydomain&quot;</span>,</div><div class="line"> *hostname = <span class="stringliteral">&quot;myhostname&quot;</span>,</div><div class="line"> *password = <span class="stringliteral">&quot;digestpassword&quot;</span>,</div><div class="line"> *target = <span class="stringliteral">&quot;DOMAIN&quot;</span>;</div><div class="line"> <span class="keyword">struct </span><a name="_a0"></a><a class="code" href="structntlm__type1.html">ntlm_type1</a> type1;</div><div class="line"> <span class="keyword">struct </span><a name="_a1"></a><a class="code" href="structntlm__type2.html">ntlm_type2</a> type2;</div><div class="line"> <span class="keyword">struct </span><a name="_a2"></a><a class="code" href="structntlm__type3.html">ntlm_type3</a> type3;</div><div class="line"> <span class="keyword">struct </span><a name="_a3"></a><a class="code" href="structntlm__buf.html">ntlm_buf</a> data;</div><div class="line"> <span class="keywordtype">int</span> ret, flags;</div><div class="line"></div><div class="line"> memset(&amp;type1, 0, <span class="keyword">sizeof</span>(type1));</div><div class="line"></div><div class="line"> type1.<a name="a4"></a>flags = NTLM_NEG_UNICODE|NTLM_NEG_TARGET|NTLM_NEG_NTLM|NTLM_NEG_VERSION;</div><div class="line"> type1.<a name="a5"></a>domain = rk_UNCONST(domain);</div><div class="line"> type1.<a name="a6"></a>hostname = rk_UNCONST(hostname);</div><div class="line"> type1.<a name="a7"></a>os[0] = 0;</div><div class="line"> type1.os[1] = 0;</div><div class="line"></div><div class="line"> ret = <a name="a8"></a><a class="code" href="group__ntlm__core.html#ga0107727234287ac61a8801b0faff9dff">heim_ntlm_encode_type1</a>(&amp;type1, &amp;data);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_encode_type1&quot;</span>);</div><div class="line"></div><div class="line"> memset(&amp;type1, 0, <span class="keyword">sizeof</span>(type1));</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (dumpdata_flag)</div><div class="line"> rk_dumpdata(<span class="stringliteral">&quot;ntlm-type1&quot;</span>, data.<a name="a9"></a><a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, data.<a name="a10"></a><a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>);</div><div class="line"></div><div class="line"> ret = heim_ntlm_decode_type1(&amp;data, &amp;type1);</div><div class="line"> free(data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_encode_type1&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (strcmp(type1.domain, domain) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;parser got domain wrong: %s&quot;</span>, type1.domain);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (strcmp(type1.hostname, hostname) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;parser got hostname wrong: %s&quot;</span>, type1.hostname);</div><div class="line"></div><div class="line"> <a name="a11"></a><a class="code" href="group__ntlm__core.html#ga76fa6caf3f539e24008e31613f5eb663">heim_ntlm_free_type1</a>(&amp;type1);</div><div class="line"></div><div class="line"> <span class="comment">/*</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> */</span></div><div class="line"></div><div class="line"> memset(&amp;type2, 0, <span class="keyword">sizeof</span>(type2));</div><div class="line"></div><div class="line"> flags = NTLM_NEG_UNICODE | NTLM_NEG_NTLM | NTLM_TARGET_DOMAIN;</div><div class="line"> type2.<a name="a12"></a>flags = flags;</div><div class="line"></div><div class="line"> memset(type2.<a name="a13"></a>challenge, 0x7f, <span class="keyword">sizeof</span>(type2.challenge));</div><div class="line"> type2.<a name="a14"></a>targetname = rk_UNCONST(target);</div><div class="line"> type2.<a name="a15"></a>targetinfo.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = NULL;</div><div class="line"> type2.targetinfo.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 0;</div><div class="line"></div><div class="line"> ret = <a name="a16"></a><a class="code" href="group__ntlm__core.html#ga2860c6f6d497255eb433adc8cacc49dd">heim_ntlm_encode_type2</a>(&amp;type2, &amp;data);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_encode_type2&quot;</span>);</div><div class="line"></div><div class="line"> memset(&amp;type2, 0, <span class="keyword">sizeof</span>(type2));</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (dumpdata_flag)</div><div class="line"> rk_dumpdata(<span class="stringliteral">&quot;ntlm-type2&quot;</span>, data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>);</div><div class="line"></div><div class="line"> ret = heim_ntlm_decode_type2(&amp;data, &amp;type2);</div><div class="line"> free(data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_decode_type2&quot;</span>);</div><div class="line"></div><div class="line"> <a name="a17"></a><a class="code" href="group__ntlm__core.html#ga8fde84c86f1c7c9f730f7fb4acedcb43">heim_ntlm_free_type2</a>(&amp;type2);</div><div class="line"></div><div class="line"> <span class="comment">/*</span></div><div class="line"><span class="comment"> *</span></div><div class="line"><span class="comment"> */</span></div><div class="line"></div><div class="line"> memset(&amp;type3, 0, <span class="keyword">sizeof</span>(type3));</div><div class="line"></div><div class="line"> type3.<a name="a18"></a>flags = flags;</div><div class="line"> type3.<a name="a19"></a>username = rk_UNCONST(user);</div><div class="line"> type3.<a name="a20"></a>targetname = rk_UNCONST(target);</div><div class="line"> type3.<a name="a21"></a>ws = rk_UNCONST(<span class="stringliteral">&quot;workstation&quot;</span>);</div><div class="line"></div><div class="line"> {</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> key;</div><div class="line"> <a name="a22"></a><a class="code" href="group__ntlm__core.html#ga254ee0a4d5a2594833e36697ad575d7e">heim_ntlm_nt_key</a>(password, &amp;key);</div><div class="line"></div><div class="line"> <a name="a23"></a><a class="code" href="group__ntlm__core.html#gae3b634802ef94233a175291abd2ea14d">heim_ntlm_calculate_ntlm1</a>(key.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, key.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>,</div><div class="line"> type2.challenge,</div><div class="line"> &amp;type3.<a name="a24"></a>ntlm);</div><div class="line"> free(key.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> }</div><div class="line"></div><div class="line"> ret = <a name="a25"></a><a class="code" href="group__ntlm__core.html#gade200095bfa40a73cfd4154010cc6e76">heim_ntlm_encode_type3</a>(&amp;type3, &amp;data, NULL);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_encode_type3&quot;</span>);</div><div class="line"></div><div class="line"> free(type3.ntlm.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"></div><div class="line"> memset(&amp;type3, 0, <span class="keyword">sizeof</span>(type3));</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (dumpdata_flag)</div><div class="line"> rk_dumpdata(<span class="stringliteral">&quot;ntlm-type3&quot;</span>, data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>);</div><div class="line"></div><div class="line"> ret = heim_ntlm_decode_type3(&amp;data, 1, &amp;type3);</div><div class="line"> free(data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_decode_type3&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (strcmp(<span class="stringliteral">&quot;workstation&quot;</span>, type3.ws) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;type3 ws wrong&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (strcmp(target, type3.targetname) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;type3 targetname wrong&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (strcmp(user, type3.username) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;type3 username wrong&quot;</span>);</div><div class="line"></div><div class="line"></div><div class="line"> <a name="a26"></a><a class="code" href="group__ntlm__core.html#gac4e6d01e5247b8540d41ccbbf1031319">heim_ntlm_free_type3</a>(&amp;type3);</div><div class="line"></div><div class="line"> <span class="comment">/*</span></div><div class="line"><span class="comment"> * NTLMv2</span></div><div class="line"><span class="comment"> */</span></div><div class="line"></div><div class="line"> memset(&amp;type2, 0, <span class="keyword">sizeof</span>(type2));</div><div class="line"></div><div class="line"> flags = NTLM_NEG_UNICODE | NTLM_NEG_NTLM | NTLM_TARGET_DOMAIN;</div><div class="line"> type2.flags = flags;</div><div class="line"></div><div class="line"> memset(type2.challenge, 0x7f, <span class="keyword">sizeof</span>(type2.challenge));</div><div class="line"> type2.targetname = rk_UNCONST(target);</div><div class="line"> type2.targetinfo.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = <span class="stringliteral">&quot;\x00\x00&quot;</span>;</div><div class="line"> type2.targetinfo.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 2;</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__ntlm__core.html#ga2860c6f6d497255eb433adc8cacc49dd">heim_ntlm_encode_type2</a>(&amp;type2, &amp;data);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_encode_type2&quot;</span>);</div><div class="line"></div><div class="line"> memset(&amp;type2, 0, <span class="keyword">sizeof</span>(type2));</div><div class="line"></div><div class="line"> ret = heim_ntlm_decode_type2(&amp;data, &amp;type2);</div><div class="line"> free(data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_decode_type2&quot;</span>);</div><div class="line"></div><div class="line"> <a class="code" href="group__ntlm__core.html#ga8fde84c86f1c7c9f730f7fb4acedcb43">heim_ntlm_free_type2</a>(&amp;type2);</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line">test_keys(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span></div><div class="line"> *username = <span class="stringliteral">&quot;test&quot;</span>,</div><div class="line"> *password = <span class="stringliteral">&quot;test1234&quot;</span>,</div><div class="line"> *target = <span class="stringliteral">&quot;TESTNT&quot;</span>;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span></div><div class="line"> serverchallenge[8] = <span class="stringliteral">&quot;\x67\x7f\x1c\x55\x7a\x5e\xe9\x6c&quot;</span>;</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> infotarget, infotarget2, answer, key;</div><div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ntlmv2[16], ntlmv2_1[16];</div><div class="line"> <span class="keywordtype">int</span> ret;</div><div class="line"></div><div class="line"> infotarget.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 70;</div><div class="line"> infotarget.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> =</div><div class="line"> <span class="stringliteral">&quot;\x02\x00\x0c\x00\x54\x00\x45\x00\x53\x00\x54\x00\x4e\x00\x54\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x01\x00\x0c\x00\x4d\x00\x45\x00\x4d\x00\x42\x00\x45\x00\x52\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x03\x00\x1e\x00\x6d\x00\x65\x00\x6d\x00\x62\x00\x65\x00\x72\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x2e\x00\x74\x00\x65\x00\x73\x00\x74\x00\x2e\x00\x63\x00\x6f&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x6d\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x00\x00\x00&quot;</span>;</div><div class="line"></div><div class="line"> answer.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 0;</div><div class="line"> answer.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = NULL;</div><div class="line"></div><div class="line"> <a class="code" href="group__ntlm__core.html#ga254ee0a4d5a2594833e36697ad575d7e">heim_ntlm_nt_key</a>(password, &amp;key);</div><div class="line"></div><div class="line"> ret = <a name="a27"></a><a class="code" href="group__ntlm__core.html#gaa8f07fb71a0d5f095cde3fb9fb40d10c">heim_ntlm_calculate_ntlm2</a>(key.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>,</div><div class="line"> key.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>,</div><div class="line"> username,</div><div class="line"> target,</div><div class="line"> serverchallenge,</div><div class="line"> &amp;infotarget,</div><div class="line"> ntlmv2,</div><div class="line"> &amp;answer);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_calculate_ntlm2&quot;</span>);</div><div class="line"></div><div class="line"> ret = <a name="a28"></a><a class="code" href="group__ntlm__core.html#ga3b3d6a5187cab6bfe656afa7a8273ca6">heim_ntlm_verify_ntlm2</a>(key.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>,</div><div class="line"> key.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>,</div><div class="line"> username,</div><div class="line"> target,</div><div class="line"> 0,</div><div class="line"> serverchallenge,</div><div class="line"> &amp;answer,</div><div class="line"> &amp;infotarget2,</div><div class="line"> ntlmv2_1);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_verify_ntlm2&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (memcmp(ntlmv2, ntlmv2_1, <span class="keyword">sizeof</span>(ntlmv2)) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;ntlm master key not same&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (infotarget.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> &gt; infotarget2.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>)</div><div class="line"> errx(1, <span class="stringliteral">&quot;infotarget length&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (memcmp(infotarget.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, infotarget2.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, infotarget.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;infotarget not the same&quot;</span>);</div><div class="line"></div><div class="line"> free(key.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> free(answer.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> free(infotarget2.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line">test_ntlm2_session_resp(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keywordtype">int</span> ret;</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> lm, ntlm;</div><div class="line"></div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> lm_resp[24] =</div><div class="line"> <span class="stringliteral">&quot;\xff\xff\xff\x00\x11\x22\x33\x44&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x00\x00\x00\x00\x00\x00\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x00\x00\x00\x00\x00\x00\x00&quot;</span>;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ntlm2_sess_resp[24] =</div><div class="line"> <span class="stringliteral">&quot;\x10\xd5\x50\x83\x2d\x12\xb2\xcc&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xb7\x9d\x5a\xd1\xf4\xee\xd3\xdf&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x82\xac\xa4\xc3\x68\x1d\xd4\x55&quot;</span>;</div><div class="line"></div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> client_nonce[8] =</div><div class="line"> <span class="stringliteral">&quot;\xff\xff\xff\x00\x11\x22\x33\x44&quot;</span>;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> server_challenge[8] =</div><div class="line"> <span class="stringliteral">&quot;\x01\x23\x45\x67\x89\xab\xcd\xef&quot;</span>;</div><div class="line"></div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ntlm_hash[16] =</div><div class="line"> <span class="stringliteral">&quot;\xcd\x06\xca\x7c\x7e\x10\xc9\x9b&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x1d\x33\xb7\x48\x5a\x2e\xd8\x08&quot;</span>;</div><div class="line"></div><div class="line"> ret = heim_ntlm_calculate_ntlm2_sess(client_nonce,</div><div class="line"> server_challenge,</div><div class="line"> ntlm_hash,</div><div class="line"> &amp;lm,</div><div class="line"> &amp;ntlm);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_calculate_ntlm2_sess_resp&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (lm.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> != 24 || memcmp(lm.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, lm_resp, 24) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;lm_resp wrong&quot;</span>);</div><div class="line"> <span class="keywordflow">if</span> (ntlm.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> != 24 || memcmp(ntlm.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, ntlm2_sess_resp, 24) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;ntlm2_sess_resp wrong&quot;</span>);</div><div class="line"></div><div class="line"> free(lm.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"> free(ntlm.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>);</div><div class="line"></div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line">test_ntlmv2(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> type3[413] = </div><div class="line"> <span class="stringliteral">&quot;\x4e\x54\x4c\x4d\x53\x53\x50\x00\x03\x00\x00\x00\x18\x00\x18\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x80\x00\x00\x00\x9e\x00\x9e\x00\x98\x00\x00\x00\x14\x00\x14\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x48\x00\x00\x00\x10\x00\x10\x00\x5c\x00\x00\x00\x14\x00\x14\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x6c\x00\x00\x00\x00\x00\x00\x00\x36\x01\x00\x00\x05\x82\x88\xa2&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x05\x01\x28\x0a\x00\x00\x00\x0f\x43\x00\x4f\x00\x4c\x00\x4c\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x45\x00\x59\x00\x2d\x00\x58\x00\x50\x00\x34\x00\x54\x00\x45\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x53\x00\x54\x00\x55\x00\x53\x00\x45\x00\x52\x00\x43\x00\x4f\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x4c\x00\x4c\x00\x45\x00\x59\x00\x2d\x00\x58\x00\x50\x00\x34\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x2f\x96\xec\x0a\xf7\x9f\x2e\x24\xba\x09\x48\x10\xa5\x22\xd4\xe1&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x16\x6a\xca\x58\x74\x9a\xc1\x4f\x54\x6f\xee\x40\x96\xce\x43\x6e&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xdf\x99\x20\x71\x6c\x9a\xda\x2a\x01\x01\x00\x00\x00\x00\x00\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x8d\xc0\x57\xc9\x79\x5e\xcb\x01\x16\x6a\xca\x58\x74\x9a\xc1\x4f&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x00\x00\x00\x02\x00\x14\x00\x4e\x00\x55\x00\x54\x00\x43\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x52\x00\x41\x00\x43\x00\x4b\x00\x45\x00\x52\x00\x01\x00\x14\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x4e\x00\x55\x00\x54\x00\x43\x00\x52\x00\x41\x00\x43\x00\x4b\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x45\x00\x52\x00\x04\x00\x12\x00\x61\x00\x70\x00\x70\x00\x6c\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x65\x00\x2e\x00\x63\x00\x6f\x00\x6d\x00\x03\x00\x20\x00\x68\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x75\x00\x6d\x00\x6d\x00\x65\x00\x6c\x00\x2e\x00\x61\x00\x70\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x70\x00\x6c\x00\x65\x00\x2e\x00\x63\x00\x6f\x00\x6d\x00\x00\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x00\x00\x00\x00\x00\x00\x57\x00\x69\x00\x6e\x00\x64\x00\x6f&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x77\x00\x73\x00\x20\x00\x32\x00\x30\x00\x30\x00\x32\x00\x20&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x53\x00\x65\x00\x72\x00\x76\x00\x69\x00\x63\x00\x65\x00\x20&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x50\x00\x61\x00\x63\x00\x6b\x00\x20\x00\x33\x00\x20\x00\x32&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x36\x00\x30\x00\x30\x00\x00\x00\x57\x00\x69\x00\x6e\x00\x64&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x6f\x00\x77\x00\x73\x00\x20\x00\x32\x00\x30\x00\x30\x00\x32&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x20\x00\x35\x00\x2e\x00\x31\x00\x00\x00\x00\x00&quot;</span>;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> challenge[8] = </div><div class="line"> <span class="stringliteral">&quot;\xe4\x9c\x6a\x12\xe1\xbd\xde\x6a&quot;</span>;</div><div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> sessionkey[16];</div><div class="line"></div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> key[16] = <span class="stringliteral">&quot;\xD1\x83\x98\x3E\xAE\xA7\xBE\x99\x59\xC8\xF4\xC1\x98\xED\x0E\x68&quot;</span>;</div><div class="line"></div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> data;</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__type3.html">ntlm_type3</a> t3;</div><div class="line"> <span class="keywordtype">int</span> ret;</div><div class="line"></div><div class="line"> <span class="keyword">struct </span>ntlm_targetinfo ti;</div><div class="line"></div><div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> timsg[114] = </div><div class="line"> <span class="stringliteral">&quot;\002\000\024\000N\000U\000T\000C\000R\000A\000C\000K\000E\000R\000\001\000\024\000N\000U\000T\000C\000R\000A\000C\000K\000E\000R\000\004\000\022\000a\000p\000p\000l\000e\000.\000c\000o\000m\000\003\000 \000h\000u\000m\000m\000e\000l\000.\000a\000p\000p\000l\000e\000.\000c\000o\000m\000\000\000\000\000\000\000\000&quot;</span>;</div><div class="line"></div><div class="line"></div><div class="line"> data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = type3;</div><div class="line"> data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = <span class="keyword">sizeof</span>(type3);</div><div class="line"></div><div class="line"> ret = heim_ntlm_decode_type3(&amp;data, 1, &amp;t3);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_decode_type3&quot;</span>);</div><div class="line"> </div><div class="line"> memset(&amp;ti, 0, <span class="keyword">sizeof</span>(ti));</div><div class="line"></div><div class="line"> data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = timsg;</div><div class="line"> data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = <span class="keyword">sizeof</span>(timsg);</div><div class="line"></div><div class="line"> ret = <a name="a29"></a><a class="code" href="group__ntlm__core.html#gaf1d4de2faec8b1c1070a55fd2e6e630f">heim_ntlm_decode_targetinfo</a>(&amp;data, 1, &amp;ti);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <span class="keywordflow">return</span> ret;</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__ntlm__core.html#ga3b3d6a5187cab6bfe656afa7a8273ca6">heim_ntlm_verify_ntlm2</a>(key, <span class="keyword">sizeof</span>(key),</div><div class="line"> t3.username,</div><div class="line"> t3.targetname,</div><div class="line"> 1285615547,</div><div class="line"> challenge,</div><div class="line"> &amp;t3.ntlm,</div><div class="line"> &amp;data,</div><div class="line"> sessionkey);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;verify_ntlmv2&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (<span class="keyword">sizeof</span>(timsg) != data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> || memcmp(timsg, data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, <span class="keyword">sizeof</span>(timsg)) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;target info wrong: %d != %d&quot;</span>,</div><div class="line"> (<span class="keywordtype">int</span>)<span class="keyword">sizeof</span>(timsg), (<span class="keywordtype">int</span>)data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a>);</div><div class="line"></div><div class="line"> <a class="code" href="group__ntlm__core.html#gac4e6d01e5247b8540d41ccbbf1031319">heim_ntlm_free_type3</a>(&amp;t3);</div><div class="line"> <a name="a30"></a><a class="code" href="group__ntlm__core.html#ga704ec8c5dba05ef57186d242ff165565">heim_ntlm_free_targetinfo</a>(&amp;ti);</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line">test_targetinfo(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keyword">struct </span>ntlm_targetinfo ti;</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> buf;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *dnsservername = <span class="stringliteral">&quot;dnsservername&quot;</span>;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *targetname = <span class="stringliteral">&quot;targetname&quot;</span>;</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> z16[16] = { 0 };</div><div class="line"> <span class="keywordtype">int</span> ret;</div><div class="line"></div><div class="line"> memset(&amp;ti, 0, <span class="keyword">sizeof</span>(ti));</div><div class="line"></div><div class="line"> ti.dnsservername = rk_UNCONST(dnsservername);</div><div class="line"> ti.avflags = 1;</div><div class="line"> ti.targetname = rk_UNCONST(targetname);</div><div class="line"> ti.channel_bindings.data = rk_UNCONST(z16);</div><div class="line"> ti.channel_bindings.length = <span class="keyword">sizeof</span>(z16);</div><div class="line"></div><div class="line"> ret = <a name="a31"></a><a class="code" href="group__ntlm__core.html#ga2881747fad2ac2979a28d3bd050b0fa8">heim_ntlm_encode_targetinfo</a>(&amp;ti, 1, &amp;buf);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <span class="keywordflow">return</span> ret;</div><div class="line"></div><div class="line"> memset(&amp;ti, 0, <span class="keyword">sizeof</span>(ti));</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__ntlm__core.html#gaf1d4de2faec8b1c1070a55fd2e6e630f">heim_ntlm_decode_targetinfo</a>(&amp;buf, 1, &amp;ti);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> <span class="keywordflow">return</span> ret;</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (ti.dnsservername == NULL ||</div><div class="line"> strcmp(ti.dnsservername, dnsservername) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;ti.dnshostname != %s&quot;</span>, dnsservername);</div><div class="line"> <span class="keywordflow">if</span> (ti.avflags != 1)</div><div class="line"> errx(1, <span class="stringliteral">&quot;ti.avflags != 1&quot;</span>);</div><div class="line"> <span class="keywordflow">if</span> (ti.targetname == NULL ||</div><div class="line"> strcmp(ti.targetname, targetname) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;ti.targetname != %s&quot;</span>, targetname);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (ti.channel_bindings.length != <span class="keyword">sizeof</span>(z16) ||</div><div class="line"> memcmp(ti.channel_bindings.data, z16, <span class="keyword">sizeof</span>(z16)) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;ti.channel_bindings != Z(16)&quot;</span>);</div><div class="line"></div><div class="line"> <a class="code" href="group__ntlm__core.html#ga704ec8c5dba05ef57186d242ff165565">heim_ntlm_free_targetinfo</a>(&amp;ti);</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line">test_string2key(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *pw = <span class="stringliteral">&quot;山田&quot;</span>;</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> buf;</div><div class="line"></div><div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> key[16] = {</div><div class="line"> 0xc6, 0x5d, 0xc7, 0x61, 0xa1, 0x34, 0x17, 0xa1,</div><div class="line"> 0x17, 0x08, 0x9c, 0x1b, 0xb0, 0x0d, 0x0f, 0x19</div><div class="line"> };</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__ntlm__core.html#ga254ee0a4d5a2594833e36697ad575d7e">heim_ntlm_nt_key</a>(pw, &amp;buf) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlmv_nt_key(jp)&quot;</span>);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (buf.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> != 16 || memcmp(buf.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a>, key, 16) != 0)</div><div class="line"> errx(1, <span class="stringliteral">&quot;compare failed&quot;</span>);</div><div class="line"></div><div class="line"> <a name="a32"></a><a class="code" href="group__ntlm__core.html#ga5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf</a>(&amp;buf);</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span></div><div class="line">test_jp(<span class="keywordtype">void</span>)</div><div class="line">{</div><div class="line"> <span class="keywordtype">char</span> buf2[220] =</div><div class="line"> <span class="stringliteral">&quot;\x4e\x54\x4c\x4d\x53\x53\x50\x00\x02\x00\x00\x00\x06\x00\x06\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x38\x00\x00\x00\x05\x02\x89\x62\x62\x94\xb1\xf3\x56\x80\xb0\xf9&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x9e\x00\x3e\x00\x00\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x06\x01\xb0\x1d\x00\x00\x00\x0f\x43\x00\x4f\x00\x53\x00\x02\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x06\x00\x43\x00\x4f\x00\x53\x00\x01\x00\x12\x00\x43\x00\x4f\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x53\x00\x57\x00\x49\x00\x4e\x00\x37\x00\x4a\x00\x50\x00\x04\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x1a\x00\x63\x00\x6f\x00\x73\x00\x2e\x00\x61\x00\x70\x00\x70\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x6c\x00\x65\x00\x2e\x00\x63\x00\x6f\x00\x6d\x00\x03\x00\x2e\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x63\x00\x6f\x00\x73\x00\x77\x00\x69\x00\x6e\x00\x37\x00\x6a\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x70\x00\x2e\x00\x63\x00\x6f\x00\x73\x00\x2e\x00\x61\x00\x70\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x70\x00\x6c\x00\x65\x00\x2e\x00\x63\x00\x6f\x00\x6d\x00\x05\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x1a\x00\x63\x00\x6f\x00\x73\x00\x2e\x00\x61\x00\x70\x00\x70\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x6c\x00\x65\x00\x2e\x00\x63\x00\x6f\x00\x6d\x00\x07\x00\x08\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x94\x51\xf0\xbd\xdc\x61\xcb\x01\x00\x00\x00\x00&quot;</span>;</div><div class="line"></div><div class="line"> <span class="keywordtype">char</span> buf3[362] =</div><div class="line"> <span class="stringliteral">&quot;\x4e\x54\x4c\x4d\x53\x53\x50\x00\x03\x00\x00\x00\x18\x00\x18\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x74\x00\x00\x00\xce\x00\xce\x00\x8c\x00\x00\x00\x1a\x00\x1a\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x40\x00\x00\x00\x04\x00\x04\x00\x5a\x00\x00\x00\x16\x00\x16\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x5e\x00\x00\x00\x10\x00\x10\x00\x5a\x01\x00\x00\x05\x02\x89\x62&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x31\x00\x37\x00\x2e\x00\x32\x00\x30\x00\x31\x00\x2e\x00\x35\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x37\x00\x2e\x00\x31\x00\x32\x00\x31\x00\x71\x5c\x30\x75\x77\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x6f\x00\x72\x00\x6b\x00\x73\x00\x74\x00\x61\x00\x74\x00\x69\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x6f\x00\x6e\x00\xab\xad\xeb\x72\x01\xd4\x5f\xdf\x59\x07\x5f\xa9&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xfd\x54\x98\x2d\xfa\x17\xbb\xf1\x3c\x8f\xf5\x20\xe6\x8f\xd7\x0a&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xc9\x19\x3e\x94\x61\x31\xdb\x0f\x55\xe8\xe2\x53\x01\x01\x00\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x00\x00\x00\x00\x00\x06\x3e\x30\xe4\x61\xcb\x01\x71\x98\x10\x6b&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x4c\x82\xec\xb3\x00\x00\x00\x00\x02\x00\x06\x00\x43\x00\x4f\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x53\x00\x01\x00\x12\x00\x43\x00\x4f\x00\x53\x00\x57\x00\x49\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x4e\x00\x37\x00\x4a\x00\x50\x00\x04\x00\x1a\x00\x63\x00\x6f\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x73\x00\x2e\x00\x61\x00\x70\x00\x70\x00\x6c\x00\x65\x00\x2e\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x63\x00\x6f\x00\x6d\x00\x03\x00\x2e\x00\x63\x00\x6f\x00\x73\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x77\x00\x69\x00\x6e\x00\x37\x00\x6a\x00\x70\x00\x2e\x00\x63\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x6f\x00\x73\x00\x2e\x00\x61\x00\x70\x00\x70\x00\x6c\x00\x65\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x2e\x00\x63\x00\x6f\x00\x6d\x00\x05\x00\x1a\x00\x63\x00\x6f\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x73\x00\x2e\x00\x61\x00\x70\x00\x70\x00\x6c\x00\x65\x00\x2e\x00&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\x63\x00\x6f\x00\x6d\x00\x07\x00\x08\x00\xab\xec\xcc\x30\xe4\x61&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xcb\x01\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x2e\xba\x3f\xd1\xb1&quot;</span></div><div class="line"> <span class="stringliteral">&quot;\xa7\x70\x00\x9d\x55\xa0\x59\x74\x2b\x78&quot;</span>;</div><div class="line"></div><div class="line"></div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__type2.html">ntlm_type2</a> type2;</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__type3.html">ntlm_type3</a> type3;</div><div class="line"> <span class="keyword">struct </span><a class="code" href="structntlm__buf.html">ntlm_buf</a> data;</div><div class="line"> <span class="keywordtype">int</span> ret;</div><div class="line"></div><div class="line"> data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = <span class="keyword">sizeof</span>(buf2);</div><div class="line"> data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = buf2;</div><div class="line"></div><div class="line"> memset(&amp;type2, 0, <span class="keyword">sizeof</span>(type2));</div><div class="line"></div><div class="line"> ret = heim_ntlm_decode_type2(&amp;data, &amp;type2);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_decode_type2(jp): %d&quot;</span>, ret);</div><div class="line"></div><div class="line"> data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = NULL;</div><div class="line"> data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 0;</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__ntlm__core.html#ga2860c6f6d497255eb433adc8cacc49dd">heim_ntlm_encode_type2</a>(&amp;type2, &amp;data);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_encode_type2(jp): %d&quot;</span>, ret);</div><div class="line"></div><div class="line"> <a class="code" href="group__ntlm__core.html#ga8fde84c86f1c7c9f730f7fb4acedcb43">heim_ntlm_free_type2</a>(&amp;type2);</div><div class="line"> <a class="code" href="group__ntlm__core.html#ga5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf</a>(&amp;data);</div><div class="line"></div><div class="line"> data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = <span class="keyword">sizeof</span>(buf3);</div><div class="line"> data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = buf3;</div><div class="line"></div><div class="line"> memset(&amp;type3, 0, <span class="keyword">sizeof</span>(type3));</div><div class="line"></div><div class="line"> ret = heim_ntlm_decode_type3(&amp;data, 1, &amp;type3);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_decode_type2(jp): %d&quot;</span>, ret);</div><div class="line"></div><div class="line"> data.<a class="code" href="structntlm__buf.html#a0cb7caf04f8f80326491b45edcdd2687">data</a> = NULL;</div><div class="line"> data.<a class="code" href="structntlm__buf.html#a1ca1856fd5b4ac0197320d7723c73bd0">length</a> = 0;</div><div class="line"></div><div class="line"> ret = <a class="code" href="group__ntlm__core.html#gade200095bfa40a73cfd4154010cc6e76">heim_ntlm_encode_type3</a>(&amp;type3, &amp;data, NULL);</div><div class="line"> <span class="keywordflow">if</span> (ret)</div><div class="line"> errx(1, <span class="stringliteral">&quot;heim_ntlm_decode_type2(jp): %d&quot;</span>, ret);</div><div class="line"></div><div class="line"> <a class="code" href="group__ntlm__core.html#gac4e6d01e5247b8540d41ccbbf1031319">heim_ntlm_free_type3</a>(&amp;type3);</div><div class="line"> <a class="code" href="group__ntlm__core.html#ga5f6c313a3a7258cda5f09bb44f8d1776">heim_ntlm_free_buf</a>(&amp;data);</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> 0;</div><div class="line">}</div><div class="line"></div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> verbose_flag = 0;</div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> version_flag = 0;</div><div class="line"><span class="keyword">static</span> <span class="keywordtype">int</span> help_flag = 0;</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keyword">struct </span>getargs args[] = {</div><div class="line"> {<span class="stringliteral">&quot;verbose&quot;</span>, 0, arg_flag, &amp;verbose_flag, <span class="stringliteral">&quot;verbose printing&quot;</span>, NULL },</div><div class="line"> {<span class="stringliteral">&quot;version&quot;</span>, 0, arg_flag, &amp;version_flag, <span class="stringliteral">&quot;print version&quot;</span>, NULL },</div><div class="line"> {<span class="stringliteral">&quot;help&quot;</span>, 0, arg_flag, &amp;help_flag, NULL, NULL }</div><div class="line">};</div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line">usage (<span class="keywordtype">int</span> ret)</div><div class="line">{</div><div class="line"> arg_printusage (args, <span class="keyword">sizeof</span>(args)/<span class="keyword">sizeof</span>(*args),</div><div class="line"> NULL, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"> exit (ret);</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keywordtype">int</span></div><div class="line">main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div><div class="line">{</div><div class="line"> <span class="keywordtype">int</span> ret = 0, optidx = 0;</div><div class="line"></div><div class="line"> setprogname(argv[0]);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span>(getarg(args, <span class="keyword">sizeof</span>(args) / <span class="keyword">sizeof</span>(args[0]), argc, argv, &amp;optidx))</div><div class="line"> usage(1);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (help_flag)</div><div class="line"> usage (0);</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span>(version_flag){</div><div class="line"> print_version(NULL);</div><div class="line"> exit(0);</div><div class="line"> }</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (verbose_flag)</div><div class="line"> printf(<span class="stringliteral">&quot;test_parse\n&quot;</span>);</div><div class="line"> ret |= test_parse();</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (verbose_flag)</div><div class="line"> printf(<span class="stringliteral">&quot;test_keys\n&quot;</span>);</div><div class="line"> ret |= test_keys();</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (verbose_flag)</div><div class="line"> printf(<span class="stringliteral">&quot;test_ntlm2_session_resp\n&quot;</span>);</div><div class="line"> ret |= test_ntlm2_session_resp();</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (verbose_flag)</div><div class="line"> printf(<span class="stringliteral">&quot;test_targetinfo\n&quot;</span>);</div><div class="line"> ret |= test_targetinfo();</div><div class="line"> </div><div class="line"> <span class="keywordflow">if</span> (verbose_flag)</div><div class="line"> printf(<span class="stringliteral">&quot;test_ntlmv2\n&quot;</span>);</div><div class="line"> ret |= test_ntlmv2();</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (verbose_flag)</div><div class="line"> printf(<span class="stringliteral">&quot;test_string2key\n&quot;</span>);</div><div class="line"> ret |= test_string2key();</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (verbose_flag)</div><div class="line"> printf(<span class="stringliteral">&quot;test_jp\n&quot;</span>);</div><div class="line"> ret |= test_jp();</div><div class="line"></div><div class="line"> <span class="keywordflow">return</span> ret;</div><div class="line">}</div></div><!-- fragment --> </div><!-- contents -->
<hr size="1"><address style="text-align: right;"><small>
-Generated on Fri Dec 8 2017 03:49:00 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
+Generated on Fri Jun 7 2019 02:49:56 for Heimdalntlmlibrary by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.8.13</small></address>
</body>
</html>
diff --git a/doc/doxyout/ntlm/man/man3/ntlm_buf.3 b/doc/doxyout/ntlm/man/man3/ntlm_buf.3
index 270e5a50e0bd..cec8db55efdb 100644
--- a/doc/doxyout/ntlm/man/man3/ntlm_buf.3
+++ b/doc/doxyout/ntlm/man/man3/ntlm_buf.3
@@ -1,4 +1,4 @@
-.TH "ntlm_buf" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdalntlmlibrary" \" -*- nroff -*-
+.TH "ntlm_buf" 3 "Fri Jun 7 2019" "Version 7.7.0" "Heimdalntlmlibrary" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/doc/doxyout/ntlm/man/man3/ntlm_core.3 b/doc/doxyout/ntlm/man/man3/ntlm_core.3
index 5a9f5fafe8bb..fd3bfe89112d 100644
--- a/doc/doxyout/ntlm/man/man3/ntlm_core.3
+++ b/doc/doxyout/ntlm/man/man3/ntlm_core.3
@@ -1,4 +1,4 @@
-.TH "ntlm_core" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdalntlmlibrary" \" -*- nroff -*-
+.TH "ntlm_core" 3 "Fri Jun 7 2019" "Version 7.7.0" "Heimdalntlmlibrary" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/doc/doxyout/ntlm/man/man3/ntlm_type1.3 b/doc/doxyout/ntlm/man/man3/ntlm_type1.3
index e45171ce6fdd..f2c8821e55ed 100644
--- a/doc/doxyout/ntlm/man/man3/ntlm_type1.3
+++ b/doc/doxyout/ntlm/man/man3/ntlm_type1.3
@@ -1,4 +1,4 @@
-.TH "ntlm_type1" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdalntlmlibrary" \" -*- nroff -*-
+.TH "ntlm_type1" 3 "Fri Jun 7 2019" "Version 7.7.0" "Heimdalntlmlibrary" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/doc/doxyout/ntlm/man/man3/ntlm_type2.3 b/doc/doxyout/ntlm/man/man3/ntlm_type2.3
index 0408096ea222..69d5710bae8a 100644
--- a/doc/doxyout/ntlm/man/man3/ntlm_type2.3
+++ b/doc/doxyout/ntlm/man/man3/ntlm_type2.3
@@ -1,4 +1,4 @@
-.TH "ntlm_type2" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdalntlmlibrary" \" -*- nroff -*-
+.TH "ntlm_type2" 3 "Fri Jun 7 2019" "Version 7.7.0" "Heimdalntlmlibrary" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/doc/doxyout/ntlm/man/man3/ntlm_type3.3 b/doc/doxyout/ntlm/man/man3/ntlm_type3.3
index af4d572640ec..1d5df7c04550 100644
--- a/doc/doxyout/ntlm/man/man3/ntlm_type3.3
+++ b/doc/doxyout/ntlm/man/man3/ntlm_type3.3
@@ -1,4 +1,4 @@
-.TH "ntlm_type3" 3 "Fri Dec 8 2017" "Version 7.5.0" "Heimdalntlmlibrary" \" -*- nroff -*-
+.TH "ntlm_type3" 3 "Fri Jun 7 2019" "Version 7.7.0" "Heimdalntlmlibrary" \" -*- nroff -*-
.ad l
.nh
.SH NAME