commit - 2243a1ae65fdace004d2e95cf1e87711a13347be
commit + 5e622b9bb50c661a19f5b6b32666e6f880776fca
blob - 4e32bae9d0de09c2bf5279927a10eaab881be5b7
blob + bb0b51d2b75a7b8148e02d22ae69b358e98d31db
--- userdb.go
+++ userdb.go
"database/sql"
"errors"
"fmt"
+ "io/fs"
"net/mail"
"os"
"path"
// OpenUserDB opens the named user database file and ticket directory.
func OpenUserDB(name, dir string) (*UserDB, error) {
+ // sql.Open creates a blank file if it finds it doesn't exist.
+ // Return early if the file doesn't exist so we can handle it ourselves.
+ _, err := os.Stat(name)
+ if errors.Is(err, fs.ErrNotExist) {
+ return nil, err
+ }
db, err := sql.Open("sqlite3", name)
if err != nil {
return nil, err