summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-03-11 22:03:24 +0200
committerKyren223 <Kyren223@proton.me>2025-03-11 22:03:24 +0200
commit89fc704d807559efe17464662ee744b1f13e1b3b (patch)
tree2f33aff3df5b82b0e46a0337f5d108ff5cf2fa68 /internal
parent98da6df0be3296a5c24035d2ce0b5b98b45599f4 (diff)
Added string method to PacketType and improved server logging messages a
bit
Diffstat (limited to 'internal')
-rw-r--r--internal/packet/packet.go70
-rw-r--r--internal/server/server.go7
2 files changed, 74 insertions, 3 deletions
diff --git a/internal/packet/packet.go b/internal/packet/packet.go
index fb3e7e8..ffda3ef 100644
--- a/internal/packet/packet.go
+++ b/internal/packet/packet.go
@@ -97,7 +97,75 @@ func Init() {
}
func (e PacketType) IsSupported() bool {
- return e < PacketMax
+ return 0 <= e && e < PacketMax
+}
+
+func (e PacketType) String() string {
+ switch e {
+ case PacketBlockInfo:
+ return "PacketBlockInfo"
+ case PacketBlockUser:
+ return "PacketBlockUser"
+ case PacketCreateFrequency:
+ return "PacketCreateFrequency"
+ case PacketCreateNetwork:
+ return "PacketCreateNetwork"
+ case PacketDeleteFrequency:
+ return "PacketDeleteFrequency"
+ case PacketDeleteMessage:
+ return "PacketDeleteMessage"
+ case PacketDeleteNetwork:
+ return "PacketDeleteNetwork"
+ case PacketEditMessage:
+ return "PacketEditMessage"
+ case PacketError:
+ return "PacketError"
+ case PacketFrequenciesInfo:
+ return "PacketFrequenciesInfo"
+ case PacketGetBannedMembers:
+ return "PacketGetBannedMembers"
+ case PacketGetUserData:
+ return "PacketGetUserData"
+ case PacketGetUsers:
+ return "PacketGetUsers"
+ case PacketMax:
+ return "PacketMax"
+ case PacketMembersInfo:
+ return "PacketMembersInfo"
+ case PacketMessagesInfo:
+ return "PacketMessagesInfo"
+ case PacketNetworksInfo:
+ return "PacketNetworksInfo"
+ case PacketNotificationsInfo:
+ return "PacketNotificationsInfo"
+ case PacketRequestMessages:
+ return "PacketRequestMessages"
+ case PacketSendMessage:
+ return "PacketSendMessage"
+ case PacketSetLastReadMessages:
+ return "PacketSetLastReadMessages"
+ case PacketSetMember:
+ return "PacketSetMember"
+ case PacketSetUserData:
+ return "PacketSetUserData"
+ case PacketSwapFrequencies:
+ return "PacketSwapFrequencies"
+ case PacketTransferNetwork:
+ return "PacketTransferNetwork"
+ case PacketTrustInfo:
+ return "PacketTrustInfo"
+ case PacketTrustUser:
+ return "PacketTrustUser"
+ case PacketUpdateFrequency:
+ return "PacketUpdateFrequency"
+ case PacketUpdateNetwork:
+ return "PacketUpdateNetwork"
+ case PacketUsersInfo:
+ return "PacketUsersInfo"
+ default:
+ assert.Assert(!e.IsSupported(), "missing string for supported packet type", "type", e)
+ return fmt.Sprintf("UnsupportedPacket(%d)", e)
+ }
}
const (
diff --git a/internal/server/server.go b/internal/server/server.go
index aa34a78..64f45f8 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -161,7 +161,7 @@ func (server *server) handleConnection(conn net.Conn) {
pubKey, err := handleAuth(conn)
if err != nil {
initialCancel()
- log.Println(addr, err)
+ log.Println(addr, "auth error:", err)
_ = conn.Close()
log.Println(addr, "disconnected")
return
@@ -205,7 +205,7 @@ func (server *server) handleConnection(conn net.Conn) {
if sameAddress {
server.RemoveSession(sess.ID())
}
- log.Println(addr, "disconnected")
+ log.Println(addr, "disconnected gracefully")
}()
go func() {
@@ -251,6 +251,8 @@ func (server *server) handleConnection(conn net.Conn) {
if err != nil {
if !errors.Is(err, io.EOF) {
log.Println(addr, err)
+ } else {
+ log.Println(addr, "disconnecting gracefully...")
}
break
}
@@ -264,6 +266,7 @@ func (server *server) handleConnection(conn net.Conn) {
payload := packet.Error{Error: err.Error()}
pkt := packet.NewPacket(packet.NewMsgPackEncoder(&payload))
sess.Write(ctx, pkt)
+ log.Println(addr, "received malformed packet:", err)
break
}
}