Closed
Description
Description
If you have one ldap auth source and have ssh public key synchronisation in use. Keys in the database table get inserted with the login_source reference. When deleting an auth source gitea checks for references in the user table still using it but it does not check the public keys table still referencing it.
So after successfully deleting the auth source, having an old synchronised key will break the page for the particular user with the following exception.
PANIC: runtime error: index out of range [0] with length 0
/usr/local/go/src/runtime/panic.go:770 (0x43f2d3)
/go/src/code.gitea.io/gitea/modules/web/routing/logger_manager.go:116 (0x1ae84ab)
/usr/local/go/src/runtime/panic.go:770 (0x43f2d3)
/usr/local/go/src/runtime/panic.go:114 (0x43de1b)
/go/src/code.gitea.io/gitea/models/asymkey/ssh_key.go:257 (0x12c7adf)
/go/src/code.gitea.io/gitea/routers/web/user/setting/keys.go:299 (0x2418727)
/go/src/code.gitea.io/gitea/routers/web/user/setting/keys.go:34 (0x241598f)
/usr/local/go/src/reflect/value.go:596 (0x4fc75f)
/usr/local/go/src/reflect/value.go:380 (0x4fbc03)
/go/src/code.gitea.io/gitea/modules/web/handler.go:172 (0x1af1427)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:182 (0x1af1497)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:182 (0x1af1497)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/chain.go:31 (0x1ae8f7f)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:459 (0x1aebcc7)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:182 (0x1af1497)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:182 (0x1af1497)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:182 (0x1af1497)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/middleware/get_head.go:37 (0x234dc0b)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:182 (0x1af1497)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/services/context/context.go:225 (0x1bbfc93)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/gitea.com/go-chi/[email protected]/session.go:257 (0x1a99c63)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:73 (0x1ae9ad3)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:327 (0x1aeb31f)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:459 (0x1aebcc7)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:73 (0x1ae9ad3)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:327 (0x1aeb31f)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:459 (0x1aebcc7)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/routing/logger_manager.go:122 (0x1ae8347)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/chi-middleware/[email protected]/middleware.go:37 (0x2297957)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/routers/common/middleware.go:49 (0x2298abb)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/routers/common/middleware.go:40 (0x22986d3)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/routers/common/middleware.go:103 (0x2297c8b)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/src/code.gitea.io/gitea/modules/web/handler.go:136 (0x1af1867)
/usr/local/go/src/net/http/server.go:2171 (0x97a507)
/go/pkg/mod/github.com/go-chi/chi/[email protected]/mux.go:90 (0x1ae9a8f)
/go/src/code.gitea.io/gitea/modules/web/route.go:163 (0x1af2b9f)
/usr/local/go/src/net/http/server.go:3142 (0x97d91b)
/usr/local/go/src/net/http/server.go:2044 (0x9790d7)
/usr/local/go/src/runtime/asm_arm64.s:1222 (0x47c983)
Gitea Version
1.22.1
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.45.2
Operating System
CoreOS 40.20240701.3.0
How are you running Gitea?
containerized via podman (crun)
Database
MySQL/MariaDB