diff --git a/APIServer.exe b/APIServer.exe index b1b56bf..8f2ab33 100644 Binary files a/APIServer.exe and b/APIServer.exe differ diff --git a/ews/ews.go b/ews/ews.go index 9bd0c93..5fe0c69 100644 --- a/ews/ews.go +++ b/ews/ews.go @@ -48,6 +48,12 @@ type DefectInfo struct { func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr string, uri string, params map[string]string) map[string]string { rst := map[string]string{"RESULT": ""} + if params["USN"] == "" || params["MAC"] == "" { + logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, "Missing Parameter USN/MAC.") + rst["RESULT"] = "NG" + rst["ErrMsg"] = e.SimpleMsgHTML("red", "Invalid Parameters !") + return rst + } dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", cfg.MySQL.User, @@ -240,6 +246,11 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri return rst } + mac := params["MAC"] + if mac == "" { + mac = ui.MAC + } + stmt, err = tx.Prepare("INSERT INTO uutinfo (usn,mac,ipaddr,relay,item,status,message,partno,mo,sku,line,stage,first_ack,last_ack,last_change) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),NOW());") if err != nil { tx.Rollback() @@ -250,7 +261,7 @@ func (e *EWS) SetUutInfo(cfg cnf.Cfg, logger *log.Logger, host string, addr stri } _, err = stmt.Exec( params["USN"], - params["MAC"], + mac, addr, host, params["ITEM"],