Skip to content
Snippets Groups Projects
Commit acf62b1e authored by cyberta's avatar cyberta
Browse files

add obfs4-hop as valid bridge transport to menshen eip-service parsing

parent da64a69b
Branches fix_hopping_eip-service_parsing
Tags 1.7.1
1 merge request!75add obfs4-hop as valid bridge transport to menshen eip-service parsing
Pipeline #270048 passed
......@@ -25,8 +25,9 @@ type locationMap map[string]*m.Location
type transportType string
var (
transportOpenVPN transportType = "openvpn"
transportOBFS4 transportType = "obfs4"
transportOpenVPN transportType = "openvpn"
transportOBFS4 transportType = "obfs4"
transportOBFS4Hop transportType = "obfs4-hop"
tmpEIPFilePath = "/tmp/leap-eip-legacy.json"
)
......@@ -128,7 +129,7 @@ func newRegistry(cfg *Config) (*registry, error) {
Bucket: g.Bucket,
Port: p,
Transport: proto,
Type: string(transportOpenVPN),
Type: transport.Type,
LastSeenMillis: time.Now().UnixMilli(),
}
_, exists := gateways[loc]
......@@ -150,7 +151,7 @@ func newRegistry(cfg *Config) (*registry, error) {
loc := m.CanonicalizeLocation(g.Location)
bridge := &m.Bridge{
Healthy: true,
Type: string(transportOBFS4),
Type: transport.Type,
Host: g.Host,
Location: loc,
Bucket: g.Bucket,
......@@ -174,6 +175,33 @@ func newRegistry(cfg *Config) (*registry, error) {
}
}
}
case string(transportOBFS4Hop):
for _, proto := range transport.Protocols {
loc := m.CanonicalizeLocation(g.Location)
bridge := &m.Bridge{
Healthy: true,
Type: transport.Type,
Host: g.Host,
Location: loc,
Bucket: g.Bucket,
IPAddr: g.IPAddr,
Transport: proto,
Options: transport.Options,
LastSeenMillis: time.Now().UnixMilli(),
}
_, exists := bridges[loc]
if !exists {
// key not already in the location map
bridges[loc] = []*m.Bridge{bridge}
} else {
bridges[loc] = append(bridges[loc], bridge)
}
if _, exists := locations[loc]; exists {
locations[loc].HasBridges = true
} else {
log.Fatal().Msgf("Could not find matching loation %s in locations list", loc)
}
}
default:
fmt.Printf("unknown transport type %v", transport.Type)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment