4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.2 -->
7
<!-- Generated by Doxygen 1.5.4 -->
10
10
<li><a href="index.html"><span>Main Page</span></a></li>
30
30
<code>#include <<a class="el" href="sbuild-auth-conv-tty_8h-source.html">sbuild-auth-conv-tty.h</a>></code>
32
Inheritance diagram for sbuild::auth_conv_tty:<p><center><img src="classsbuild_1_1auth__conv__tty__inherit__graph.png" border="0" usemap="#sbuild_1_1auth__conv__tty__inherit__map" alt="Inheritance graph"></center>
32
<div class="dynheader">
33
Inheritance diagram for sbuild::auth_conv_tty:</div>
34
<div class="dynsection">
35
<p><center><img src="classsbuild_1_1auth__conv__tty__inherit__graph.png" border="0" usemap="#sbuild_1_1auth__conv__tty__inherit__map" alt="Inheritance graph"></center>
33
36
<map name="sbuild_1_1auth__conv__tty__inherit__map">
34
<area shape="rect" href="classsbuild_1_1auth__conv.html" title="Authentication conversation handler interface." alt="" coords="15,5,132,32"></map>
35
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sbuild::auth_conv_tty:<p><center><img src="classsbuild_1_1auth__conv__tty__coll__graph.png" border="0" usemap="#sbuild_1_1auth__conv__tty__coll__map" alt="Collaboration graph"></center>
37
<area shape="rect" href="classsbuild_1_1auth__conv.html" title="Authentication conversation handler interface." alt="" coords="17,6,148,33"></map>
38
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
39
<div class="dynheader">
40
Collaboration diagram for sbuild::auth_conv_tty:</div>
41
<div class="dynsection">
42
<p><center><img src="classsbuild_1_1auth__conv__tty__coll__graph.png" border="0" usemap="#sbuild_1_1auth__conv__tty__coll__map" alt="Collaboration graph"></center>
36
43
<map name="sbuild_1_1auth__conv__tty__coll__map">
37
<area shape="rect" href="classsbuild_1_1auth__conv.html" title="Authentication conversation handler interface." alt="" coords="15,5,132,32"></map>
38
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classsbuild_1_1auth__conv__tty-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
44
<area shape="rect" href="classsbuild_1_1auth__conv.html" title="Authentication conversation handler interface." alt="" coords="17,6,148,33"></map>
45
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
48
<a href="classsbuild_1_1auth__conv__tty-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
40
50
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
41
51
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classsbuild_1_1auth__conv__tty.html#d8d8824c7b1c2a36fe52f37a5b26701f">error_code</a> { <br>
96
106
Authentication conversation handler for terminal devices.
98
108
This class is an implementation of the <a class="el" href="classsbuild_1_1auth__conv.html" title="Authentication conversation handler interface.">auth_conv</a> interface, and is used to interact with the user on a terminal (TTY) interface.<p>
99
In order to implement timeouts, this class uses alarm(2). This has some important implications. Global state is modified by the object, so only one may be used at once in a single process. In addition, no other part of the process may set or unset the SIGALRM handlers and the alarm(2) timer during the time PAM authentication is proceeding.
101
<hr><h2>Member Typedef Documentation</h2>
109
In order to implement timeouts, this class uses alarm(2). This has some important implications. Global state is modified by the object, so only one may be used at once in a single process. In addition, no other part of the process may set or unset the SIGALRM handlers and the alarm(2) timer during the time PAM authentication is proceeding. <hr><h2>Member Typedef Documentation</h2>
102
110
<a class="anchor" name="f055ae85575e7976ca75a5e6f0ecd3e6"></a><!-- doxytag: member="sbuild::auth_conv_tty::error" ref="f055ae85575e7976ca75a5e6f0ecd3e6" args="" -->
103
111
<div class="memitem">
104
112
<div class="memproto">
213
221
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the time. </dd></dl>
216
Implements <a class="el" href="classsbuild_1_1auth__conv.html#3b6430fec4d0d6a07eed53267d705cdc">sbuild::auth_conv</a>.
223
<p>Implements <a class="el" href="classsbuild_1_1auth__conv.html#3b6430fec4d0d6a07eed53267d705cdc">sbuild::auth_conv</a>.</p>
219
227
<a class="anchor" name="f913e05422e6e92fb3531bd55e3d39af"></a><!-- doxytag: member="sbuild::auth_conv_tty::set_warning_timeout" ref="f913e05422e6e92fb3531bd55e3d39af" args="(time_t timeout)" -->
245
Implements <a class="el" href="classsbuild_1_1auth__conv.html#b39cfeb91d3e68c380dfe744d320e7d0">sbuild::auth_conv</a>.
252
<p>Implements <a class="el" href="classsbuild_1_1auth__conv.html#b39cfeb91d3e68c380dfe744d320e7d0">sbuild::auth_conv</a>.</p>
248
256
<a class="anchor" name="8e1948e1c062e033b66ba14c52c06b6f"></a><!-- doxytag: member="sbuild::auth_conv_tty::get_fatal_timeout" ref="8e1948e1c062e033b66ba14c52c06b6f" args="()" -->
266
274
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the time. </dd></dl>
269
Implements <a class="el" href="classsbuild_1_1auth__conv.html#61936972df24382d2ee819f17a078ebf">sbuild::auth_conv</a>.
276
<p>Implements <a class="el" href="classsbuild_1_1auth__conv.html#61936972df24382d2ee819f17a078ebf">sbuild::auth_conv</a>.</p>
272
280
<a class="anchor" name="7ca62f5f7337cf18d12fb3c43014ffbc"></a><!-- doxytag: member="sbuild::auth_conv_tty::set_fatal_timeout" ref="7ca62f5f7337cf18d12fb3c43014ffbc" args="(time_t timeout)" -->
298
Implements <a class="el" href="classsbuild_1_1auth__conv.html#0de7c8e9493e6b3ed55e0520171c8f1b">sbuild::auth_conv</a>.
305
<p>Implements <a class="el" href="classsbuild_1_1auth__conv.html#0de7c8e9493e6b3ed55e0520171c8f1b">sbuild::auth_conv</a>.</p>
301
309
<a class="anchor" name="a42c43aee20241e9015a0e331e3c4999"></a><!-- doxytag: member="sbuild::auth_conv_tty::conversation" ref="a42c43aee20241e9015a0e331e3c4999" args="(auth_conv::message_list &messages)" -->
318
326
Hold a conversation with the user.
320
Each of the messages detailed in messages should be displayed to the user, asking for input where required. The type of message is indicated in the <a class="el" href="classsbuild_1_1auth__message.html#eccbf2dfcab41b6a2a8d78d6e08e7ff9" title="The type of message.">auth_message::type</a> field of the <a class="el" href="classsbuild_1_1auth__message.html" title="Authentication messages.">auth_message</a>. The <a class="el" href="classsbuild_1_1auth__message.html#ca3c58ab40f37157eed601df1f30208a" title="The user's response (if any).">auth_message::response</a> field of the <a class="el" href="classsbuild_1_1auth__message.html" title="Authentication messages.">auth_message</a> should be filled in if input is required.<p>
328
Each of the messages detailed in messages should be displayed to the user, asking for input where required. The type of message is indicated in the <a class="el" href="classsbuild_1_1auth__message.html#eccbf2dfcab41b6a2a8d78d6e08e7ff9" title="The type of message.">auth_message::type</a> field of the <a class="el" href="classsbuild_1_1auth__message.html" title="Authentication messages.">auth_message</a>. The <a class="el" href="classsbuild_1_1auth__message.html#ca3c58ab40f37157eed601df1f30208a" title="The user's response (if any).">auth_message::response</a> field of the <a class="el" href="classsbuild_1_1auth__message.html" title="Authentication messages.">auth_message</a> should be filled in if input is required.<p>
321
329
On <a class="el" href="classsbuild_1_1error.html" title="Error exception class.">error</a>, an exception will be thrown.<p>
322
330
<dl compact><dt><b>Parameters:</b></dt><dd>
323
331
<table border="0" cellspacing="2" cellpadding="0">
329
Implements <a class="el" href="classsbuild_1_1auth__conv.html#3fd81782872b31ca5daad9e79e79fef6">sbuild::auth_conv</a>.
336
<p>Implements <a class="el" href="classsbuild_1_1auth__conv.html#3fd81782872b31ca5daad9e79e79fef6">sbuild::auth_conv</a>.</p>
332
340
<a class="anchor" name="6cd2ac8554b1681b3f253d829e5c7c32"></a><!-- doxytag: member="sbuild::auth_conv_tty::get_delay" ref="6cd2ac8554b1681b3f253d829e5c7c32" args="()" -->
447
455
<hr>The documentation for this class was generated from the following files:<ul>
448
456
<li>sbuild/<a class="el" href="sbuild-auth-conv-tty_8h-source.html">sbuild-auth-conv-tty.h</a><li>sbuild/<a class="el" href="sbuild-auth-conv-tty_8cc.html">sbuild-auth-conv-tty.cc</a></ul>
449
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Jul 8 21:23:48 2007 for sbuild by
457
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Jan 21 00:38:18 2008 for sbuild by
450
458
<a href="http://www.doxygen.org/index.html">
451
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
459
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>