CUBRID Engine  latest
broker_acl.c File Reference
#include <assert.h>
#include <errno.h>
#include "porting.h"
#include "broker_acl.h"
#include "cas_error.h"
#include "broker_util.h"
#include "broker_filename.h"
Include dependency graph for broker_acl.c:

Go to the source code of this file.

Macros

#define ADMIN_ERR_MSG_SIZE   BROKER_PATH_MAX * 2
 
#define ACCESS_FILE_DELIMITER   ":"
 
#define IP_FILE_DELIMITER   ","
 

Functions

static ACCESS_INFOaccess_control_find_access_info (ACCESS_INFO ai[], int size, char *dbname, char *dbuser)
 
static int access_control_read_ip_info (IP_INFO *ip_info, char *filename, char *admin_err_msg)
 
static void access_control_repath_file (char *path)
 
static int access_control_check_right_internal (T_SHM_APPL_SERVER *shm_as_p, char *dbname, char *dbuser, unsigned char *address)
 
static int access_control_check_ip (T_SHM_APPL_SERVER *shm_as_p, IP_INFO *ip_info, unsigned char *address, int info_index)
 
static int record_ip_access_time (T_SHM_APPL_SERVER *shm_as_p, int info_index, int list_index)
 
int access_control_set_shm (T_SHM_APPL_SERVER *shm_as_p, T_BROKER_INFO *br_info_p, T_SHM_BROKER *shm_br, char *admin_err_msg)
 
int access_control_read_config_file (T_SHM_APPL_SERVER *shm_appl, char *filename, char *admin_err_msg)
 
int access_control_check_right (T_SHM_APPL_SERVER *shm_as_p, char *dbname, char *dbuser, unsigned char *address)
 

Variables

ACCESS_INFO access_info [ACL_MAX_ITEM_COUNT]
 
int num_access_info
 
int access_info_changed
 

Macro Definition Documentation

#define ACCESS_FILE_DELIMITER   ":"

Definition at line 36 of file broker_acl.c.

Referenced by access_control_read_config_file().

#define ADMIN_ERR_MSG_SIZE   BROKER_PATH_MAX * 2

Definition at line 35 of file broker_acl.c.

Referenced by access_control_read_config_file().

#define IP_FILE_DELIMITER   ","

Definition at line 37 of file broker_acl.c.

Referenced by access_control_read_config_file().

Function Documentation

static int access_control_check_ip ( T_SHM_APPL_SERVER shm_as_p,
IP_INFO ip_info,
unsigned char *  address,
int  info_index 
)
static

Definition at line 480 of file broker_acl.c.

References ip_info::address_list, assert, i, IP_BYTE_COUNT, ip_info::num_list, and record_ip_access_time().

Referenced by access_control_check_right_internal().

Here is the caller graph for this function:

int access_control_check_right ( T_SHM_APPL_SERVER shm_as_p,
char *  dbname,
char *  dbuser,
unsigned char *  address 
)
static int access_control_check_right_internal ( T_SHM_APPL_SERVER shm_as_p,
char *  dbname,
char *  dbuser,
unsigned char *  address 
)
static

Definition at line 427 of file broker_acl.c.

References access_control_check_ip(), ACL_MAX_DBNAME_LENGTH, ACL_MAX_DBUSER_LENGTH, i, t_shm_appl_server::local_ip_addr, NULL, and num_access_info.

Referenced by access_control_check_right().

Here is the caller graph for this function:

static ACCESS_INFO * access_control_find_access_info ( ACCESS_INFO  ai[],
int  size,
char *  dbname,
char *  dbuser 
)
static

Definition at line 96 of file broker_acl.c.

References i, and NULL.

Referenced by access_control_read_config_file().

Here is the caller graph for this function:

static int access_control_read_ip_info ( IP_INFO ip_info,
char *  filename,
char *  admin_err_msg 
)
static

Definition at line 302 of file broker_acl.c.

References ACL_MAX_IP_COUNT, ip_info::address_list, error(), i, IP_BYTE_COUNT, ip_info::last_access_time, NULL, ip_info::num_list, p, parse_int(), and trim().

Referenced by access_control_read_config_file().

Here is the caller graph for this function:

static void access_control_repath_file ( char *  path)
static

Definition at line 278 of file broker_acl.c.

References BROKER_PATH_MAX, envvar_confdir_file(), IS_ABS_PATH, MAKE_FILEPATH, and trim().

Referenced by access_control_read_config_file().

Here is the caller graph for this function:

static int record_ip_access_time ( T_SHM_APPL_SERVER shm_as_p,
int  info_index,
int  list_index 
)
static

Variable Documentation

Definition at line 39 of file broker_acl.c.

Referenced by access_control_read_config_file().

int access_info_changed

Definition at line 41 of file broker_acl.c.

Referenced by access_control_check_right(), and record_ip_access_time().

int num_access_info

Definition at line 40 of file broker_acl.c.

Referenced by access_control_check_right(), and access_control_check_right_internal().