checker: add resolver ping test

This commit is contained in:
nemunaire 2021-03-22 01:08:39 +01:00
parent 2baa88a7aa
commit c889cb4283
2 changed files with 64 additions and 2 deletions

View File

@ -522,6 +522,21 @@ func studentsChecker() {
return
}
// PingResolver
if tunnel_version == 3 {
tmp := strings.Split(stdIP, ":")
tmp[len(tmp)-1] = "2"
stdResolverIP := strings.Join(tmp, ":")
go check_ping(stdResolverIP, func(_ *ping.Packet) {
if verbose {
log.Printf("%s resolver PONG", std.Login)
}
if _, err := std.UnlockChallenge(CheckMap[tunnel_version][PingResolver], ""); err != nil {
log.Printf("Unable to register challenge for %s: %s\n", std.Login, err.Error())
}
})
}
dnsIP := stdIP
var glueErr error
// Is GLUE defined?
@ -636,11 +651,11 @@ func studentsChecker() {
if verbose {
log.Printf("%s just unlocked HTTP IP (without DNS) challenge\n", std.Login)
}
if _, err := std.UnlockChallenge(100*(tunnel_version-1)+0, ""); err != nil {
if _, err := std.UnlockChallenge(CheckMap[tunnel_version][HTTPonIP], ""); err != nil {
log.Printf("Unable to register challenge for %s: %s\n", std.Login, err.Error())
}
} else {
std.RegisterChallengeError(100*(tunnel_version-1)+0, err)
std.RegisterChallengeError(CheckMap[tunnel_version][HTTPonIP], err)
if verbose {
log.Printf("%s and HTTP IP (without DNS): %s\n", std.Login, err)
}

47
checker/checks.go Normal file
View File

@ -0,0 +1,47 @@
package main
type AdlinTest int
const (
HTTPonIP AdlinTest = iota
HTTPonAssociatedDomain
HTTPSonAssociatedDomain
DNSDelegation
HTTPonDelegatedDomain
HTTPSonDelegatedDomain
Matrix
SNI
DNSSEC
PingResolver
DHCPonRH
DHCPonGuests
RHaccessNews
RHaccessNet
GuestNet
)
var CheckMap = map[int]map[AdlinTest]int{
2: map[AdlinTest]int{
HTTPonIP: 100,
HTTPonAssociatedDomain: 101,
HTTPSonAssociatedDomain: 102,
DNSDelegation: 103,
HTTPonDelegatedDomain: 104,
HTTPSonDelegatedDomain: 105,
Matrix: 106,
DNSSEC: 107,
},
3: map[AdlinTest]int{
PingResolver: 200,
HTTPonIP: 201,
DNSDelegation: 203,
HTTPonDelegatedDomain: 204,
HTTPSonDelegatedDomain: 205,
Matrix: 206,
DHCPonRH: 208,
DHCPonGuests: 211,
RHaccessNews: 209,
RHaccessNet: 210,
GuestNet: 212,
},
}