group Module

Jan Janak

   FhG FOKUS

Edited by

Jan Janak

   Copyright © 2003 FhG FOKUS
     _________________________________________________________

   Table of Contents
   1. User's Guide

        1.1. Overview
        1.2. Dependencies

              1.2.1. SER Modules
              1.2.2. External Libraries or Applications

        1.3. Exported Parameters

              1.3.1. db_url (string)
              1.3.2. table (string)
              1.3.3. user_column (string)
              1.3.4. domain_column (string)
              1.3.5. group_column (string)
              1.3.6. use_domain (integer)

        1.4. Exported Functions

              1.4.1. is_user_in(URI, group)

   2. Developer's Guide
   3. Frequently Asked Questions

   List of Examples
   1-1. Set db_url parameter
   1-2. Set table parameter
   1-3. Set user_column parameter
   1-4. Set domain_column parameter
   1-5. Set group_column parameter
   1-6. Set use_domain parameter
   1-7. is_user_in usage
     _________________________________________________________

Chapter 1. User's Guide

1.1. Overview

   This module export functions necesarry for group membership
   checking. There is a database table that contains list of
   users and groups they belong to. The table is used by
   functions of this module.
     _________________________________________________________

1.2. Dependencies

1.2.1. SER Modules

   The following modules must be loaded before this module:

     * A database module.
     _________________________________________________________

1.2.2. External Libraries or Applications

   The following libraries or applications must be installed
   before running SER with this module loaded:

     * None.
     _________________________________________________________

1.3. Exported Parameters

1.3.1. db_url (string)

   URL of the database table to be used.

   Default value is "sql://serro:47serro11@localhost/ser". 

   Example 1-1. Set db_url parameter
...
modparam("group", "db_url", "sql://username:password@dbhost/ser")
...
     _________________________________________________________

1.3.2. table (string)

   Name of the table holding groups and their members.

   Default value is "grp". 

   Example 1-2. Set table parameter
...
modparam("group", "table", "grp_table")
...
     _________________________________________________________

1.3.3. user_column (string)

   Name of the column holding usernames.

   Default value is "username". 

   Example 1-3. Set user_column parameter
...
modparam("group", "user_column", "user")
...
     _________________________________________________________

1.3.4. domain_column (string)

   Name of the column holding domains.

   Default value is "domain". 

   Example 1-4. Set domain_column parameter
...
modparam("group", "domain_column", "realm")
...
     _________________________________________________________

1.3.5. group_column (string)

   Name of the column holding groups.

   Default value is "grp". 

   Example 1-5. Set group_column parameter
...
modparam("group", "group_column", "grp")
...
     _________________________________________________________

1.3.6. use_domain (integer)

   If set to 1 then username@domain will be used for lookup, if
   set to 0 then only username will be used.

   Default value is 0 (no). 

   Example 1-6. Set use_domain parameter
...
modparam("group", "use_domain", 1)
...
     _________________________________________________________

1.4. Exported Functions

1.4.1. is_user_in(URI, group)

   The function returns true if username in the given URI is
   member of the given group and false if not.

   Meaning of the parameters is as follows:

     * URI - URI whose username and optionally domain to be used,
       this can be one of:
          + Request-URI - Use Request-URI username and
            (optionally) domain.
          + To - Use To username and (optionally) domain.
          + From - Use From username and (optionally) domain.
          + Credentials - Use digest credentials username.
     * group - Name of the group to check.

   Example 1-7. is_user_in usage
...
if (is_user_in("Request-URI", "ld")) {
    ...
};
...
     _________________________________________________________

Chapter 2. Developer's Guide

   The module does not provide any sort of API to use in other
   SER modules.
     _________________________________________________________

Chapter 3. Frequently Asked Questions

   3.1. Where can I find more about SER?
   3.2. Where can I post a question about this module?
   3.3. How can I report a bug?

   3.1. Where can I find more about SER?

   Take a look at http://iptel.org/ser.

   3.2. Where can I post a question about this module?

   First at all check if your question was already answered on
   one of our mailing lists:

     * http://mail.iptel.org/mailman/listinfo/serusers
     * http://mail.iptel.org/mailman/listinfo/serdev

   E-mails regarding any stable version should be sent to
   <serusers@iptel.org> and e-mail regarding development versions
   or CVS snapshots should be send to <serdev@iptel.org>.

   If you want to keep the mail private, send it to
   <serhelp@iptel.org>.

   3.3. How can I report a bug?

   Please follow the guidelines provided at:
   http://iptel.org/ser/bugs