コード例 #1
0
ファイル: permissions.c プロジェクト: albertollamaso/kamailio
/*
 * module initialization function
 */
static int mod_init(void)
{
	if(register_mi_mod(exports.name, mi_cmds)!=0)
	{
		LM_ERR("failed to register MI commands\n");
		return -1;
	}

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

	allow[0].filename = get_pathname(default_allow_file);
	allow[0].rules = parse_config_file(allow[0].filename);
	if (allow[0].rules) {
		LM_DBG("default allow file (%s) parsed\n", allow[0].filename);
	} else {
		LM_INFO("default allow file (%s) not found => empty rule set\n",
				allow[0].filename);
	}

	deny[0].filename = get_pathname(default_deny_file);
	deny[0].rules = parse_config_file(deny[0].filename);
	if (deny[0].rules) {
		LM_DBG("default deny file (%s) parsed\n", deny[0].filename);
	} else {
		LM_INFO("default deny file (%s) not found => empty rule set\n",
				deny[0].filename);
	}

	if (init_trusted() != 0) {
		LM_ERR("failed to initialize the allow_trusted function\n");
		return -1;
	}

	if (init_tag_avp(&tag_avp_param) < 0) {
		LM_ERR("failed to process peer_tag_avp AVP param\n");
		return -1;
	}

	if (init_addresses() != 0) {
		LM_ERR("failed to initialize the allow_address function\n");
		return -1;
	}

	if ((db_mode != DISABLE_CACHE) && (db_mode != ENABLE_CACHE)) {
		LM_ERR("invalid db_mode value: %d\n", db_mode);
		return -1;
	}

	rules_num = 1;
	return 0;
}
コード例 #2
0
ファイル: permissions.c プロジェクト: btriller/kamailio
/*
 * module initialization function
 */
static int mod_init(void)
{
	if(_perm_load_backends==0) {
		LM_ERR("failure - no backend to be loaded\n");
		return -1;
	}

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

	if(_perm_load_backends&PERM_LOAD_ALLOWFILE) {
		allow[0].filename = get_pathname(default_allow_file);
		allow[0].rules = parse_config_file(allow[0].filename);
		if (allow[0].rules) {
			LM_DBG("default allow file (%s) parsed\n", allow[0].filename);
		} else {
			LM_INFO("default allow file (%s) not found => empty rule set\n",
					allow[0].filename);
		}
	} else {
		allow[0].filename = NULL;
		allow[0].rules = NULL;
	}

	if(_perm_load_backends&PERM_LOAD_DENYFILE) {
		deny[0].filename = get_pathname(default_deny_file);
		deny[0].rules = parse_config_file(deny[0].filename);
		if (deny[0].rules) {
			LM_DBG("default deny file (%s) parsed\n", deny[0].filename);
		} else {
			LM_INFO("default deny file (%s) not found => empty rule set\n",
					deny[0].filename);
		}
	} else {
		deny[0].filename = NULL;
		deny[0].rules = NULL;
	}

	if (init_tag_avp(&tag_avp_param) < 0) {
		LM_ERR("failed to process peer_tag_avp AVP param\n");
		return -1;
	}

	if(_perm_load_backends&PERM_LOAD_TRUSTEDDB) {
		if (init_trusted() != 0) {
			LM_ERR("failed to initialize the allow_trusted function\n");
			return -1;
		}
	}

	if(_perm_load_backends&PERM_LOAD_ADDRESSDB) {
		if (init_addresses() != 0) {
			LM_ERR("failed to initialize the allow_address function\n");
			return -1;
		}
	}

	if ((db_mode != DISABLE_CACHE) && (db_mode != ENABLE_CACHE)) {
		LM_ERR("invalid db_mode value: %d\n", db_mode);
		return -1;
	}

	rules_num = 1;
	return 0;
}