From 68804761bfc8c2e9a3fc8871900447a85a1e3905 Mon Sep 17 00:00:00 2001 From: Erik Brakkee Date: Tue, 6 Aug 2024 22:50:24 +0200 Subject: [PATCH] public id is now shown on the sessions page since authorized keys are used which is safer. --- cmd/templaterender/render.go | 6 ++---- pkg/models/agent.go | 5 ++--- pkg/models/client.go | 1 - pkg/server/converge/admin.go | 12 +++++------- pkg/server/templates/sessions.templ | 8 ++++---- 5 files changed, 13 insertions(+), 19 deletions(-) diff --git a/cmd/templaterender/render.go b/cmd/templaterender/render.go index a89e3b5..70fd8c6 100644 --- a/cmd/templaterender/render.go +++ b/cmd/templaterender/render.go @@ -79,9 +79,8 @@ func main() { state := models.State{} agent := models.Agent{ - PublicId: "id", - GeneratedId: "100", - StartTime: time.Now().In(japan), + PublicId: "id", + StartTime: time.Now().In(japan), AgentInfo: comms.AgentInfo{ Username: "ci", Hostname: "container123", @@ -94,7 +93,6 @@ func main() { state.Agents = append(state.Agents, agent) client := models.Client{ PublicId: "c1", - AgentId: "100", ClientId: 3, StartTime: time.Now().In(japan), SessionType: "sftp", diff --git a/pkg/models/agent.go b/pkg/models/agent.go index 4fc2015..5660039 100644 --- a/pkg/models/agent.go +++ b/pkg/models/agent.go @@ -6,9 +6,8 @@ import ( ) type Agent struct { - PublicId string - GeneratedId string - StartTime time.Time + PublicId string + StartTime time.Time AgentInfo comms.AgentInfo ExpiryTime time.Time diff --git a/pkg/models/client.go b/pkg/models/client.go index a0b8fe3..17136ea 100644 --- a/pkg/models/client.go +++ b/pkg/models/client.go @@ -6,7 +6,6 @@ import ( type Client struct { PublicId string - AgentId string ClientId int StartTime time.Time SessionType string diff --git a/pkg/server/converge/admin.go b/pkg/server/converge/admin.go index a88e75d..f9d5866 100644 --- a/pkg/server/converge/admin.go +++ b/pkg/server/converge/admin.go @@ -33,21 +33,19 @@ type ClientConnection struct { func NewAgent(commChannel comms.CommChannel, publicId string, agentInfo comms.AgentInfo) *AgentConnection { return &AgentConnection{ Agent: models.Agent{ - PublicId: publicId, - GeneratedId: strconv.Itoa(agentIdGenerator.IncrementAndGet()), - StartTime: time.Now(), - AgentInfo: agentInfo, + PublicId: publicId, + StartTime: time.Now(), + AgentInfo: agentInfo, }, commChannel: commChannel, } } -func NewClient(publicId string, agentId string, clientConn iowrappers2.ReadWriteAddrCloser, +func NewClient(publicId string, clientConn iowrappers2.ReadWriteAddrCloser, agentConn net.Conn) *ClientConnection { return &ClientConnection{ Client: models.Client{ PublicId: publicId, - AgentId: agentId, ClientId: clientIdGenerator.IncrementAndGet(), StartTime: time.Now(), }, @@ -200,7 +198,7 @@ func (admin *Admin) addClient(publicId string, clientConn iowrappers2.ReadWriteA log.Println("Sending connection information to agent") - client := NewClient(publicId, agent.GeneratedId, clientConn, agentConn) + client := NewClient(publicId, clientConn, agentConn) // Before using this connection for SSH we use it to send client metadata to the // agent diff --git a/pkg/server/templates/sessions.templ b/pkg/server/templates/sessions.templ index f8ba748..20070ee 100644 --- a/pkg/server/templates/sessions.templ +++ b/pkg/server/templates/sessions.templ @@ -34,7 +34,7 @@ templ State(state *models.State, location *time.Location) { - + @@ -45,7 +45,7 @@ templ State(state *models.State, location *time.Location) { for _, agent := range state.Agents { - + @@ -67,18 +67,18 @@ templ State(state *models.State, location *time.Location) {
#rendez-vous id start time expiry time username
{agent.GeneratedId}{agent.PublicId} {agent.StartTime.In(location).Format(time.DateTime)} {agent.ExpiryTime.In(location).Format(time.DateTime)} {agent.AgentInfo.Username}
- + for _, client := range state.Clients { - + }
agent# id start time session typerendez-vous id
{client.AgentId} {strconv.Itoa(client.ClientId)} {client.StartTime.In(location).Format(time.DateTime)} {client.SessionType}{client.PublicId}