Represent fingerprint internally as byte array

This commit is contained in:
Arlo Breault 2022-03-17 10:46:37 -04:00
parent fa2f6824d9
commit 2f89fbc2ed
4 changed files with 20 additions and 4 deletions

View file

@ -143,7 +143,7 @@ func (ctx *BrokerContext) AddSnowflake(id string, proxyType string, natType stri
type ClientOffer struct {
natType string
sdp []byte
fingerprint string
fingerprint [20]byte
}
func main() {

View file

@ -2,6 +2,7 @@ package main
import (
"container/heap"
"encoding/hex"
"fmt"
"log"
"net"
@ -130,11 +131,16 @@ func (i *IPC) ClientOffers(arg messages.Arg, response *[]byte) error {
}
offer := &ClientOffer{
natType: req.NAT,
sdp: []byte(req.Offer),
fingerprint: req.Fingerprint,
natType: req.NAT,
sdp: []byte(req.Offer),
}
fingerprint, err := hex.DecodeString(req.Fingerprint)
if err != nil {
return sendClientResponse(&messages.ClientPollResponse{Error: err.Error()}, response)
}
copy(offer.fingerprint[:], fingerprint)
// Only hand out known restricted snowflakes to unrestricted clients
var snowflakeHeap *SnowflakeHeap
if offer.natType == NATUnrestricted {