fix channel routing exiting after first packet. fix packet channel type not being injected

This commit is contained in:
mykola2312 2025-01-18 12:18:52 +02:00
parent a132ecb6fa
commit 16a95dc7d8

View file

@ -209,15 +209,17 @@ func channelReceiver(r *LuxRouter, channel *LuxChannel) {
var dgram LuxDatagram var dgram LuxDatagram
var err error var err error
select { for {
case <-channel.control: select {
return case <-channel.control:
default:
dgram, err = channel.Recv()
if err == nil {
dgramChan <- dgram
} else {
return return
default:
dgram, err = channel.Recv()
if err == nil {
dgramChan <- dgram
} else {
return
}
} }
} }
} }
@ -340,6 +342,7 @@ func (r *LuxRouter) Recv() (LuxPacket, error) {
} }
// packet arrived to right route and successfully decrypted // packet arrived to right route and successfully decrypted
packet.ChannelType = dgram.Channel.Type
return packet, nil return packet, nil
} else { } else {
// first time seeing peer - bruteforce keys from keystore // first time seeing peer - bruteforce keys from keystore