fix channel routing exiting after first packet. fix packet channel type not being injected
This commit is contained in:
parent
a132ecb6fa
commit
16a95dc7d8
1 changed files with 11 additions and 8 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue