From 5ae075647dc7de08559fff933e6018308a1076b3 Mon Sep 17 00:00:00 2001 From: jdl Date: Thu, 25 Sep 2025 10:03:37 +0200 Subject: [PATCH] Bug fixes --- peer/peer.go | 4 ++++ peer/remote.go | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/peer/peer.go b/peer/peer.go index a98069d..f206141 100644 --- a/peer/peer.go +++ b/peer/peer.go @@ -30,6 +30,10 @@ func newPeerMain(args mainArgs) *peerMain { log.Printf("[Main] "+s, args...) } + if err := os.MkdirAll(configDir(args.NetName), 0700); err != nil { + log.Fatalf("Failed to create config directory: %v", err) + } + lockFile, err := flock.TryLock(lockFilePath(args.NetName)) if err != nil { log.Fatalf("Failed to open lock file: %v", err) diff --git a/peer/remote.go b/peer/remote.go index b468469..9f815fa 100644 --- a/peer/remote.go +++ b/peer/remote.go @@ -280,6 +280,11 @@ func (r *Remote) handleDataPacket(h Header, data []byte) { // HandleLocalDiscoveryPacket is called by the MCReader. func (r *Remote) HandleLocalDiscoveryPacket(h Header, srcAddr netip.AddrPort, data []byte) { conf := r.conf() + if conf.Peer == nil { + r.logf("No peer for discovery packet.") + return + } + if conf.Peer.PubSignKey == nil { r.logf("No signing key for discovery packet.") return