From 52b5fcb9d27f2df98888eba7c8b8b676d331fecc Mon Sep 17 00:00:00 2001 From: clawbot Date: Thu, 12 Nov 2026 00:57:39 +0000 Subject: [PATCH] Core Rule Set: a repository's name passes in the adopt form's id (closes #365) While bodies are read, the forms that adopt or delete an unadopted repository were refused when the repository's name held a command, a system file's name or a shell path, such as alice/python3-app, alice/.profile or robin/assets. id there now skips 930120, 932120, 932160 and 932260. The paths are gitea's /-/admin/repos/unadopted, Forgejo's /admin/repos/unadopted, and /user/settings/repos/unadopted, which both serve. Model: opus-5-5 --- README.md | 8 ++-- SPEC.md | 15 ++++-- internal/coreruleset/coreruleset_test.go | 61 ++++++++++++++++++++++++ internal/coreruleset/gitea.conf | 26 ++++++++-- 4 files changed, 100 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index c6cc617..afc4d0c 100644 --- a/README.md +++ b/README.md @@ -587,11 +587,11 @@ client's limits by tag. See "Request tags" in [`SPEC.md`](SPEC.md). - These apps work out of the box at the default settings, and their recorded ordinary requests pass the Core Rule Set: - gitea: git over HTTP and sign-in through Git Credential Manager get - through. On gitea's own paths, its searches, file names and branch names - do too. + through. On gitea's own paths, its searches, file names, branch names and + repository names do too. - Forgejo: git over HTTP and its container and package registries get - through. On Forgejo's own paths, its searches, file names and branch names - do too. + through. On Forgejo's own paths, its searches, file names, branch names + and repository names do too. - WordPress: saving a post from the block editor gets through. On WordPress's own paths, its searches, names and file names do too. - Drupal: on Drupal's own paths, the page to return to, its searches and its diff --git a/SPEC.md b/SPEC.md index c98afe0..746bde8 100644 --- a/SPEC.md +++ b/SPEC.md @@ -812,9 +812,9 @@ The changes hold in front of every app, and no setting undoes them: a push reuses a layer, `from` names the image the layer comes from. An image such as `owner/python3-app` would have that push refused. 8. On gitea's paths, some fields skip the rules that refused ordinary gitea - requests there. They are the fields where gitea sends a search, a file name - or a branch name. `internal/coreruleset/gitea.conf` lists each rule and the - request it refused. The fields are: + requests there. They are the fields where gitea sends a search, a file name, + a branch name or a repository's name. `internal/coreruleset/gitea.conf` lists + each rule and the request it refused. The fields are: - `q` on gitea's searches of code, of issues and pull requests, and of commits. A code search holds code, such as `