From c64116069ecdc4ad4892b73b4f3347497c0c8a3d Mon Sep 17 00:00:00 2001 From: Jabberwocky238 <7176656@qq.com> Date: Thu, 16 Jul 2026 08:42:21 -0400 Subject: [PATCH] s --- common/config.go | 4 ++-- state/db.go | 9 ++------- state/http.go | 3 --- state/mut.go | 36 +++++++++--------------------------- state/ssh.go | 6 ------ 5 files changed, 13 insertions(+), 45 deletions(-) diff --git a/common/config.go b/common/config.go index 40fa15a..3f5cdb3 100644 --- a/common/config.go +++ b/common/config.go @@ -32,8 +32,8 @@ func (c *Config) RepoRoot() string { // Prepare checks that the config is valid and creates the repo root if needed. func (c *Config) Prepare() error { var err error - if c.DBUri == "" && c.SkipAuth == false { - return errors.New("simplegit: -db is required unless -skip-auth (e.g. sqlite://state.db)") + if c.DBUri == "" { + return errors.New("simplegit: -db is required (e.g. sqlite://state.db)") } if err := os.MkdirAll(c.RepoRoot(), 0o755); err != nil { return fmt.Errorf("simplegit: Failed to create data root: %s (%v)", c.RepoRoot(), err) diff --git a/state/db.go b/state/db.go index 449e230..e50c0aa 100644 --- a/state/db.go +++ b/state/db.go @@ -78,9 +78,6 @@ var ( type LocalState struct { engine *xorm.Engine cfg *common.Config - // skipAuth bypasses the DB: AccessBy* always allow, RepoPath resolves any - // path under root. engine is nil in this mode. - skipAuth bool signerMu sync.Mutex signers []ssh.Signer @@ -219,10 +216,8 @@ func (s *LocalState) findRepo(owner, name string) (*Repo, error) { func (s *LocalState) RepoPath(owner, name string) (string, error) { name = normalizeName(name) rel := relPath(owner, name) - if !s.skipAuth { - if _, err := s.findRepo(owner, name); err != nil { - return "", err - } + if _, err := s.findRepo(owner, name); err != nil { + return "", err } return common.Resolve(s.cfg.RepoRoot(), rel) } diff --git a/state/http.go b/state/http.go index 9e1459a..90e3422 100644 --- a/state/http.go +++ b/state/http.go @@ -35,9 +35,6 @@ const patPrefix = "sgp_" // plaintext token prefix // // skip-auth allows all. func (s *LocalState) AccessByPAT(ctx context.Context, pat, owner, name string, perm common.Perm) (bool, error) { - if s.skipAuth { - return true, nil - } r, err := s.findRepo(owner, name) if err != nil { if errors.Is(err, ErrRepoNotFound) { diff --git a/state/mut.go b/state/mut.go index 08ca3f5..a87bce7 100644 --- a/state/mut.go +++ b/state/mut.go @@ -115,23 +115,20 @@ func (s *LocalState) CreateRepo(ns, name string) error { } var nsID, nameID int64 - if !s.skipAuth { - nsID, err = s.resolveNamespaceID(ns) - if err != nil { - if !errors.Is(err, ErrNamespaceNotFound) { - return err - } - nsID, err = s.nextNamespaceID() // brand-new namespace - if err != nil { - return err - } + nsID, err = s.resolveNamespaceID(ns) + if err != nil { + if !errors.Is(err, ErrNamespaceNotFound) { + return err } - nameID, err = s.nextNameID() + nsID, err = s.nextNamespaceID() // brand-new namespace if err != nil { return err } } - + nameID, err = s.nextNameID() + if err != nil { + return err + } if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil { return fmt.Errorf("create repo: mkdir ns: %w", err) } @@ -139,9 +136,6 @@ func (s *LocalState) CreateRepo(ns, name string) error { return fmt.Errorf("create repo: git init: %w: %s", err, strings.TrimSpace(string(out))) } - if s.skipAuth { - return nil - } if _, err := s.engine.Insert(&Repo{ NamespaceID: nsID, Namespace: ns, @@ -164,12 +158,6 @@ func (s *LocalState) ExistRepo(ns, name string) error { // on-disk bare directory. Hard-deletes. skip-auth: disk-only. func (s *LocalState) DeleteRepo(ns, name string) error { path, _ := s.RepoPath(ns, name) - if s.skipAuth { - if path != "" { - _ = os.RemoveAll(path) - } - return nil - } r, err := s.findRepo(ns, name) if err != nil { return err @@ -215,9 +203,6 @@ func (s *LocalState) MoveRepo(old, new string) error { if err := os.Rename(oldPath, newPath); err != nil { return fmt.Errorf("move repo: rename: %w", err) } - if s.skipAuth { - return nil - } r, err := s.findRepo(oldNs, oldName) if err != nil { return err @@ -261,9 +246,6 @@ func (s *LocalState) MoveNS(old, new string) error { if err := os.Rename(oldDir, newDir); err != nil { return fmt.Errorf("move ns: rename: %w", err) } - if s.skipAuth { - return nil - } if _, err := s.engine.Where("namespace = ?", old).Cols("namespace").Update(&Repo{Namespace: new}); err != nil { _ = os.Rename(newDir, oldDir) return fmt.Errorf("move ns: update: %w", err) diff --git a/state/ssh.go b/state/ssh.go index f79c0b3..9719205 100644 --- a/state/ssh.go +++ b/state/ssh.go @@ -29,9 +29,6 @@ import ( // (false, ErrDenied) on an unknown key, unknown repo, or insufficient grant. // skip-auth allows all. func (s *LocalState) AccessBySSHKey(ctx context.Context, key ssh.PublicKey, owner, name string, perm common.Perm) (bool, error) { - if s.skipAuth { - return true, nil - } r, err := s.findRepo(owner, name) if err != nil { if errors.Is(err, ErrRepoNotFound) { @@ -84,9 +81,6 @@ func (s *LocalState) AccessBySSHKey(ctx context.Context, key ssh.PublicKey, owne // // skip-auth admits everything (no engine). func (s *LocalState) KnownSSHKey(key ssh.PublicKey) (bool, error) { - if s.skipAuth { - return true, nil - } var sk SSHKey has, err := s.engine.Where("fingerprint = ?", fingerprint(key)).Get(&sk) if err != nil {