|
@@ -753,6 +753,123 @@ static int proc_sensor(dictionary *dic, int op, sensor_th_t sensor[])
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+static int proc_snmp_n(dictionary *dic, int op, snmp_data_t *snmp)
|
|
|
|
|
+{
|
|
|
|
|
+
|
|
|
|
|
+ int r=0;
|
|
|
|
|
+ char temp[100];
|
|
|
|
|
+ char *p,*token=NULL;
|
|
|
|
|
+ if(op==PARAS_CHECK) {
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }else if (op==PARAS_CREATE) {
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }else if (op==PARAS_WRITE) {
|
|
|
|
|
+ r = proc_snmp_n(dic, PARAS_CHECK, snmp);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ token = "snmp:mode";
|
|
|
|
|
+ if(op==PARAS_READ) {
|
|
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
|
|
+ if(r==-1) {
|
|
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ snmp->mode = r;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ sprintf(temp, "%d", snmp->mode);
|
|
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ token = "snmp:version";
|
|
|
|
|
+ if(op==PARAS_READ) {
|
|
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
|
|
+ if(r==-1) {
|
|
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ snmp->version = r;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ sprintf(temp, "%d", snmp->version);
|
|
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ token = "snmp:public";
|
|
|
|
|
+ if(op==PARAS_READ) {
|
|
|
|
|
+ const char * str = iniparser_getstring(dic, token,NULL);
|
|
|
|
|
+ if(str == NULL) {
|
|
|
|
|
+ LOGE("___ iniparser_getstring %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ memcpy(snmp->publics,str,strlen(str));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ sprintf(temp, "%s", snmp->publics);
|
|
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ token = "snmp:trap_mode";
|
|
|
|
|
+ if(op==PARAS_READ) {
|
|
|
|
|
+ r = iniparser_getint(dic, token, -1);
|
|
|
|
|
+ if(r==-1) {
|
|
|
|
|
+ LOGE("___ iniparser_getint %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ snmp->trapmode = r;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ sprintf(temp, "%d", snmp->trapmode);
|
|
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ token = "snmp:nms_ip";
|
|
|
|
|
+ if(op==PARAS_READ) {
|
|
|
|
|
+ const char * str = iniparser_getstring(dic, token,NULL);
|
|
|
|
|
+ if(str == NULL) {
|
|
|
|
|
+ LOGE("___ iniparser_getstring %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ memcpy(snmp->nms_ip,str,strlen(str));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ sprintf(temp, "%s", snmp->nms_ip);
|
|
|
|
|
+ r = iniparser_set(dic, token, temp);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ LOGE("___ iniparser_set %s failed\n", token);
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ r = 0;
|
|
|
|
|
+ if(op==PARAS_READ) {
|
|
|
|
|
+ r = proc_snmp_n(dic, PARAS_CHECK, snmp);
|
|
|
|
|
+ }
|
|
|
|
|
+ return r;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
static int proc_net(dictionary *dic, int op,network_data_t *net)
|
|
static int proc_net(dictionary *dic, int op,network_data_t *net)
|
|
|
{
|
|
{
|
|
|
int r=0;
|
|
int r=0;
|
|
@@ -872,7 +989,7 @@ static int proc_net(dictionary *dic, int op,network_data_t *net)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else {
|
|
else {
|
|
|
- sprintf(temp, "%s", net->dns1);
|
|
|
|
|
|
|
+ sprintf(temp, "%s", net->dns2);
|
|
|
r = iniparser_set(dic, token, temp);
|
|
r = iniparser_set(dic, token, temp);
|
|
|
if(r) {
|
|
if(r) {
|
|
|
LOGE("___ iniparser_set %s failed\n", token);
|
|
LOGE("___ iniparser_set %s failed\n", token);
|
|
@@ -1136,14 +1253,20 @@ quit:
|
|
|
iniparser_freedict(dic);
|
|
iniparser_freedict(dic);
|
|
|
return r;
|
|
return r;
|
|
|
}
|
|
}
|
|
|
-static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+static int proc_snmp(char *path, int op, snmp_data_t *snmp)
|
|
|
{
|
|
{
|
|
|
int r=0,len=0;
|
|
int r=0,len=0;
|
|
|
char temp[100];
|
|
char temp[100];
|
|
|
char *p,*token=NULL;
|
|
char *p,*token=NULL;
|
|
|
dictionary *dic=NULL;
|
|
dictionary *dic=NULL;
|
|
|
- SNMPManager snmp2,*psnmp=snmp;
|
|
|
|
|
- GlobalDeviceManager *dm=get_dm();
|
|
|
|
|
|
|
+ snmp_data_t *psnmp=snmp;
|
|
|
|
|
+ //GlobalDeviceManager *dm=get_dm();
|
|
|
|
|
|
|
|
switch(op) {
|
|
switch(op) {
|
|
|
case PARAS_CHECK:
|
|
case PARAS_CHECK:
|
|
@@ -1154,7 +1277,7 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if(psnmp->mode==1) {
|
|
if(psnmp->mode==1) {
|
|
|
- if(!psnmp->public[0]) {
|
|
|
|
|
|
|
+ if(!psnmp->publics[0]) {
|
|
|
LOGE("___ check snmp, no public input\n");
|
|
LOGE("___ check snmp, no public input\n");
|
|
|
r = -1;
|
|
r = -1;
|
|
|
}
|
|
}
|
|
@@ -1163,17 +1286,17 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
LOGE("___ check snmp, trapmode %d is wrong, correct value is 0/1\n", psnmp->trapmode);
|
|
LOGE("___ check snmp, trapmode %d is wrong, correct value is 0/1\n", psnmp->trapmode);
|
|
|
r = -1;
|
|
r = -1;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+#if 0
|
|
|
if(psnmp->version>=1 && sys_ip_check(psnmp->nmsIP)==IP_ERR) {
|
|
if(psnmp->version>=1 && sys_ip_check(psnmp->nmsIP)==IP_ERR) {
|
|
|
LOGE("___ check snmp, nms ip is invalid\n");
|
|
LOGE("___ check snmp, nms ip is invalid\n");
|
|
|
r = -1;
|
|
r = -1;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+#endif
|
|
|
if(psnmp->version<0 || psnmp->version>2) {
|
|
if(psnmp->version<0 || psnmp->version>2) {
|
|
|
LOGE("___ check snmp, version %d is wrong, correct value is 0/1/2\n");
|
|
LOGE("___ check snmp, version %d is wrong, correct value is 0/1/2\n");
|
|
|
r = -1;
|
|
r = -1;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+#if 0
|
|
|
if(psnmp->version==2) {
|
|
if(psnmp->version==2) {
|
|
|
|
|
|
|
|
if(!psnmp->crypt.user[0]) {
|
|
if(!psnmp->crypt.user[0]) {
|
|
@@ -1231,6 +1354,7 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
r = -1;
|
|
r = -1;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+#endif
|
|
|
}
|
|
}
|
|
|
return r;
|
|
return r;
|
|
|
}
|
|
}
|
|
@@ -1246,44 +1370,46 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
|
|
|
|
|
fprintf(fp, "[snmp]\n");
|
|
fprintf(fp, "[snmp]\n");
|
|
|
fprintf(fp, "mode = \"%d\"\n", snmp->mode);
|
|
fprintf(fp, "mode = \"%d\"\n", snmp->mode);
|
|
|
- fprintf(fp, "version = \"%d\"\n", snmp->version+1);
|
|
|
|
|
- fprintf(fp, "public = \"%s\"\n", snmp->public);
|
|
|
|
|
|
|
+ fprintf(fp, "version = \"%d\"\n", snmp->version);
|
|
|
|
|
+ fprintf(fp, "public = \"%s\"\n", snmp->publics);
|
|
|
fprintf(fp, "trap_mode = \"%d\"\n", snmp->trapmode);
|
|
fprintf(fp, "trap_mode = \"%d\"\n", snmp->trapmode);
|
|
|
- fprintf(fp, "nms_ip = \"%s\"\n", snmp->nmsIP);
|
|
|
|
|
|
|
+ fprintf(fp, "nms_ip = \"%s\"\n", snmp->nms_ip);
|
|
|
|
|
+#if 0
|
|
|
fprintf(fp, "crypt.user = \"%s\"\n", snmp->crypt.user);
|
|
fprintf(fp, "crypt.user = \"%s\"\n", snmp->crypt.user);
|
|
|
fprintf(fp, "crypt.auth.proto = \"%s\"\n", snmp->crypt.auth.alg);
|
|
fprintf(fp, "crypt.auth.proto = \"%s\"\n", snmp->crypt.auth.alg);
|
|
|
fprintf(fp, "crypt.auth.password = \"%s\"\n", snmp->crypt.auth.passwd);
|
|
fprintf(fp, "crypt.auth.password = \"%s\"\n", snmp->crypt.auth.passwd);
|
|
|
fprintf(fp, "crypt.priv.proto = \"%s\"\n", snmp->crypt.priv.alg);
|
|
fprintf(fp, "crypt.priv.proto = \"%s\"\n", snmp->crypt.priv.alg);
|
|
|
fprintf(fp, "crypt.priv.password = \"%s\"\n", snmp->crypt.priv.passwd);
|
|
fprintf(fp, "crypt.priv.password = \"%s\"\n", snmp->crypt.priv.passwd);
|
|
|
- fprintf(fp, "nms_ip = \"%s\"\n", snmp->nmsIP);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ fprintf(fp, "nms_ip = \"%s\"\n", snmp->nms_ip);
|
|
|
|
|
+#endif
|
|
|
fprintf(fp, "\n");
|
|
fprintf(fp, "\n");
|
|
|
|
|
|
|
|
fclose(fp);
|
|
fclose(fp);
|
|
|
- return 0;
|
|
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
case PARAS_READ:
|
|
case PARAS_READ:
|
|
|
{
|
|
{
|
|
|
- char ver[32];
|
|
|
|
|
|
|
+ // char ver[32];
|
|
|
|
|
|
|
|
- psnmp = &snmp2;
|
|
|
|
|
|
|
+ //psnmp = &snmp2;
|
|
|
dic = iniparser_load(path); if(!dic) return -1;
|
|
dic = iniparser_load(path); if(!dic) return -1;
|
|
|
|
|
|
|
|
- memset(psnmp, 0, sizeof(SNMPManager));
|
|
|
|
|
|
|
+ memset(psnmp, 0, sizeof(snmp_data_t));
|
|
|
r = ini_rw(dic, "snmp:mode", &psnmp->mode, sizeof(psnmp->mode), TYPE_INT, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:mode", &psnmp->mode, sizeof(psnmp->mode), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
- r = ini_rw(dic, "snmp:public", psnmp->public, sizeof(psnmp->public), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
- r = ini_rw(dic, "snmp:version", ver, sizeof(ver), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
- if(strcmp(ver, "V1")==0) psnmp->version = 0;
|
|
|
|
|
- else if(strcmp(ver, "V2c")==0) psnmp->version = 1;
|
|
|
|
|
- else if(strcmp(ver, "V3")==0) psnmp->version = 2;
|
|
|
|
|
- else {r=-1; goto quit;}
|
|
|
|
|
-
|
|
|
|
|
- r = ini_rw(dic, "snmp:trap_mode", &psnmp->trapmode, sizeof(ver), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
|
|
- if(psnmp->version>=1) {
|
|
|
|
|
- r = ini_rw(dic, "snmp:nms_ip", psnmp->nmsIP, sizeof(ver), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ r = ini_rw(dic, "snmp:public", psnmp->publics, sizeof(psnmp->publics), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
+ r = ini_rw(dic, "snmp:version", &psnmp->version, sizeof(psnmp->version), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
|
|
+// if(strcmp(ver, "V1")==0) psnmp->version = 0;
|
|
|
|
|
+// else if(strcmp(ver, "V2c")==0) psnmp->version = 1;
|
|
|
|
|
+// else if(strcmp(ver, "V3")==0) psnmp->version = 2;
|
|
|
|
|
+// else {r=-1; goto quit;}
|
|
|
|
|
+
|
|
|
|
|
+ r = ini_rw(dic, "snmp:trap_mode", &psnmp->trapmode, sizeof(psnmp->trapmode), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
|
|
+ //if(psnmp->version>=1) {
|
|
|
|
|
+ r = ini_rw(dic, "snmp:nms_ip", psnmp->nms_ip, sizeof(psnmp->nms_ip), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
+ //}
|
|
|
|
|
+#if 0
|
|
|
if(psnmp->version==2) {
|
|
if(psnmp->version==2) {
|
|
|
r = ini_rw(dic, "snmp:crypt.user", psnmp->crypt.user, sizeof(psnmp->crypt.user), TYPE_STR, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:crypt.user", psnmp->crypt.user, sizeof(psnmp->crypt.user), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
r = ini_rw(dic, "snmp:crypt.auth.proto", psnmp->crypt.auth.alg, sizeof(psnmp->crypt.auth.alg), TYPE_STR, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:crypt.auth.proto", psnmp->crypt.auth.alg, sizeof(psnmp->crypt.auth.alg), TYPE_STR, op, 1); if(r) goto quit;
|
|
@@ -1296,38 +1422,42 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
|
|
|
|
|
r = ini_rw(dic, "snmp:crypt.priv.password", psnmp->crypt.priv.passwd, sizeof(psnmp->crypt.priv.passwd), TYPE_STR, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:crypt.priv.password", psnmp->crypt.priv.passwd, sizeof(psnmp->crypt.priv.passwd), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+#endif
|
|
|
r = proc_snmp(path, PARAS_CHECK, psnmp);
|
|
r = proc_snmp(path, PARAS_CHECK, psnmp);
|
|
|
if(r==0) {
|
|
if(r==0) {
|
|
|
|
|
+#if 0
|
|
|
//r = dev_clear_table(dm->db, TAB_ID_SNMP); if(r) goto quit;
|
|
//r = dev_clear_table(dm->db, TAB_ID_SNMP); if(r) goto quit;
|
|
|
r = dev_update_snmp_info(dm->db, 0, psnmp); if(r) goto quit;
|
|
r = dev_update_snmp_info(dm->db, 0, psnmp); if(r) goto quit;
|
|
|
|
|
|
|
|
extern int snmp_config(SNMPManager *m, int quit);
|
|
extern int snmp_config(SNMPManager *m, int quit);
|
|
|
snmp_config(psnmp, 0);
|
|
snmp_config(psnmp, 0);
|
|
|
|
|
+#endif
|
|
|
|
|
+ return 0;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
case PARAS_WRITE:
|
|
case PARAS_WRITE:
|
|
|
{
|
|
{
|
|
|
- char ver[32];
|
|
|
|
|
-
|
|
|
|
|
- psnmp = &snmp2;
|
|
|
|
|
- r = dev_get_snmp_info(dm->db, psnmp); if(r) return -1;
|
|
|
|
|
|
|
+ //char ver[32];
|
|
|
|
|
+
|
|
|
|
|
+ //psnmp = &snmp2;
|
|
|
|
|
+ dic = iniparser_load(path); if(!dic) return -1;
|
|
|
|
|
+ //r = dev_get_snmp_info(dm->db, psnmp); if(r) return -1;
|
|
|
r = proc_snmp(path, PARAS_CHECK, psnmp); if(r) return -1;
|
|
r = proc_snmp(path, PARAS_CHECK, psnmp); if(r) return -1;
|
|
|
- dic = dictionary_new(0); if(r) return -1;
|
|
|
|
|
|
|
+ //dic = dictionary_new(0); if(r) return -1;
|
|
|
|
|
|
|
|
r = ini_rw(dic, "snmp:mode", &psnmp->mode, sizeof(psnmp->mode), TYPE_INT, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:mode", &psnmp->mode, sizeof(psnmp->mode), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
- r = ini_rw(dic, "snmp:public", psnmp->public, sizeof(psnmp->public), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
-
|
|
|
|
|
- if(psnmp->version==0) strcpy(ver, "V1");
|
|
|
|
|
- else if(psnmp->version==1) strcpy(ver, "V2c");
|
|
|
|
|
- else if(psnmp->version==2) strcpy(ver, "V3");
|
|
|
|
|
- r = ini_rw(dic, "snmp:version", ver, sizeof(ver), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
|
|
+ r = ini_rw(dic, "snmp:public", psnmp->publics, sizeof(psnmp->publics), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
|
|
|
- r = ini_rw(dic, "snmp:trap_mode", &psnmp->trapmode, sizeof(ver), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
|
|
- r = ini_rw(dic, "snmp:nms_ip", psnmp->nmsIP, sizeof(ver), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
|
|
+ //if(psnmp->version==0) strcpy(ver, "V1");
|
|
|
|
|
+ //else if(psnmp->version==1) strcpy(ver, "V2c");
|
|
|
|
|
+ // else if(psnmp->version==2) strcpy(ver, "V3");
|
|
|
|
|
+ r = ini_rw(dic, "snmp:version", &psnmp->version, sizeof(psnmp->version), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
|
|
|
|
|
|
|
+ r = ini_rw(dic, "snmp:trap_mode", &psnmp->trapmode, sizeof(psnmp->trapmode), TYPE_INT, op, 1); if(r) goto quit;
|
|
|
|
|
+ r = ini_rw(dic, "snmp:nms_ip", psnmp->nms_ip, sizeof(psnmp->nms_ip), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
|
|
+#if 0
|
|
|
if(psnmp->version==2) {
|
|
if(psnmp->version==2) {
|
|
|
r = ini_rw(dic, "snmp:crypt.user", psnmp->crypt.user, sizeof(psnmp->crypt.user), TYPE_STR, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:crypt.user", psnmp->crypt.user, sizeof(psnmp->crypt.user), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
r = ini_rw(dic, "snmp:crypt.auth.proto", psnmp->crypt.auth.alg, sizeof(psnmp->crypt.auth.alg), TYPE_STR, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:crypt.auth.proto", psnmp->crypt.auth.alg, sizeof(psnmp->crypt.auth.alg), TYPE_STR, op, 1); if(r) goto quit;
|
|
@@ -1339,18 +1469,21 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
r = ini_rw(dic, "snmp:crypt.priv.proto", psnmp->crypt.priv.alg, sizeof(psnmp->crypt.priv.alg), TYPE_STR, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:crypt.priv.proto", psnmp->crypt.priv.alg, sizeof(psnmp->crypt.priv.alg), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
r = ini_rw(dic, "snmp:crypt.priv.password", psnmp->crypt.priv.passwd, sizeof(psnmp->crypt.priv.passwd), TYPE_STR, op, 1); if(r) goto quit;
|
|
r = ini_rw(dic, "snmp:crypt.priv.password", psnmp->crypt.priv.passwd, sizeof(psnmp->crypt.priv.passwd), TYPE_STR, op, 1); if(r) goto quit;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
r = ini_dump(path, dic);
|
|
r = ini_dump(path, dic);
|
|
|
|
|
+#endif
|
|
|
|
|
+ //iniparser_freedict(dic);
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
default:
|
|
|
return -1;
|
|
return -1;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
quit:
|
|
quit:
|
|
|
- iniparser_freedict(dic);
|
|
|
|
|
return r;
|
|
return r;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+#if 0
|
|
|
static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
|
|
static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
|
|
|
{
|
|
{
|
|
|
char *p;
|
|
char *p;
|
|
@@ -3383,6 +3516,10 @@ static dictionary* ini_load(char *path, paras_data_t *info)
|
|
|
if(r) {
|
|
if(r) {
|
|
|
LOGE("proc_net failed\n");
|
|
LOGE("proc_net failed\n");
|
|
|
}
|
|
}
|
|
|
|
|
+ r = proc_snmp_n(dic, PARAS_READ, &info->snmp);
|
|
|
|
|
+ if(r){
|
|
|
|
|
+ LOGE("proc_snmp failed\n");
|
|
|
|
|
+ }
|
|
|
return dic;
|
|
return dic;
|
|
|
}
|
|
}
|
|
|
static int ini_check(char *path)
|
|
static int ini_check(char *path)
|
|
@@ -3464,7 +3601,14 @@ static int ini_reset(paras_handle_t *h)
|
|
|
fprintf(fp, "dns2 = \"%s\"\n", p->netwk.dns2);
|
|
fprintf(fp, "dns2 = \"%s\"\n", p->netwk.dns2);
|
|
|
fprintf(fp, "\n");
|
|
fprintf(fp, "\n");
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ fprintf(fp, "[snmp]\n");
|
|
|
|
|
+ fprintf(fp, "mode = \"%d\"\n", p->snmp.mode);
|
|
|
|
|
+ fprintf(fp, "version = \"%d\"\n", p->snmp.version);
|
|
|
|
|
+ fprintf(fp, "public = \"%s\"\n", p->snmp.publics);
|
|
|
|
|
+ fprintf(fp, "trap_mode = \"%d\"\n", p->snmp.trapmode);
|
|
|
|
|
+ fprintf(fp, "nms_ip = \"%s\"\n", p->snmp.nms_ip);
|
|
|
|
|
+ fprintf(fp, "\n");
|
|
|
|
|
+
|
|
|
fclose(fp);
|
|
fclose(fp);
|
|
|
if(h->dic) {
|
|
if(h->dic) {
|
|
|
iniparser_freedict(h->dic);
|
|
iniparser_freedict(h->dic);
|
|
@@ -3493,7 +3637,17 @@ static int ini_save(paras_handle_t *h)
|
|
|
LOGE("___ini_w_modbus failed\n");
|
|
LOGE("___ini_w_modbus failed\n");
|
|
|
return -1;
|
|
return -1;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ r= proc_net(h->dic, PARAS_WRITE, &h->paras.netwk);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ LOGE("___ini_w_net failed\n");
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
|
|
+ r = proc_snmp_n(h->dic,PARAS_WRITE,&h->paras.snmp);
|
|
|
|
|
+ if(r) {
|
|
|
|
|
+ LOGE("___ini_w_snmp failed\n");
|
|
|
|
|
+ return -1;
|
|
|
|
|
+ }
|
|
|
FILE *fp=fopen(h->path, "w");
|
|
FILE *fp=fopen(h->path, "w");
|
|
|
if(!fp) {
|
|
if(!fp) {
|
|
|
LOGE("___%s open failed\n", h->path);
|
|
LOGE("___%s open failed\n", h->path);
|