#include "lcas_config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <dlfcn.h>
#include <gssapi.h>
#include "lcas_types.h"
#include "_lcas_utils.h"
#include "_lcas_defines.h"
#include "_lcas_log.h"
#include "_lcas_db_read.h"
Include dependency graph for lcas.c:

Go to the source code of this file.
Data Structures | |
| struct | lcas_plugindl_s | 
| the plugin authorization module structure. More... | |
Defines | |
| #define | NUL '\0' | 
| #define | MAXAUTHMODS 3 | 
| #define | MAXPROCS 3 | 
| #define | FAILED_LCAS_USERALLOW 1 | 
| #define | FAILED_LCAS_USERBAN 2 | 
| #define | FAILED_LCAS_CLOCKCHECK 3 | 
| #define | FAILED_LCAS_OTHER 4 | 
| #define | FAILED_LCAS_PLUGIN 5 | 
Typedefs | |
| typedef int (* | lcas_proc_t )() | 
| this type corresponds to the types of the plugin interface functions. More... | |
| typedef struct lcas_plugindl_s | lcas_plugindl_t | 
| the type definition of the plugin authorization module structure. More... | |
Enumerations | |
| enum | lcas_proctype_e { INITPROC, AUTHPROC, TERMPROC, ENDOFPROCS } | 
| This enumeration type gives the different plugin symbol/function types. More... | |
Functions | |
| lcas_plugindl_t* | PluginInit (lcas_db_entry_t *, lcas_plugindl_t **) | 
| Initialize the plugin. More... | |
| lcas_proc_t | get_procsymbol (void *, char *) | 
| get procedure symbol from dlopen-ed library. More... | |
| int | print_lcas_plugin (int, lcas_plugindl_t *) | 
| print the lcas_plugindl_t structure. More... | |
| int | parse_args_plugin (const char *, const char *, char **, int *) | 
| convert plugin argument string into xargc, xargv. More... | |
| int | clean_plugin_list (lcas_plugindl_t **) | 
| clean (free) the list of plugins and call the plugin termination functions. More... | |
Variables | |
| lcas_cred_id_t | lcas_cred | 
| int | lcas_initialized = 0 | 
| char* | lcas_db_file_default = NULL | 
| char* | lcas_dir = NULL | 
| lcas_plugindl_t* | plugin_list = NULL | 
| lcas_plugindl_t* | authmod_list = NULL | 
| char* | authmods [MAXAUTHMODS][2] | 
Definition in file lcas.c.
      
  | 
  
| 
 return value of LCAS because of failure of clockcheck module (obsolete)  | 
  
      
  | 
  
| 
 return value of LCAS because of general failure  | 
  
      
  | 
  
| 
 return value of LCAS because of failure of plugin authorization module  | 
  
      
  | 
  
| 
 return value of LCAS because of failure of userallow module (obsolete)  | 
  
      
  | 
  
| 
 return value of LCAS because of failure of userban module (obsolete)  | 
  
      
  | 
  
| 
 maximum number of standard authorization modules For internal use only.  | 
  
      
  | 
  
| 
 maximum number of interface symbols in authorization modules For internal use only.  | 
  
      
  | 
  
| 
 NUL character For internal use only.  | 
  
      
  | 
  
| 
 the type definition of the plugin authorization module structure. 
 For internal use only.  | 
  
      
  | 
  
| 
 this type corresponds to the types of the plugin interface functions. 
 For internal use only.  | 
  
      
  | 
  
| 
 This enumeration type gives the different plugin symbol/function types. 
 For internal use only.  | 
  
      
  | 
  
| 
 Initialize the plugin. 
 This function takes a plugin LCAS database entry and performs the following tasks: 
 
 
 Definition at line 443 of file lcas.c. Referenced by lcas_init(). 
  | 
  
      
  | 
  
| 
 clean (free) the list of plugins and call the plugin termination functions. 
 
 
 Definition at line 796 of file lcas.c. Referenced by lcas_init(). 
  | 
  
      
  | 
  
| 
 get procedure symbol from dlopen-ed library. 
 
 
 Definition at line 756 of file lcas.c. Referenced by PluginInit(). 
  | 
  
      
  | 
  
| 
 convert plugin argument string into xargc, xargv. 
 Parse the argument string of the plugin and create xargv and xargc 
 
 Definition at line 695 of file lcas.c. Referenced by PluginInit(). 
  | 
  
      
  | 
  
| 
 print the lcas_plugindl_t structure. 
 
 
 Definition at line 859 of file lcas.c. Referenced by lcas_init(). 
  | 
  
      
  | 
  
| 
 
 For internal use only.  | 
  
      
  | 
  
| 
 Initial value:  {
                             {(char *) NULL, (char *) NULL},
                             {(char *) NULL, (char *) NULL},
                             {(char *) NULL, (char *) NULL}
}For internal use only.  | 
  
      
  | 
  
| 
 
 For internal use only.  | 
  
      
  | 
  
| 
 
 For internal use only.  | 
  
      
  | 
  
| 
 
 For internal use only.  | 
  
      
  | 
  
| 
 
 For internal use only.  | 
  
      
  | 
  
| 
 
 For internal use only.  | 
  
1.2.8.1 written by Dimitri van Heesch,
 © 1997-2001