Skip to content

Commit

Permalink
carrierroute: clang-format for coherent indentation and coding style
Browse files Browse the repository at this point in the history
  • Loading branch information
linuxmaniac committed May 18, 2023
1 parent 5b56026 commit 403fc1d
Show file tree
Hide file tree
Showing 31 changed files with 2,318 additions and 1,923 deletions.
190 changes: 94 additions & 96 deletions src/modules/carrierroute/carrierroute.c
Expand Up @@ -64,14 +64,11 @@ static str subscriber_domain_col = str_init("domain");
static str cr_preferred_carrier_col = str_init("cr_preferred_carrier");
static int cr_load_comments = 1;

str * subscriber_columns[SUBSCRIBER_COLUMN_NUM] = {
&subscriber_username_col,
&subscriber_domain_col,
&cr_preferred_carrier_col
};
str *subscriber_columns[SUBSCRIBER_COLUMN_NUM] = {&subscriber_username_col,
&subscriber_domain_col, &cr_preferred_carrier_col};

char * config_source = "file";
char * config_file = CFG_DIR"carrierroute.conf";
char *config_source = "file";
char *config_file = CFG_DIR "carrierroute.conf";

str default_tree = str_init("default");
const str CR_EMPTY_PREFIX = str_init("null");
Expand All @@ -87,63 +84,58 @@ static void mod_destroy(void);


/************* Module Exports **********************************************/
static cmd_export_t cmds[]={
{"cr_user_carrier", (cmd_function)cr_load_user_carrier, 3,
cr_load_user_carrier_fixup, cr_load_user_carrier_fixup_free,
REQUEST_ROUTE | FAILURE_ROUTE },
{"cr_route", (cmd_function)cr_route5, 5,
cr_route_fixup, cr_route_fixup_free, REQUEST_ROUTE | FAILURE_ROUTE },
{"cr_route", (cmd_function)cr_route, 6,
cr_route_fixup, cr_route_fixup_free, REQUEST_ROUTE | FAILURE_ROUTE },
{"cr_nofallback_route",(cmd_function)cr_nofallback_route5, 5,
cr_route_fixup, cr_route_fixup_free, REQUEST_ROUTE | FAILURE_ROUTE },
{"cr_nofallback_route",(cmd_function)cr_nofallback_route, 6,
cr_route_fixup, cr_route_fixup_free, REQUEST_ROUTE | FAILURE_ROUTE },
{"cr_next_domain", (cmd_function)cr_load_next_domain, 6,
cr_load_next_domain_fixup, cr_load_next_domain_fixup_free,
REQUEST_ROUTE | FAILURE_ROUTE },
{0, 0, 0, 0, 0, 0}
};

static param_export_t params[]= {
carrierroute_DB_URL
carrierroute_DB_TABLE
carrierfailureroute_DB_TABLE
carrier_name_DB_TABLE
domain_name_DB_TABLE
carrierroute_DB_COLS
carrierfailureroute_DB_COLS
carrier_name_DB_COLS
domain_name_DB_COLS
{"subscriber_table", PARAM_STR, &subscriber_table },
{"subscriber_user_col", PARAM_STR, &subscriber_username_col },
{"subscriber_domain_col", PARAM_STR, &subscriber_domain_col },
{"subscriber_carrier_col", PARAM_STR, &cr_preferred_carrier_col },
{"config_source", PARAM_STRING, &config_source },
{"default_tree", PARAM_STR, &default_tree },
{"config_file", PARAM_STRING, &config_file },
{"use_domain", INT_PARAM, &default_carrierroute_cfg.use_domain },
{"fallback_default", INT_PARAM, &default_carrierroute_cfg.fallback_default },
{"fetch_rows", INT_PARAM, &default_carrierroute_cfg.fetch_rows },
{"db_load_description", INT_PARAM, &cr_load_comments },
{"match_mode", INT_PARAM, &cr_match_mode },
{"avoid_failed_destinations", INT_PARAM, &cr_avoid_failed_dests },
{0,0,0}
};

static cmd_export_t cmds[] = {
{"cr_user_carrier", (cmd_function)cr_load_user_carrier, 3,
cr_load_user_carrier_fixup, cr_load_user_carrier_fixup_free,
REQUEST_ROUTE | FAILURE_ROUTE},
{"cr_route", (cmd_function)cr_route5, 5, cr_route_fixup,
cr_route_fixup_free, REQUEST_ROUTE | FAILURE_ROUTE},
{"cr_route", (cmd_function)cr_route, 6, cr_route_fixup,
cr_route_fixup_free, REQUEST_ROUTE | FAILURE_ROUTE},
{"cr_nofallback_route", (cmd_function)cr_nofallback_route5, 5,
cr_route_fixup, cr_route_fixup_free,
REQUEST_ROUTE | FAILURE_ROUTE},
{"cr_nofallback_route", (cmd_function)cr_nofallback_route, 6,
cr_route_fixup, cr_route_fixup_free,
REQUEST_ROUTE | FAILURE_ROUTE},
{"cr_next_domain", (cmd_function)cr_load_next_domain, 6,
cr_load_next_domain_fixup, cr_load_next_domain_fixup_free,
REQUEST_ROUTE | FAILURE_ROUTE},
{0, 0, 0, 0, 0, 0}};

static param_export_t params[] = {
carrierroute_DB_URL carrierroute_DB_TABLE carrierfailureroute_DB_TABLE
carrier_name_DB_TABLE domain_name_DB_TABLE carrierroute_DB_COLS
carrierfailureroute_DB_COLS carrier_name_DB_COLS
domain_name_DB_COLS{"subscriber_table",
PARAM_STR, &subscriber_table},
{"subscriber_user_col", PARAM_STR, &subscriber_username_col},
{"subscriber_domain_col", PARAM_STR, &subscriber_domain_col},
{"subscriber_carrier_col", PARAM_STR, &cr_preferred_carrier_col},
{"config_source", PARAM_STRING, &config_source},
{"default_tree", PARAM_STR, &default_tree},
{"config_file", PARAM_STRING, &config_file},
{"use_domain", INT_PARAM, &default_carrierroute_cfg.use_domain},
{"fallback_default", INT_PARAM,
&default_carrierroute_cfg.fallback_default},
{"fetch_rows", INT_PARAM, &default_carrierroute_cfg.fetch_rows},
{"db_load_description", INT_PARAM, &cr_load_comments},
{"match_mode", INT_PARAM, &cr_match_mode},
{"avoid_failed_destinations", INT_PARAM, &cr_avoid_failed_dests},
{0, 0, 0}};


struct module_exports exports = {
"carrierroute", /* module name */
DEFAULT_DLFLAGS, /* dlopen flags */
cmds, /* Exported functions */
params, /* Export parameters */
0, /* RPC method exports */
0, /* exported pseudo-variables */
0, /* Response function */
mod_init, /* Module initialization function */
child_init, /* Child initialization function */
mod_destroy /* Destroy function */
"carrierroute", /* module name */
DEFAULT_DLFLAGS, /* dlopen flags */
cmds, /* Exported functions */
params, /* Export parameters */
0, /* RPC method exports */
0, /* exported pseudo-variables */
0, /* Response function */
mod_init, /* Module initialization function */
child_init, /* Child initialization function */
mod_destroy /* Destroy function */
};


Expand All @@ -155,59 +147,61 @@ struct module_exports exports = {
*
* @return 0 on success, -1 on failure
*/
static int mod_init(void) {
static int mod_init(void)
{
struct stat fs;
extern char* user; /*from main.c*/
extern char *user; /*from main.c*/
int uid, gid;

if(rpc_register_array(cr_rpc_methods)!=0) {
if(rpc_register_array(cr_rpc_methods) != 0) {
LM_ERR("failed to register RPC commands\n");
return -1;
}

if (cr_match_mode != 10 && cr_match_mode != 128) {
LM_ERR("invalid matching mode %d specific, please use 10 or 128\n", cr_match_mode);
if(cr_match_mode != 10 && cr_match_mode != 128) {
LM_ERR("invalid matching mode %d specific, please use 10 or 128\n",
cr_match_mode);
return -1;
}

if (cr_avoid_failed_dests != 0 && cr_avoid_failed_dests != 1) {
if(cr_avoid_failed_dests != 0 && cr_avoid_failed_dests != 1) {
LM_ERR("avoid_failed_dests must be 0 or 1");
return -1;
}

if (cr_load_comments != 0 && cr_load_comments != 1) {
if(cr_load_comments != 0 && cr_load_comments != 1) {
LM_ERR("db_load_comments must be 0 or 1");
return -1;
}

if (strcmp(config_source, "db") == 0) {
if(strcmp(config_source, "db") == 0) {
mode = CARRIERROUTE_MODE_DB;

set_load_comments_params(cr_load_comments);

LM_INFO("use database as configuration source\n");
if(carrierroute_db_init() < 0){
if(carrierroute_db_init() < 0) {
return -1;
}
// FIXME, move data initialization into child process
if(carrierroute_db_open() < 0){
if(carrierroute_db_open() < 0) {
return -1;
}
}
else if (strcmp(config_source, "file") == 0) {
} else if(strcmp(config_source, "file") == 0) {
mode = CARRIERROUTE_MODE_FILE;

LM_INFO("use file as configuration source\n");
if(stat(config_file, &fs) != 0){
if(stat(config_file, &fs) != 0) {
LM_ERR("can't stat config file\n");
return -1;
}
if(fs.st_mode & S_IWOTH){
LM_WARN("insecure file permissions, routing data is world writeable\n");
if(fs.st_mode & S_IWOTH) {
LM_WARN("insecure file permissions, routing data is world "
"writeable\n");
}

if (user){
if (user2uid(&uid, &gid, user)<0){
if(user) {
if(user2uid(&uid, &gid, user) < 0) {
LM_ERR("bad user name/uid number: -u %s\n", user);
return -1;
}
Expand All @@ -216,58 +210,62 @@ static int mod_init(void) {
gid = getegid();
}

if( !( fs.st_mode & S_IWOTH) &&
!((fs.st_mode & S_IWGRP) && (fs.st_gid == gid)) &&
!((fs.st_mode & S_IWUSR) && (fs.st_uid == uid))) {
LM_ERR("config file %s not writable or not owned by uid: %d and gid: %d\n",
config_file, uid, gid);
return -1;
if(!(fs.st_mode & S_IWOTH)
&& !((fs.st_mode & S_IWGRP) && (fs.st_gid == gid))
&& !((fs.st_mode & S_IWUSR) && (fs.st_uid == uid))) {
LM_ERR("config file %s not writable or not owned by uid: %d and "
"gid: %d\n",
config_file, uid, gid);
return -1;
}
}
else {
} else {
LM_ERR("invalid config_source parameter: %s\n", config_source);
return -1;
}

if(cfg_declare("carrierroute", carrierroute_cfg_def, &default_carrierroute_cfg, cfg_sizeof(carrierroute), &carrierroute_cfg)){
if(cfg_declare("carrierroute", carrierroute_cfg_def,
&default_carrierroute_cfg, cfg_sizeof(carrierroute),
&carrierroute_cfg)) {
LM_ERR("Fail to declare the configuration\n");
return -1;
}

if (init_route_data() < 0) {
if(init_route_data() < 0) {
LM_ERR("could not init route data\n");
return -1;
}

if (reload_route_data() == -1) {
if(reload_route_data() == -1) {
LM_ERR("could not prepare route data\n");
return -1;
}

if(mode == CARRIERROUTE_MODE_DB){
if(mode == CARRIERROUTE_MODE_DB) {
carrierroute_db_close();
}

cr_uris_avp.s.s = AVP_CR_URIS;
cr_uris_avp.s.len = sizeof(AVP_CR_URIS) -1;
cr_uris_avp.s.len = sizeof(AVP_CR_URIS) - 1;

return 0;
}


static int child_init(int rank) {
if (rank==PROC_INIT || rank==PROC_MAIN || rank==PROC_TCP_MAIN)
static int child_init(int rank)
{
if(rank == PROC_INIT || rank == PROC_MAIN || rank == PROC_TCP_MAIN)
return 0; /* do nothing for the main process */

if(mode == CARRIERROUTE_MODE_DB){
if(mode == CARRIERROUTE_MODE_DB) {
return carrierroute_db_open();
}
return 0;
}


static void mod_destroy(void) {
if(mode == CARRIERROUTE_MODE_DB){
static void mod_destroy(void)
{
if(mode == CARRIERROUTE_MODE_DB) {
carrierroute_db_close();
}
destroy_route_data();
Expand Down
10 changes: 5 additions & 5 deletions src/modules/carrierroute/carrierroute.h
Expand Up @@ -35,16 +35,16 @@

#define SUBSCRIBER_COLUMN_NUM 3
#define SUBSCRIBER_USERNAME_COL 0
#define SUBSCRIBER_DOMAIN_COL 1
#define SUBSCRIBER_CARRIER_COL 2
#define SUBSCRIBER_DOMAIN_COL 1
#define SUBSCRIBER_CARRIER_COL 2

#define CARRIERROUTE_MODE_DB 1
#define CARRIERROUTE_MODE_FILE 2

extern str subscriber_table;
extern str * subscriber_columns[];
extern char * config_source;
extern char * config_file;
extern str *subscriber_columns[];
extern char *config_source;
extern char *config_file;
extern str default_tree;

extern const str CR_EMPTY_PREFIX;
Expand Down
34 changes: 18 additions & 16 deletions src/modules/carrierroute/config.c
Expand Up @@ -29,21 +29,23 @@

#include "config.h"

struct cfg_group_carrierroute default_carrierroute_cfg = {
0, /* use_domain */
1, /* fallback_default */
2000 /* fetch_rows*/
};

void *carrierroute_cfg = &default_carrierroute_cfg;

cfg_def_t carrierroute_cfg_def[] = {
{"use_domain", CFG_VAR_INT , 0, 1, 0, 0,
"When using tree lookup per user, this parameter specifies whether to use the domain part for user matching or not." },
{"fallback_default", CFG_VAR_INT , 0, 1, 0, 0,
"If the user has a non-existing tree set and fallback_default is set to 1, the default tree is used. Else error is returned" },
{"fetch_rows", CFG_VAR_INT , 0, 0, 0, 0,
"The number of the rows to be fetched at once from database when loading the routing data."},
{0, 0, 0, 0, 0, 0}
struct cfg_group_carrierroute default_carrierroute_cfg = {
0, /* use_domain */
1, /* fallback_default */
2000 /* fetch_rows*/
};

void *carrierroute_cfg = &default_carrierroute_cfg;

cfg_def_t carrierroute_cfg_def[] = {
{"use_domain", CFG_VAR_INT, 0, 1, 0, 0,
"When using tree lookup per user, this parameter specifies "
"whether to use the domain part for user matching or not."},
{"fallback_default", CFG_VAR_INT, 0, 1, 0, 0,
"If the user has a non-existing tree set and fallback_default "
"is set to 1, the default tree is used. Else error is "
"returned"},
{"fetch_rows", CFG_VAR_INT, 0, 0, 0, 0,
"The number of the rows to be fetched at once from database "
"when loading the routing data."},
{0, 0, 0, 0, 0, 0}};
15 changes: 8 additions & 7 deletions src/modules/carrierroute/config.h
Expand Up @@ -31,15 +31,16 @@
#include "../../core/cfg/cfg.h"
#include "../../core/str.h"

struct cfg_group_carrierroute {
unsigned int use_domain;
unsigned int fallback_default;
unsigned int fetch_rows;
struct cfg_group_carrierroute
{
unsigned int use_domain;
unsigned int fallback_default;
unsigned int fetch_rows;
};

extern struct cfg_group_carrierroute default_carrierroute_cfg;
extern void *carrierroute_cfg;
extern cfg_def_t carrierroute_cfg_def[];
extern struct cfg_group_carrierroute default_carrierroute_cfg;
extern void *carrierroute_cfg;
extern cfg_def_t carrierroute_cfg_def[];


#endif

0 comments on commit 403fc1d

Please sign in to comment.