backend: use TEAMS dir to resolve symlinks instead of relying on duplicates symlink in submissions

This commit is contained in:
nemunaire 2019-01-16 18:39:41 +01:00
parent 2582b9e208
commit bcbf5b35cf
2 changed files with 8 additions and 20 deletions

View file

@ -153,25 +153,21 @@ func treat(raw_path string) {
return
}
var team fic.Team
var teamid int64
var err error
if strings.HasPrefix(spath[1], "_AUTH_ID_") {
if serial, err := strconv.ParseInt(strings.TrimPrefix(spath[1], "_AUTH_ID_"), 16, 64); err != nil {
log.Println("[ERR]", err)
return
} else if team, err = fic.GetTeamBySerial(serial); err != nil {
log.Println("[ERR]", err)
return
}
} else if teamid, err := strconv.ParseInt(spath[1], 10, 64); err != nil {
if lnk, err := os.Readlink(path.Join(TeamsDir, spath[1])); err == nil {
if teamid, err = strconv.ParseInt(spath[1], 10, 64); err != nil {
if lnk, err := os.Readlink(path.Join(TeamsDir, spath[1])); err != nil {
log.Println("[ERR]", err)
return
} else if teamid, err = strconv.ParseInt(lnk, 10, 64); err != nil {
log.Println("[ERR]", err)
return
}
} else if team, err = fic.GetTeam(teamid); err != nil {
}
var team fic.Team
if team, err = fic.GetTeam(teamid); err != nil {
log.Println("[ERR]", err)
return
}