dbmmanage.html.en revision 0cf3cdbaa1dad11cbf1ce32e48f1b4ec88cf779f
842ae4bd224140319ae7feec1872b93dfd491143fielding<?xml version="1.0" encoding="ISO-8859-1"?>
842ae4bd224140319ae7feec1872b93dfd491143fielding<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
842ae4bd224140319ae7feec1872b93dfd491143fielding<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
842ae4bd224140319ae7feec1872b93dfd491143fielding XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
842ae4bd224140319ae7feec1872b93dfd491143fielding This file is generated from xml source: DO NOT EDIT
842ae4bd224140319ae7feec1872b93dfd491143fielding XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb -->
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<title>dbmmanage - Manage user authentication files in DBM format - Apache HTTP Server</title>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<link href="/images/favicon.ico" rel="shortcut icon" /></head>
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<body id="manual-page"><div id="page-header">
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<p class="apache">Apache HTTP Server Version 2.3</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<img alt="" src="/images/feather.gif" /></div>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<div id="path">
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>dbmmanage - Manage user authentication files in DBM format</h1>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<div class="toplang">
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh<p><span>Available Languages: </span><a href="/en/programs/dbmmanage.html" title="English">&nbsp;en&nbsp;</a> |
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<a href="/ko/programs/dbmmanage.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<a href="/tr/programs/dbmmanage.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb</div>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><code>dbmmanage</code> is used to create and update the DBM format files
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb used to store usernames and password for basic authentication of HTTP users
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb via <code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code>.
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb Resources available from the Apache HTTP server can be restricted to just
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the users listed in the files created by <code>dbmmanage</code>. This
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb program can only be used when the usernames are stored in a DBM file. To
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb use a flat-file database see <code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p>This manual page only lists the command line arguments. For details of
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the directives necessary to configure user authentication in
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd <code class="program"><a href="/programs/httpd.html">httpd</a></code> see the httpd manual, which is part of
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb the Apache distribution or can be found at <a href="http://httpd.apache.org/">http://httpd.apache.org/</a>.</p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb</div>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<li><img alt="" src="/images/down.gif" /> <a href="#options">Options</a></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<li><img alt="" src="/images/down.gif" /> <a href="#bugs">Bugs</a></li>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb</ul><h3>See also</h3><ul class="seealso"><li><code class="program"><a href="/programs/httpd.html">httpd</a></code></li><li><code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li><li><code class="module"><a href="/mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li></ul></div>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<div class="section">
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb<h2><a name="synopsis" id="synopsis">Synopsis</a></h2>
f888346b48f5e5b5e3f0a47dedb8cefd2759a4e2gregames <p><code><strong>dbmmanage</strong> [ <var>encoding</var> ]
750d12c59545dbbac70390988de94f7e901b08f2niq <var>filename</var> add|adduser|check|delete|update
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin <var>username</var>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb [ <var>encpasswd</var>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb [ <var>group</var>[,<var>group</var>...]
db455cbc662c98dbbf53175393c50086ff63370cchrisd [ <var>comment</var> ] ] ]</code></p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><code><strong>dbmmanage</strong> <var>filename</var>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb view [ <var>username</var> ]</code></p>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <p><code><strong>dbmmanage</strong> <var>filename</var> import</code></p>
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf<div class="section">
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf<h2><a name="options" id="options">Options</a></h2>
36ef8f77bffe75d1aa327882be1b5bdbe2ff567asf <dl>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt><code><var>filename</var></code></dt>
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <dd>The filename of the DBM format file. Usually without the extension
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <code>.db</code>, <code>.pag</code>, or <code>.dir</code>.</dd>
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <dt><code><var>username</var></code></dt>
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <dd>The user for which the operations are performed. The <var>username</var>
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz may not contain a colon (<code>:</code>).</dd>
18b5268e013574026b2503b1641baf3299045f45sf
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <dt><code><var>encpasswd</var></code></dt>
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <dd>This is the already encrypted password to use for the
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <code>update</code> and <code>add</code> commands. You may use a hyphen
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb (<code>-</code>) if you want to get prompted for the password, but fill
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb in the fields afterwards. Additionally when using the <code>update</code>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb command, a period (<code>.</code>) keeps the original password
4f9c22c4f27571d54197be9674e1fc0d528192aestriker untouched.</dd>
a2a0abd88b19e042a3eb2a9fa1702c25ad51303dwrowe
4f9c22c4f27571d54197be9674e1fc0d528192aestriker <dt><code><var>group</var></code></dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>A group, which the user is member of. A groupname may not contain a
4f9c22c4f27571d54197be9674e1fc0d528192aestriker colon (<code>:</code>). You may use a hyphen (<code>-</code>) if you don't
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb want to assign the user to a group, but fill in the comment field.
4f9c22c4f27571d54197be9674e1fc0d528192aestriker Additionally when using the <code>update</code> command, a period
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb (<code>.</code>) keeps the original groups untouched.</dd>
4f9c22c4f27571d54197be9674e1fc0d528192aestriker
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dt><code><var>comment</var></code></dt>
4f9c22c4f27571d54197be9674e1fc0d528192aestriker <dd>This is the place for your opaque comments about the user, like
18b5268e013574026b2503b1641baf3299045f45sf realname, mailaddress or such things. The server will ignore this
18b5268e013574026b2503b1641baf3299045f45sf field.</dd>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb </dl>
4f9c22c4f27571d54197be9674e1fc0d528192aestriker
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <h3><a name="options.encodings" id="options.encodings">Encodings</a></h3>
4f9c22c4f27571d54197be9674e1fc0d528192aestriker <dl>
4f9c22c4f27571d54197be9674e1fc0d528192aestriker <dt><code>-d</code></dt>
b38846b15c8891c6dec44dcc4f96ca40721bf663rbb <dd>crypt encryption (default, except on Win32, Netware)</dd>
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd <dt><code>-m</code></dt>
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd <dd>MD5 encryption (default on Win32, Netware)</dd>
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <dt><code>-s</code></dt>
963f8b44ac95132458ea3b6aaa8ebc135188e473takashi <dd>SHA1 encryption</dd>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <dt><code>-p</code></dt>
185aa71728867671e105178b4c66fbc22b65ae26sf <dd>plaintext (<em>not recommended</em>)</dd>
c2cf53a40a9814eb91db2cdf820f97d943f21628coar </dl>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar <h3><a name="options.commands" id="options.commands">Commands</a></h3>
4760b58cc9fe170e4ad4648ed4ff7a422a2cef38sf <dl>
4760b58cc9fe170e4ad4648ed4ff7a422a2cef38sf <dt><code>add</code></dt>
4760b58cc9fe170e4ad4648ed4ff7a422a2cef38sf <dd>Adds an entry for <var>username</var> to <var>filename</var> using the
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe encrypted password <var>encpasswd</var>.
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <div class="example"><p><code>dbmmanage passwords.dat add rbowen foKntnEF3KSXA</code></p></div>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe </dd>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <dt><code>adduser</code></dt>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <dd>Asks for a password and then adds an entry for <var>username</var> to
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <var>filename</var>.
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <div class="example"><p><code>dbmmanage passwords.dat adduser krietz</code></p></div>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe </dd>
3e392a5afd51526de3cb15d57ee46d8cb160ae65gregames
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <dt><code>check</code></dt>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf <dd>Asks for a password and then checks if <var>username</var> is in
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <var>filename</var> and if it's password matches the specified one.
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <div class="example"><p><code>dbmmanage passwords.dat check rbowen</code></p></div>
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf </dd>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier <dt><code>delete</code></dt>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar <dd>Deletes the <var>username</var> entry from <var>filename</var>.
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar <div class="example"><p><code>dbmmanage passwords.dat delete rbowen</code></p></div>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar </dd>
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz
2a6e98ba4ffa30ded5d8831664c5cb2a170a56b6coar <dt><code>import</code></dt>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar <dd>Reads <code><var>username</var>:<var>password</var></code> entries
185aa71728867671e105178b4c66fbc22b65ae26sf (one per line) from <code>STDIN</code> and adds them to
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar <var>filename</var>. The passwords already have to be crypted.</dd>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar <dt><code>update</code></dt>
8419e6f8bff1a3617933f3ba760d2bdec7442f44coar <dd>Same as the <code>adduser</code> command, except that it makes
2a6e98ba4ffa30ded5d8831664c5cb2a170a56b6coar sure <var>username</var> already exists in <var>filename</var>.
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz
d4abb06ac220bb280ae996b6d21bbd257db51bb1jerenkrantz <div class="example"><p><code>dbmmanage passwords.dat update rbowen</code></p></div>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe </dd>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <dt><code>view</code></dt>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <dd>Just displays the contents of the DBM file. If you specify a
4f9c22c4f27571d54197be9674e1fc0d528192aestriker <var>username</var>, it displays the particular record only.
4f9c22c4f27571d54197be9674e1fc0d528192aestriker
3e392a5afd51526de3cb15d57ee46d8cb160ae65gregames <div class="example"><p><code>dbmmanage passwords.dat view</code></p></div>
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe </dd>
731344ed8f3677d1661c261ca5fcdd2ee3dbc74ccoar </dl>
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe<div class="section">
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf<h2><a name="bugs" id="bugs">Bugs</a></h2>
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf <p>One should be aware that there are a number of different DBM file formats
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf in existence, and with all likelihood, libraries for more than one format
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe may exist on your system. The three primary examples are SDBM, NDBM, the GNU
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf project's GDBM, and Berkeley DB 2. Unfortunately, all these libraries use
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf different file formats, and you must make sure that the file format used
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf by <var>filename</var> is the same format that <code>dbmmanage</code>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf expects to see. <code>dbmmanage</code> currently has no way of determining
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf what type of DBM file it is looking at. If used against the wrong format,
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe will simply return nothing, or may create a different DBM file with a
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe different name, or at worst, it may corrupt the DBM file if you were
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe attempting to write to it.</p>
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe <p><code>dbmmanage</code> has a list of DBM format preferences, defined by
4f9c22c4f27571d54197be9674e1fc0d528192aestriker the <code>@AnyDBM::ISA</code> array near the beginning of the program. Since
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe we prefer the Berkeley DB 2 file format, the order in which
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe <code>dbmmanage</code> will look for system libraries is Berkeley DB 2,
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe then NDBM, then GDBM and then SDBM. The first library found will be the
c2cf53a40a9814eb91db2cdf820f97d943f21628coar library <code>dbmmanage</code> will attempt to use for all DBM file
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe transactions. This ordering is slightly different than the standard
4775dfc34c90fada8c7c4d6a57ed8a3114d55c2dtrawick <code>@AnyDBM::ISA</code> ordering in Perl, as well as the ordering used by
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe the simple <code>dbmopen()</code> call in Perl, so if you use any other
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe utilities to manage your DBM files, they must also follow this preference
11a0edf478ca9c59d80bf73491d89cf019259feeniq ordering. Similar care must be taken if using programs in other languages,
fa06de8a28a737e8fbaad76d7f3ff67aaa5e4a09wrowe like C, to access these files.</p>
11a0edf478ca9c59d80bf73491d89cf019259feeniq
11a0edf478ca9c59d80bf73491d89cf019259feeniq <p>One can usually use the <code>file</code> program supplied with most
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe Unix systems to see what format a DBM file is in.</p>
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf</div></div>
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf<div class="bottomlang">
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf<p><span>Available Languages: </span><a href="/en/programs/dbmmanage.html" title="English">&nbsp;en&nbsp;</a> |
83a8dc5a596a8a1b9d14f063268287d123b9ed7ewrowe<a href="/ko/programs/dbmmanage.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf<a href="/tr/programs/dbmmanage.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf</div><div id="footer">
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div>
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf</body></html>