checker: Add new firewall tests
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
19943dcc85
commit
170bc9ae35
2 changed files with 79 additions and 28 deletions
|
@ -85,7 +85,7 @@ func studentChecker(std *adlin.Student, also_check_matrix bool, offline bool) {
|
|||
}
|
||||
|
||||
// PingResolver
|
||||
if tunnel_version == 3 {
|
||||
if has_test(CheckMap[tunnel_version], PingResolver) {
|
||||
tmp := strings.Split(stdIP, ":")
|
||||
tmp[len(tmp)-1] = "2"
|
||||
stdResolverIP := strings.Join(tmp, ":")
|
||||
|
@ -99,6 +99,23 @@ func studentChecker(std *adlin.Student, also_check_matrix bool, offline bool) {
|
|||
})
|
||||
}
|
||||
|
||||
// Firewalled
|
||||
if has_test(CheckMap[tunnel_version], Firewalled) {
|
||||
if err = check_firewall("tcp", stdIP); err == nil {
|
||||
if verbose {
|
||||
log.Printf("%s just unlocked firewalled challenge\n", std.Login)
|
||||
}
|
||||
if _, err := std.UnlockChallenge(CheckMap[tunnel_version][Firewalled], ""); err != nil {
|
||||
log.Printf("Unable to register challenge for %s: %s\n", std.Login, err.Error())
|
||||
}
|
||||
} else {
|
||||
std.RegisterChallengeError(CheckMap[tunnel_version][Firewalled], err)
|
||||
if verbose {
|
||||
log.Printf("%s and firewalled: %s\n", std.Login, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dnsIP := stdIP
|
||||
var glueErr error
|
||||
// Is GLUE defined?
|
||||
|
@ -197,33 +214,37 @@ func studentChecker(std *adlin.Student, also_check_matrix bool, offline bool) {
|
|||
|
||||
// Check Matrix (only if GLUE Ok and defer contraint)
|
||||
if glueErr == nil && also_check_matrix {
|
||||
// Check Matrix Federation first
|
||||
if v, err := check_matrix_federation(std.MyDelegatedDomain()); err == nil {
|
||||
if verbose {
|
||||
log.Printf("%s just unlocked Matrix federation challenge\n", std.Login)
|
||||
}
|
||||
if _, err := std.UnlockChallenge(CheckMap[tunnel_version][MatrixSrv], v); err != nil {
|
||||
log.Printf("Unable to register challenge for %s: %s\n", std.Login, err.Error())
|
||||
}
|
||||
} else {
|
||||
std.RegisterChallengeError(CheckMap[tunnel_version][MatrixSrv], err)
|
||||
if verbose {
|
||||
log.Printf("%s and Matrix federation: %s\n", std.Login, err)
|
||||
if has_test(CheckMap[tunnel_version], MatrixSrv) {
|
||||
// Check Matrix Federation first
|
||||
if v, err := check_matrix_federation(std.MyDelegatedDomain()); err == nil {
|
||||
if verbose {
|
||||
log.Printf("%s just unlocked Matrix federation challenge\n", std.Login)
|
||||
}
|
||||
if _, err := std.UnlockChallenge(CheckMap[tunnel_version][MatrixSrv], v); err != nil {
|
||||
log.Printf("Unable to register challenge for %s: %s\n", std.Login, err.Error())
|
||||
}
|
||||
} else {
|
||||
std.RegisterChallengeError(CheckMap[tunnel_version][MatrixSrv], err)
|
||||
if verbose {
|
||||
log.Printf("%s and Matrix federation: %s\n", std.Login, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check Matrix Client
|
||||
if v, err := check_matrix_client(std.MyDelegatedDomain()); err == nil {
|
||||
if verbose {
|
||||
log.Printf("%s just unlocked Matrix client challenge\n", std.Login)
|
||||
}
|
||||
if _, err := std.UnlockChallenge(CheckMap[tunnel_version][MatrixClt], v); err != nil {
|
||||
log.Printf("Unable to register challenge for %s: %s\n", std.Login, err.Error())
|
||||
}
|
||||
} else {
|
||||
std.RegisterChallengeError(CheckMap[tunnel_version][MatrixClt], err)
|
||||
if verbose {
|
||||
log.Printf("%s and Matrix client: %s\n", std.Login, err)
|
||||
if has_test(CheckMap[tunnel_version], MatrixClt) {
|
||||
if v, err := check_matrix_client(std.MyDelegatedDomain()); err == nil {
|
||||
if verbose {
|
||||
log.Printf("%s just unlocked Matrix client challenge\n", std.Login)
|
||||
}
|
||||
if _, err := std.UnlockChallenge(CheckMap[tunnel_version][MatrixClt], v); err != nil {
|
||||
log.Printf("Unable to register challenge for %s: %s\n", std.Login, err.Error())
|
||||
}
|
||||
} else {
|
||||
std.RegisterChallengeError(CheckMap[tunnel_version][MatrixClt], err)
|
||||
if verbose {
|
||||
log.Printf("%s and Matrix client: %s\n", std.Login, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue