From 920e4132f0ebd8b0503c49c03537cc2060f2bd5c Mon Sep 17 00:00:00 2001 From: Roman Vynar Date: Thu, 15 Aug 2024 14:56:51 +0300 Subject: [PATCH] Store IPv6 addresses correctly --- events/event_listener.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/events/event_listener.go b/events/event_listener.go index 3083d55..468b0ec 100644 --- a/events/event_listener.go +++ b/events/event_listener.go @@ -4,6 +4,7 @@ import ( "database/sql" "encoding/json" "fmt" + "net" "net/http" "os" "strings" @@ -26,7 +27,7 @@ const ( action CHAR(5) NULL, repository VARCHAR(100) NULL, tag VARCHAR(100) NULL, - ip VARCHAR(15) NULL, + ip VARCHAR(45) NULL, user VARCHAR(50) NULL, created DATETIME NULL ); @@ -112,7 +113,10 @@ func (e *EventListener) ProcessEvents(request *http.Request) { if tag == "" { tag = i.Get("target.digest").String() } - ip := strings.Split(i.Get("request.addr").String(), ":")[0] + ip := i.Get("request.addr").String() + if x, _, _ := net.SplitHostPort(ip); x != "" { + ip = x + } user := i.Get("actor.name").String() e.logger.Debugf("Parsed event data: %s %s:%s %s %s ", action, repository, tag, ip, user)