token-validator: Avoid .254 address and add tests
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
e763716802
commit
b2de685e24
|
@ -14,6 +14,7 @@ steps:
|
|||
- apk --no-cache add build-base
|
||||
- go vet -v -buildvcs=false ./checker
|
||||
- go vet -v -buildvcs=false ./token-validator
|
||||
- cd ./pkg/token-validator && go test && cd -
|
||||
- cd ./pkg/minichecker/cmd && go vet -v -buildvcs=false . && cd -
|
||||
- cd ./pkg/arp-spoofer/cmd && go vet -v -buildvcs=false . && go build -buildvcs=false -v -ldflags="-s -w" . && cd -
|
||||
- cd ./pkg/login-validator/cmd && go vet -v -buildvcs=false . && go build -buildvcs=false -v -ldflags="-s -w" . && cd -
|
||||
|
@ -46,6 +47,7 @@ steps:
|
|||
- apk --no-cache add build-base
|
||||
- go vet -v -buildvcs=false ./checker
|
||||
- go vet -v -buildvcs=false ./token-validator
|
||||
- cd ./pkg/token-validator && go test && cd -
|
||||
- cd ./pkg/minichecker/cmd && go vet -v -buildvcs=false . && cd -
|
||||
- cd ./pkg/arp-spoofer/cmd && go vet -v -buildvcs=false . && go build -buildvcs=false -v -ldflags="-s -w" . && cd -
|
||||
- cd ./pkg/login-validator/cmd && go vet -v -buildvcs=false . && go build -buildvcs=false -v -ldflags="-s -w" . && cd -
|
||||
|
|
|
@ -18,9 +18,10 @@ func init() {
|
|||
}
|
||||
|
||||
func IPSuffix(s *adlin.Student, network net.IPNet) net.IP {
|
||||
ipshift := s.Id*4 + 10
|
||||
ipshift := s.Id*4 + 7
|
||||
|
||||
myIP := network.IP
|
||||
myIP := make(net.IP, len(network.IP))
|
||||
copy(myIP, network.IP)
|
||||
|
||||
if ipshift > 254 {
|
||||
myIP[len(myIP)-2] += byte(ipshift / 254)
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net"
|
||||
"testing"
|
||||
|
||||
"git.nemunai.re/srs/adlin/libadlin"
|
||||
)
|
||||
|
||||
func TestIPSuffix(t *testing.T) {
|
||||
network := net.IPNet{IP: net.ParseIP("172.23.0.0"), Mask: net.CIDRMask(17, 32)}
|
||||
|
||||
std := &adlin.Student{Id: 1}
|
||||
ip := IPSuffix(std, network)
|
||||
|
||||
log.Println(ip)
|
||||
|
||||
if ip.String() != "172.23.0.11" {
|
||||
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.0.11")
|
||||
}
|
||||
|
||||
std = &adlin.Student{Id: 60}
|
||||
ip = IPSuffix(std, network)
|
||||
|
||||
if ip.String() != "172.23.0.247" {
|
||||
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.0.247")
|
||||
}
|
||||
|
||||
std = &adlin.Student{Id: 62}
|
||||
ip = IPSuffix(std, network)
|
||||
|
||||
if ip.String() != "172.23.1.1" {
|
||||
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.1.1")
|
||||
}
|
||||
|
||||
std = &adlin.Student{Id: 70}
|
||||
ip = IPSuffix(std, network)
|
||||
|
||||
if ip.String() != "172.23.1.33" {
|
||||
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.1.33")
|
||||
}
|
||||
|
||||
// Other network
|
||||
network = net.IPNet{IP: net.ParseIP("192.168.42.0"), Mask: net.CIDRMask(17, 32)}
|
||||
|
||||
std = &adlin.Student{Id: 70}
|
||||
ip = IPSuffix(std, network)
|
||||
|
||||
if ip.String() != "192.168.43.33" {
|
||||
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "192.168.43.33")
|
||||
}
|
||||
}
|
Reference in New Issue