diff --git a/pkg/login-validator/Dockerfile b/pkg/login-validator/Dockerfile index e5c1f02..72dbf42 100644 --- a/pkg/login-validator/Dockerfile +++ b/pkg/login-validator/Dockerfile @@ -18,4 +18,6 @@ COPY --from=gobuild /go/src/login-validator/login-validator /bin/login-validator ENTRYPOINT ["/bin/login-validator", "-bind=:8081"] +WORKDIR /data + LABEL org.mobyproject.config='{"capabilities": ["CAP_NET_BIND_SERVICE"]}' diff --git a/pkg/login-validator/cmd/main.go b/pkg/login-validator/cmd/main.go index b13c5a6..d49f7c6 100644 --- a/pkg/login-validator/cmd/main.go +++ b/pkg/login-validator/cmd/main.go @@ -52,7 +52,7 @@ func main() { log.Fatal(err) } - var lc loginChecker + lc := &loginChecker{} if auth != nil && *auth == "ldap" { log.Printf("Auth method: LDAP(%s@%s:%d?%s)", *ldapbindusername, *ldapAddr, *ldapPort, *ldapbase) @@ -87,6 +87,7 @@ func main() { if err != nil { log.Fatal(err) } + log.Printf("%d students loaded", len(lc.students)) // Prepare graceful shutdown interrupt := make(chan os.Signal, 1) @@ -100,7 +101,7 @@ func main() { log.Println("Registering handlers...") mux := http.NewServeMux() - mux.Handle("/login", &lc) + mux.Handle("/login", lc) mux.HandleFunc("/logout", logout) mux.HandleFunc("/passwd", passwd) http.HandleFunc("/", mux.ServeHTTP) diff --git a/pkg/login-validator/cmd/students.go b/pkg/login-validator/cmd/students.go index 1225368..9e3f205 100644 --- a/pkg/login-validator/cmd/students.go +++ b/pkg/login-validator/cmd/students.go @@ -26,15 +26,13 @@ func readStudentsList(studentsFile string) (stds []Student, err error) { return nil, err } else { for _, i := range list { - var s Student - - s.Lastname = i[0] - s.Firstname = i[1] - s.Login = i[2] - s.EMail = i[3] - s.Phone = i[4] - - stds = append(stds, s) + stds = append(stds, Student{ + Lastname: i[0], + Firstname: i[1], + Login: i[2], + EMail: i[3], + Phone: i[4], + }) } return stds, nil diff --git a/server.yml b/server.yml index 562485a..13256aa 100644 --- a/server.yml +++ b/server.yml @@ -154,7 +154,7 @@ services: net: /run/netns/dmzi-wg - name: login-validator - image: nemunaire/adlin-login-validator:923d04a3c3c744f4a60c882f0264ffff88b7a9f6 + image: nemunaire/adlin-login-validator:7b6560b8ebf5d726ac1f2740621075dfb59b5e58 # command: ["/bin/login-validator", "-bind=:8081", "-auth=ldap", "-ldaphost=auth.cri.epita.net", "-ldapport=636", "-ldaptls", "-ldapbase=dc=epita,dc=net"] command: ["/bin/login-validator", "-bind=:8081", "-auth=krb5", "-krb5realm=CRI.EPITA.FR"] # command: ["/bin/login-validator", "-bind=:8081", "-auth=fwd", "-fwduri=https://adlin.nemunai.re/auth"] @@ -162,13 +162,16 @@ services: net: /run/netns/login binds: - /etc/resolv.conf:/etc/resolv.conf:ro - - /var/lib/adlin/students.csv:/students.csv:ro + - /var/lib/adlin/students:/data/:ro - /var/lib/adlin/pxelinux.cfg:/var/tftp/pxelinux.cfg - /var/lib/adlin/shadows:/var/tftp/shadows - /srv/solver.sh:/var/solver.sh:ro - /srv/tftp/challenge-initrd.img:/var/tftp/challenge-initrd.img:ro - /etc/ssl/certs:/etc/ssl/certs:ro - /usr/share/ca-certificates:/usr/share/ca-certificates:ro + runtime: + mkdir: + - /var/lib/adlin/students - name: nginx-login image: nginx:stable-alpine capabilities: @@ -941,6 +944,15 @@ files: source: challenge-initrd.img mode: "0644" + - path: root/.ash_history + contents: | + tail -f /var/log/login-validator.log + ln -sf nemunaire.csv /var/lib/adlin/students/students.csv + ln -sf students2025.csv students.csv + pkill -HUP login-validator + cd /var/lib/adlin + mode: "0640" + trust: org: - linuxkit diff --git a/token-validator/htdocs/dashboard.html b/token-validator/htdocs/dashboard.html index 3f936e9..22a4f5b 100644 --- a/token-validator/htdocs/dashboard.html +++ b/token-validator/htdocs/dashboard.html @@ -28,8 +28,9 @@ width: calc(100vw / 12 - 0.26vw); } .student-title { - width: calc(2 * (100vw / 12 - 0.22vw) + 0.2vw); - font-size: 15px; + /* width: calc(2 * (100vw / 12 - 0.22vw) + 0.2vw); */ + /* font-size: 15px; */ + font-size: 11px; } .student h5 { font-size: 16px; @@ -60,7 +61,7 @@