MCPcopy Index your code
hub / github.com/ContainerSSH/ContainerSSH / storeMetadata

Method storeMetadata

internal/auditlog/codec/binary/encode.go:76–105  ·  view source on GitHub ↗
(
	msg message.Message,
	storage storage.Writer,
	startTime int64,
	ip string,
	country string,
	username *string,
)

Source from the content-addressed store, hash-verified

74}
75
76func (e *encoder) storeMetadata(
77 msg message.Message,
78 storage storage.Writer,
79 startTime int64,
80 ip string,
81 country string,
82 username *string,
83) (string, string, *string) {
84 switch msg.MessageType {
85 case message.TypeConnect:
86 remoteAddr := msg.Payload.(message.PayloadConnect).RemoteAddr
87 ip = remoteAddr
88 country := e.geoIPProvider.Lookup(net.ParseIP(ip))
89 storage.SetMetadata(startTime/1000000000, ip, country, username)
90 case message.TypeAuthPasswordSuccessful:
91 u := msg.Payload.(message.PayloadAuthPassword).Username
92 username = &u
93 storage.SetMetadata(startTime/1000000000, ip, country, username)
94 case message.TypeAuthPubKeySuccessful:
95 payload := msg.Payload.(message.PayloadAuthPubKey)
96 username = &payload.Username
97 storage.SetMetadata(startTime/1000000000, ip, country, username)
98 case message.TypeHandshakeSuccessful:
99 payload := msg.Payload.(message.PayloadHandshakeSuccessful)
100 username = &payload.Username
101 storage.SetMetadata(startTime/1000000000, ip, country, username)
102 }
103
104 return ip, country, username
105}

Callers 1

EncodeMethod · 0.95

Calls 2

LookupMethod · 0.65
SetMetadataMethod · 0.65

Tested by

no test coverage detected