NAME

FS::SessionClient - Freeside session client API


SYNOPSIS

  use FS::SessionClient qw( login portnum logout );
  $error = login ( {
    'username' => $username,
    'password' => $password,
    'login'    => $timestamp,
    'portnum'  => $portnum,
  } );
  $portnum = portnum( { 'ip' => $ip } ) or die "unknown ip!"
  $portnum = portnum( { 'nasnum' => $nasnum, 'nasport' => $nasport } )
    or die "unknown nasnum/nasport";
  $error = logout ( {
    'username' => $username,
    'password' => $password,
    'logout'   => $timestamp,
    'portnum'  => $portnum,
  } );


DESCRIPTION

This modules provides an API for a remote session application.

It needs to be run as the freeside user. Because of this, the program which calls these subroutines should be written very carefully.


SUBROUTINES

login HASHREF
HASHREF should have the following keys: username, password, login and portnum. login is a UNIX timestamp; if not specified, will default to the current time. Starts a new session for the specified user and portnum. The password is optional, but must be correct if specified.

Returns a scalar error message, or the empty string for success.

portnum
HASHREF should contain a single key: ip, or the two keys: nasnum and nasport. Returns a portnum suitable for the login and logout subroutines, or false on error.

logout HASHREF
HASHREF should have the following keys: usrename, password, logout and portnum. logout is a UNIX timestamp; if not specified, will default to the current time. Starts a new session for the specified user and portnum. The password is optional, but must be correct if specified.

Returns a scalar error message, or the empty string for success.


VERSION

$Id: SessionClient.html,v 1.3 2002-01-29 17:42:46 ivan Exp $


BUGS


SEE ALSO

fs_sessiond