You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamailio/modules/uid_auth_db/doc/params.xml

205 lines
6.7 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<section id="auth_db.parameters" xmlns:xi="http://www.w3.org/2001/XInclude">
<sectioninfo>
</sectioninfo>
<title>Parameters</title>
<section id="auth_db.db_url">
<title><varname>db_url</varname> (string)</title>
<para>
This is URL of the database to be used. Value of the parameter
depends on the database module used. For example for mysql and
postgres modules this is something like
mysql://username:password@host:port/database. For dbtext module
(which stores data in plaintext files) it is directory in which the
database resides.
</para>
<para>
Default value is "mysql://serro:47serro11@localhost/ser".
</para>
<example>
<title><varname>db_url</varname> parameter usage</title>
<programlisting>
modparam("auth_db", "db_url", "mysql://foo:bar@foobar.org/ser")
</programlisting>
</example>
</section>
<section id="user_column">
<title><varname>user_column</varname> (string)</title>
<para>
This is the name of the column holding usernames. Default value is
fine for most people. Use the parameter if you really need to
change it.
</para>
<para>
Default value is "username".
</para>
<example>
<title><varname>user_column</varname> usage</title>
<programlisting>
modparam("auth_db", "user_column", "user")
</programlisting>
</example>
</section>
<section id="domain_column">
<title><varname>domain_column</varname> (string)</title>
<para>
This is the name of the column holding domains of users. Default
value is fine for most people. Use the parameter if you really need
to change it.
</para>
<para>
Default value is "domain".
</para>
<example>
<title><varname>domain_column</varname> usage</title>
<programlisting>
modparam("auth_db", "domain_column", "domain")
</programlisting>
</example>
</section>
<section id="password_column">
<title><varname>password_column</varname> (string)</title>
<para>
This is the name of the column holding passwords. Passwords can be
either stored as plain text or pre-calculated HA1 strings. HA1
strings are MD5 hashes of username, password, and realm. HA1
strings are more safe because the server doesn't need to know
plaintext passwords and they cannot be obtained from HA1 strings.
</para>
<para>
Default value is "ha1".
</para>
<example>
<title><varname>password_column</varname> usage</title>
<programlisting>
modparam("auth_db", "password_column", "password")
</programlisting>
</example>
</section>
<section id="rpid_column">
<title><varname>rpid_column</varname> (string)</title>
<para>
This is the name of the column holding information for the
Remote-Party-ID header field. Default value is fine for most
people. Use the parameter if you really need to change it.
</para>
<para>
Default value is "rpid".
</para>
<example>
<title><varname>rpid_column</varname> usage</title>
<programlisting>
modparam("auth_db", "rpid_column", "remote_party_id")
</programlisting>
</example>
</section>
<section id="calculate_ha1">
<title><varname>calculate_ha1</varname> (integer)</title>
<para>
This parameter tells server whether it should read plaintext
password from the database or HA1 string. If the parameter is set to
1 then the server will assume that the column pointed to by
<varname>plain_password_column</varname> contains plaintext passwords and
it will calculate HA1 strings on the fly.
</para>
<para>
If the parameter is set to 0 then the server assumes that the
database contains HA1 strings directly and will not calculate
them. In this case it will use value of <varname>password_column</varname>
as name of column with HA1 password.
If username parameter of credentials contains also @domain
(some user agents put domain in username parameter), then column
pointed to by <varname>password_column_2</varname> parameter will
be used instead. This column should also contain HA1 strings but
they should be calculated including the domain in the username
parameter (as opposed to <varname>password_column</varname> which
(when containing HA1 strings) should always contains HA1 strings
calculated without domain in username.
</para>
<para>
This ensures that the authentication will always work when using
pre-calculated HA1 string, not depending on the presence of the
domain in username.
</para>
<para>
Default value of this parameter is 0.
</para>
<example>
<title><varname>calculate_ha1</varname>usage</title>
<programlisting>
modparam("auth_db", "calculate_ha1", 1)
</programlisting>
</example>
</section>
<section id="plain_password_column">
<title><varname>plain_password_column</varname> (string)</title>
<para>
This parameter holds the name of column holding plain text password.
This column is used when calculate_ha1 is set.
</para>
<para>
Default value is "password".
</para>
<example>
<title><varname>plain_password_column</varname> usage</title>
<programlisting>
modparam("auth_db", "plain_password_column", "password")
</programlisting>
</example>
</section>
<section id="password_column_2">
<title><varname>password_column_2</varname> (string)</title>
<para>
As described in the previous section this parameter contains name
of column holding pre-calculated HA1 string that were calculated
including the domain in the username. This parameter is used only
when <varname>calculate_ha1</varname> is set to 0 and user agent
send a credentials containing the domain in the username.
</para>
<para>
Default value of the parameter is ha1b.
</para>
<example>
<title><varname>password_column_2</varname> usage</title>
<programlisting>
modparam("auth_db", "password_column_2", "ha1_2")
</programlisting>
</example>
</section>
<section id="use_rpid">
<title><varname>use_rpid</varname> (integer)</title>
<para>
This parameter specifies whether the server should fetch a value
for the Remote-Party-ID header field from the database.
</para>
<para>
If the parameter is set to 1 the server expects to find a value for
this header in the column specified by the
<varname>rpid_column</varname> parameter.
</para>
<para>
Default value of this parameter is 0.
</para>
<example>
<title><varname>use_rpid</varname>usage</title>
<programlisting>
modparam("auth_db", "use_rpid", 1)
</programlisting>
</example>
</section>
</section>