#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. |