Explorar el Código

解决万鸿测试bug

guohui hace 1 año
padre
commit
3fd80bb3ef
Se han modificado 2 ficheros con 46 adiciones y 19 borrados
  1. 44 17
      pro/src/paras.c
  2. 2 2
      pro/src/sys.c

+ 44 - 17
pro/src/paras.c

@@ -7,6 +7,7 @@
 #include "xlist.h"
 #include "paras.h"
 #include "cascade.h"
+#include "switch_ctrl.h"
 #include "dictionary.h"
 #include "iniparser.h"
 #include "sqlite_handle.h"
@@ -883,7 +884,8 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
             fprintf(fp, "mode        = \"%d\"\n", snmp->mode);
             fprintf(fp, "version     = \"%d\"\n", snmp->version+1);
             fprintf(fp, "public      = \"%s\"\n", snmp->public);
-            fprintf(fp, "trapmode    = \"%d\"\n", snmp->trapmode);
+            fprintf(fp, "trap_mode   = \"%d\"\n", snmp->trapmode);
+            fprintf(fp, "nms_ip      = \"%s\"\n", snmp->nmsIP);
             fprintf(fp, "crypt.user  = \"%s\"\n", snmp->crypt.user);
             fprintf(fp, "crypt.auth.proto     = \"%s\"\n", snmp->crypt.auth.alg);
             fprintf(fp, "crypt.auth.password  = \"%s\"\n", snmp->crypt.auth.passwd);
@@ -907,12 +909,17 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
             memset(psnmp, 0, sizeof(SNMPManager));
             r = ini_rw(dic, "snmp:mode",     &psnmp->mode,     sizeof(psnmp->mode),    TYPE_INT, op); if(r) goto quit;
             r = ini_rw(dic, "snmp:public",   psnmp->public,    sizeof(psnmp->public),  TYPE_STR, op); if(r) goto quit;
-            r = ini_rw(dic, "snmp:version",  ver,              sizeof(ver),            TYPE_INT, op); if(r) goto quit;
-            if(strcmp(ver, "V1"))       psnmp->version = 0;
-            else if(strcmp(ver, "V2c")) psnmp->version = 1;
-            else if(strcmp(ver, "V3"))  psnmp->version = 2;
+            r = ini_rw(dic, "snmp:version",  ver,              sizeof(ver),            TYPE_STR, op); 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); if(r) goto quit;
+            if(psnmp->version>=1) {
+                r = ini_rw(dic, "snmp:nms_ip",     psnmp->nmsIP,      sizeof(ver), TYPE_STR, op); if(r) goto quit;
+            }
+
             if(psnmp->version==2) {
                 r = ini_rw(dic, "snmp:crypt.user",          psnmp->crypt.user,        sizeof(psnmp->crypt.user),        TYPE_STR, op); if(r) goto quit;
                 r = ini_rw(dic, "snmp:crypt.auth.proto",    psnmp->crypt.auth.alg,    sizeof(psnmp->crypt.auth.alg),    TYPE_STR, op); if(r) goto quit;
@@ -951,6 +958,9 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
             else if(psnmp->version==2)  strcpy(ver, "V3");
             r = ini_rw(dic, "snmp:version",  ver,  sizeof(ver), TYPE_STR, op); if(r) goto quit;
 
+            r = ini_rw(dic, "snmp:trap_mode",  &psnmp->trapmode,  sizeof(ver), TYPE_INT, op); if(r) goto quit;
+            r = ini_rw(dic, "snmp:nms_ip",     psnmp->nmsIP,      sizeof(ver), TYPE_STR, op); if(r) goto quit;
+
             if(psnmp->version==2) {
                 r = ini_rw(dic, "snmp:crypt.user",          psnmp->crypt.user,        sizeof(psnmp->crypt.user),        TYPE_STR, op); if(r) goto quit;
                 r = ini_rw(dic, "snmp:crypt.auth.proto",    psnmp->crypt.auth.alg,    sizeof(psnmp->crypt.auth.alg),    TYPE_STR, op); if(r) goto quit;
@@ -974,6 +984,13 @@ quit:
     iniparser_freedict(dic);
     return r;
 }
+static void do_mqtt_init(mqtt_info_t *info)
+{
+    memset(info, 0, sizeof(mqtt_info_t));
+    for(int i=0; i<MQTT_SER_MAX; i++) {
+        info->ser[i].id = -1;
+    }
+}
 static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
 {
     char *p;
@@ -1074,11 +1091,10 @@ static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
             pmqtt = &mqtt2;
             dic = iniparser_load(path); if(!dic) return -1;
 
-            memset(pmqtt, 0, sizeof(mqtt_info_t));
+            do_mqtt_init(pmqtt);
             for(i=0; i<MQTT_SER_MAX; i++) {
                 ser = &pmqtt->ser[j];
 
-                ser->id = j;
                 sprintf(token, "mqtt:broker%d.plat", i+1);
                 r = ini_rw(dic, token, &ser->plat, sizeof(ser->plat), TYPE_INT, op); if(r) goto quit;
 
@@ -1111,12 +1127,10 @@ static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
                 sprintf(token, "mqtt:broker%d.cert", i+1);
                 r = ini_rw(dic, token, ser->cert, sizeof(ser->cert), TYPE_STR, op); if(r) break;
                 str_replace(ser->cert,";;", "\r\n");
+                ser->id = j;
 
                 j++;
             }
-            if(r) {
-                ser->id = -1;
-            }
 
             r = proc_mqtt(path, PARAS_CHECK, pmqtt); if(r) goto quit;
             r = dev_clear_table(dm->db, TAB_ID_MQTT); if(r) goto quit;
@@ -1641,10 +1655,13 @@ static int proc_user(char *path, int op, UserInfo *user, handle_t l)
 
                     if(chk_ok==0) {
                         r = proc_user(path, PARAS_CHECK, puser, NULL); if(r) break;
-                        r = xlist_iterator(l, NULL, find_role_id, &puser->roleID);
-                        if(r) {
-                            LOGE("___ roleID %d not found in role sett options!\n", puser->roleID);
-                            break;
+
+                        if(l) {
+                            r = xlist_iterator(l, NULL, find_role_id, &puser->roleID);
+                            if(r) {
+                                LOGE("___ roleID %d not found in role sett options!\n", puser->roleID);
+                                break;
+                            }
                         }
                         cnt_ok++;
                     }
@@ -2335,6 +2352,10 @@ static int proc_power(char *path, int op, GlobalPowerManger *power)
                     else {
                         r = dev_update_power_manage_genera_info(dm->db, 0, i, tmp);  if(r) break;
                         r = dev_update_power_manage_over_info(dm->db, 0, i, tmp);    if(r) break;
+
+                        r = g_switch_set_all_single_threshold(&dm->_globalRelaySampManger,
+                                                    tmp->product_ch_type, tmp->product_saddr,
+                                                    tmp->product_ch_addr, tmp);
                     }
                 }
 
@@ -2620,6 +2641,12 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
                         r = dev_update_power_manage_over_info(dm->db, 0, tmp->product_ch_id, &pwr);  if(r) break;
 
                         r = dev_update_t_ac_power_manage_over_info(dm->db, tmp);    if(r) break;
+
+                        r = g_switch_set_all_single_threshold(&dm->_globalRelaySampManger,
+                                                    pwr.product_ch_type,
+                                                    tmp->product_saddr,
+                                                    tmp->product_ch_addr,
+                                                    &pwr);
                     }
                 }
 
@@ -3166,9 +3193,9 @@ int paras_serv_xport(char *path, int io)
     list_cfg_t lc={0,LIST_FULL_FIFO,100};
 
     if(io==PARAS_IMPORT) {
-        l = xlist_init(&lc);
+        l = NULL;//xlist_init(&lc);
 
-        r *= proc_role(path,  PARAS_READ, NULL, l);
+        //r *= proc_role(path,  PARAS_READ, NULL, l);
         r *= proc_user(path,  PARAS_READ, NULL, l);
         r *= proc_group(path, PARAS_READ, NULL);
         r *= proc_ntp(path,   PARAS_READ, NULL);
@@ -3183,7 +3210,7 @@ int paras_serv_xport(char *path, int io)
         get_curtime_str(temp,sizeof(temp));
         sprintf(path, "/tmp/service_%s.ini", temp);
 
-        r *= proc_role(path,  PARAS_WRITE, NULL, NULL);
+        //r *= proc_role(path,  PARAS_WRITE, NULL, NULL);
         r *= proc_user(path,  PARAS_WRITE, NULL, NULL);
         r *= proc_group(path, PARAS_WRITE, NULL);
         r *= proc_ntp(path,   PARAS_WRITE, NULL);

+ 2 - 2
pro/src/sys.c

@@ -1230,7 +1230,7 @@ static void send_log_data(struct tm *tm, char *dir)
             get_time_str2(tmp1,sizeof(tmp1),from);
             get_time_str2(tmp2,sizeof(tmp2),to);
 
-            sprintf(path, "%s/log_%s_%s_%s.csv", dir, logname[i], tmp1, tmp2);
+            sprintf(path, "%s/log_%s_%s_%s.txt", dir, logname[i], tmp1, tmp2);
             if(!file_exist(path)) {
                 dev_log_xport(i, from, to, path);
             }
@@ -1255,7 +1255,7 @@ static int tmp_create(void)
 static int tmp_remove(void)
 {
     char cmd[100];
-    sprintf(cmd, "rm -f %s/*.csv > /dev/null", TMP_DIR);
+    sprintf(cmd, "rm -f %s/* > /dev/null", TMP_DIR);
     return system(cmd);
 }
 static void send_check(void)