Ticket refs #14209: TR-069: add support for compiling both TR-098 and TR-181 support and make it UCI configurable

This commit is contained in:
Amin Ben Ramdhane 2018-03-01 10:41:34 +01:00
parent b45a55ebcf
commit fe026c3ffa
30 changed files with 377 additions and 247 deletions

View file

@ -30,7 +30,6 @@ libdatamodel_la_SOURCES = \
../dm/dmtree/common/x_inteno_se_buttons.c \
../dm/dmtree/common/root.c
if DATAMODEL_TR098
libdatamodel_la_SOURCES += \
../dm/dmtree/tr098/lan_interfaces.c \
../dm/dmtree/tr098/landevice.c \
@ -42,8 +41,7 @@ libdatamodel_la_SOURCES += \
../dm/dmtree/tr098/uploaddiagnostic.c \
../dm/dmtree/tr098/deviceconfig.c \
../dm/dmtree/tr098/layer_3_forwarding.c
endif
if DATAMODEL_TR181
libdatamodel_la_SOURCES += \
../dm/dmtree/tr181/wifi.c \
../dm/dmtree/tr181/ethernet.c \
@ -56,7 +54,6 @@ libdatamodel_la_SOURCES += \
../dm/dmtree/tr181/nat.c \
../dm/dmtree/tr181/routing.c \
../dm/dmtree/tr181/userinterface.c
endif
if UPNP_TR064
libdatamodel_la_SOURCES += \

View file

@ -36,6 +36,9 @@ config 'cwmp' 'cpe'
# compression possible configs: InstanceNumber, InstanceAlias
option instance_mode 'InstanceAlias'
option session_timeout '60'
# datamodel: tr098 (Default)
# datamodel possible configs: tr098, tr181
option datamodel 'tr098'
config 'cwmp' 'lwn'
option enable '1'
option hostname ''

View file

@ -22,12 +22,6 @@ AS_IF([test "x$enable_acs" = "xmulti"], [AC_DEFINE(ACS_MULTI)])
AS_IF([test "x$enable_acs" = "xyes"], [AC_DEFINE(ACS_MULTI)])
AS_IF([test "x$enable_acs" = "xno"], [AC_DEFINE(ACS_MULTI)])
AC_ARG_ENABLE(datamodel, [AS_HELP_STRING([--enable-datamodel],
[specify which Data Model will be used; (default --enable-datamodel=tr098]))],,)
AM_CONDITIONAL([DATAMODEL_TR098], [test "x$enable_datamodel" = "xtr098" ])
AM_CONDITIONAL([DATAMODEL_TR181], [test "x$enable_datamodel" = "xtr181" ])
AC_ARG_ENABLE(http, [AS_HELP_STRING([--enable-http],
[specify which HTTP library is going to be used; one can choose from zstream and curl (default --enable-http=curl]))],,)
@ -111,14 +105,6 @@ AC_SUBST([LCRYPTO_LIBS])
LSSL_LIBS='-lssl'
AC_SUBST([LSSL_LIBS])
AM_COND_IF([DATAMODEL_TR098], [
AC_DEFINE(DATAMODEL_TR098)
])
AM_COND_IF([DATAMODEL_TR181], [
AC_DEFINE(DATAMODEL_TR181)
])
AM_COND_IF([HTTP_CURL], [
AC_DEFINE(HTTP_CURL)
PKG_CHECK_MODULES(LIBCURL, [libcurl])

View file

@ -899,3 +899,12 @@ void hex_to_ip(char *address, char *ret)
sprintf(ret, "%d.%d.%d.%d", ip[3], ip[2], ip[1], ip[0]);
}
}
void ip_to_hex(char *address, char *ret)
{
int i;
int ip[4] = {0};
sscanf(address, "%d.%d.%d.%d", &(ip[0]), &(ip[1]), &(ip[2]), &(ip[3]));
sprintf(ret, "%02X%02X%02X%02X", ip[0], ip[1], ip[2], ip[3]);
}

View file

@ -143,4 +143,5 @@ void parse_proc_route_line(char *line, struct proc_routing *proute);
int strstructered(char *str1, char *str2);
int dmcommon_check_notification_value(char *value);
void hex_to_ip(char *address, char *ret);
void ip_to_hex(char *address, char *ret);
#endif

View file

@ -128,7 +128,7 @@ LIST_HEAD(list_execute_end_session);
int end_session_flag = 0;
int ip_version = 4;
char dm_delim = DMDELIM_CWMP;
char DMROOT[64] = DMROOT_CWMP;
char dmroot[64] = "InternetGatewayDevice";
unsigned int upnp_in_user_mask = DM_SUPERADMIN_MASK;

View file

@ -20,16 +20,8 @@
#include "dmuci.h"
#include "dmmem.h"
#ifdef DATAMODEL_TR098
#define DMROOT_CWMP "InternetGatewayDevice"
#endif
#ifdef DATAMODEL_TR181
#define DMROOT_CWMP "Device"
#endif
#ifdef UPNP_TR064
#define DMROOT_UPNP ""
#define DMDELIM_UPNP '/'
#endif
@ -411,6 +403,11 @@ enum dm_type_enum{
DM_UPNP,
};
enum datamodel_type_enum{
DM_TR098,
DM_TR181,
};
enum dm_param_flags_enum{
/* UPNP OnChange flags flags */
DM_PARAM_ALARAM_ON_CHANGE = 1 << 0,
@ -463,7 +460,7 @@ extern struct list_head list_upnp_changed_version;
extern int end_session_flag;
extern int ip_version;
extern char dm_delim;
extern char DMROOT[64];
extern char dmroot[64];
extern unsigned int upnp_in_user_mask;
char *update_instance(struct uci_section *s, char *last_inst, char *inst_opt);

View file

@ -66,8 +66,23 @@ static void print_dm_help(void)
printf(" exit\n");
}
static int check_uci_datamodel(void)
{
char *uci_datamodel = NULL;
dmuci_get_option_value_string("cwmp", "cpe", "datamodel", &uci_datamodel);
if( (strcasecmp(uci_datamodel, "tr181") == 0) || (strcasecmp(uci_datamodel, "tr-181") == 0) )
return 1;
return 0;
}
static int dm_ctx_init_custom(struct dmctx *ctx, unsigned int dm_type, unsigned int amd_version, unsigned int instance_mode, int custom)
{
unsigned int uci_data_model;
#ifdef UPNP_TR064
UPNP_SUPPORTED_DM *tUPNPSupportedDM = NULL;
#endif
if (custom == CTX_INIT_ALL) {
memset(&dmubus_ctx, 0, sizeof(struct dmubus_ctx));
INIT_LIST_HEAD(&dmubus_ctx.obj_head);
@ -81,22 +96,62 @@ static int dm_ctx_init_custom(struct dmctx *ctx, unsigned int dm_type, unsigned
ctx->amd_version = amd_version;
ctx->instance_mode = instance_mode;
ctx->dm_type = dm_type;
uci_data_model = check_uci_datamodel();
#ifdef UPNP_TR064
if (dm_type == DM_UPNP) {
strcpy(DMROOT, DMROOT_UPNP);
dm_delim = DMDELIM_UPNP;
ctx->dm_entryobj = tEntryObjUPNP;
ctx->user_mask = upnp_in_user_mask;
if(uci_data_model == DM_TR098) {
strcpy(dmroot, DMROOT_UPNP);
dm_delim = DMDELIM_UPNP;
ctx->dm_entryobj = tEntry098ObjUPNP;
ctx->user_mask = upnp_in_user_mask;
}
else {
strcpy(dmroot, DMROOT_UPNP);
dm_delim = DMDELIM_UPNP;
ctx->dm_entryobj = tEntry181ObjUPNP;
ctx->user_mask = upnp_in_user_mask;
}
}
else {
strcpy(DMROOT, DMROOT_CWMP);
dm_delim = DMDELIM_CWMP;
ctx->dm_entryobj = tEntryObj;
if(uci_data_model == DM_TR098) {
strcpy(dmroot, "InternetGatewayDevice");
dm_delim = DMDELIM_CWMP;
ctx->dm_entryobj = tEntry098Obj;
}
else {
strcpy(dmroot, "Device");
dm_delim = DMDELIM_CWMP;
ctx->dm_entryobj = tEntry181Obj;
}
}
if(uci_data_model == DM_TR098) {
tUPNPSupportedDM = malloc(tr98_size);
if (tUPNPSupportedDM == NULL) {
exit(0);
}
tUPNPSupportedDM = tUPNPSupportedDM_098;
}
else {
tUPNPSupportedDM = malloc(tr181_size);
if (tUPNPSupportedDM == NULL) {
exit(0);
}
tUPNPSupportedDM = tUPNPSupportedDM_181;
}
free(tUPNPSupportedDM);
#else
strcpy(DMROOT, DMROOT_CWMP);
dm_delim = DMDELIM_CWMP;
ctx->dm_entryobj = tEntryObj;
if(uci_data_model == DM_TR098) {
strcpy(dmroot, "InternetGatewayDevice");
dm_delim = DMDELIM_CWMP;
ctx->dm_entryobj = tEntry098Obj;
}
else {
strcpy(dmroot, "Device");
dm_delim = DMDELIM_CWMP;
ctx->dm_entryobj = tEntry181Obj;
}
#endif
return 0;
}

View file

@ -34,7 +34,6 @@
#include "upnp_monitoring.h"
#endif
#ifdef DATAMODEL_TR181
#include "ip.h"
#include "ethernet.h"
#include "bridging.h"
@ -46,8 +45,6 @@
#include "ppp.h"
#include "routing.h"
#include "userinterface.h"
#endif
#ifdef DATAMODEL_TR098
#include "landevice.h"
#include "wandevice.h"
#include "ippingdiagnostics.h"
@ -58,16 +55,21 @@
#include "downloaddiagnostic.h"
#include "uploaddiagnostic.h"
#include "deviceconfig.h"
#endif
/* *** CWMP *** */
DMOBJ tEntryObj[] = {
DMOBJ tEntry098Obj[] = {
/* OBJ, permission, addobj, delobj, browseinstobj, finform, NOTIFICATION, nextobj, leaf, linker*/
{(char *)&DMROOT, &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRootObj, NULL, NULL},
{(char *)&dmroot, &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot_098_Obj, NULL, NULL},
{0}
};
DMOBJ tRootObj[] = {
DMOBJ tEntry181Obj[] = {
/*OBJ, permission, addobj, delobj, browseinstobj, finform, NOTIFICATION, nextobj, leaf, linker*/
{(char *)&dmroot, &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot_181_Obj, NULL, NULL},
{0}
};
DMOBJ tRoot_098_Obj[] = {
/* OBJ permission, addobj, delobj, browseinstobj, finform, nextobj, leaf, notification, linker*/
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,tDeviceInfoObj, tDeviceInfoParams, NULL},
{"ManagementServer", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tManagementServerParams, NULL},
@ -84,7 +86,6 @@ DMOBJ tRootObj[] = {
{"X_INTENO_SE_Owsd", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,XIntenoSeOwsdObj, XIntenoSeOwsdParams, NULL},
{"X_INTENO_SE_Dropbear", &DMWRITE, add_dropbear_instance, delete_dropbear_instance, NULL, browseXIntenoDropbear, NULL, &DMNONE, NULL, X_INTENO_SE_DropbearParams, NULL},
{"X_INTENO_SE_Buttons", &DMREAD, NULL, NULL, NULL, browseXIntenoButton, NULL, &DMNONE, NULL, X_INTENO_SE_ButtonParams, NULL},
#ifdef DATAMODEL_TR098
{"LANDevice", &DMREAD, NULL, NULL, NULL, browselandeviceInst, &DMFINFRM, &DMNONE,tLANDeviceObj, tLANDeviceParam, NULL},
{"WANDevice", &DMREAD, NULL, NULL, NULL, browsewandeviceInst, &DMFINFRM, &DMWANConnectionDevicenotif,tWANDeviceObj, tWANDeviceParam, NULL},
{"LANInterfaces", &DMREAD, NULL, NULL, check_laninterfaces, NULL, &DMFINFRM, &DMNONE,tLANInterfacesObj, tLANInterfacesParam, NULL},
@ -95,11 +96,29 @@ DMOBJ tRootObj[] = {
{"DownloadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tDownloadDiagnosticsParam, NULL},
{"UploadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tUploadDiagnosticsParam, NULL},
{"DeviceConfig", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tDeviceConfigParam, NULL},
#endif
#ifdef XMPP_ENABLE
{"XMPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL,tXMPPObj, tXMPPParams, NULL},
#endif
#ifdef DATAMODEL_TR181
{0}
};
DMOBJ tRoot_181_Obj[] = {
/* OBJ permission, addobj, delobj, browseinstobj, finform, nextobj, leaf, notification, linker*/
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,tDeviceInfoObj, tDeviceInfoParams, NULL},
{"ManagementServer", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tManagementServerParams, NULL},
{"Time", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tTimeParams, NULL},
{"UPnP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tUPnPObj, NULL, NULL},
{"Services", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tServiceObj, NULL, NULL},
{"X_INTENO_SE_ICE", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_IceParam, NULL},
{"X_INTENO_SE_IGMP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_IgmpParam, NULL},
{"X_INTENO_SE_IpAccCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tSe_IpAccObj, NULL, NULL},
{"X_INTENO_SE_LoginCfg", &DMREAD, NULL, NULL, NULL, NULL,NULL, &DMNONE,NULL, tSe_LoginCfgParam, NULL},
{"X_INTENO_SE_PowerManagement", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_PowerManagementParam, NULL},
{"X_INTENO_SE_SyslogCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_SyslogCfgParam, NULL},
{"SoftwareModules", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tSoftwareModulesObj, NULL, NULL},
{"X_INTENO_SE_Owsd", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,XIntenoSeOwsdObj, XIntenoSeOwsdParams, NULL},
{"X_INTENO_SE_Dropbear", &DMWRITE, add_dropbear_instance, delete_dropbear_instance, NULL, browseXIntenoDropbear, NULL, &DMNONE, NULL, X_INTENO_SE_DropbearParams, NULL},
{"X_INTENO_SE_Buttons", &DMREAD, NULL, NULL, NULL, browseXIntenoButton, NULL, &DMNONE, NULL, X_INTENO_SE_ButtonParams, NULL},
{"Bridging",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tBridgingObj, NULL, NULL},
{"WiFi",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tWifiObj, tWifiParams, NULL},
{"IP",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPObj, NULL, NULL},
@ -113,38 +132,40 @@ DMOBJ tRootObj[] = {
{"PPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tpppObj, NULL, NULL},
{"Routing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tRoutingObj, tRoutingParam, NULL},
{"UserInterface", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tUserInterfaceObj, NULL, NULL},
#ifdef XMPP_ENABLE
{"XMPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL,tXMPPObj, tXMPPParams, NULL},
#endif
{0}
};
/*** UPNP ***/
#ifdef UPNP_TR064
DMOBJ tEntryObjUPNP[] = {
DMOBJ tEntry098ObjUPNP[] = {
/* OBJ, permission, addobj, delobj, browseinstobj, finform, NOTIFICATION, nextobj, leaf, linker*/
{(char *)&DMROOT, &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRootObjUPNP, NULL, NULL},
{(char *)&dmroot, &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot098ObjUPNP, NULL, NULL},
{0}
};
DMOBJ tRootObjUPNP[] = {
DMOBJ tRoot098ObjUPNP[] = {
/* OBJ, permission, addobj, delobj, browseinstobj, finform, NOTIFICATION, nextobj, leaf, linker*/
{"BBF", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRootObjUPNPBBF, NULL, NULL},
{"UPnP", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRootObjUPNPDMROOT, NULL, NULL},
{"BBF", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot098ObjUPNPBBF, NULL, NULL},
{"UPnP", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot098ObjUPNPDMROOT, NULL, NULL},
{0}
};
DMOBJ tRootObjUPNPDMROOT[] = {
{"DM", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRootObjUPNPDM, NULL, NULL},
DMOBJ tRoot098ObjUPNPDMROOT[] = {
{"DM", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot098ObjUPNPDM, NULL, NULL},
{0}
};
DMOBJ tRootObjUPNPDM[] = {
DMOBJ tRoot098ObjUPNPDM[] = {
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,upnpDeviceInfoObj, upnpDeviceInfoParams, NULL},
{"Configuration", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,upnpConfigurationObj, NULL, NULL},
{"Monitoring", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,upnpMonitoringObj, upnpMonitoringParams, NULL},
{0}
};
DMOBJ tRootObjUPNPBBF[] = {
DMOBJ tRoot098ObjUPNPBBF[] = {
/* OBJ permission, addobj, delobj, browseinstobj, finform, nextobj, leaf, notification, linker*/
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,tDeviceInfoObj, tDeviceInfoParams, NULL},
{"ManagementServer", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tManagementServerParams, NULL},
@ -161,7 +182,6 @@ DMOBJ tRootObjUPNPBBF[] = {
{"X_INTENO_SE_Owsd", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,XIntenoSeOwsdObj, XIntenoSeOwsdParams, NULL},
{"X_INTENO_SE_Dropbear", &DMWRITE, add_dropbear_instance, delete_dropbear_instance, NULL, browseXIntenoDropbear, NULL, &DMNONE, NULL, X_INTENO_SE_DropbearParams, NULL},
{"X_INTENO_SE_Buttons", &DMREAD, NULL, NULL, NULL, browseXIntenoButton, NULL, &DMNONE, NULL, X_INTENO_SE_ButtonParams, NULL},
#ifdef DATAMODEL_TR098
{"LANDevice", &DMREAD, NULL, NULL, NULL, browselandeviceInst, &DMFINFRM, &DMNONE,tLANDeviceObj, tLANDeviceParam, NULL},
{"WANDevice", &DMREAD, NULL, NULL, NULL, browsewandeviceInst, &DMFINFRM, &DMWANConnectionDevicenotif,tWANDeviceObj, tWANDeviceParam, NULL},
{"LANInterfaces", &DMREAD, NULL, NULL, check_laninterfaces, NULL, &DMFINFRM, &DMNONE,tLANInterfacesObj, tLANInterfacesParam, NULL},
@ -171,11 +191,54 @@ DMOBJ tRootObjUPNPBBF[] = {
{"X_INTENO_SE_Wifi", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,tsewifiObj, NULL, NULL},
{"DownloadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tDownloadDiagnosticsParam, NULL},
{"UploadDiagnostics", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tUploadDiagnosticsParam, NULL},
#endif
#ifdef XMPP_ENABLE
{"XMPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL,tXMPPObj, tXMPPParams, NULL},
#endif
#ifdef DATAMODEL_TR181
{0}
};
DMOBJ tEntry181ObjUPNP[] = {
/* OBJ, permission, addobj, delobj, browseinstobj, finform, NOTIFICATION, nextobj, leaf, linker*/
{(char *)&dmroot, &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot181ObjUPNP, NULL, NULL},
{0}
};
DMOBJ tRoot181ObjUPNP[] = {
/* OBJ, permission, addobj, delobj, browseinstobj, finform, NOTIFICATION, nextobj, leaf, linker*/
{"BBF", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot181ObjUPNPBBF, NULL, NULL},
{"UPnP", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot181ObjUPNPDMROOT, NULL, NULL},
{0}
};
DMOBJ tRoot181ObjUPNPDMROOT[] = {
{"DM", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE, tRoot181ObjUPNPDM, NULL, NULL},
{0}
};
DMOBJ tRoot181ObjUPNPDM[] = {
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,upnpDeviceInfoObj, upnpDeviceInfoParams, NULL},
{"Configuration", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,upnpConfigurationObj, NULL, NULL},
{"Monitoring", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,upnpMonitoringObj, upnpMonitoringParams, NULL},
{0}
};
DMOBJ tRoot181ObjUPNPBBF[] = {
/* OBJ permission, addobj, delobj, browseinstobj, finform, nextobj, leaf, notification, linker*/
{"DeviceInfo", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,tDeviceInfoObj, tDeviceInfoParams, NULL},
{"ManagementServer", &DMREAD, NULL, NULL, NULL, NULL, &DMFINFRM, &DMNONE,NULL, tManagementServerParams, NULL},
{"Time", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tTimeParams, NULL},
{"UPnP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tUPnPObj, NULL, NULL},
{"VoiceService", &DMREAD, NULL, NULL, NULL, browseVoiceServiceInst, NULL, NULL, tVoiceServiceObj, tVoiceServiceParam, NULL},
{"X_INTENO_SE_ICE", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_IceParam, NULL},
{"X_INTENO_SE_IGMP", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_IgmpParam, NULL},
{"X_INTENO_SE_IpAccCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tSe_IpAccObj, NULL, NULL},
{"X_INTENO_SE_LoginCfg", &DMREAD, NULL, NULL, NULL, NULL,NULL, &DMNONE,NULL, tSe_LoginCfgParam, NULL},
{"X_INTENO_SE_PowerManagement", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_PowerManagementParam, NULL},
{"X_INTENO_SE_SyslogCfg", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,NULL, tSe_SyslogCfgParam, NULL},
{"SoftwareModules", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,tSoftwareModulesObj, NULL, NULL},
{"X_INTENO_SE_Owsd", &DMREAD, NULL, NULL, NULL, NULL, NULL, &DMNONE,XIntenoSeOwsdObj, XIntenoSeOwsdParams, NULL},
{"X_INTENO_SE_Dropbear", &DMWRITE, add_dropbear_instance, delete_dropbear_instance, NULL, browseXIntenoDropbear, NULL, &DMNONE, NULL, X_INTENO_SE_DropbearParams, NULL},
{"X_INTENO_SE_Buttons", &DMREAD, NULL, NULL, NULL, browseXIntenoButton, NULL, &DMNONE, NULL, X_INTENO_SE_ButtonParams, NULL},
{"Bridging",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tBridgingObj, NULL, NULL},
{"WiFi",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tWifiObj, NULL, NULL},
{"IP",&DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tIPObj, NULL, NULL},
@ -188,18 +251,21 @@ DMOBJ tRootObjUPNPBBF[] = {
{"NAT", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tnatObj, NULL, NULL},
{"PPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tpppObj, NULL, NULL},
{"Routing", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tRoutingObj, tRoutingParam, NULL},
#ifdef XMPP_ENABLE
{"XMPP", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL,tXMPPObj, tXMPPParams, NULL},
#endif
{0}
};
UPNP_SUPPORTED_DM tUPNPSupportedDM[] = {
{"/UPnP/DM/DeviceInfo/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL, "UPnP DeviceInfo from "DMROOT_DESC, ""},
{"/UPnP/DM/Configuration/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL, "Configuration from "DMROOT_DESC, ""},
{"/UPnP/DM/Monitoring/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL, "Monitoring from "DMROOT_DESC, ""},
{"/BBF/DeviceInfo/", DMROOT_URI, DMROOT_URL, "DeviceInfo from "DMROOT_DESC, ""},
{"/BBF/ManagementServer/", DMROOT_URI, DMROOT_URL, "ManagementServer from "DMROOT_DESC, ""},
{"/BBF/Time/", DMROOT_URI, DMROOT_URL, "Time from "DMROOT_DESC, ""},
{"/BBF/UPnP/", DMROOT_URI, DMROOT_URL, "UPnP from "DMROOT_DESC, ""},
UPNP_SUPPORTED_DM tUPNPSupportedDM[];
UPNP_SUPPORTED_DM tUPNPSupportedDM_098[] = {
{"/UPnP/DM/DeviceInfo/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL_098, "UPnP DeviceInfo from "DMROOT_DESC_098, ""},
{"/UPnP/DM/Configuration/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL_098, "Configuration from "DMROOT_DESC_098, ""},
{"/UPnP/DM/Monitoring/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL_098, "Monitoring from "DMROOT_DESC_098, ""},
{"/BBF/DeviceInfo/", DMROOT_URI_098, DMROOT_URL_098, "DeviceInfo from "DMROOT_DESC_098, ""},
{"/BBF/ManagementServer/", DMROOT_URI_098, DMROOT_URL_098, "ManagementServer from "DMROOT_DESC_098, ""},
{"/BBF/Time/", DMROOT_URI_098, DMROOT_URL_098, "Time from "DMROOT_DESC_098, ""},
{"/BBF/UPnP/", DMROOT_URI_098, DMROOT_URL_098, "UPnP from "DMROOT_DESC_098, ""},
{"/BBF/VoiceService/", "urn:broadband-forum-org:wt-104-2-0-0", "https://www.broadband-forum.org/cwmp/tr-104-2-0-0.html", "TR-104 Voice:2 Service Object definition", ""},
{"/BBF/X_INTENO_SE_ICE/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for ICE", ""},
{"/BBF/X_INTENO_SE_IGMP/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for ICE", ""},
@ -207,38 +273,62 @@ UPNP_SUPPORTED_DM tUPNPSupportedDM[] = {
{"/BBF/X_INTENO_SE_LoginCfg/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for LoginCfg", ""},
{"/BBF/X_INTENO_SE_PowerManagement/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for PowerManagement", ""},
{"/BBF/X_INTENO_SE_SyslogCfg/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for SyslogCfg", ""},
{"/BBF/SoftwareModules/", DMROOT_URI, DMROOT_URL, "SoftwareModules from "DMROOT_DESC, ""},
{"/BBF/SoftwareModules/", DMROOT_URI_098, DMROOT_URL_098, "SoftwareModules from "DMROOT_DESC_098, ""},
{"/BBF/X_INTENO_SE_Owsd/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for Owsd", ""},
{"/BBF/X_INTENO_SE_Dropbear/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for Dropbear", ""},
{"/BBF/X_INTENO_SE_Buttons/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for Buttons", ""},
#ifdef DATAMODEL_TR098
{"/BBF/LANDevice/", DMROOT_URI, DMROOT_URL, "LANDevice from "DMROOT_DESC, ""},
{"/BBF/WANDevice/", DMROOT_URI, DMROOT_URL, "WANDevice from "DMROOT_DESC, ""},
{"/BBF/LANInterfaces/", DMROOT_URI, DMROOT_URL, "LANInterfaces from "DMROOT_DESC, ""},
{"/BBF/IPPingDiagnostics/", DMROOT_URI, DMROOT_URL, "IPPingDiagnostics from "DMROOT_DESC, ""},
{"/BBF/Layer3Forwarding/", DMROOT_URI, DMROOT_URL, "Layer3Forwarding from "DMROOT_DESC, ""},
{"/BBF/Layer2Bridging/", DMROOT_URI, DMROOT_URL, "Layer2Bridging from "DMROOT_DESC, ""},
{"/BBF/LANDevice/", DMROOT_URI_098, DMROOT_URL_098, "LANDevice from "DMROOT_DESC_098, ""},
{"/BBF/WANDevice/", DMROOT_URI_098, DMROOT_URL_098, "WANDevice from "DMROOT_DESC_098, ""},
{"/BBF/LANInterfaces/", DMROOT_URI_098, DMROOT_URL_098, "LANInterfaces from "DMROOT_DESC_098, ""},
{"/BBF/IPPingDiagnostics/", DMROOT_URI_098, DMROOT_URL_098, "IPPingDiagnostics from "DMROOT_DESC_098, ""},
{"/BBF/Layer3Forwarding/", DMROOT_URI_098, DMROOT_URL_098, "Layer3Forwarding from "DMROOT_DESC_098, ""},
{"/BBF/Layer2Bridging/", DMROOT_URI_098, DMROOT_URL_098, "Layer2Bridging from "DMROOT_DESC_098, ""},
{"/BBF/X_INTENO_SE_Wifi/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for WiFi", ""},
{"/BBF/DownloadDiagnostics/", DMROOT_URI, DMROOT_URL, "DownloadDiagnostics from "DMROOT_DESC, ""},
{"/BBF/UploadDiagnostics/", DMROOT_URI, DMROOT_URL, "UploadDiagnostics from "DMROOT_DESC, ""},
#endif
{"/BBF/DownloadDiagnostics/", DMROOT_URI_098, DMROOT_URL_098, "DownloadDiagnostics from "DMROOT_DESC_098, ""},
{"/BBF/UploadDiagnostics/", DMROOT_URI_098, DMROOT_URL_098, "UploadDiagnostics from "DMROOT_DESC_098, ""},
#ifdef XMPP_ENABLE
{"/BBF/XMPP/", DMROOT_URI, DMROOT_URL, "XMPP from "DMROOT_DESC, ""},
#endif
#ifdef DATAMODEL_TR181
{"/BBF/Bridging/", DMROOT_URI, DMROOT_URL, "Bridging from "DMROOT_DESC, ""},
{"/BBF/WiFi/", DMROOT_URI, DMROOT_URL, "WiFi from "DMROOT_DESC, ""},
{"/BBF/IP/", DMROOT_URI, DMROOT_URL, "IP from "DMROOT_DESC, ""},
{"/BBF/Ethernet/", DMROOT_URI, DMROOT_URL, "Ethernet from "DMROOT_DESC, ""},
{"/BBF/DSL/", DMROOT_URI, DMROOT_URL, "DSL from "DMROOT_DESC, ""},
{"/BBF/ATM/", DMROOT_URI, DMROOT_URL, "ATM from "DMROOT_DESC, ""},
{"/BBF/PTM/", DMROOT_URI, DMROOT_URL, "PTM from "DMROOT_DESC, ""},
{"/BBF/DHCPv4/", DMROOT_URI, DMROOT_URL, "DHCPv4 from "DMROOT_DESC, ""},
{"/BBF/Hosts/", DMROOT_URI, DMROOT_URL, "Hosts from "DMROOT_DESC, ""},
{"/BBF/NAT/", DMROOT_URI, DMROOT_URL, "NAT from "DMROOT_DESC, ""},
{"/BBF/PPP/", DMROOT_URI, DMROOT_URL, "PPP from "DMROOT_DESC, ""},
{"/BBF/Routing/", DMROOT_URI, DMROOT_URL, "Routing from "DMROOT_DESC, ""},
{"/BBF/XMPP/", DMROOT_URI_098, DMROOT_URL_098, "XMPP from "DMROOT_DESC_098, ""},
#endif
{0}
};
UPNP_SUPPORTED_DM tUPNPSupportedDM_181[] = {
{"/UPnP/DM/DeviceInfo/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL_181, "UPnP DeviceInfo from "DMROOT_DESC_181, ""},
{"/UPnP/DM/Configuration/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL_181, "Configuration from "DMROOT_DESC_181, ""},
{"/UPnP/DM/Monitoring/", "urn:UPnP:Parent Device:1:ConfigurationManagement:2", DMROOT_URL_181, "Monitoring from "DMROOT_DESC_181, ""},
{"/BBF/DeviceInfo/", DMROOT_URI_181, DMROOT_URL_181, "DeviceInfo from "DMROOT_DESC_181, ""},
{"/BBF/ManagementServer/", DMROOT_URI_181, DMROOT_URL_181, "ManagementServer from "DMROOT_DESC_181, ""},
{"/BBF/Time/", DMROOT_URI_181, DMROOT_URL_181, "Time from "DMROOT_DESC_181, ""},
{"/BBF/UPnP/", DMROOT_URI_181, DMROOT_URL_181, "UPnP from "DMROOT_DESC_181, ""},
{"/BBF/VoiceService/", "urn:broadband-forum-org:wt-104-2-0-0", "https://www.broadband-forum.org/cwmp/tr-104-2-0-0.html", "TR-104 Voice:2 Service Object definition", ""},
{"/BBF/X_INTENO_SE_ICE/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for ICE", ""},
{"/BBF/X_INTENO_SE_IGMP/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for ICE", ""},
{"/BBF/X_INTENO_SE_IpAccCfg/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for IGMP", ""},
{"/BBF/X_INTENO_SE_LoginCfg/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for LoginCfg", ""},
{"/BBF/X_INTENO_SE_PowerManagement/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for PowerManagement", ""},
{"/BBF/X_INTENO_SE_SyslogCfg/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for SyslogCfg", ""},
{"/BBF/SoftwareModules/", DMROOT_URI_181, DMROOT_URL_181, "SoftwareModules from "DMROOT_DESC_181, ""},
{"/BBF/X_INTENO_SE_Owsd/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for Owsd", ""},
{"/BBF/X_INTENO_SE_Dropbear/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for Dropbear", ""},
{"/BBF/X_INTENO_SE_Buttons/", "urn:intenogroup-com:na", "https://www.intenogroup.com/", "Inteno extension for Buttons", ""},
{"/BBF/Bridging/", DMROOT_URI_181, DMROOT_URL_181, "Bridging from "DMROOT_DESC_181, ""},
{"/BBF/WiFi/", DMROOT_URI_181, DMROOT_URL_181, "WiFi from "DMROOT_DESC_181, ""},
{"/BBF/IP/", DMROOT_URI_181, DMROOT_URL_181, "IP from "DMROOT_DESC_181, ""},
{"/BBF/Ethernet/", DMROOT_URI_181, DMROOT_URL_181, "Ethernet from "DMROOT_DESC_181, ""},
{"/BBF/DSL/", DMROOT_URI_181, DMROOT_URL_181, "DSL from "DMROOT_DESC_181, ""},
{"/BBF/ATM/", DMROOT_URI_181, DMROOT_URL_181, "ATM from "DMROOT_DESC_181, ""},
{"/BBF/PTM/", DMROOT_URI_181, DMROOT_URL_181, "PTM from "DMROOT_DESC_181, ""},
{"/BBF/DHCPv4/", DMROOT_URI_181, DMROOT_URL_181, "DHCPv4 from "DMROOT_DESC_181, ""},
{"/BBF/Hosts/", DMROOT_URI_181, DMROOT_URL_181, "Hosts from "DMROOT_DESC_181, ""},
{"/BBF/NAT/", DMROOT_URI_181, DMROOT_URL_181, "NAT from "DMROOT_DESC_181, ""},
{"/BBF/PPP/", DMROOT_URI_181, DMROOT_URL_181, "PPP from "DMROOT_DESC_181, ""},
{"/BBF/Routing/", DMROOT_URI_181, DMROOT_URL_181, "Routing from "DMROOT_DESC_181, ""},
#ifdef XMPP_ENABLE
{"/BBF/XMPP/", DMROOT_URI_181, DMROOT_URL_181, "XMPP from "DMROOT_DESC_181, ""},
#endif
{0}
};
size_t tr98_size = sizeof(tUPNPSupportedDM_098);
size_t tr181_size = sizeof(tUPNPSupportedDM_181);
#endif

View file

@ -16,30 +16,37 @@
#include "dmcwmp.h"
extern DMOBJ tEntryObj[];
extern DMOBJ tRootObj[];
extern DMOBJ tEntry098Obj[];
extern DMOBJ tEntry181Obj[];
extern DMOBJ tRoot_098_Obj[];
extern DMOBJ tRoot_181_Obj[];
#ifdef UPNP_TR064
extern DMOBJ tEntryObjUPNP[];
extern DMOBJ tRootObjUPNP[];
extern DMOBJ tRootObjUPNPDMROOT[];
extern DMOBJ tRootObjUPNPDM[];
extern DMOBJ tRootObjUPNPBBF[];
extern DMOBJ tEntry098ObjUPNP[];
extern DMOBJ tRoot098ObjUPNP[];
extern DMOBJ tRoot098ObjUPNPDMROOT[];
extern DMOBJ tRoot098ObjUPNPDM[];
extern DMOBJ tRoot098ObjUPNPBBF[];
extern DMOBJ tEntry181ObjUPNP[];
extern DMOBJ tRoot181ObjUPNP[];
extern DMOBJ tRoot181ObjUPNPDMROOT[];
extern DMOBJ tRoot181ObjUPNPDM[];
extern DMOBJ tRoot181ObjUPNPBBF[];
extern UPNP_SUPPORTED_DM tUPNPSupportedDM[];
extern UPNP_SUPPORTED_DM tUPNPSupportedDM_098[];
extern UPNP_SUPPORTED_DM tUPNPSupportedDM_181[];
extern size_t tr98_size;
extern size_t tr181_size;
#define UPNP_SUPPORTED_PARAMETERS_VERSION 1 //Should be incremented each time the Parameters are updated
#define UPNP_SUPPORTED_DATAMODEL_VERSION 1 //Should be incremented each time the tUPNPSupportedDM array is updated
#endif
#ifdef DATAMODEL_TR098
#define DMROOT_URI "urn:broadband-forum-org:tr-098-1-8-0"
#define DMROOT_URL "https://www.broadband-forum.org/cwmp/tr-098-1-8-0.html"
#define DMROOT_DESC "TR-098 InternetGatewayDevice:1 Root Object definition"
#endif
#ifdef DATAMODEL_TR181
#define DMROOT_URI "urn:broadband-forum-org:tr-181-2-11-0"
#define DMROOT_URL "https://www.broadband-forum.org/cwmp/tr-181-2-11-0.html"
#define DMROOT_DESC "TR-181 Device:2 Root Object definition"
#endif
#define DMROOT_URI_098 "urn:broadband-forum-org:tr-098-1-8-0"
#define DMROOT_URL_098 "https://www.broadband-forum.org/cwmp/tr-098-1-8-0.html"
#define DMROOT_DESC_098 "TR-098 InternetGatewayDevice:1 Root Object definition"
#define DMROOT_URI_181 "urn:broadband-forum-org:tr-181-2-11-0"
#define DMROOT_URL_181 "https://www.broadband-forum.org/cwmp/tr-181-2-11-0.html"
#define DMROOT_DESC_181 "TR-181 Device:2 Root Object definition"
#endif

View file

@ -127,28 +127,32 @@ int set_x_inteno_owsd_listenobj_port(char *refparam, struct dmctx *ctx, void *da
int get_x_inteno_owsd_listenobj_interface(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
char *iface, *linker;
char *uci_datamodel = NULL;
struct uci_section *owsd_listensection = (struct uci_section *)data;
dmuci_get_value_by_section_string(owsd_listensection, "interface", &iface);
#ifdef DATAMODEL_TR098
if (iface[0] != '\0') {
dmastrcat(&linker, "linker_interface:", iface);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWANDevice%c", DMROOT, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL) {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cLANDevice%c", DMROOT, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
dmuci_get_option_value_string("cwmp", "cpe", "datamodel", &uci_datamodel);
if( (strcasecmp(uci_datamodel, "tr181") == 0) || (strcasecmp(uci_datamodel, "tr-181") == 0))
{
if (iface[0] != '\0') {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), iface, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
}
dmfree(linker);
}
#endif
#ifdef DATAMODEL_TR181
if (iface[0] != '\0') {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), iface, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
else
{
if (iface[0] != '\0') {
dmastrcat(&linker, "linker_interface:", iface);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWANDevice%c", dmroot, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL) {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cLANDevice%c", dmroot, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
}
dmfree(linker);
}
}
#endif
return 0;
}
@ -156,6 +160,7 @@ int set_x_inteno_owsd_listenobj_interface(char *refparam, struct dmctx *ctx, voi
{
int check;
char *linker, *iface;
char *uci_datamodel = NULL;
struct uci_section *owsd_listensection = (struct uci_section *)data;
switch (action) {
@ -164,9 +169,10 @@ int set_x_inteno_owsd_listenobj_interface(char *refparam, struct dmctx *ctx, voi
case VALUESET:
adm_entry_get_linker_value(ctx, value, &linker);
if (linker) {
#ifdef DATAMODEL_TR098
iface = linker + sizeof("linker_interface:") - 1;
#endif
dmuci_get_option_value_string("cwmp", "cpe", "datamodel", &uci_datamodel);
if( (strcasecmp(uci_datamodel, "tr098") == 0) || (strcasecmp(uci_datamodel, "tr-098") == 0) || (strcasecmp(uci_datamodel, "tr98") == 0) || (strcasecmp(uci_datamodel, "tr-98") == 0) ) {
iface = linker + sizeof("linker_interface:") - 1;
}
dmuci_set_value_by_section(owsd_listensection, "interface", iface);
dmfree(linker);
}

View file

@ -1803,7 +1803,7 @@ int get_lan_eth_iface_cfg_stats_rx_packets(char *refparam, struct dmctx *ctx, vo
}
//HOST DYNAMIC
char *get_interface_type(char *mac, char *ndev)
static char *get_interface_type(char *mac, char *ndev)
{
json_object *res;
int wlctl_num;
@ -1981,7 +1981,7 @@ int get_wlan_status (char *refparam, struct dmctx *ctx, void *data, char *instan
return 0;
}
int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct ldwlanargs *wlanargs = (struct ldwlanargs *)data;
@ -2072,14 +2072,14 @@ int set_wlan_auto_channel_enable(char *refparam, struct dmctx *ctx, void *data,
return 0;
}
int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct ldwlanargs *wlanargs = (struct ldwlanargs *)data;
dmuci_get_value_by_section_string(wlanargs->lwlansection, "ssid", value);
return 0;
}
int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
struct ldwlanargs *wlanargs = (struct ldwlanargs *)data;
@ -2822,7 +2822,7 @@ int get_wlan_devstatus_statistics_rx_packets(char *refparam, struct dmctx *ctx,
return 0;
}
int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
char *hidden;
struct ldwlanargs *wlanargs = (struct ldwlanargs *)data;
@ -2834,7 +2834,7 @@ int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *
return 0;
}
int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
bool b;
struct ldwlanargs *wlanargs = (struct ldwlanargs *)data;
@ -3175,7 +3175,7 @@ int set_x_inteno_se_scantimer(char *refparam, struct dmctx *ctx, void *data, cha
return 0;
}
int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
struct ldwlanargs *wlanargs = (struct ldwlanargs *)data;
bool b;
@ -3238,7 +3238,7 @@ int set_x_inteno_se_frequency(char *refparam, struct dmctx *ctx, void *data, cha
}
return 0;
}
int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
struct ldwlanargs *wlanargs = (struct ldwlanargs *)data;
bool b;

View file

@ -168,11 +168,11 @@ int get_lan_eth_iface_cfg_stats_rx_packets(char *refparam, struct dmctx *ctx, vo
int get_wlan_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_status(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_max_bit_rate(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_channel(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_auto_channel_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_beacon_type(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_mac_control_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_possible_channels(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
@ -194,8 +194,8 @@ int get_wlan_devstatus_statistics_tx_bytes(char *refparam, struct dmctx *ctx, vo
int get_wlan_devstatus_statistics_rx_bytes(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_devstatus_statistics_tx_packets(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_devstatus_statistics_rx_packets(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_x_inteno_se_channelmode(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_x_inteno_se_supported_standard(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_x_inteno_se_operating_channel_bandwidth(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
@ -246,7 +246,7 @@ int set_wlan_enable(char *refparam, struct dmctx *ctx, void *data, char *instanc
int set_wlan_max_bit_rate(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_channel(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_auto_channel_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_beacon_type(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_mac_control_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_standard(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
@ -261,8 +261,8 @@ int set_wlan_ieee_11i_authentication_mode(char *refparam, struct dmctx *ctx, voi
int set_wlan_radio_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_device_operation_mode(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_authentication_service_mode(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_x_inteno_se_channelmode(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_x_inteno_se_operating_channel_bandwidth(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_x_inteno_se_maxssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);

View file

@ -20,7 +20,7 @@
#include "layer_2_bridging.h"
const char *vlan_ifname[3] = {"eth","atm", "ptm"};
char *wan_baseifname = NULL;
static char *wan_baseifname = NULL;
#ifndef EX400
struct wan_interface wan_interface_tab[3] = {
{"1", "ethernet", "ports", "ethport"},
@ -100,7 +100,7 @@ int browselayer2_availableinterfaceInst(struct dmctx *dmctx, DMNODE *parent_node
uci_foreach_sections("ports", "ethport", wan_s) {
if(!strcmp(wan_s->e.name, "WAN")){
waninstance = update_instance(wan_s, waninstance, "waninstance");
dmasprintf(&oface, "%s%cWANDevice%c%s%cWANConnectionDevice%c%s%c", DMROOT, dm_delim, dm_delim, wan_interface_tab[i].instance, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cWANDevice%c%s%cWANConnectionDevice%c%s%c", dmroot, dm_delim, dm_delim, wan_interface_tab[i].instance, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmuci_get_value_by_section_string(wan_s, "ifname", &base_ifname);
ai_s = update_availableinterface_list(dmctx, base_ifname, &available_inst, &instance_last);
init_args_layer2(&curr_args, ai_s, NULL, instance_last, NULL, "WANInterface", oface);
@ -111,7 +111,7 @@ int browselayer2_availableinterfaceInst(struct dmctx *dmctx, DMNODE *parent_node
}else{
uci_foreach_sections(wan_interface_tab[i].package, wan_interface_tab[i].section, wan_s) {
waninstance = update_instance(wan_s, waninstance, "waninstance");
dmasprintf(&oface, "%s%cWANDevice%c%s%cWANConnectionDevice%c%s%c", DMROOT, dm_delim, dm_delim, wan_interface_tab[i].instance, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cWANDevice%c%s%cWANConnectionDevice%c%s%c", dmroot, dm_delim, dm_delim, wan_interface_tab[i].instance, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmuci_get_value_by_section_string(wan_s, "device", &base_ifname);
ai_s = update_availableinterface_list(dmctx, base_ifname, &available_inst, &instance_last);
init_args_layer2(&curr_args, ai_s, NULL, instance_last, NULL, "WANInterface", oface);
@ -124,7 +124,7 @@ int browselayer2_availableinterfaceInst(struct dmctx *dmctx, DMNODE *parent_node
uci_foreach_sections("ports", "ethport", wan_s) {
if(!strcmp(wan_s->e.name, "WAN")){
waninstance = update_instance(wan_s, waninstance, "waninstance");
dmasprintf(&oface, "%s%cWANDevice%c1%cWANConnectionDevice%c%s%c", DMROOT, dm_delim, dm_delim, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cWANDevice%c1%cWANConnectionDevice%c%s%c", dmroot, dm_delim, dm_delim, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmuci_get_value_by_section_string(wan_s, "baseifname", &base_ifname);
ai_s = update_availableinterface_list(dmctx, base_ifname, &available_inst, &instance_last);
init_args_layer2(&curr_args, ai_s, NULL, instance_last, NULL, "WANInterface", oface);
@ -138,7 +138,7 @@ int browselayer2_availableinterfaceInst(struct dmctx *dmctx, DMNODE *parent_node
i = 0;
for (ch_ptr = strtok_r(phy_interface_dup, " ", &saveptr); ch_ptr; ch_ptr = strtok_r(NULL, " ", &saveptr))
{
dmasprintf(&oface, "%s%cLANInterfaces%cLANEthernetInterfaceConfig%c%d%c", DMROOT, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cLANInterfaces%cLANEthernetInterfaceConfig%c%d%c", dmroot, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
ai_s = update_availableinterface_list(dmctx, ch_ptr, &available_inst, &instance_last);
init_args_layer2(&curr_args, ai_s, NULL, instance_last, NULL, "LANInterface", oface);
if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)&curr_args, available_inst) == DM_STOP)
@ -146,7 +146,7 @@ int browselayer2_availableinterfaceInst(struct dmctx *dmctx, DMNODE *parent_node
}
i = 0;
uci_foreach_sections("wireless", "wifi-iface", wifi_s) {
dmasprintf(&oface, "%s%cLANInterfaces%cWLANConfiguration%c%d%c", DMROOT, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cLANInterfaces%cWLANConfiguration%c%d%c", dmroot, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
ai_s = update_availableinterface_list(dmctx, section_name(wifi_s), &available_inst, &instance_last);
init_args_layer2(&curr_args, ai_s, NULL, instance_last, NULL, "LANInterface", oface);
if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)&curr_args, available_inst) == DM_STOP)
@ -221,7 +221,7 @@ int synchronize_availableinterfaceInst(struct dmctx *dmctx)
for (i=0; i<3; i++) {
uci_foreach_sections(wan_interface_tab[i].package, wan_interface_tab[i].section, wan_s) {
waninstance = update_instance(wan_s, waninstance, "waninstance");
dmasprintf(&oface, "%s%cWANDevice%c%s%cWANConnectionDevice%c%s%c", DMROOT, dm_delim, dm_delim, wan_interface_tab[i].instance, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cWANDevice%c%s%cWANConnectionDevice%c%s%c", dmroot, dm_delim, dm_delim, wan_interface_tab[i].instance, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmuci_get_value_by_section_string(wan_s, "device", &base_ifname);
update_availableinterface_list(dmctx, base_ifname, &available_inst, &instance_last);
}
@ -230,7 +230,7 @@ int synchronize_availableinterfaceInst(struct dmctx *dmctx)
uci_foreach_sections("ports", "ethport", wan_s) {
if(!strcmp(wan_s->e.name, "WAN")){
waninstance = update_instance(wan_s, waninstance, "waninstance");
dmasprintf(&oface, "%s%cWANDevice%c1%cWANConnectionDevice%c%s%c", DMROOT, dm_delim, dm_delim, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cWANDevice%c1%cWANConnectionDevice%c%s%c", dmroot, dm_delim, dm_delim, dm_delim, dm_delim, waninstance, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmuci_get_value_by_section_string(wan_s, "baseifname", &base_ifname);
update_availableinterface_list(dmctx, base_ifname, &available_inst, &instance_last);
}
@ -241,12 +241,12 @@ int synchronize_availableinterfaceInst(struct dmctx *dmctx)
i = 0;
for (ch_ptr = strtok_r(phy_interface_dup, " ", &saveptr); ch_ptr != NULL; ch_ptr = strtok_r(NULL, " ", &saveptr))
{
dmasprintf(&oface, "%s%cLANInterfaces%cLANEthernetInterfaceConfig%c%d%c", DMROOT, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cLANInterfaces%cLANEthernetInterfaceConfig%c%d%c", dmroot, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
update_availableinterface_list(dmctx, ch_ptr, &available_inst, &instance_last);
}
i = 0;
uci_foreach_sections("wireless", "wifi-iface", wifi_s) {
dmasprintf(&oface, "%s%cLANInterfaces%cWLANConfiguration%c%d%c", DMROOT, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
dmasprintf(&oface, "%s%cLANInterfaces%cWLANConfiguration%c%d%c", dmroot, dm_delim, dm_delim, dm_delim, ++i, dm_delim); // MEM WILL BE FREED IN DMMEMCLEAN
update_availableinterface_list(dmctx, section_name(wifi_s), &available_inst, &instance_last);
}
dmfree(phy_interface_dup);
@ -763,7 +763,7 @@ int set_bridge_vlan_enable(char *refparam, struct dmctx *ctx, void *data, char *
return 0;
}
int update_br_vlan_ifname(struct uci_section* br_sec, char* ifname, char* baseifname, int status)
static int update_br_vlan_ifname(struct uci_section* br_sec, char* ifname, char* baseifname, int status)
{
char ifname_dup[128], *ptr, *start, *end;
int pos=0;

View file

@ -64,16 +64,7 @@ inline int init_args_rentry(struct routingfwdargs *args, struct uci_section *s,
/*************************************************************************************
**** function related to get_object_layer3 ****
**************************************************************************************/
void ip_to_hex(char *address, char *ret) //TODO Move to the common.c
{
int i;
int ip[4] = {0};
sscanf(address, "%d.%d.%d.%d", &(ip[0]), &(ip[1]), &(ip[2]), &(ip[3]));
sprintf(ret, "%02X%02X%02X%02X", ip[0], ip[1], ip[2], ip[3]);
}
bool is_proute_static(struct proc_routing *proute)
static bool is_proute_static(struct proc_routing *proute)
{
char *mask;
struct uci_section *s;
@ -90,7 +81,7 @@ bool is_proute_static(struct proc_routing *proute)
return false;
}
bool is_cfg_route_active(struct uci_section *s)
static bool is_cfg_route_active(struct uci_section *s)
{
FILE *fp;
char line[MAX_PROC_ROUTING];
@ -120,7 +111,7 @@ bool is_cfg_route_active(struct uci_section *s)
return false;
}
int get_forwarding_last_inst()
static int get_forwarding_last_inst()
{
char *rinst = NULL, *drinst = NULL, *dsinst = NULL, *tmp;
int r = 0, dr = 0, ds = 0, max;
@ -155,7 +146,7 @@ int get_forwarding_last_inst()
return max;
}
char *forwarding_update_instance_alias(int action, char **last_inst, void *argv[])
static char *forwarding_update_instance_alias(int action, char **last_inst, void *argv[])
{
char *instance, *alias;
char buf[8] = {0};
@ -231,7 +222,7 @@ char *forwarding_update_instance_alias_icwmpd(int action, char **last_inst, void
return instance;
}
struct uci_section *update_route_dynamic_section(struct proc_routing *proute)
static struct uci_section *update_route_dynamic_section(struct proc_routing *proute)
{
struct uci_section *s = NULL;
char *name, *mask;
@ -476,9 +467,9 @@ int get_layer3_interface_linker_parameter(char *refparam, struct dmctx *ctx, voi
iface = get_layer3_interface(ctx, (struct routingfwdargs *)data);
if (iface[0] != '\0') {
dmastrcat(&linker, "linker_interface:", iface);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWANDevice%c", DMROOT, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWANDevice%c", dmroot, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL) {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cLANDevice%c", DMROOT, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cLANDevice%c", dmroot, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
}
@ -578,7 +569,7 @@ int get_layer3_def_conn_serv(char *refparam, struct dmctx *ctx, void *data, char
dmuci_get_option_value_string("cwmp", "cpe", "default_wan_interface", &iface);
if (iface[0] != '\0') {
dmasprintf(&linker, "linker_interface:%s", iface);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWANDevice%c", DMROOT, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWANDevice%c", dmroot, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL) {
*value = "";
}

View file

@ -212,13 +212,13 @@ int set_wifi_dfsenable(char *refparam, struct dmctx *ctx, void *data, char *inst
}
////////////////////////SET AND GET ALIAS/////////////////////////////////
int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string((struct uci_section *)data, "radioalias", value);
return 0;
}
int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
switch (action) {
case VALUECHECK:

View file

@ -16,12 +16,12 @@ int set_bandsteering_bw_util(char *refparam, struct dmctx *ctx, void *data, char
int browsesewifiradioInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance);
int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wifi_frequency(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wifi_maxassoc(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wifi_dfsenable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wifi_maxassoc(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wifi_dfsenable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);

View file

@ -17,7 +17,7 @@
#include "bridging.h"
#include "dmjson.h"
char *wan_baseifname = NULL;
static char *wan_baseifname = NULL;
/*** Bridging. ***/
DMOBJ tBridgingObj[] = {
@ -563,7 +563,7 @@ int is_bridge_vlan_enabled(struct bridging_vlan_args *curr_arg)
return 0;
}
int update_br_vlan_ifname(struct bridging_vlan_args *curr_arg, int status)
static int update_br_vlan_ifname(struct bridging_vlan_args *curr_arg, int status)
{
char ifname_dup[128], *ptr, *baseifname, *ifname, *start, *end;
struct uci_section *vlan_sec = curr_arg->bridge_vlan_sec, *br_sec = curr_arg->bridge_sec;
@ -989,7 +989,7 @@ int get_port_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *in
continue;
check_port_with_ifname(pch, &s);
sprintf(plinker, "%s+%s", section_name(s), pch);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", DMROOT, dm_delim, dm_delim, dm_delim), plinker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), plinker, value);
if (*value == NULL)
*value = "";
dmstrappendstr(p, *value);
@ -1008,13 +1008,13 @@ int get_port_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *in
linker = buf;
}
}
adm_entry_get_linker_param(ctx, dm_print_path("%s%cEthernet%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cEthernet%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
adm_entry_get_linker_param(ctx,dm_print_path("%s%cWiFi%cSSID%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx,dm_print_path("%s%cWiFi%cSSID%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
adm_entry_get_linker_param(ctx, dm_print_path("%s%cATM%cLink%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cATM%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPTM%cLink%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPTM%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
*value = "";
@ -1090,9 +1090,9 @@ int get_vlan_port_vlan_ref(char *refparam, struct dmctx *ctx, void *data, char *
{
char linker[8];
char *name;
dmasprintf(&name,"%s%cBridging%cBridge%c%s%c", DMROOT, dm_delim, dm_delim, dm_delim, ((struct bridging_vlan_args *)data)->br_inst, dm_delim);
dmasprintf(&name,"%s%cBridging%cBridge%c%s%c", dmroot, dm_delim, dm_delim, dm_delim, ((struct bridging_vlan_args *)data)->br_inst, dm_delim);
sprintf(linker,"vlan%s_%s", ((struct bridging_vlan_args *)data)->vlan_port, ((struct bridging_vlan_args *)data)->br_inst);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
return 0;
@ -1102,7 +1102,7 @@ int get_vlan_port_port_ref(char *refparam, struct dmctx *ctx, void *data, char *
{
char *linker;
dmuci_get_value_by_section_string(((struct bridging_vlan_args *)data)->bridge_vlan_sec, "br_port_linker", &linker);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
return 0;

View file

@ -47,8 +47,6 @@ extern DMLEAF tBridgeVlanPortParams[];
extern DMOBJ tBridgePortObj[];
extern DMLEAF tBridgePortStatParams[];
int update_br_vlan_ifname(struct bridging_vlan_args *curr_arg, int status);
int browseBridgeVlanPortInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance);
int browseBridgeVlanInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance);
int browseBridgePortInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance);

View file

@ -750,7 +750,7 @@ int get_dhcp_interface(char *refparam, struct dmctx *ctx, void *data, char *inst
{
char *linker;
linker = dmstrdup(((struct dhcp_args *)data)->interface);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
dmfree(linker);

View file

@ -197,7 +197,7 @@ int get_host_dhcp_client(char *refparam, struct dmctx *ctx, void *data, char *i
{
char *iface, *linker;
dmastrcat(&linker, "linker_dhcp:", ((struct host_args *)data)->key);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDHCPv4%c", DMROOT, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDHCPv4%c", dmroot, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL) {
*value = "";
}
@ -205,7 +205,7 @@ int get_host_dhcp_client(char *refparam, struct dmctx *ctx, void *data, char *i
return 0;
}
char *get_interface_type(char *mac, char *ndev)
static char *get_interface_type(char *mac, char *ndev)
{
json_object *res;
int wlctl_num;

View file

@ -490,8 +490,7 @@ int get_ip_int_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *
dmuci_get_value_by_section_string(port, "mg_port", &mg);
if (strcmp(mg, "true") == 0)
sprintf(linker, "%s+", section_name(port));
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cBridging%cBridge%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
*value = "";
return 0;
@ -514,15 +513,15 @@ int get_ip_int_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *
sprintf(linker, "%s", section_name(((struct ip_args *)data)->ip_sec));
}
}
adm_entry_get_linker_param(ctx, dm_print_path("%s%cATM%cLink%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cATM%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPTM%cLink%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPTM%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
adm_entry_get_linker_param(ctx, dm_print_path("%s%cEthernet%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cEthernet%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cSSID%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cSSID%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPPP%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPPP%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL)
*value = "";
return 0;

View file

@ -64,7 +64,7 @@ int get_nat_interface(char *refparam, struct dmctx *ctx, void *data, char *insta
{
char *linker;
linker = dmstrdup(section_name(((struct uci_section *)data)));
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
dmfree(linker);

View file

@ -203,15 +203,15 @@ int get_ppp_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *ins
{
char *linker;
dmuci_get_value_by_section_string(((struct uci_section *)data), "ifname", &linker);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cATM%cLink%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cATM%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
if (*value == NULL) {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPTM%cLink%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cPTM%cLink%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
}
if (*value == NULL) {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cEthernet%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cEthernet%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
}
if (*value == NULL) {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cSSID%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cSSID%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value);
}
if (*value == NULL)
*value = "";

View file

@ -78,16 +78,7 @@ inline int init_args_ipv4forward(struct routingfwdargs *args, struct uci_section
/*************************************************************************************
**** function related to get_object_router_ipv4forwarding ****
**************************************************************************************/
void ip_to_hex(char *address, char *ret) //TODO Move to the common.c
{
int i;
int ip[4] = {0};
sscanf(address, "%d.%d.%d.%d", &(ip[0]), &(ip[1]), &(ip[2]), &(ip[3]));
sprintf(ret, "%02X%02X%02X%02X", ip[0], ip[1], ip[2], ip[3]);
}
bool is_proute_static(struct proc_routing *proute)
static bool is_proute_static(struct proc_routing *proute)
{
char *mask;
struct uci_section *s;
@ -104,7 +95,7 @@ bool is_proute_static(struct proc_routing *proute)
return false;
}
bool is_cfg_route_active(struct uci_section *s)
static bool is_cfg_route_active(struct uci_section *s)
{
FILE *fp;
char line[MAX_PROC_ROUTING];
@ -134,7 +125,7 @@ bool is_cfg_route_active(struct uci_section *s)
return false;
}
int get_forwarding_last_inst()
static int get_forwarding_last_inst()
{
char *rinst = NULL, *drinst = NULL, *dsinst = NULL, *tmp;
int r = 0, dr = 0, ds = 0, max;
@ -169,7 +160,7 @@ int get_forwarding_last_inst()
return max;
}
char *forwarding_update_instance_alias(int action, char **last_inst, void *argv[])
static char *forwarding_update_instance_alias(int action, char **last_inst, void *argv[])
{
char *instance, *alias;
char buf[8] = {0};
@ -207,7 +198,7 @@ char *forwarding_update_instance_alias(int action, char **last_inst, void *argv[
return instance;
}
struct uci_section *update_route_dynamic_section(struct proc_routing *proute)
static struct uci_section *update_route_dynamic_section(struct proc_routing *proute)
{
struct uci_section *s = NULL;
char *name, *mask;
@ -436,7 +427,7 @@ int get_router_ipv4forwarding_interface_linker_parameter(char *refparam, struct
iface = get_router_ipv4forwarding_interface(ctx, data, instance);
if (iface[0] != '\0') {
dmasprintf(&linker, "%s", iface);
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cIP%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
dmfree(linker);

View file

@ -443,7 +443,7 @@ int get_dsl_link_upstreamnoisemargin(char *refparam, struct dmctx *ctx, void *da
int get_channel_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDSL%cLine%c", DMROOT, dm_delim, dm_delim, dm_delim), ((struct dsl_line_args *)data)->type, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDSL%cLine%c", dmroot, dm_delim, dm_delim, dm_delim), ((struct dsl_line_args *)data)->type, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
return 0;
@ -667,7 +667,7 @@ int set_atm_link_type(char *refparam, struct dmctx *ctx, void *data, char *insta
int get_atm_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
char *linker = "adsl";
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDSL%cChannel%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDSL%cChannel%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
return 0;
@ -676,7 +676,7 @@ int get_atm_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *ins
int get_ptm_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
char *linker = "vdsl";
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDSL%cChannel%c", DMROOT, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cDSL%cChannel%c", dmroot, dm_delim, dm_delim, dm_delim), linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
return 0;

View file

@ -277,13 +277,13 @@ int get_wifi_status (char *refparam, struct dmctx *ctx, void *data, char *instan
return 0;
}
int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct wifi_ssid_args *)data)->wifi_ssid_sec, "ssid", value);
return 0;
}
int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
switch (action) {
case VALUECHECK:
@ -295,7 +295,7 @@ int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance,
return 0;
}
int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
char *wlan_name;
json_object *res;
@ -687,7 +687,7 @@ int get_ssid_statistics_rx_packets(char *refparam, struct dmctx *ctx, void *data
/**************************************************************************
* SET & GET VALUE
***************************************************************************/
int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
char *hidden;
dmuci_get_value_by_section_string(((struct wifi_ssid_args *)data)->wifi_ssid_sec, "hidden", &hidden);
@ -698,7 +698,7 @@ int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *
return 0;
}
int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
bool b;
switch (action) {
@ -718,7 +718,7 @@ int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *
return 0;
}
int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
bool b;
dmuci_get_value_by_section_string(((struct wifi_acp_args *)data)->wifi_acp_sec, "device", value);
@ -732,7 +732,7 @@ int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instanc
return 0;
}
int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
bool b;
char *device;
@ -1132,13 +1132,13 @@ int get_access_point_associative_device_active(char *refparam, struct dmctx *ctx
* SET AND GET ALIAS
***************************************************************************/
int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
static int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
dmuci_get_value_by_section_string(((struct wifi_radio_args *)data)->wifi_radio_sec, "radioalias", value);
return 0;
}
int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
static int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
switch (action) {
case VALUECHECK:
@ -1190,7 +1190,7 @@ int set_access_point_alias(char *refparam, struct dmctx *ctx, void *data, char *
int get_ssid_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
if (((struct wifi_ssid_args *)data)->linker[0] != '\0') {
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cRadio%c", DMROOT, dm_delim, dm_delim, dm_delim), ((struct wifi_ssid_args *)data)->linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cRadio%c", dmroot, dm_delim, dm_delim, dm_delim), ((struct wifi_ssid_args *)data)->linker, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
}
@ -1216,7 +1216,7 @@ int set_ssid_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *in
int get_ap_ssid_ref(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
{
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cSSID%c", DMROOT, dm_delim, dm_delim, dm_delim), ((struct wifi_acp_args *)data)->ifname, value); // MEM WILL BE FREED IN DMMEMCLEAN
adm_entry_get_linker_param(ctx, dm_print_path("%s%cWiFi%cSSID%c", dmroot, dm_delim, dm_delim, dm_delim), ((struct wifi_acp_args *)data)->ifname, value); // MEM WILL BE FREED IN DMMEMCLEAN
if (*value == NULL)
*value = "";
return 0;

View file

@ -60,7 +60,7 @@ int delete_wifi_ssid(char *refparam, struct dmctx *ctx, void *data, char *instan
int get_wifi_bandsteering_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int set_wifi_bandsteering_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_radio_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_radio_status(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_radio_max_bit_rate(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
@ -81,9 +81,9 @@ int get_radio_statistics_rx_packets(char *refparam, struct dmctx *ctx, void *dat
int get_ssid_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wifi_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wifi_status(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_ssid_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wlan_bssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_ssid_statistics_tx_bytes(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_ssid_statistics_rx_bytes(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_ssid_statistics_tx_packets(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
@ -92,8 +92,8 @@ int get_access_point_alias(char *refparam, struct dmctx *ctx, void *data, char *
int get_wifi_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wifi_status(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_ap_ssid_ref(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
static int get_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_access_point_total_associations(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_access_point_maxassoc(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_access_point_control_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
@ -111,7 +111,7 @@ int get_linker_Wifi_Radio(char *refparam, struct dmctx *ctx, void *data, char *i
int get_linker_Wifi_Ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value);
int get_linker_associated_device(char *refparam, struct dmctx *dmctx, void *data, char *instance, char **linker);
int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_radio_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_radio_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_radio_max_bit_rate(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_radio_operating_channel_bandwidth(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
@ -122,11 +122,11 @@ int set_radio_channel(char *refparam, struct dmctx *ctx, void *data, char *insta
int set_radio_auto_channel_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_ssid_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wifi_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_wlan_ssid(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_ssid_lower_layer(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_access_point_alias(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wifi_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_wlan_ssid_advertisement_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_access_point_maxassoc(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_access_point_control_enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_access_point_security_modes(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
@ -137,5 +137,5 @@ int set_access_point_security_rekey_interval(char *refparam, struct dmctx *ctx,
int set_access_point_security_radius_ip_address(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_access_point_security_radius_server_port(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_access_point_security_radius_secret(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
static int set_wmm_enabled(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action);
#endif

View file

@ -486,7 +486,7 @@ int cwmp_root_cause_event_bootstrap (struct cwmp *cwmp)
pthread_mutex_unlock (&(cwmp->mutex_session_queue));
return CWMP_MEM_ERR;
}
sprintf(buf, "%sManagementServer.URL", DMROOT);
sprintf(buf, "%sManagementServer.URL", dmroot);
add_dm_parameter_tolist(&(event_container->head_dm_parameter),
buf, NULL, NULL);
cwmp_save_event_container (cwmp,event_container);

12
xml.c
View file

@ -3137,7 +3137,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
du_instance = strdup(add_softwaremodules_deploymentunit(p->uuid, p->url, p->username, p->password, package_name, package_version));
dmuci_commit();
cwmp_dm_ctx_clean(cwmp, &dmctx);
sprintf(du_ref,"%sSoftwareModules.%s.", DMROOT, du_instance);
sprintf(du_ref,"%sSoftwareModules.%s.", dmroot, du_instance);
res->uuid = strdup(p->uuid);
res->du_ref = strdup(du_ref);
res->current_state = strdup("Installed");
@ -3183,7 +3183,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
{
cwmp_dm_ctx_init(cwmp, &dmctx);
du_instance = get_softwaremodules_instance(p->uuid);
sprintf(du_ref,"%sSoftwareModules.%s.", DMROOT, du_instance);
sprintf(du_ref,"%sSoftwareModules.%s.", dmroot, du_instance);
res->uuid = strdup(p->uuid);
res->du_ref = strdup(du_ref);
FREE(du_instance);
@ -3199,7 +3199,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
{
res->uuid = strdup(p->uuid);
du_instance = get_softwaremodules_instance(p->uuid);
sprintf(du_ref,"%sSoftwareModules.%s.", DMROOT, du_instance);
sprintf(du_ref,"%sSoftwareModules.%s.", dmroot, du_instance);
res->du_ref = strdup(du_ref);
FREE(du_instance);
res->version = strdup(p->version);
@ -3258,7 +3258,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
}
else
res->uuid = strdup(p->uuid);
sprintf(du_ref,"%sSoftwareModules.%s.", DMROOT, du_instance);
sprintf(du_ref,"%sSoftwareModules.%s.", dmroot, du_instance);
res->du_ref = strdup(du_ref);
FREE(du_instance);
res->current_state = strdup("Installed");
@ -3275,7 +3275,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
}
else
res->uuid = strdup(p->uuid);
sprintf(du_ref,"%sSoftwareModules.%s.", DMROOT, du_instance);
sprintf(du_ref,"%sSoftwareModules.%s.", dmroot, du_instance);
res->du_ref = strdup(du_ref);
FREE(du_instance);
res->current_state = strdup("Failed");
@ -3304,7 +3304,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
}
}
free(fault_code);
sprintf(du_ref,"%sSoftwareModules.%s.", DMROOT, du_instance);
sprintf(du_ref,"%sSoftwareModules.%s.", dmroot, du_instance);
if (p->uuid == NULL || (p->uuid)[0] == '\0') {
res->uuid = strdup(cur_url);
FREE(cur_url);