Ticket refs #2483: TR-181: most Alias values are empty

This commit is contained in:
Amin Ben Ramdhane 2020-04-20 00:18:52 +01:00
parent 8f500aab97
commit 00c60187fb
29 changed files with 328 additions and 195 deletions

View file

@ -2045,22 +2045,21 @@ static void codec_update_id()
////////////////////////SET AND GET ALIAS/////////////////////////////////
int get_service_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct uci_section *service_section = (struct uci_section *)data;
dmuci_get_value_by_section_string(service_section, "vsalias", value);
dmuci_get_value_by_section_string((struct uci_section *)data, "vsalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
static int set_service_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
struct uci_section *service_section = (struct uci_section *)data;
switch (action) {
case VALUECHECK:
if (dm_validate_string(value, -1, 64, NULL, 0, NULL, 0))
return FAULT_9007;
return 0;
case VALUESET:
dmuci_set_value_by_section(service_section, "vsalias", value);
dmuci_set_value_by_section((struct uci_section *)data, "vsalias", value);
return 0;
}
return 0;
@ -2068,22 +2067,21 @@ static int set_service_alias(char *refparam, struct dmctx *ctx, void *data, char
int get_cap_codec_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct codec_args *cur_codec_args = (struct codec_args *)data;
dmuci_get_value_by_section_string(cur_codec_args->codec_section, "codecalias", value);
dmuci_get_value_by_section_string(((struct codec_args *)data)->codec_section, "codecalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
static int set_cap_codec_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
struct codec_args *cur_codec_args = (struct codec_args *)data;
switch (action) {
case VALUECHECK:
if (dm_validate_string(value, -1, 64, NULL, 0, NULL, 0))
return FAULT_9007;
return 0;
case VALUESET:
dmuci_set_value_by_section(cur_codec_args->codec_section, "codecalias", value);
dmuci_set_value_by_section(((struct codec_args *)data)->codec_section, "codecalias", value);
return 0;
}
return 0;
@ -2091,18 +2089,17 @@ static int set_cap_codec_alias(char *refparam, struct dmctx *ctx, void *data, ch
static int get_voice_profile_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct sip_args *sipargs = (struct sip_args *)data;
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_voice_client", "sip_service_provider", section_name(sipargs->sip_section), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "profilealias", value);
get_dmmap_section_of_config_section("dmmap_voice_client", "sip_service_provider", section_name(((struct sip_args *)data)->sip_section), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "profilealias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
static int set_voice_profile_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
struct sip_args *sipargs = (struct sip_args *)data;
struct uci_section *dmmap_section = NULL;
switch (action) {
@ -2111,9 +2108,8 @@ static int set_voice_profile_alias(char *refparam, struct dmctx *ctx, void *data
return FAULT_9007;
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_voice_client", "sip_service_provider", section_name(sipargs->sip_section), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "profilealias", value);
get_dmmap_section_of_config_section("dmmap_voice_client", "sip_service_provider", section_name(((struct sip_args *)data)->sip_section), &dmmap_section);
dmuci_set_value_by_section(dmmap_section, "profilealias", value);
return 0;
}
return 0;
@ -2121,18 +2117,17 @@ static int set_voice_profile_alias(char *refparam, struct dmctx *ctx, void *data
static int get_line_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct tel_args *telarg = (struct tel_args *)data;
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_voice_client", "tel_line", section_name(telarg->tel_section), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "linealias", value);
get_dmmap_section_of_config_section("dmmap_voice_client", "tel_line", section_name(((struct tel_args *)data)->tel_section), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "linealias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
static int set_line_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
struct tel_args *telarg = (struct tel_args *)data;
struct uci_section *dmmap_section = NULL;
switch (action) {
@ -2141,9 +2136,8 @@ static int set_line_alias(char *refparam, struct dmctx *ctx, void *data, char *i
return FAULT_9007;
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_voice_client", "tel_line", section_name(telarg->tel_section), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "linealias", value);
get_dmmap_section_of_config_section("dmmap_voice_client", "tel_line", section_name(((struct tel_args *)data)->tel_section), &dmmap_section);
dmuci_set_value_by_section(dmmap_section, "linealias", value);
return 0;
}
return 0;
@ -2152,6 +2146,8 @@ static int set_line_alias(char *refparam, struct dmctx *ctx, void *data, char *i
static int get_line_codec_list_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct line_codec_args *)data)->codec_sec, "codecalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -344,6 +344,8 @@ static int set_BulkDataProfile_Enable(char *refparam, struct dmctx *ctx, void *d
static int get_BulkDataProfile_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "profile_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -226,6 +226,8 @@ static int get_SoftwareModulesExecEnv_Alias(char *refparam, struct dmctx *ctx, v
dmuci_get_value_by_section_string(s, "name", &env_name);
if (strcmp(env_name, name) == 0) {
dmuci_get_value_by_section_string(s, "alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
}
@ -249,7 +251,7 @@ static int set_SoftwareModulesExecEnv_Alias(char *refparam, struct dmctx *ctx, v
dmuci_set_value_by_section_bbfdm(s, "alias", value);
found = 1;
}
if(!found) {
if (!found) {
dmuci_add_section_bbfdm("dmmap", "environment", &dmmap, &v);
dmuci_set_value_by_section(dmmap, "name", name);
dmuci_set_value_by_section(dmmap, "alias", value);
@ -384,6 +386,8 @@ static int get_SoftwareModulesDeploymentUnit_Alias(char *refparam, struct dmctx
dmuci_get_value_by_section_string(s, "environment", &du_env);
if ((strcmp(du_name, name) == 0) && (strcmp(du_env, environment) == 0)) {
dmuci_get_value_by_section_string(s, "alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
}
@ -413,7 +417,7 @@ static int set_SoftwareModulesDeploymentUnit_Alias(char *refparam, struct dmctx
break;
}
}
if(!found) {
if (!found) {
dmuci_add_section_bbfdm("dmmap", "deployment_unit", &dmmap, &v);
dmuci_set_value_by_section(dmmap, "name", name);
dmuci_set_value_by_section(dmmap, "environment", environment);
@ -553,6 +557,8 @@ static int get_SoftwareModulesExecutionUnit_Alias(char *refparam, struct dmctx *
dmuci_get_value_by_section_string(s, "environment", &eu_env);
if ((strcmp(eu_euid, euid) == 0) && (strcmp(eu_env, environment) == 0)) {
dmuci_get_value_by_section_string(s, "alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
}
@ -582,7 +588,7 @@ static int set_SoftwareModulesExecutionUnit_Alias(char *refparam, struct dmctx *
break;
}
}
if(!found) {
if (!found) {
dmuci_add_section_bbfdm("dmmap", "execution_unit", &dmmap, &v);
dmuci_set_value_by_section(dmmap, "euid", euid);
dmuci_set_value_by_section(dmmap, "environment", environment);

View file

@ -24,7 +24,7 @@ struct atm_args
static int get_atm_linker(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker)
{
if (data && ((struct atm_args *)data)->ifname) {
*linker = ((struct atm_args *)data)->ifname;
*linker = ((struct atm_args *)data)->ifname;
return 0;
}
*linker = "" ;
@ -323,8 +323,9 @@ static int get_atm_alias(char *refparam, struct dmctx *ctx, void *data, char *in
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_dsl", "atm-device", section_name(((struct atm_args *)data)->atm_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "atmlinkalias", value);
dmuci_get_value_by_section_string(dmmap_section, "atmlinkalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -339,8 +340,7 @@ static int set_atm_alias(char *refparam, struct dmctx *ctx, void *data, char *in
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_dsl", "atm-device", section_name(((struct atm_args *)data)->atm_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "atmlinkalias", value);
dmuci_set_value_by_section(dmmap_section, "atmlinkalias", value);
return 0;
}
return 0;
@ -385,7 +385,7 @@ DMOBJ tATMLinkObj[] = {
DMLEAF tATMLinkParams[] = {
/* PARAM, permission, type, getvalue, setvalue, forced_inform, notification, bbfdm_type*/
{"Alias", &DMWRITE, DMT_STRING, get_atm_alias, set_atm_alias, NULL, NULL, BBFDM_BOTH},
{"Alias", &DMWRITE, DMT_STRING, get_atm_alias, set_atm_alias, NULL, NULL, BBFDM_BOTH},
{"Enable", &DMWRITE, DMT_BOOL, get_atm_enable, set_atm_enable, NULL, NULL, BBFDM_BOTH},
{"Name", &DMREAD, DMT_STRING, get_atm_link_name, NULL, NULL, NULL, BBFDM_BOTH},
{"Status", &DMREAD, DMT_STRING, get_atm_status, NULL, NULL, NULL, BBFDM_BOTH},

View file

@ -993,6 +993,8 @@ static int get_br_alias(char *refparam, struct dmctx *ctx, void *data, char *ins
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct bridging_args *)data)->bridge_sec), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "bridge_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1007,8 +1009,7 @@ static int set_br_alias(char *refparam, struct dmctx *ctx, void *data, char *ins
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct bridging_args *)data)->bridge_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "bridge_alias", value);
dmuci_set_value_by_section(dmmap_section, "bridge_alias", value);
return 0;
}
return 0;
@ -1034,6 +1035,11 @@ static int get_br_port_alias(char *refparam, struct dmctx *ctx, void *data, char
}
}
}
if ((*value)[0] == '\0') {
dmasprintf(value, "cpe-%s", instance);
} else {
dmuci_set_value_by_section(dmmap_section, "bridge_port_alias", *value);
}
return 0;
}
@ -1048,8 +1054,7 @@ static int set_br_port_alias(char *refparam, struct dmctx *ctx, void *data, char
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_bridge_port", "bridge_port", section_name(((struct bridging_port_args *)data)->bridge_port_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "bridge_port_alias", value);
dmuci_set_value_by_section(dmmap_section, "bridge_port_alias", value);
return 0;
}
return 0;
@ -1059,9 +1064,10 @@ static int get_br_vlan_alias(char *refparam, struct dmctx *ctx, void *data, char
{
struct uci_section *dmmap_section = NULL;
/* Interface section needs to be browsed to get the value for vlan alias. */
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct bridging_vlan_args *)data)->bridge_vlan_sec), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "bridge_vlan_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1076,8 +1082,7 @@ static int set_br_vlan_alias(char *refparam, struct dmctx *ctx, void *data, char
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct bridging_vlan_args *)data)->bridge_vlan_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "bridge_vlan_alias", value);
dmuci_set_value_by_section(dmmap_section, "bridge_vlan_alias", value);
return 0;
}
return 0;

View file

@ -171,6 +171,8 @@ static int get_vcf_desc(char *refparam, struct dmctx *ctx, void *data, char *ins
static int get_vcf_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "vcf_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -207,6 +209,8 @@ static int check_file_dir(char *name)
static int get_vlf_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "vlf_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -553,8 +553,9 @@ static int get_server_pool_alias(char *refparam, struct dmctx *ctx, void *data,
struct uci_section *dmmap_sect = NULL;
get_dmmap_section_of_config_section("dmmap_dhcp", "dhcp", section_name(((struct dhcp_args *)data)->dhcp_sec), &dmmap_sect);
if (dmmap_sect)
dmuci_get_value_by_section_string(dmmap_sect, "dhcp_alias", value);
dmuci_get_value_by_section_string(dmmap_sect, "dhcp_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -569,8 +570,7 @@ static int set_server_pool_alias(char *refparam, struct dmctx *ctx, void *data,
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_dhcp", "dhcp", section_name(((struct dhcp_args *)data)->dhcp_sec), &dmmap_sect);
if (dmmap_sect)
DMUCI_SET_VALUE_BY_SECTION(bbfdm, dmmap_sect, "dhcp_alias", value);
DMUCI_SET_VALUE_BY_SECTION(bbfdm, dmmap_sect, "dhcp_alias", value);
return 0;
}
return 0;
@ -1231,8 +1231,9 @@ static int get_dhcp_static_alias(char *refparam, struct dmctx *ctx, void *data,
{
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_dhcp", "host", section_name(((struct dhcp_static_args *)data)->dhcpsection), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "ldhcpalias", value);
dmuci_get_value_by_section_string(dmmap_section, "ldhcpalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1247,8 +1248,7 @@ static int set_dhcp_static_alias(char *refparam, struct dmctx *ctx, void *data,
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_dhcp", "host", section_name(((struct dhcp_static_args *)data)->dhcpsection), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "ldhcpalias", value);
dmuci_set_value_by_section(dmmap_section, "ldhcpalias", value);
return 0;
}
return 0;
@ -1395,7 +1395,8 @@ static int set_DHCPv4Client_Enable(char *refparam, struct dmctx *ctx, void *data
static int get_DHCPv4Client_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dhcp_client_args *)data)->dhcp_client_dm, "bbf_dhcpv4client_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1697,6 +1698,8 @@ static int set_DHCPv4ClientSentOption_Enable(char *refparam, struct dmctx *ctx,
static int get_DHCPv4ClientSentOption_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dhcp_client_option_args *)data)->opt_sect, "bbf_dhcpv4_sentopt_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1829,6 +1832,8 @@ static int set_DHCPv4ClientReqOption_Enable(char *refparam, struct dmctx *ctx, v
static int get_DHCPv4ClientReqOption_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dhcp_client_option_args *)data)->opt_sect, "bbf_dhcpv4_reqtopt_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1958,6 +1963,8 @@ static int get_DHCPv4Server_PoolNumberOfEntries(char *refparam, struct dmctx *ct
static int get_DHCPv4ServerPoolOption_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dhcp_client_option_args *)data)->opt_sect, "bbf_dhcpv4_servpool_option_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -2092,6 +2099,8 @@ static int set_DHCPv4RelayForwarding_Enable(char *refparam, struct dmctx *ctx, v
static int get_DHCPv4RelayForwarding_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dhcp_client_args *)data)->dhcp_client_dm, "bbf_dhcpv4relay_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -509,6 +509,8 @@ static int set_DHCPv6Client_Enable(char *refparam, struct dmctx *ctx, void *data
static int get_DHCPv6Client_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dhcpv6_client_args *)data)->dhcp_client_dm, "bbf_dhcpv6client_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -833,8 +835,9 @@ static int get_DHCPv6ServerPool_Alias(char *refparam, struct dmctx *ctx, void *d
struct uci_section *dmmap_sect = NULL;
get_dmmap_section_of_config_section("dmmap_dhcpv6", "dhcp", section_name(((struct dhcpv6_args *)data)->dhcp_sec), &dmmap_sect);
if (dmmap_sect)
dmuci_get_value_by_section_string(dmmap_sect, "dhcpv6_serv_pool_alias", value);
dmuci_get_value_by_section_string(dmmap_sect, "dhcpv6_serv_pool_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -849,8 +852,7 @@ static int set_DHCPv6ServerPool_Alias(char *refparam, struct dmctx *ctx, void *d
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_dhcpv6", "dhcp", section_name(((struct dhcpv6_args *)data)->dhcp_sec), &dmmap_sect);
if (dmmap_sect)
DMUCI_SET_VALUE_BY_SECTION(bbfdm, dmmap_sect, "dhcpv6_serv_pool_alias", value);
DMUCI_SET_VALUE_BY_SECTION(bbfdm, dmmap_sect, "dhcpv6_serv_pool_alias", value);
return 0;
}
return 0;
@ -1236,6 +1238,8 @@ static int set_DHCPv6ServerPoolOption_Enable(char *refparam, struct dmctx *ctx,
static int get_DHCPv6ServerPoolOption_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dhcpv6_client_option_args *)data)->opt_sect, "bbf_dhcpv6_servpool_option_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -309,6 +309,8 @@ static int get_server_status(char *refparam, struct dmctx *ctx, void *data, char
static int get_server_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "dns_server_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -395,6 +397,8 @@ static int get_forwarding_status(char *refparam, struct dmctx *ctx, void *data,
static int get_forwarding_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "dns_server_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -269,6 +269,8 @@ static int get_DSLLine_Status(char *refparam, struct dmctx *ctx, void *data, cha
static int get_DSLLine_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dsl_line_args *)data)->line_sec, "dsl_line_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -896,6 +898,8 @@ static int get_DSLChannel_Status(char *refparam, struct dmctx *ctx, void *data,
static int get_DSLChannel_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dsl_channel_args *)data)->channel_sec, "dsl_channel_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -397,8 +397,9 @@ static int get_DynamicDNSClient_Alias(char *refparam, struct dmctx *ctx, void *d
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_ddns", "service", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "clientalias", value);
dmuci_get_value_by_section_string(dmmap_section, "clientalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -413,8 +414,7 @@ static int set_DynamicDNSClient_Alias(char *refparam, struct dmctx *ctx, void *d
break;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_ddns", "service", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "clientalias", value);
dmuci_set_value_by_section(dmmap_section, "clientalias", value);
break;
}
return 0;
@ -749,6 +749,8 @@ static int set_DynamicDNSServer_Name(char *refparam, struct dmctx *ctx, void *da
static int get_DynamicDNSServer_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "serveralias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -511,8 +511,10 @@ static int get_EthernetInterface_Alias(char *refparam, struct dmctx *ctx, void *
get_dmmap_section_of_config_section("dmmap_ports", "ethport", section_name(((struct eth_port_args *)data)->eth_port_sec), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "eth_port_alias", value);
if ((*value)[0] == '\0')
if ((*value)[0] == '\0') {
dmuci_get_value_by_section_string(((struct eth_port_args *)data)->eth_port_sec, "name", value);
dmuci_set_value_by_section(dmmap_section, "eth_port_alias", *value);
}
return 0;
}
@ -527,8 +529,7 @@ static int set_EthernetInterface_Alias(char *refparam, struct dmctx *ctx, void *
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_ports", "ethport", section_name(((struct eth_port_args *)data)->eth_port_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "eth_port_alias", value);
dmuci_set_value_by_section(dmmap_section, "eth_port_alias", value);
return 0;
}
return 0;
@ -804,6 +805,8 @@ static int get_EthernetLink_Status(char *refparam, struct dmctx *ctx, void *data
static int get_EthernetLink_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct dm_args *)data)->section, "link_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1220,6 +1223,8 @@ static int get_EthernetVLANTermination_Alias(char *refparam, struct dmctx *ctx,
get_dmmap_section_of_config_section("dmmap_network", "device", section_name(((struct dm_args *)data)->section), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "vlan_term_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1234,8 +1239,7 @@ static int set_EthernetVLANTermination_Alias(char *refparam, struct dmctx *ctx,
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "device", section_name(((struct dm_args *)data)->section), &dmmap_section);
if(dmmap_section)
dmuci_set_value_by_section(dmmap_section, "vlan_term_alias", value);
dmuci_set_value_by_section(dmmap_section, "vlan_term_alias", value);
return 0;
}
return 0;

View file

@ -230,8 +230,9 @@ static int get_GRETunnel_Alias(char *refparam, struct dmctx *ctx, void *data, ch
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct dmmap_dup *)data)->config_section), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "gretunnel_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "gretunnel_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -246,8 +247,7 @@ static int set_GRETunnel_Alias(char *refparam, struct dmctx *ctx, void *data, ch
break;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct dmmap_dup *)data)->config_section), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "gretunnel_alias", value);
dmuci_set_value_by_section(dmmap_section, "gretunnel_alias", value);
break;
}
return 0;
@ -334,8 +334,9 @@ static int get_GRETunnelInterface_Alias(char *refparam, struct dmctx *ctx, void
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct dmmap_dup *)data)->config_section), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "greiface_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "greiface_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -350,8 +351,7 @@ static int set_GRETunnelInterface_Alias(char *refparam, struct dmctx *ctx, void
break;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct dmmap_dup *)data)->config_section), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "greiface_alias", value);
dmuci_set_value_by_section(dmmap_section, "greiface_alias", value);
break;
}
return 0;

View file

@ -21,16 +21,12 @@ struct interfacestack_data {
/*************************************************************
* ENTRY METHOD
**************************************************************/
static char *get_instance_by_section(struct dmctx *dmctx, int mode, char *dmmap_config, char *section, struct uci_section *s, char *instance_option, char *alias_option)
static char *get_instance_by_section(int mode, char *dmmap_config, char *section, struct uci_section *s, char *instance_option, char *alias_option)
{
struct uci_section *dmmap_section;
char *instance;
get_dmmap_section_of_config_section(dmmap_config, section, section_name(s), &dmmap_section);
if (dmmap_section == NULL) {
return "";
}
if (mode == INSTANCE_MODE_NUMBER) {
dmuci_get_value_by_section_string(dmmap_section, instance_option, &instance);
} else {
@ -45,9 +41,6 @@ static char *get_alias_by_section(char *dmmap_config, char *section, struct uci_
char *alias;
get_dmmap_section_of_config_section(dmmap_config, section, section_name(s), &dmmap_section);
if (dmmap_section == NULL) {
return "";
}
dmuci_get_value_by_section_string(dmmap_section, alias_option, &alias);
return alias;
}
@ -62,8 +55,8 @@ static struct uci_section *create_dmmap_interface_stack_section(char *curr_inst)
return s;
}
if (!s) {
DMUCI_ADD_SECTION(bbfdm, "dmmap_interface_stack", "interface_stack", &s, &name);
DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, "interface_stack_instance", curr_inst);
dmuci_add_section_bbfdm("dmmap_interface_stack", "interface_stack", &s, &name);
dmuci_set_value_by_section_bbfdm(s, "interface_stack_instance", curr_inst);
}
return s;
}
@ -72,7 +65,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
{
struct interfacestack_data ifdata = {0};
struct uci_section *s = NULL, *sd = NULL, *port, *port_s, *ss, *dmmap_s = NULL;
char *proto, *type, *pch, *layer_inst, *vb, *higheralias, *ifname, *br_inst, *mg, *value, *device, *name;
char *proto, *type, *pch, *layer_inst, *vb, *higheralias, *ifname, *br_inst, *mg, *value, *device, *name, *bridge_port_inst;
char *v = "";
char *loweralias = "";
char *interface_stack_int = NULL, *interface_stack_int_last = NULL, *wanifname, *wanlinker, *mac, *sectionname, *package, *section;
@ -90,14 +83,17 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
dmuci_get_value_by_section_string(s, "proto", &proto);
if (strcmp(section_name(s), "loopback") == 0 || *proto == '\0')
continue;
layer_inst = get_instance_by_section(dmctx, dmctx->instance_mode, "dmmap_network", "interface", s, "ip_int_instance", "ip_int_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "ip_int_instance", "ip_int_alias");
if (*layer_inst == '\0')
continue;
snprintf(buf_higherlayer, sizeof(buf_higherlayer), "Device.IP.Interface.%s.", layer_inst);
higheralias = get_alias_by_section("dmmap_network", "interface", s, "ip_int_alias");
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
if (*higheralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
if (strstr(proto, "ppp")) {
layer_inst = get_instance_by_section(dmctx, dmctx->instance_mode, "dmmap_network", "interface", s, "ppp_int_instance", "ppp_int_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "ppp_int_instance", "ppp_int_alias");
if (*layer_inst == '\0')
continue;
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "Device.PPP.Interface.%s.", layer_inst);
@ -108,6 +104,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
if (device[0] != '\0') {
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cVLANTermination%c", dmroot, dm_delim, dm_delim, dm_delim), device, &v);
loweralias = get_alias_by_section("dmmap_network", "device", s, "vlan_term_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "vlan_term_instance", "vlan_term_alias");
if (v != NULL)
found = 1;
}
@ -115,11 +112,15 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
if (mac[0] != '\0' && found == 0) {
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), mac, &v);
loweralias = get_alias_by_section("dmmap", "link", s, "link_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", s, "link_instance", "link_alias");
if (v == NULL)
v = "";
}
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "%s", v);
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
}
ifdata.higherlayer = buf_higherlayer;
ifdata.lowerlayer = buf_lowerlayer;
@ -137,17 +138,21 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
dmuci_get_value_by_section_string(s, "proto", &proto);
if (!strstr(proto, "ppp"))
continue;
layer_inst = get_instance_by_section(dmctx, dmctx->instance_mode, "dmmap_network", "interface", s, "ppp_int_instance", "ppp_int_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "ppp_int_instance", "ppp_int_alias");
if (*layer_inst == '\0')
continue;
snprintf(buf_higherlayer, sizeof(buf_higheralias), "Device.PPP.Interface.%s.", layer_inst);
snprintf(buf_higherlayer, sizeof(buf_higherlayer), "Device.PPP.Interface.%s.", layer_inst);
higheralias = get_alias_by_section("dmmap_network", "interface", s, "ppp_int_alias");
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
if (*higheralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
found = 0;
device = get_device(section_name(s));
if (device[0] != '\0') {
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cVLANTermination%c", dmroot, dm_delim, dm_delim, dm_delim), device, &v);
loweralias = get_alias_by_section("dmmap_network", "device", s, "vlan_term_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "vlan_term_instance", "vlan_term_alias");
if (v != NULL)
found = 1;
}
@ -155,11 +160,15 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
if (mac[0] != '\0' && found == 0) {
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), mac, &v);
loweralias = get_alias_by_section("dmmap", "link", s, "link_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", s, "link_instance", "link_alias");
if (v == NULL)
v = "";
}
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "%s", v);
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
ifdata.higherlayer = buf_higherlayer;
ifdata.lowerlayer = buf_lowerlayer;
ifdata.higheralias = buf_higheralias;
@ -177,12 +186,15 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
dmuci_get_value_by_section_string(s, "name", &name);
if (strcmp(type, "untagged") == 0 || !is_vlan_termination_section(name))
continue;
layer_inst = get_instance_by_section(dmctx, dmctx->instance_mode, "dmmap_network", "device", s, "vlan_term_instance", "vlan_term_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "device", s, "vlan_term_instance", "vlan_term_alias");
if (*layer_inst == '\0')
continue;
snprintf(buf_higherlayer, sizeof(buf_higherlayer), "Device.Ethernet.VLANTermination.%s.", layer_inst);
higheralias = get_alias_by_section("dmmap_network", "device", s, "vlan_term_alias");
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
if (*higheralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
char *macaddr = get_macaddr_from_device(name);
if (macaddr[0] != '\0') {
if (is_mac_exist(macaddr)) {
@ -203,11 +215,15 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
mac = get_macaddr(section_name(ss));
if (strcmp(pch, mac) == 0) {
loweralias = get_alias_by_section("dmmap", "link", ss, "link_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", ss, "link_instance", "link_alias");
break;
}
}
snprintf(buf_lowerlayer, sizeof(buf_lowerlayer), "%s", v);
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
ifdata.higherlayer = buf_higherlayer;
ifdata.lowerlayer = buf_lowerlayer;
ifdata.higheralias = buf_higheralias;
@ -228,12 +244,15 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
dmuci_get_value_by_section_string(s, "ifname", &ifname);
if (*ifname == '\0' || *ifname == '@')
continue;
layer_inst = get_instance_by_section(dmctx, dmctx->instance_mode, "dmmap", "link", s, "link_instance", "link_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "link", s, "link_instance", "link_alias");
if (*layer_inst == '\0')
continue;
snprintf(buf_higherlayer, sizeof(buf_higherlayer), "Device.Ethernet.Link.%s.", layer_inst);
higheralias = get_alias_by_section("dmmap", "link", s, "link_alias");
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
if (*higheralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", layer_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", higheralias);
if (strcmp(type, "bridge") == 0) {
br_inst = get_alias_by_section("dmmap_network", "interface", s, "bridge_instance");
uci_path_foreach_option_eq(bbfdm, "dmmap_bridge_port", "bridge_port", "bridge_key", br_inst, port) {
@ -242,6 +261,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
snprintf(linker, sizeof(linker), "%s+", section_name(port));
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), linker, &v);
dmuci_get_value_by_section_string(port, "bridge_port_alias", &loweralias);
dmuci_get_value_by_section_string(port, "bridge_port_instance", &layer_inst);
break;
}
}
@ -253,13 +273,17 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), wanlinker, &v);
dmfree(wanlinker);
loweralias = get_alias_by_section("dmmap_ports", "ethport", port_s, "eth_port_alias");
layer_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_ports", "ethport", port_s, "eth_port_instance", "eth_port_alias");
break;
}
}
}
if (v == NULL)
v = "";
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", layer_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
ifdata.higherlayer = buf_higherlayer;
ifdata.lowerlayer = v;
ifdata.higheralias = buf_higheralias;
@ -276,7 +300,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
dmuci_get_value_by_section_string(s, "type", &type);
if (strcmp(type, "bridge") != 0)
continue;
br_inst = get_instance_by_section(dmctx, dmctx->instance_mode, "dmmap_network", "interface", s, "bridge_instance", "bridge_alias");
br_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_network", "interface", s, "bridge_instance", "bridge_alias");
if (*br_inst == '\0')
continue;
uci_path_foreach_option_eq(bbfdm, "dmmap_bridge_port", "bridge_port", "bridge_key", br_inst, port) {
@ -285,7 +309,11 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
snprintf(linker, sizeof(linker), "%s+", section_name(port));
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), linker, &pch);
dmuci_get_value_by_section_string(port, "bridge_port_alias", &higheralias);
snprintf(buf_tmp, sizeof(buf_tmp), "%s", higheralias);
dmuci_get_value_by_section_string(port, "bridge_port_instance", &bridge_port_inst);
if (*higheralias == '\0')
snprintf(buf_tmp, sizeof(buf_tmp), "cpe-%s", bridge_port_inst);
else
snprintf(buf_tmp, sizeof(buf_tmp), "%s", higheralias);
if (pch == NULL)
pch = "";
break;
@ -316,7 +344,11 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
if (vb == NULL)
vb = "";
dmuci_get_value_by_section_string(sd, "bridge_port_alias", &loweralias);
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_bridge_port", "bridge_port", sd, "bridge_port_instance", "bridge_port_alias");
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
ifdata.higherlayer = pch;
ifdata.lowerlayer = vb;
@ -328,19 +360,25 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)&ifdata, interface_stack_int) == DM_STOP)
goto end;
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
if(strcmp(package, "ports") == 0) {
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cEthernet%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), ifname, &v);
loweralias = get_alias_by_section("dmmap_ports", "ethport", port_s, "eth_port_alias");
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_ports", "ethport", port_s, "eth_port_instance", "eth_port_alias");
} else if(strcmp(package, "wireless") == 0) {
adm_entry_get_linker_param(dmctx,dm_print_path("%s%cWiFi%cSSID%c", dmroot, dm_delim, dm_delim, dm_delim), ifname, &v);
loweralias = get_alias_by_section("dmmap_wireless", "wifi-iface", port_s, "ssidalias");
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_wireless", "wifi-iface", port_s, "ssidinstance", "ssidalias");
} else if(strcmp(package, "network") == 0) {
if(strstr(ifname, "atm")) {
adm_entry_get_linker_param(dmctx,dm_print_path("%s%cATM%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), ifname, &v);
uci_foreach_sections("dsl", "atm-device", ss) {
if(strcmp(section_name(ss), ifname) == 0) {
loweralias = get_alias_by_section("dmmap_dsl", "atm-device", ss, "atmlinkalias");
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_dsl", "atm-device", port_s, "atmlinkinstance", "atmlinkalias");
break;
}
}
@ -349,6 +387,7 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
uci_foreach_sections("dsl", "ptm-device", ss) {
if(strcmp(section_name(ss), ifname) == 0) {
loweralias = get_alias_by_section("dmmap_dsl", "ptm-device", ss, "ptmlinkalias");
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_dsl", "ptm-device", port_s, "ptmlinkinstance", "ptmlinkalias");
break;
}
}
@ -356,9 +395,13 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
snprintf(linker, sizeof(linker), "%s.1", ifname);
adm_entry_get_linker_param(dmctx,dm_print_path("%s%cEthernet%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, &v);
loweralias = get_alias_by_section("dmmap_ports", "ethport", port_s, "eth_port_alias");
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_ports", "ethport", port_s, "eth_port_instance", "eth_port_alias");
}
}
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (v == NULL)
v = "";
ifdata.higherlayer = vb;
@ -372,7 +415,10 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
goto end;
if(strcmp(package, "wireless") == 0) {
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
uci_foreach_option_eq("wireless", "wifi-iface", "ifname", ifname, ss) {
dmuci_get_value_by_section_string(ss, "device", &device);
}
@ -381,13 +427,17 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
uci_foreach_sections("wireless", "wifi-device", ss) {
if(strcmp(section_name(ss), device) == 0) {
loweralias = get_alias_by_section("dmmap_wireless", "wifi-device", ss, "radioalias");
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap_wireless", "wifi-device", ss, "radioinstance", "radioalias");
break;
}
}
}
if (vb == NULL)
vb = "";
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
ifdata.higherlayer = v;
ifdata.lowerlayer = vb;
ifdata.higheralias = buf_higheralias;
@ -401,15 +451,22 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
if(strcmp(package, "network") == 0) {
if(strstr(ifname, "atm") || strstr(ifname, "ptm")) {
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
char *link_channel = "channel_0";
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cDSL%cChannel%c", dmroot, dm_delim, dm_delim, dm_delim), link_channel, &vb);
if (vb == NULL)
vb = "";
uci_path_foreach_sections(bbfdm, "dmmap", "dsl_channel", ss) {
dmuci_get_value_by_section_string(ss, "dsl_channel_alias", &loweralias);
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "dsl_channel", ss, "dsl_channel_instance", "dsl_channel_alias");
}
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
ifdata.higherlayer = v;
ifdata.lowerlayer = vb;
ifdata.higheralias = buf_higheralias;
@ -420,15 +477,22 @@ int browseInterfaceStackInst(struct dmctx *dmctx, DMNODE *parent_node, void *pre
if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)&ifdata, interface_stack_int) == DM_STOP)
goto end;
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_higheralias, sizeof(buf_higheralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_higheralias, sizeof(buf_higheralias), "%s", loweralias);
char *link_line = "line_0";
adm_entry_get_linker_param(dmctx, dm_print_path("%s%cDSL%cLine%c", dmroot, dm_delim, dm_delim, dm_delim), link_line, &value);
if (value == NULL)
value = "";
uci_path_foreach_sections(bbfdm, "dmmap", "dsl_line", ss) {
dmuci_get_value_by_section_string(ss, "dsl_line_alias", &loweralias);
bridge_port_inst = get_instance_by_section(dmctx->instance_mode, "dmmap", "dsl_line", ss, "dsl_line_instance", "dsl_line_alias");
}
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
if (*loweralias == '\0')
snprintf(buf_loweralias, sizeof(buf_loweralias), "cpe-%s", bridge_port_inst);
else
snprintf(buf_loweralias, sizeof(buf_loweralias), "%s", loweralias);
ifdata.higherlayer = vb;
ifdata.lowerlayer = value;
ifdata.higheralias = buf_higheralias;
@ -467,6 +531,8 @@ static int get_InterfaceStack_Alias(char *refparam, struct dmctx *ctx, void *dat
struct uci_section *s = NULL;
uci_path_foreach_option_eq(bbfdm, "dmmap_interface_stack", "interface_stack", "interface_stack_instance", instance, s) {
dmuci_get_value_by_section_string(s, "interface_stack_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
}
return 0;
}

View file

@ -1188,6 +1188,8 @@ static int get_IPInterfaceTWAMPReflector_Status(char *refparam, struct dmctx *ct
static int get_IPInterfaceTWAMPReflector_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "twamp_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1293,8 +1295,9 @@ static int get_IPInterface_Alias(char *refparam, struct dmctx *ctx, void *data,
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct ip_args *)data)->ip_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "ip_int_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "ip_int_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1309,8 +1312,7 @@ static int set_IPInterface_Alias(char *refparam, struct dmctx *ctx, void *data,
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct ip_args *)data)->ip_sec), &dmmap_section);
if (dmmap_section != NULL)
dmuci_set_value_by_section(dmmap_section, "ip_int_alias", value);
dmuci_set_value_by_section(dmmap_section, "ip_int_alias", value);
return 0;
}
return 0;
@ -1321,8 +1323,9 @@ static int get_ipv4_alias(char *refparam, struct dmctx *ctx, void *data, char *i
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct ip_args *)data)->ip_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "ipv4_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "ipv4_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1337,8 +1340,7 @@ static int set_ipv4_alias(char *refparam, struct dmctx *ctx, void *data, char *i
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name(((struct ip_args *)data)->ip_sec), &dmmap_section);
if (dmmap_section != NULL)
dmuci_set_value_by_section(dmmap_section, "ipv4_alias", value);
dmuci_set_value_by_section(dmmap_section, "ipv4_alias", value);
return 0;
}
return 0;
@ -1351,8 +1353,11 @@ static int get_IPInterfaceIPv6Address_Alias(char *refparam, struct dmctx *ctx, v
uci_path_foreach_option_eq(bbfdm, "dmmap_network", "ipv6", "ipv6_instance", instance, dmmap_section) {
dmuci_get_value_by_section_string(dmmap_section, "section_name", &name);
if(strcmp(name, section_name(((struct ipv6_args *)data)->ip_sec)) == 0)
if (strcmp(name, section_name(((struct ipv6_args *)data)->ip_sec)) == 0) {
dmuci_get_value_by_section_string(dmmap_section, "ipv6_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
}
}
return 0;
}
@ -1373,8 +1378,7 @@ static int set_IPInterfaceIPv6Address_Alias(char *refparam, struct dmctx *ctx, v
if(strcmp(name, section_name(((struct ipv6_args *)data)->ip_sec)) == 0)
break;
}
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "ipv6_alias", value);
dmuci_set_value_by_section(dmmap_section, "ipv6_alias", value);
return 0;
}
return 0;
@ -1387,8 +1391,11 @@ static int get_IPInterfaceIPv6Prefix_Alias(char *refparam, struct dmctx *ctx, vo
uci_path_foreach_option_eq(bbfdm, "dmmap_network", "ipv6prefix", "ipv6prefix_instance", instance, dmmap_section) {
dmuci_get_value_by_section_string(dmmap_section, "section_name", &name);
if(strcmp(name, section_name(((struct ipv6prefix_args *)data)->ip_sec)) == 0)
if(strcmp(name, section_name(((struct ipv6prefix_args *)data)->ip_sec)) == 0) {
dmuci_get_value_by_section_string(dmmap_section, "ipv6prefix_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
}
}
return 0;
}
@ -1409,8 +1416,7 @@ static int set_IPInterfaceIPv6Prefix_Alias(char *refparam, struct dmctx *ctx, vo
if(strcmp(name, section_name(((struct ipv6prefix_args *)data)->ip_sec)) == 0)
break;
}
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "ipv6prefix_alias", value);
dmuci_set_value_by_section(dmmap_section, "ipv6prefix_alias", value);
return 0;
}
return 0;

View file

@ -195,8 +195,9 @@ static int get_nat_interface_setting_alias(char *refparam, struct dmctx *ctx, vo
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_firewall", "zone", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "interface_setting_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "interface_setting_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -211,8 +212,7 @@ static int set_nat_interface_setting_alias(char *refparam, struct dmctx *ctx, vo
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_firewall", "zone", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "interface_setting_alias", value);
dmuci_set_value_by_section(dmmap_section, "interface_setting_alias", value);
return 0;
}
return 0;
@ -304,8 +304,9 @@ static int get_nat_port_mapping_alias(char *refparam, struct dmctx *ctx, void *d
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_firewall", "redirect", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "port_mapping_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "port_mapping_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -320,8 +321,7 @@ static int set_nat_port_mapping_alias(char *refparam, struct dmctx *ctx, void *d
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_firewall", "redirect", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "port_mapping_alias", value);
dmuci_set_value_by_section(dmmap_section, "port_mapping_alias", value);
return 0;
}
return 0;

View file

@ -21,8 +21,9 @@ static int get_ppp_alias(char *refparam, struct dmctx *ctx, void *data, char *in
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "ppp_int_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "ppp_int_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -37,8 +38,7 @@ static int set_ppp_alias(char *refparam, struct dmctx *ctx, void *data, char *in
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_network", "interface", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "ppp_int_alias", value);
dmuci_set_value_by_section(dmmap_section, "ppp_int_alias", value);
return 0;
}
return 0;

View file

@ -214,8 +214,9 @@ static int get_ptm_alias(char *refparam, struct dmctx *ctx, void *data, char *in
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_dsl", "ptm-device", section_name(((struct ptm_args *)data)->ptm_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "ptmlinkalias", value);
dmuci_get_value_by_section_string(dmmap_section, "ptmlinkalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -230,8 +231,7 @@ static int set_ptm_alias(char *refparam, struct dmctx *ctx, void *data, char *in
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_dsl", "ptm-device", section_name(((struct ptm_args *)data)->ptm_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "ptmlinkalias", value);
dmuci_set_value_by_section(dmmap_section, "ptmlinkalias", value);
return 0;
}
return 0;

View file

@ -2803,8 +2803,11 @@ static int get_QoSQueue_Status(char *refparam, struct dmctx *ctx, void *data, ch
static int get_QoSQueue_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_qos", "queue", section_name((struct uci_section *)data), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "queuealias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -3238,8 +3241,11 @@ static int get_QoSShaper_Status(char *refparam, struct dmctx *ctx, void *data, c
static int get_QoSShaper_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_qos", "shaper", section_name((struct uci_section *)data), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "shaperalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -759,6 +759,8 @@ static int get_QoSClassification_Alias(char *refparam, struct dmctx *ctx, void *
{
struct dmmap_dup *p= (struct dmmap_dup*)data;
dmuci_get_value_by_section_string(p->dmmap_section, "classifalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -3544,6 +3546,8 @@ static int get_QoSQueueStats_Alias(char *refparam, struct dmctx *ctx, void *data
{
struct queuestats *qts= (struct queuestats*)data;
dmuci_get_value_by_section_string(qts->dmsect, "queuestatsalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -163,7 +163,7 @@ static int get_forwarding_last_inst()
static char *forwarding_update_instance_alias_bbfdm(int action, char **last_inst, void *argv[])
{
char *instance, *alias;
char buf[8] = {0};
char buf[64] = {0};
struct uci_section *s = (struct uci_section *) argv[0];
char *inst_opt = (char *) argv[1];
@ -181,14 +181,14 @@ static char *forwarding_update_instance_alias_bbfdm(int action, char **last_inst
} else {
snprintf(buf, sizeof(buf), "%d", atoi(*last_inst)+1);
}
instance = DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, inst_opt, buf);
instance = dmuci_set_value_by_section_bbfdm(s, inst_opt, buf);
}
*last_inst = instance;
if (action == INSTANCE_MODE_ALIAS) {
dmuci_get_value_by_section_string(s, alias_opt, &alias);
if (alias[0] == '\0') {
snprintf(buf, sizeof(buf), "cpe-%s", instance);
alias = DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, alias_opt, buf);
alias = dmuci_set_value_by_section_bbfdm(s, alias_opt, buf);
}
snprintf(buf, sizeof(buf), "[%s]", alias);
instance = dmstrdup(buf);
@ -223,7 +223,7 @@ static int get_forwarding6_last_inst()
static char *forwarding6_update_instance_alias_bbfdm(int action, char **last_inst, void *argv[])
{
char *instance, *alias;
char buf[8] = {0};
char buf[64] = {0};
struct uci_section *s = (struct uci_section *) argv[0];
char *inst_opt = (char *) argv[1];
@ -241,14 +241,14 @@ static char *forwarding6_update_instance_alias_bbfdm(int action, char **last_ins
} else {
snprintf(buf, sizeof(buf), "%d", atoi(*last_inst)+1);
}
instance = DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, inst_opt, buf);
instance = dmuci_set_value_by_section_bbfdm(s, inst_opt, buf);
}
*last_inst = instance;
if (action == INSTANCE_MODE_ALIAS) {
dmuci_get_value_by_section_string(s, alias_opt, &alias);
if (alias[0] == '\0') {
snprintf(buf, sizeof(buf), "cpe-%s", instance);
alias = DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, alias_opt, buf);
alias = dmuci_set_value_by_section_bbfdm(s, alias_opt, buf);
}
snprintf(buf, sizeof(buf), "[%s]", alias);
instance = dmstrdup(buf);
@ -1007,6 +1007,8 @@ static int get_RoutingRouteInformationInterfaceSetting_RouteLifetime(char *refpa
static int get_RoutingRouter_Alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "router_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1034,8 +1036,9 @@ static int get_router_ipv4forwarding_alias(char *refparam, struct dmctx *ctx, vo
get_dmmap_section_of_config_section("dmmap_route_forwarding", "route", section_name(((struct routingfwdargs *)data)->routefwdsection), &dmmap_section);
else
get_dmmap_section_of_config_section("dmmap_route_forwarding", "route_disabled", section_name(((struct routingfwdargs *)data)->routefwdsection), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "routealias", value);
dmuci_get_value_by_section_string(dmmap_section, "routealias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1055,8 +1058,7 @@ static int set_router_ipv4forwarding_alias(char *refparam, struct dmctx *ctx, vo
get_dmmap_section_of_config_section("dmmap_route_forwarding", "route", section_name(((struct routingfwdargs *)data)->routefwdsection), &dmmap_section);
else
get_dmmap_section_of_config_section("dmmap_route_forwarding", "route_disabled", section_name(((struct routingfwdargs *)data)->routefwdsection), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "routealias", value);
dmuci_set_value_by_section(dmmap_section, "routealias", value);
return 0;
}
return 0;
@ -1070,8 +1072,9 @@ static int get_RoutingRouterIPv6Forwarding_Alias(char *refparam, struct dmctx *c
dmmap_section = ((struct routingfwdargs *)data)->routefwdsection;
else
get_dmmap_section_of_config_section("dmmap_route_forwarding", "route6", section_name(((struct routingfwdargs *)data)->routefwdsection), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "route6alias", value);
dmuci_get_value_by_section_string(dmmap_section, "route6alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1089,8 +1092,7 @@ static int set_RoutingRouterIPv6Forwarding_Alias(char *refparam, struct dmctx *c
dmmap_section = ((struct routingfwdargs *)data)->routefwdsection;
else
get_dmmap_section_of_config_section("dmmap_route_forwarding", "route6", section_name(((struct routingfwdargs *)data)->routefwdsection), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "route6alias", value);
dmuci_set_value_by_section(dmmap_section, "route6alias", value);
return 0;
}
return 0;

View file

@ -489,6 +489,8 @@ static int get_USBInterface_Alias(char *refparam, struct dmctx *ctx, void *data,
{
struct usb_interface *usbiface= (struct usb_interface *)data;
dmuci_get_value_by_section_string(usbiface->dm_usb_iface, "usb_iface_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -594,6 +596,8 @@ static int get_USBPort_Alias(char *refparam, struct dmctx *ctx, void *data, char
{
struct usb_port* port=(struct usb_port *)data;
dmuci_get_value_by_section_string(port->dm_usb_port, "usb_port_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -696,6 +700,8 @@ static int get_USBUSBHostsHost_Alias(char *refparam, struct dmctx *ctx, void *da
{
struct usb_port* port=(struct usb_port *)data;
dmuci_get_value_by_section_string(port->dm_usb_port, "usb_host_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -108,8 +108,9 @@ static int get_user_alias(char *refparam, struct dmctx *ctx, void *data, char *i
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_users", "user", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "user_alias", value);
dmuci_get_value_by_section_string(dmmap_section, "user_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -158,8 +159,7 @@ static int set_user_alias(char *refparam, struct dmctx *ctx, void *data, char *i
break;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_users", "user", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "user_alias", value);
dmuci_set_value_by_section(dmmap_section, "user_alias", value);
return 0;
}
return 0;

View file

@ -1608,8 +1608,9 @@ static int get_WiFiEndPoint_Alias(char *refparam, struct dmctx *ctx, void *data,
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name(((struct wifi_enp_args *)data)->wifi_enp_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "endpointalias", value);
dmuci_get_value_by_section_string(dmmap_section, "endpointalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1624,8 +1625,7 @@ static int set_WiFiEndPoint_Alias(char *refparam, struct dmctx *ctx, void *data,
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name(((struct wifi_enp_args *)data)->wifi_enp_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "endpointalias", value);
dmuci_set_value_by_section(dmmap_section, "endpointalias", value);
return 0;
}
return 0;
@ -1670,11 +1670,11 @@ static int get_WiFiEndPointProfile_Alias(char *refparam, struct dmctx *ctx, void
char *epinst = NULL;
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name((struct uci_section*)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "endpointinstance", &epinst);
dmuci_get_value_by_section_string(dmmap_section, "endpointinstance", &epinst);
get_dmmap_section_of_config_section_eq("dmmap_wireless", "ep_profile", "ep_key", epinst, &dm);
if (dm)
dmuci_get_value_by_section_string(dm, "ep_profile_alias", value);
dmuci_get_value_by_section_string(dm, "ep_profile_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -1690,11 +1690,9 @@ static int set_WiFiEndPointProfile_Alias(char *refparam, struct dmctx *ctx, void
break;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name((struct uci_section*)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "endpointinstance", &epinst);
dmuci_get_value_by_section_string(dmmap_section, "endpointinstance", &epinst);
get_dmmap_section_of_config_section_eq("dmmap_wireless", "ep_profile", "ep_key", epinst, &dm);
if (dm)
DMUCI_SET_VALUE_BY_SECTION(bbfdm, dm, "ep_profile_alias", value);
dmuci_set_value_by_section_bbfdm(dm, "ep_profile_alias", value);
break;
}
return 0;
@ -2035,8 +2033,9 @@ static int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-device", section_name(((struct wifi_radio_args *)data)->wifi_radio_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "radioalias", value);
dmuci_get_value_by_section_string(dmmap_section, "radioalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -2051,8 +2050,7 @@ static int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-device", section_name(((struct wifi_radio_args *)data)->wifi_radio_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "radioalias", value);
dmuci_set_value_by_section(dmmap_section, "radioalias", value);
return 0;
}
return 0;
@ -2063,8 +2061,9 @@ static int get_ssid_alias(char *refparam, struct dmctx *ctx, void *data, char *i
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name(((struct wifi_ssid_args *)data)->wifi_ssid_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "ssidalias", value);
dmuci_get_value_by_section_string(dmmap_section, "ssidalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -2079,8 +2078,7 @@ static int set_ssid_alias(char *refparam, struct dmctx *ctx, void *data, char *i
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name(((struct wifi_ssid_args *)data)->wifi_ssid_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "ssidalias", value);
dmuci_set_value_by_section(dmmap_section, "ssidalias", value);
return 0;
}
return 0;
@ -2091,8 +2089,9 @@ static int get_access_point_alias(char *refparam, struct dmctx *ctx, void *data,
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name(((struct wifi_acp_args *)data)->wifi_acp_sec), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "accesspointalias", value);
dmuci_get_value_by_section_string(dmmap_section, "accesspointalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -2107,8 +2106,7 @@ static int set_access_point_alias(char *refparam, struct dmctx *ctx, void *data,
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_wireless", "wifi-iface", section_name(((struct wifi_acp_args *)data)->wifi_acp_sec), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "accesspointalias", value);
dmuci_set_value_by_section(dmmap_section, "accesspointalias", value);
return 0;
}
return 0;

View file

@ -132,8 +132,9 @@ static int get_x_iopsys_eu_button_alias(char *refparam, struct dmctx *ctx, void
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_buttons", "button", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "buttonalias", value);
dmuci_get_value_by_section_string(dmmap_section, "buttonalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -148,8 +149,7 @@ static int set_x_iopsys_eu_button_alias(char *refparam, struct dmctx *ctx, void
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_buttons", "button", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "buttonalias", value);
dmuci_set_value_by_section(dmmap_section, "buttonalias", value);
return 0;
}
return 0;

View file

@ -323,8 +323,9 @@ static int get_x_iopsys_eu_dropbear_alias(char *refparam, struct dmctx *ctx, voi
struct uci_section *dmmap_section = NULL;
get_dmmap_section_of_config_section("dmmap_dropbear", "dropbear", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_get_value_by_section_string(dmmap_section, "dropbearalias", value);
dmuci_get_value_by_section_string(dmmap_section, "dropbearalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -339,8 +340,7 @@ static int set_x_iopsys_eu_dropbear_alias(char *refparam, struct dmctx *ctx, voi
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_dropbear", "dropbear", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "dropbearalias", value);
dmuci_set_value_by_section(dmmap_section, "dropbearalias", value);
return 0;
}
return 0;

View file

@ -243,6 +243,8 @@ static int get_x_iopsys_eu_owsd_virtualhost_alias(char *refparam, struct dmctx *
get_dmmap_section_of_config_section("dmmap_owsd", "owsd-listen", section_name((struct uci_section *)data), &dmmap_section);
dmuci_get_value_by_section_string(dmmap_section, "olistenalias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -257,8 +259,7 @@ static int set_x_iopsys_eu_owsd_virtualhost_alias(char *refparam, struct dmctx *
return 0;
case VALUESET:
get_dmmap_section_of_config_section("dmmap_owsd", "owsd-listen", section_name((struct uci_section *)data), &dmmap_section);
if (dmmap_section)
dmuci_set_value_by_section(dmmap_section, "olistenalias", value);
dmuci_set_value_by_section(dmmap_section, "olistenalias", value);
return 0;
}
return 0;

View file

@ -121,6 +121,8 @@ static int set_connection_enable(char *refparam, struct dmctx *ctx, void *data,
static int get_xmpp_connection_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "connection_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}
@ -433,6 +435,8 @@ static int set_xmpp_connection_server_enable(char *refparam, struct dmctx *ctx,
static int get_xmpp_connection_server_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "connection_server_alias", value);
if ((*value)[0] == '\0')
dmasprintf(value, "cpe-%s", instance);
return 0;
}

View file

@ -552,14 +552,14 @@ char *update_instance_alias_bbfdm(int action, char **last_inst , void *argv[])
snprintf(buf, sizeof(buf), "%d", 1);
else
snprintf(buf, sizeof(buf), "%d", atoi(*last_inst)+1);
instance = DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, inst_opt, buf);
instance = dmuci_set_value_by_section_bbfdm(s, inst_opt, buf);
}
*last_inst = instance;
if (action == INSTANCE_MODE_ALIAS) {
dmuci_get_value_by_section_string(s, alias_opt, &alias);
if (alias[0] == '\0') {
snprintf(buf, sizeof(buf), "cpe-%s", instance);
alias = DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, alias_opt, buf);
alias = dmuci_set_value_by_section_bbfdm(s, alias_opt, buf);
}
snprintf(buf, sizeof(buf), "[%s]", alias);
instance = dmstrdup(buf);
@ -600,13 +600,13 @@ char *update_instance_alias(int action, char **last_inst, void *argv[])
char *update_instance_without_section(int action, char **last_inst, void *argv[])
{
char *instance, buf[64] = {0};
long instnbr = (long) argv[0];
int instnbr = (int) argv[0];
if (action == INSTANCE_MODE_ALIAS) {
snprintf(buf, sizeof(buf), "[cpe-%ld]", instnbr);
snprintf(buf, sizeof(buf), "[cpe-%d]", instnbr);
instance = dmstrdup(buf);
} else {
snprintf(buf, sizeof(buf), "%ld", instnbr);
snprintf(buf, sizeof(buf), "%d", instnbr);
instance = dmstrdup(buf);
}
return instance;