Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > f806c0f24240b25bde21a53f71766070 > files > 789

erlang-doc-R13B-04.6.fc13.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css">
<title>Erlang -- mod_auth</title>
</head>
<body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container">
<script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript">
            <!--            
              function getWinHeight() {
                var myHeight = 0;
                if( typeof( window.innerHeight ) == 'number' ) {
                  //Non-IE
                  myHeight = window.innerHeight;
                } else if( document.documentElement && ( document.documentElement.clientWidth || 
                                                         document.documentElement.clientHeight ) ) {
                  //IE 6+ in 'standards compliant mode'
                  myHeight = document.documentElement.clientHeight;
                } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                  //IE 4 compatible
                  myHeight = document.body.clientHeight;
                }
                return myHeight;            
              }

              function setscrollpos() {
                var objf=document.getElementById('loadscrollpos');
                 document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2;
              }

              function addEvent(obj, evType, fn){ 
                if (obj.addEventListener){ 
                obj.addEventListener(evType, fn, true); 
                return true; 
              } else if (obj.attachEvent){ 
                var r = obj.attachEvent("on"+evType, fn); 
                return r; 
              } else { 
                return false; 
              } 
             }

             addEvent(window, 'load', setscrollpos);

             //--></script><div id="leftnav"><div class="innertube">
<img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/inets-5.3.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>inets</strong><br><strong>Reference Manual</strong><br><small>Version 5.3</small></p>
<br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Table of Contents</strong></small></p>
<ul class="flipMenu">
<li id="no" title="inets " expanded="false">inets<ul>
<li><a href="inets.html">
                  Top of manual page
                </a></li>
<li title="services-0"><a href="inets.html#services-0">services/0</a></li>
<li title="services_info-0"><a href="inets.html#services_info-0">services_info/0</a></li>
<li title="service_names-0"><a href="inets.html#service_names-0">service_names/0</a></li>
<li title="start-0"><a href="inets.html#start-0">start/0</a></li>
<li title="start-1"><a href="inets.html#start-1">start/1</a></li>
<li title="stop-0"><a href="inets.html#stop-0">stop/0</a></li>
<li title="start-2"><a href="inets.html#start-2">start/2</a></li>
<li title="start-3"><a href="inets.html#start-3">start/3</a></li>
<li title="stop-2"><a href="inets.html#stop-2">stop/2</a></li>
</ul>
</li>
<li id="no" title="ftp " expanded="false">ftp<ul>
<li><a href="ftp.html">
                  Top of manual page
                </a></li>
<li title="account-2"><a href="ftp.html#account-2">account/2</a></li>
<li title="append-2"><a href="ftp.html#append-2">append/2</a></li>
<li title="append-3"><a href="ftp.html#append-3">append/3</a></li>
<li title="append_bin-3"><a href="ftp.html#append_bin-3">append_bin/3</a></li>
<li title="append_chunk-2"><a href="ftp.html#append_chunk-2">append_chunk/2</a></li>
<li title="append_chunk_start-2"><a href="ftp.html#append_chunk_start-2">append_chunk_start/2</a></li>
<li title="append_chunk_end-1"><a href="ftp.html#append_chunk_end-1">append_chunk_end/1</a></li>
<li title="cd-2"><a href="ftp.html#cd-2">cd/2</a></li>
<li title="close-1"><a href="ftp.html#close-1">close/1</a></li>
<li title="delete-2"><a href="ftp.html#delete-2">delete/2</a></li>
<li title="formaterror-1"><a href="ftp.html#formaterror-1">formaterror/1</a></li>
<li title="lcd-2"><a href="ftp.html#lcd-2">lcd/2</a></li>
<li title="lpwd-1"><a href="ftp.html#lpwd-1">lpwd/1</a></li>
<li title="ls-1"><a href="ftp.html#ls-1">ls/1</a></li>
<li title="ls-2"><a href="ftp.html#ls-2">ls/2</a></li>
<li title="mkdir-2"><a href="ftp.html#mkdir-2">mkdir/2</a></li>
<li title="nlist-1"><a href="ftp.html#nlist-1">nlist/1</a></li>
<li title="nlist-2"><a href="ftp.html#nlist-2">nlist/2</a></li>
<li title="open-1"><a href="ftp.html#open-1">open/1</a></li>
<li title="open-2"><a href="ftp.html#open-2">open/2</a></li>
<li title="pwd-1"><a href="ftp.html#pwd-1">pwd/1</a></li>
<li title="pwd-1"><a href="ftp.html#pwd-1">pwd/1</a></li>
<li title="recv-2"><a href="ftp.html#recv-2">recv/2</a></li>
<li title="recv-3"><a href="ftp.html#recv-3">recv/3</a></li>
<li title="recv_bin-2"><a href="ftp.html#recv_bin-2">recv_bin/2</a></li>
<li title="recv_chunk_start-2"><a href="ftp.html#recv_chunk_start-2">recv_chunk_start/2</a></li>
<li title="recv_chunk-1"><a href="ftp.html#recv_chunk-1">recv_chunk/1</a></li>
<li title="rename-3"><a href="ftp.html#rename-3">rename/3</a></li>
<li title="rmdir-2"><a href="ftp.html#rmdir-2">rmdir/2</a></li>
<li title="send-2"><a href="ftp.html#send-2">send/2</a></li>
<li title="send-3"><a href="ftp.html#send-3">send/3</a></li>
<li title="send_bin-3"><a href="ftp.html#send_bin-3">send_bin/3</a></li>
<li title="send_chunk-2"><a href="ftp.html#send_chunk-2">send_chunk/2</a></li>
<li title="send_chunk_start-2"><a href="ftp.html#send_chunk_start-2">send_chunk_start/2</a></li>
<li title="send_chunk_end-1"><a href="ftp.html#send_chunk_end-1">send_chunk_end/1</a></li>
<li title="type-2"><a href="ftp.html#type-2">type/2</a></li>
<li title="user-3"><a href="ftp.html#user-3">user/3</a></li>
<li title="user-4"><a href="ftp.html#user-4">user/4</a></li>
<li title="quote-2"><a href="ftp.html#quote-2">quote/2</a></li>
</ul>
</li>
<li id="no" title="tftp " expanded="false">tftp<ul>
<li><a href="tftp.html">
                  Top of manual page
                </a></li>
<li title="start-1"><a href="tftp.html#start-1">start/1</a></li>
<li title="read_file-3"><a href="tftp.html#read_file-3">read_file/3</a></li>
<li title="write_file-3"><a href="tftp.html#write_file-3">write_file/3</a></li>
<li title="info-1"><a href="tftp.html#info-1">info/1</a></li>
<li title="info-1"><a href="tftp.html#info-1">info/1</a></li>
<li title="info-1"><a href="tftp.html#info-1">info/1</a></li>
<li title="change_config-2"><a href="tftp.html#change_config-2">change_config/2</a></li>
<li title="change_config-2"><a href="tftp.html#change_config-2">change_config/2</a></li>
<li title="change_config-2"><a href="tftp.html#change_config-2">change_config/2</a></li>
<li title="start-0"><a href="tftp.html#start-0">start/0</a></li>
<li title="prepare-6"><a href="tftp.html#prepare-6">prepare/6</a></li>
<li title="open-6"><a href="tftp.html#open-6">open/6</a></li>
<li title="read-1"><a href="tftp.html#read-1">read/1</a></li>
<li title="write-2"><a href="tftp.html#write-2">write/2</a></li>
<li title="abort-3"><a href="tftp.html#abort-3">abort/3</a></li>
<li title="error_msg-2"><a href="tftp.html#error_msg-2">error_msg/2</a></li>
<li title="warning_msg-2"><a href="tftp.html#warning_msg-2">warning_msg/2</a></li>
<li title="info_msg-2"><a href="tftp.html#info_msg-2">info_msg/2</a></li>
</ul>
</li>
<li id="no" title="httpc " expanded="false">httpc<ul>
<li><a href="httpc.html">
                  Top of manual page
                </a></li>
<li title="request-1"><a href="httpc.html#request-1">request/1</a></li>
<li title="request-2"><a href="httpc.html#request-2">request/2</a></li>
<li title="request-4"><a href="httpc.html#request-4">request/4</a></li>
<li title="request-5"><a href="httpc.html#request-5">request/5</a></li>
<li title="cancel_request-1"><a href="httpc.html#cancel_request-1">cancel_request/1</a></li>
<li title="cancel_request-2"><a href="httpc.html#cancel_request-2">cancel_request/2</a></li>
<li title="set_options-1"><a href="httpc.html#set_options-1">set_options/1</a></li>
<li title="set_options-2"><a href="httpc.html#set_options-2">set_options/2</a></li>
<li title="stream_next-1"><a href="httpc.html#stream_next-1">stream_next/1</a></li>
<li title="store_cookie-2"><a href="httpc.html#store_cookie-2">store_cookie/2</a></li>
<li title="store_cookie-3"><a href="httpc.html#store_cookie-3">store_cookie/3</a></li>
<li title="cookie_header-1"><a href="httpc.html#cookie_header-1">cookie_header/1</a></li>
<li title="cookie_header-2"><a href="httpc.html#cookie_header-2">cookie_header/2</a></li>
<li title="reset_cookies-0"><a href="httpc.html#reset_cookies-0">reset_cookies/0</a></li>
<li title="reset_cookies-1"><a href="httpc.html#reset_cookies-1">reset_cookies/1</a></li>
<li title="which_cookies-0"><a href="httpc.html#which_cookies-0">which_cookies/0</a></li>
<li title="which_cookies-1"><a href="httpc.html#which_cookies-1">which_cookies/1</a></li>
</ul>
</li>
<li id="no" title="httpd " expanded="false">httpd<ul>
<li><a href="httpd.html">
                  Top of manual page
                </a></li>
<li title="info-1"><a href="httpd.html#info-1">info/1</a></li>
<li title="info-2"><a href="httpd.html#info-2">info/2</a></li>
<li title="info-2"><a href="httpd.html#info-2">info/2</a></li>
<li title="info-3"><a href="httpd.html#info-3">info/3</a></li>
<li title="reload_config-2"><a href="httpd.html#reload_config-2">reload_config/2</a></li>
<li title="Module:do-1"><a href="httpd.html#Module:do-1">Module:do/1</a></li>
<li title="Module:load-2"><a href="httpd.html#Module:load-2">Module:load/2</a></li>
<li title="Module:store-2"><a href="httpd.html#Module:store-2">Module:store/2</a></li>
<li title="Module:remove-1"><a href="httpd.html#Module:remove-1">Module:remove/1</a></li>
<li title="parse_query-1"><a href="httpd.html#parse_query-1">parse_query/1</a></li>
</ul>
</li>
<li id="no" title="httpd_conf " expanded="false">httpd_conf<ul>
<li><a href="httpd_conf.html">
                  Top of manual page
                </a></li>
<li title="check_enum-2"><a href="httpd_conf.html#check_enum-2">check_enum/2</a></li>
<li title="clean-1"><a href="httpd_conf.html#clean-1">clean/1</a></li>
<li title="custom_clean-3"><a href="httpd_conf.html#custom_clean-3">custom_clean/3</a></li>
<li title="is_directory-1"><a href="httpd_conf.html#is_directory-1">is_directory/1</a></li>
<li title="is_file-1"><a href="httpd_conf.html#is_file-1">is_file/1</a></li>
<li title="make_integer-1"><a href="httpd_conf.html#make_integer-1">make_integer/1</a></li>
</ul>
</li>
<li id="no" title="httpd_socket " expanded="false">httpd_socket<ul>
<li><a href="httpd_socket.html">
                  Top of manual page
                </a></li>
<li title="deliver-3"><a href="httpd_socket.html#deliver-3">deliver/3</a></li>
<li title="peername-2"><a href="httpd_socket.html#peername-2">peername/2</a></li>
<li title="resolve-0"><a href="httpd_socket.html#resolve-0">resolve/0</a></li>
</ul>
</li>
<li id="no" title="httpd_util " expanded="false">httpd_util<ul>
<li><a href="httpd_util.html">
                  Top of manual page
                </a></li>
<li title="convert_request_date-1"><a href="httpd_util.html#convert_request_date-1">convert_request_date/1</a></li>
<li title="create_etag-1"><a href="httpd_util.html#create_etag-1">create_etag/1</a></li>
<li title="decode_hex-1"><a href="httpd_util.html#decode_hex-1">decode_hex/1</a></li>
<li title="day-1"><a href="httpd_util.html#day-1">day/1</a></li>
<li title="flatlength-1"><a href="httpd_util.html#flatlength-1">flatlength/1</a></li>
<li title="hexlist_to_integer-1"><a href="httpd_util.html#hexlist_to_integer-1">hexlist_to_integer/1</a></li>
<li title="integer_to_hexlist-1"><a href="httpd_util.html#integer_to_hexlist-1">integer_to_hexlist/1</a></li>
<li title="lookup-2"><a href="httpd_util.html#lookup-2">lookup/2</a></li>
<li title="lookup-3"><a href="httpd_util.html#lookup-3">lookup/3</a></li>
<li title="lookup_mime-2"><a href="httpd_util.html#lookup_mime-2">lookup_mime/2</a></li>
<li title="lookup_mime-3"><a href="httpd_util.html#lookup_mime-3">lookup_mime/3</a></li>
<li title="lookup_mime_default-2"><a href="httpd_util.html#lookup_mime_default-2">lookup_mime_default/2</a></li>
<li title="lookup_mime_default-3"><a href="httpd_util.html#lookup_mime_default-3">lookup_mime_default/3</a></li>
<li title="message-3"><a href="httpd_util.html#message-3">message/3</a></li>
<li title="month-1"><a href="httpd_util.html#month-1">month/1</a></li>
<li title="multi_lookup-2"><a href="httpd_util.html#multi_lookup-2">multi_lookup/2</a></li>
<li title="reason_phrase-1"><a href="httpd_util.html#reason_phrase-1">reason_phrase/1</a></li>
<li title="rfc1123_date-0"><a href="httpd_util.html#rfc1123_date-0">rfc1123_date/0</a></li>
<li title="rfc1123_date-2"><a href="httpd_util.html#rfc1123_date-2">rfc1123_date/2</a></li>
<li title="split-3"><a href="httpd_util.html#split-3">split/3</a></li>
<li title="split_script_path-1"><a href="httpd_util.html#split_script_path-1">split_script_path/1</a></li>
<li title="split_path-1"><a href="httpd_util.html#split_path-1">split_path/1</a></li>
<li title="strip-1"><a href="httpd_util.html#strip-1">strip/1</a></li>
<li title="suffix-1"><a href="httpd_util.html#suffix-1">suffix/1</a></li>
</ul>
</li>
<li id="no" title="mod_alias " expanded="false">mod_alias<ul>
<li><a href="mod_alias.html">
                  Top of manual page
                </a></li>
<li title="default_index-2"><a href="mod_alias.html#default_index-2">default_index/2</a></li>
<li title="path-3"><a href="mod_alias.html#path-3">path/3</a></li>
<li title="real_name-3"><a href="mod_alias.html#real_name-3">real_name/3</a></li>
<li title="real_script_name-3"><a href="mod_alias.html#real_script_name-3">real_script_name/3</a></li>
</ul>
</li>
<li id="loadscrollpos" title="mod_auth " expanded="true">mod_auth<ul>
<li><a href="mod_auth.html">
                  Top of manual page
                </a></li>
<li title="add_user-2"><a href="mod_auth.html#add_user-2">add_user/2</a></li>
<li title="add_user-5"><a href="mod_auth.html#add_user-5">add_user/5</a></li>
<li title="add_user-6"><a href="mod_auth.html#add_user-6">add_user/6</a></li>
<li title="delete_user-2"><a href="mod_auth.html#delete_user-2">delete_user/2</a></li>
<li title="delete_user-3"><a href="mod_auth.html#delete_user-3">delete_user/3</a></li>
<li title="delete_user-4"><a href="mod_auth.html#delete_user-4">delete_user/4</a></li>
<li title="get_user-2"><a href="mod_auth.html#get_user-2">get_user/2</a></li>
<li title="get_user-3"><a href="mod_auth.html#get_user-3">get_user/3</a></li>
<li title="get_user-4"><a href="mod_auth.html#get_user-4">get_user/4</a></li>
<li title="list_users-1"><a href="mod_auth.html#list_users-1">list_users/1</a></li>
<li title="list_users-3"><a href="mod_auth.html#list_users-3">list_users/3</a></li>
<li title="add_group_member-3"><a href="mod_auth.html#add_group_member-3">add_group_member/3</a></li>
<li title="add_group_member-4"><a href="mod_auth.html#add_group_member-4">add_group_member/4</a></li>
<li title="add_group_member-5"><a href="mod_auth.html#add_group_member-5">add_group_member/5</a></li>
<li title="delete_group_member-3"><a href="mod_auth.html#delete_group_member-3">delete_group_member/3</a></li>
<li title="delete_group_member-4"><a href="mod_auth.html#delete_group_member-4">delete_group_member/4</a></li>
<li title="delete_group_member-5"><a href="mod_auth.html#delete_group_member-5">delete_group_member/5</a></li>
<li title="list_group_members-2"><a href="mod_auth.html#list_group_members-2">list_group_members/2</a></li>
<li title="list_group_members-3"><a href="mod_auth.html#list_group_members-3">list_group_members/3</a></li>
<li title="list_group_members-4"><a href="mod_auth.html#list_group_members-4">list_group_members/4</a></li>
<li title="list_groups-1"><a href="mod_auth.html#list_groups-1">list_groups/1</a></li>
<li title="list_groups-2"><a href="mod_auth.html#list_groups-2">list_groups/2</a></li>
<li title="list_groups-3"><a href="mod_auth.html#list_groups-3">list_groups/3</a></li>
<li title="delete_group-2"><a href="mod_auth.html#delete_group-2">delete_group/2</a></li>
<li title="delete_group-4"><a href="mod_auth.html#delete_group-4">delete_group/4</a></li>
<li title="update_password-5"><a href="mod_auth.html#update_password-5">update_password/5</a></li>
<li title="update_password-6"><a href="mod_auth.html#update_password-6">update_password/6</a></li>
</ul>
</li>
<li id="no" title="mod_esi " expanded="false">mod_esi<ul>
<li><a href="mod_esi.html">
                  Top of manual page
                </a></li>
<li title="deliver-2"><a href="mod_esi.html#deliver-2">deliver/2</a></li>
<li title="Module:Function-3"><a href="mod_esi.html#Module:Function-3">Module:Function/3</a></li>
<li title="Module:Function-2"><a href="mod_esi.html#Module:Function-2">Module:Function/2</a></li>
</ul>
</li>
<li id="no" title="mod_security " expanded="false">mod_security<ul>
<li><a href="mod_security.html">
                  Top of manual page
                </a></li>
<li title="list_auth_users-1"><a href="mod_security.html#list_auth_users-1">list_auth_users/1</a></li>
<li title="list_auth_users-2"><a href="mod_security.html#list_auth_users-2">list_auth_users/2</a></li>
<li title="list_auth_users-2"><a href="mod_security.html#list_auth_users-2">list_auth_users/2</a></li>
<li title="list_auth_users-3"><a href="mod_security.html#list_auth_users-3">list_auth_users/3</a></li>
<li title="list_blocked_users-1"><a href="mod_security.html#list_blocked_users-1">list_blocked_users/1</a></li>
<li title="list_blocked_users-2"><a href="mod_security.html#list_blocked_users-2">list_blocked_users/2</a></li>
<li title="list_blocked_users-2"><a href="mod_security.html#list_blocked_users-2">list_blocked_users/2</a></li>
<li title="list_blocked_users-3"><a href="mod_security.html#list_blocked_users-3">list_blocked_users/3</a></li>
<li title="block_user-4"><a href="mod_security.html#block_user-4">block_user/4</a></li>
<li title="block_user-5"><a href="mod_security.html#block_user-5">block_user/5</a></li>
<li title="unblock_user-2"><a href="mod_security.html#unblock_user-2">unblock_user/2</a></li>
<li title="unblock_user-3"><a href="mod_security.html#unblock_user-3">unblock_user/3</a></li>
<li title="unblock_user-3"><a href="mod_security.html#unblock_user-3">unblock_user/3</a></li>
<li title="unblock_user-4"><a href="mod_security.html#unblock_user-4">unblock_user/4</a></li>
<li title="event-4"><a href="mod_security.html#event-4">event/4</a></li>
<li title="event-5"><a href="mod_security.html#event-5">event/5</a></li>
</ul>
</li>
</ul>
</div></div>
<div id="content">
<div class="innertube">
<!-- refpage --><center><h1>mod_auth</h1></center>
  
  <h3>MODULE</h3>
<div class="REFBODY">mod_auth</div>
  <h3>MODULE SUMMARY</h3>
<div class="REFBODY">User authentication using text files, dets or mnesia database.</div>
  <h3>DESCRIPTION</h3>
<div class="REFBODY"><p>
    <p>This module provides for basic user authentication using
      textual files, dets databases as well as mnesia databases. </p>
  </p></div>
  <h3>EXPORTS</h3>
    <p><a name="add_user-2"><span class="bold_code">add_user(UserName, Options) -&gt;  true| {error, Reason}</span></a><br><a name="add_user-5"><span class="bold_code">add_user(UserName, Password, UserData, Port, Dir) -&gt; true | {error, Reason}</span></a><br><a name="add_user-6"><span class="bold_code">add_user(UserName, Password, UserData, Address, Port, Dir) -&gt; true | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">UserName     = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Options     = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option      = {password,Password} | {userData,UserData} | {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Password     = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">UserData     = term()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword =string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="user_api"></a>
        <a name="add_user"></a>
        <p><span class="code">add_user/2, add_user/5</span> and <span class="code">add_user/6</span> adds a user to the user 
          database. If the operation is successful, this function returns 
          <span class="code">true</span>. If an error occurs, <span class="code">{error,Reason}</span> is returned. When <span class="code">add_user/2</span> 
          is called the Password, UserData Port and Dir options is mandatory.</p>
      </p></div>
    <p><a name="delete_user-2"><span class="bold_code">delete_user(UserName,Options)  -&gt; true | {error, Reason}</span></a><br><a name="delete_user-3"><span class="bold_code">delete_user(UserName, Port, Dir) -&gt; true | {error, Reason}</span></a><br><a name="delete_user-4"><span class="bold_code">delete_user(UserName, Address, Port, Dir) -&gt; true | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">UserName     = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="delete_user"></a>
        <p><span class="code">delete_user/2, delete_user/3</span> and <span class="code">delete_user/4</span> 
          deletes a user 
          from the user database. If the operation is succesfull, this 
          function returns <span class="code">true</span>. If an error occurs, 
          <span class="code">{error,Reason}</span> is returned. When <span class="code">delete_user/2</span> is
          called the Port and Dir options are mandatory.</p>
      </p></div>
    <p><a name="get_user-2"><span class="bold_code">get_user(UserName,Options) -&gt; {ok, #httpd_user} |{error, Reason}</span></a><br><a name="get_user-3"><span class="bold_code">get_user(UserName, Port, Dir) -&gt; {ok, #httpd_user} | {error, Reason}</span></a><br><a name="get_user-4"><span class="bold_code">get_user(UserName, Address, Port, Dir) -&gt; {ok, #httpd_user} | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">UserName     = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="get_user"></a>
        <p><span class="code">get_user/2, get_user/3</span> and <span class="code">get_user/4</span> returns a 
          <span class="code">httpd_user</span> record containing the userdata for a 
          specific user. If the user cannot be found, <span class="code">{error, Reason}</span> 
          is returned. When <span class="code">get_user/2</span> is called the Port and Dir 
          options are mandatory.</p>
      </p></div>
    <p><a name="list_users-1"><span class="bold_code">list_users(Options) -&gt; {ok, Users} | {error, Reason} &lt;name&gt;list_users(Port, Dir) -&gt; {ok, Users} | {error, Reason}</span></a><br><a name="list_users-3"><span class="bold_code">list_users(Address, Port, Dir) -&gt; {ok, Users} | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Users        = list()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = atom()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="list_users"></a>
        <p><span class="code">list_users/1, list_users/2</span> and <span class="code">list_users/3</span> returns a list 
          of users in the user database for a specific <span class="code">Port/Dir</span>.
          When <span class="code">list_users/1</span> is called the Port and Dir 
          options are mandatory.</p>
      </p></div>
    <p><a name="add_group_member-3"><span class="bold_code">add_group_member(GroupName, UserName, Options) -&gt; true | {error, Reason}</span></a><br><a name="add_group_member-4"><span class="bold_code">add_group_member(GroupName, UserName, Port, Dir) -&gt; true | {error, Reason}</span></a><br><a name="add_group_member-5"><span class="bold_code">add_group_member(GroupName, UserName, Address, Port, Dir) -&gt; true | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">GroupName    = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">UserName     = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="add_group_member"></a>
        <p><span class="code">add_group_member/3, add_group_member/4</span> and <span class="code">add_group_member/5</span> 
          adds a user to a group. If the group does not exist, it 
          is created and the user is added to the group. Upon successful 
          operation, this function returns <span class="code">true</span>. When <span class="code">add_group_members/3</span> 
          is called the Port and Dir options are mandatory.</p>
      </p></div>
    <p><a name="delete_group_member-3"><span class="bold_code">delete_group_member(GroupName, UserName, Options) -&gt; true | {error, Reason}</span></a><br><a name="delete_group_member-4"><span class="bold_code">delete_group_member(GroupName, UserName, Port, Dir) -&gt; true | {error, Reason}</span></a><br><a name="delete_group_member-5"><span class="bold_code">delete_group_member(GroupName, UserName, Address, Port, Dir) -&gt; true | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">GroupName    = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">UserName     = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="delete_group_member"></a>
        <p><span class="code">delete_group_member/3, delete_group_member/4</span> and <span class="code">delete_group_member/5</span>  deletes a user from a group. 
          If the group or the user does not exist, 
          this function returns an error, otherwise it returns <span class="code">true</span>.
          When <span class="code">delete_group_member/3</span> is called the Port and Dir options
          are mandatory.</p>
      </p></div>
    <p><a name="list_group_members-2"><span class="bold_code">list_group_members(GroupName, Options) -&gt; {ok, Users} | {error, Reason}</span></a><br><a name="list_group_members-3"><span class="bold_code">list_group_members(GroupName, Port, Dir) -&gt; {ok, Users} | {error, Reason}</span></a><br><a name="list_group_members-4"><span class="bold_code">list_group_members(GroupName, Address, Port, Dir) -&gt; {ok, Users} | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">GroupName    = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Users        = list()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="list_group_members"></a>
        <p><span class="code">list_group_members/2, list_group_members/3</span> and <span class="code">list_group_members/4</span> 
          lists the members of a specified group. If the group does not 
          exist or there is an error, <span class="code">{error, Reason}</span> is returned.
          When <span class="code">list_group_members/2</span> is called the Port and Dir options
          are mandatory.</p>
      </p></div>
    <p><a name="list_groups-1"><span class="bold_code">list_groups(Options) -&gt; {ok, Groups} | {error, Reason}</span></a><br><a name="list_groups-2"><span class="bold_code">list_groups(Port, Dir) -&gt; {ok, Groups} | {error, Reason}</span></a><br><a name="list_groups-3"><span class="bold_code">list_groups(Address, Port, Dir) -&gt; {ok, Groups} | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Groups       = list()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="list_groups"></a>
        <p><span class="code">list_groups/1, list_groups/2</span> and <span class="code">list_groups/3</span> lists all 
          the groups available. If there is an error, <span class="code">{error, Reason}</span> 
          is returned. When <span class="code">list_groups/1</span> is called the Port and Dir options
          are mandatory.</p>
      </p></div>
    <p><a name="delete_group-2"><span class="bold_code">delete_group(GroupName, Options) -&gt; true | {error,Reason} &lt;name&gt;delete_group(GroupName, Port, Dir) -&gt; true | {error, Reason}</span></a><br><a name="delete_group-4"><span class="bold_code">delete_group(GroupName, Address, Port, Dir) -&gt; true | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Options      = [Option]</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Option       = {port,Port} | {addr,Address} | {dir,Directory} | {authPassword,AuthPassword}</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">GroupName    = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">AuthPassword = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="delete_group"></a>
        <p><span class="code">delete_group/2, delete_group/3</span> and <span class="code">delete_group/4</span> deletes the 
          group specified and returns <span class="code">true</span>. If there is an error, 
          <span class="code">{error, Reason}</span> is returned. When <span class="code">delete_group/2</span> is called the 
          Port and Dir options are mandatory.</p>
      </p></div>
    <p><a name="update_password-5"><span class="bold_code">update_password(Port, Dir, OldPassword, NewPassword, NewPassword) -&gt; ok | {error, Reason}</span></a><br><a name="update_password-6"><span class="bold_code">update_password(Address,Port, Dir, OldPassword, NewPassword, NewPassword) -&gt; ok | {error, Reason}</span></a><br></p>
<div class="REFBODY">
<p>Types:</p>
        <div class="REFTYPES">
<span class="bold_code">Port         = integer()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Address      = {A,B,C,D} | string() | undefined</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Dir          = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">GroupName    = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">OldPassword  = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">NewPassword  = string()</span><br>
</div>
        <div class="REFTYPES">
<span class="bold_code">Reason       = term()</span><br>
</div>
      </div>
<div class="REFBODY"><p>
        <a name="update_password"></a>
        <p><span class="code">update_password/5</span> and <span class="code">update_password/6</span> Updates the AuthAccessPassword
          for the specified directory. If NewPassword is equal to "NoPassword" no password is requires to
          change authorisation data. If NewPassword is equal to "DummyPassword" no changes can be done 
          without changing the password first.</p>
      </p></div>
  

  <h3><a name="id2283450">SEE ALSO</a></h3>
<div class="REFBODY">
    <a name="see_also"></a>
    
    <p><span class="bold_code"><a href="httpd.html">httpd(3)</a></span>,
      <span class="bold_code"><a href="mod_alias.html">mod_alias(3)</a></span>,</p>
  </div>
  
</div>
<div class="footer">
<hr>
<p>Copyright © 1997-2010 Ericsson AB. All Rights Reserved.</p>
</div>
</div>
</div></body>
</html>