misc updates

This commit is contained in:
Paul 2022-03-13 12:08:44 +01:00
parent c41747e146
commit 32784ff442
4 changed files with 26 additions and 17 deletions

View File

@ -1,8 +1,8 @@
package api
type IP struct {
ID int `json:"id"`
IP string `json:"ip"`
Rdns string `json:"rdns"`
Src string `json:"src"`
Hostname string `json:"hostname"`
}

View File

@ -94,8 +94,11 @@ func GetZMQ(cfg config.Config, key string) (res ZMQ, err error) {
func DiscoverURLS(cfg config.Config) (Discovery, error) {
var disc Discovery
var urls []Url
urls = append(urls, Url{Key: "auth", Path: "/auth"})
urls = append(urls, Url{Key: "folders", Path: "/config/folders"})
urls = append(urls, Url{Key: "trustlist", Path: "/config/trustlist"})
urls = append(urls, Url{Key: "zmqrr", Path: "/config/zmqrr"})
urls = append(urls, Url{Key: "zmqps", Path: "/config/zmqps"})
disc = Discovery{Version: "1.0", URLs: urls}
return disc, nil
}

View File

@ -34,8 +34,8 @@ func GetIPsLast(ctx *context.Context, config *config.Config, interval string) (a
func GetIP(ctx *context.Context, config *config.Config, ipquery interface{}) (apiip *api.IP, err error) {
var ip IP
has, err := config.Db.Where("ip = ?", ipquery).Get(&ip)
if !has {
if has, err := config.Db.Where("ip = ?", ipquery).Get(&ip); !has {
err = fmt.Errorf("not found")
return nil, err
}
@ -97,7 +97,7 @@ func ScanIP(cfg *config.Config) (err error) {
}
}
} else {
time.Sleep(60 * time.Second)
time.Sleep(10 * time.Second)
}
}
}
@ -110,6 +110,7 @@ func (ip *IP) APIFormat() *api.IP {
IP: ip.IP,
Rdns: ip.Rdns.String,
Src: ip.Src,
Hostname: ip.Hostname,
}
}
@ -118,6 +119,7 @@ type IP struct {
IP string `xorm:"text notnull unique(ipsrc)" json:"ip"`
Rdns sql.NullString `xorm:"text default" json:"rdns"`
Src string `xorm:"text notnull unique(ipsrc)" json:"src"`
Hostname string `xorm:"text notnull unique(ipsrc)" json:"hostname"`
Created time.Time `xorm:"created notnull" json:"-"`
Updated time.Time `xorm:"updated notnull" json:"-"`
}

View File

@ -51,7 +51,11 @@ func Handle(cfg *config.Config, reqsock *goczmq.Sock, pubsock *goczmq.Sock, chan
num, err := cfg.Db.Insert(&ip)
if err != nil {
log.Println("error inserting ip address", num, err)
continue
}
} else {
num, err := cfg.Db.Where("id = ?", ip.ID).Update(&ip)
if err != nil {
log.Println("error updating ip address", num, err)
}
}
tmpval := fmt.Sprintf("%s %s", channel, string(val))