group_radius Module

Juha Heinanen

   Song Networks

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. OpenSER Modules
              1.2.2. External Libraries or Applications

        1.3. Exported Parameters

              1.3.1. radius_config (string)
              1.3.2. use_domain (integer)

        1.4. Exported Functions

              1.4.1. radius_is_user_in(URI, group)

   2. Developer's Guide
   3. Frequently Asked Questions

   List of Examples
   1-1. Set radius_config parameter
   1-2. Set use_domain parameter
   1-3. radius_is_user_in usage
     __________________________________________________________

Chapter 1. User's Guide

1.1. Overview

   This module export functions necessary for group membership
   checking over radius. 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. OpenSER Modules

   The module depends on the following modules (in the other words
   the listed modules must be loaded before this module):

     * none
     __________________________________________________________

1.2.2. External Libraries or Applications

   The following libraries or applications must be installed
   before compilling OpenSER with this module loaded:

     * radiusclient-ng 0.5.0 or higher -- library and development
       files. See
       http://developer.berlios.de/projects/radiusclient-ng/.
     __________________________________________________________

1.3. Exported Parameters

1.3.1. radius_config (string)

   Location of the configuration file of the radius client
   library.

   Default value is
   "/usr/local/etc/radiusclient-ng/radiusclient.conf".

   Example 1-1. Set radius_config parameter
...
modparam("group_radius", "radius_config", "/etc/radiusclient.conf")
...
     __________________________________________________________

1.3.2. 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-2. Set use_domain parameter
...
modparam("group_radius", "use_domain", 1)
...
     __________________________________________________________

1.4. Exported Functions

1.4.1. radius_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.

   This function can be used from REQUEST_ROUTE.

   Example 1-3. radius_is_user_in usage
...
if (radius_is_user_in("Request-URI", "ld")) {
        ...
};
...
     __________________________________________________________

Chapter 2. Developer's Guide

   The module does not provide any API to use in other OpenSER
   modules.
     __________________________________________________________

Chapter 3. Frequently Asked Questions

   3.1. Where can I find more about OpenSER?
   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 OpenSER?

   Take a look at http://openser.org/.

   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:

     * User Mailing List -
       http://openser.org/cgi-bin/mailman/listinfo/users
     * Developer Mailing List -
       http://openser.org/cgi-bin/mailman/listinfo/devel

   E-mails regarding any stable OpenSER release should be sent to
   <users@openser.org> and e-mails regarding development versions
   should be sent to <devel@openser.org>.

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

   3.3. How can I report a bug?

   Please follow the guidelines provided at:
   http://sourceforge.net/tracker/?group_id=139143.
