HP-UX AAA Server A.08.02.10 Administrator's Guide HP-UX 11i v3 (T1428-90093, November 2013)

SDK Directory Structure
The HP-UX AAA Server SDK consists of the following files and directories:
The /opt/aaa/include/sdk.h header file
The following sample plug-ins:
/opt/aaa/examples/sdk/CSI/checkCSI.c
/opt/aaa/examples/sdk/ace/samplesc.c
READMEs that describe the sample AATVs
Important Note:
For information on the header files, data structures, and APIs included with the SDK, see Appendix D
(page 430).
SDK Concepts
This section explains how the plug-ins interface with the HP-UX AAA Server operation. To ensure
that the HP-UX AAA Server processes the functions included in your plug-ins, you can modify the
state tables in the Finite State Machine (FSM) to refer to the functions (actions) defined in your
custom plug-ins, or you can add it to the authfile for authentication AATVs. Modified FSM
tables can include instructions to add or change the order of the processing steps. Plug-ins can be
inserted as steps anywhere in the FSM table. AATVs are directly referenced as actions in the FSM
table. For more information on AATVs, see “Overview of AATVs.
Overview of AATVs
An AATV is a framework for various functionalities, such as password validation. These AATVs
are functional blocks that perform basic AAA functions, such as authentication, authorization, and
accounting. However, an AATV's functions are not limited to these. This framework provides you
enough flexibility to add your own plug-ins as well.
AATV Components
An AATV is implemented as a shared library that contains specific functions. These functions are
called from the HP-UX AAA Server. An AATV can contain the following functions:
The init Function.
The action Function.
“The timer or callback Function” (page 332)
“The cleanup Function” (page 332)
NOTE: These functions are optional. However, you must implement at least one of these functions.
The init Function
The init function establishes the environment required for other AATV functions. The init function
is commonly used to open sockets and to create or open files for writing, or reading module specific
configurations.
Following is the prototype of the init function:
void myinit();
The action Function
The action function responds immediately to a received RADIUS request. Following is the prototype
of the action function:
SDK Directory Structure 331