mirror of
https://dev.iopsys.eu/bbf/icwmp.git
synced 2026-03-11 03:28:31 +01:00
Update managementserver file
This commit is contained in:
parent
152bf287e3
commit
20471b058a
4 changed files with 91 additions and 55 deletions
|
|
@ -16,6 +16,19 @@
|
|||
#include <stdlib.h>
|
||||
#include "dmcwmp.h"
|
||||
|
||||
void compress_spaces(char *str) //REMOVE TO DMCOMMON
|
||||
{
|
||||
char *dst = str;
|
||||
for (; *str; ++str) {
|
||||
*dst++ = *str;
|
||||
if (isspace(*str)) {
|
||||
do ++str;
|
||||
while (isspace(*str));
|
||||
--str;
|
||||
}
|
||||
}
|
||||
*dst = '\0';
|
||||
}
|
||||
char *cut_fx(char *str, char *delimiter, int occurence)
|
||||
{
|
||||
int i = 1;
|
||||
|
|
|
|||
|
|
@ -22,5 +22,6 @@ do { \
|
|||
char *cut_fx(char *str, char *delimiter, int occurence);
|
||||
char *get_pid(char *pname);
|
||||
int check_file(char *path);
|
||||
void compress_spaces(char *str);
|
||||
|
||||
#endif
|
||||
|
|
@ -11,11 +11,14 @@
|
|||
#include <ctype.h>
|
||||
#include <uci.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "cwmp.h"
|
||||
#include "ubus.h"
|
||||
#include "dmcwmp.h"
|
||||
#include "dmuci.h"
|
||||
#include "dmubus.h"
|
||||
#include "managementserver.h"
|
||||
#include "dmcommon.h"
|
||||
#include "managementserver.h"
|
||||
|
||||
int get_management_server_url(char *refparam, struct dmctx *ctx, char **value)
|
||||
{
|
||||
|
|
@ -23,23 +26,16 @@ int get_management_server_url(char *refparam, struct dmctx *ctx, char **value)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int set_management_server()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int set_management_server_url(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
bool b;
|
||||
char *stat = "";
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
if (string_to_bool(value, &b))
|
||||
return FAULT_9007;
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "dhcp_discovery", "disable");
|
||||
set_management_server(); //TODO BY IBH
|
||||
dmuci_set_value("cwmp", "acs", "dhcp_discovery", "disable");
|
||||
dmuci_set_value("cwmp", "acs", "url", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -53,13 +49,25 @@ int get_management_server_username(char *refparam, struct dmctx *ctx, char **val
|
|||
|
||||
int set_management_server_username(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server(); //TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "userid", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int set_management_server_passwd(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server(); //TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "passwd", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +79,13 @@ int get_management_server_key(char *refparam, struct dmctx *ctx, char **value)
|
|||
|
||||
int set_management_server_key(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server(); //TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "ParameterKey", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -83,7 +97,13 @@ int get_management_server_periodic_inform_enable(char *refparam, struct dmctx *c
|
|||
|
||||
int set_management_server_periodic_inform_enable(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server();//TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "periodic_inform_enable", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -95,26 +115,27 @@ int get_management_server_periodic_inform_interval(char *refparam, struct dmctx
|
|||
|
||||
int set_management_server_periodic_inform_interval(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server();//TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "periodic_inform_interval", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*get_management_server_periodic_inform_time() {
|
||||
local val=""
|
||||
val=`$UCI_GET cwmp.acs.periodic_inform_time`
|
||||
if [ "$val" != "0" -a "$val" != "" ];then
|
||||
val=`date -d @$val +"%Y-%m-%dT%H:%M:%S.000Z"`
|
||||
else
|
||||
val="0001-01-01T00:00:00Z"
|
||||
fi
|
||||
echo "$val"
|
||||
}
|
||||
*/
|
||||
int get_management_server_periodic_inform_time(char *refparam, struct dmctx *ctx, char **value)
|
||||
{
|
||||
time_t time_value;
|
||||
|
||||
dmuci_get_option_value_string("cwmp", "acs", "periodic_inform_time", value);
|
||||
if ((*value)[0] != '0' && (*value)[0] != '\0') {
|
||||
*value = dmstrdup("TOCODE");
|
||||
time_value = atoi(*value);
|
||||
dmfree(*value);
|
||||
char s_now[sizeof "AAAA-MM-JJTHH:MM:SS.000Z"];
|
||||
strftime(s_now, sizeof s_now, "%Y-%m-%dT%H:%M:%S.000Z", localtime(&time_value));
|
||||
*value = dmstrdup(s_now);
|
||||
}
|
||||
else {
|
||||
dmfree(*value);
|
||||
|
|
@ -125,7 +146,13 @@ int get_management_server_periodic_inform_time(char *refparam, struct dmctx *ctx
|
|||
|
||||
int set_management_server_periodic_inform_time(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server(); //TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "periodic_inform_time", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -144,47 +171,43 @@ int get_management_server_connection_request_username(char *refparam, struct dmc
|
|||
|
||||
int set_management_server_connection_request_username(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server();//TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "userid", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int set_management_server_connection_request_passwd(char *refparam, struct dmctx *ctx, int action, char *value)
|
||||
{
|
||||
set_management_server();//TODO BY IBH
|
||||
switch (action) {
|
||||
VALUECHECK:
|
||||
return 0;
|
||||
VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "passwd", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
get_cache_InternetGatewayDevice_ManagementServer() {
|
||||
get_object_cache_generic "InternetGatewayDevice.ManagementServer." "0" "0"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.URL" "1" "\$UCI_GET cwmp.acs.url" "set_management_server_url \$val" "" "cwmp.acs.url"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.Username" "1" "\$UCI_GET cwmp.acs.userid" "set_management_server cwmp.acs.userid \$val" "" "cwmp.acs.userid"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.Password" "1" "" "set_management_server cwmp.acs.passwd \$val" "" "" "" "" "" "" "1"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ParameterKey" "1" "\$UCI_GET cwmp.acs.ParameterKey" "set_management_server cwmp.acs.ParameterKey \$val" "" "cwmp.acs.ParameterKey" "" "0" "1"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.PeriodicInformEnable" "1" "\$UCI_GET cwmp.acs.periodic_inform_enable" "set_management_server cwmp.acs.periodic_inform_enable \$val" "" "cwmp.acs.periodic_inform_enable" "xsd:boolean"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.PeriodicInformInterval" "1" "\$UCI_GET cwmp.acs.periodic_inform_interval" "set_management_server cwmp.acs.periodic_inform_interval \$val" "" "cwmp.acs.periodic_inform_interval" "xsd:unsignedInt"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.PeriodicInformTime" "1" "get_management_server_periodic_inform_time" "set_management_server_periodic_inform_time \$val" "" "cwmp.acs.periodic_inform_time" "xsd:dateTime"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ConnectionRequestURL" "0" "get_management_server_connection_request_url" "" "1" "" "" "0" "1" "2"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ConnectionRequestUsername" "1" "\$UCI_GET cwmp.cpe.userid" "set_management_server cwmp.cpe.userid \$val" "" "cwmp.cpe.userid"
|
||||
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ConnectionRequestPassword" "1" "" "set_management_server cwmp.cpe.passwd \$val" "" "" "" "" "" "" "1"
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
int entry_method_root_ManagementServer(struct dmctx *ctx)
|
||||
{
|
||||
IF_MATCH(ctx, DMROOT"ManagementServer.") {
|
||||
DMOBJECT(DMROOT"ManagementServer.", ctx, "0", 0, NULL, NULL, NULL);
|
||||
DMPARAM("URL", ctx, "1", get_management_server_url, set_management_server_url, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("Username", ctx, "1", get_management_server_username, set_management_server_username, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("Password", ctx, "1", get_empty, set_management_server_passwd, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("URL", ctx, "1", get_management_server_url, set_management_server_url, "", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("Username", ctx, "1", get_management_server_username, set_management_server_username, "", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("Password", ctx, "1", get_empty, set_management_server_passwd, "", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("ParameterKey", ctx, "1", get_management_server_key, set_management_server_key, "", 1, 0, UNDEF, NULL);
|
||||
DMPARAM("PeriodicInformEnable", ctx, "1", get_management_server_periodic_inform_enable, set_management_server_periodic_inform_enable, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("PeriodicInformInterval", ctx, "1", get_management_server_periodic_inform_interval, set_management_server_periodic_inform_interval, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("PeriodicInformTime", ctx, "1", get_management_server_periodic_inform_time, set_management_server_periodic_inform_time, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("PeriodicInformInterval", ctx, "1", get_management_server_periodic_inform_interval, set_management_server_periodic_inform_interval, "xsd:unsignedInt", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("PeriodicInformTime", ctx, "1", get_management_server_periodic_inform_time, set_management_server_periodic_inform_time, "xsd:dateTime", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("ConnectionRequestURL", ctx, "0", get_management_server_connection_request_url, NULL, "", 1, 0, UNDEF, NULL);
|
||||
DMPARAM("ConnectionRequestUsername", ctx, "1", get_management_server_connection_request_username, set_management_server_connection_request_username, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("ConnectionRequestPassword", ctx, "1", get_empty, set_management_server_connection_request_passwd, "xsd:boolean", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("ConnectionRequestUsername", ctx, "1", get_management_server_connection_request_username, set_management_server_connection_request_username, "", 0, 0, UNDEF, NULL);
|
||||
DMPARAM("ConnectionRequestPassword", ctx, "1", get_empty, set_management_server_connection_request_passwd, "", 0, 0, UNDEF, NULL);
|
||||
return 0;
|
||||
}
|
||||
return FAULT_9005;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
#define __MANAGEMENT_SERVER_H
|
||||
|
||||
int get_management_server_url(char *refparam, struct dmctx *ctx, char **value);
|
||||
int set_management_server();
|
||||
int set_management_server_url(char *refparam, struct dmctx *ctx, int action, char *value);
|
||||
int get_management_server_username(char *refparam, struct dmctx *ctx, char **value);
|
||||
int set_management_server_username(char *refparam, struct dmctx *ctx, int action, char *value);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue