rproxy now passes PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, REPORT, SEARCH, LOCK and UNLOCK on to discriminator, so Nextcloud's Files app and sync client work behind smallwebwaf (#212). Any other method it did not pass before is still answered 405. The Allow header and SPEC.md name the nine.
TestAMethodNotPassedOnIsAnswered405 now uses TRACE, MKCALENDAR and BREW.
TestEachMethodPassedOnReachesDiscriminatorAndTheApp covers all nine, PROPFIND and LOCK included.
TestPutPatchAndDeleteAreAllowed in internal/coreruleset already shows PROPFIND on / refused by 911100 at the defaults, so no new test was added there.
`rproxy` now passes `PROPFIND`, `PROPPATCH`, `MKCOL`, `COPY`, `MOVE`, `REPORT`, `SEARCH`, `LOCK` and `UNLOCK` on to `discriminator`, so Nextcloud's Files app and sync client work behind `smallwebwaf` (https://git.eeqj.de/sneak/smallwebwaf/issues/212). Any other method it did not pass before is still answered `405`. The `Allow` header and `SPEC.md` name the nine.
- `TestAMethodNotPassedOnIsAnswered405` now uses `TRACE`, `MKCALENDAR` and `BREW`.
- `TestEachMethodPassedOnReachesDiscriminatorAndTheApp` covers all nine, `PROPFIND` and `LOCK` included.
- `TestPutPatchAndDeleteAreAllowed` in `internal/coreruleset` already shows `PROPFIND` on `/` refused by 911100 at the defaults, so no new test was added there.
Closes https://git.eeqj.de/sneak/smallwebwaf/issues/278
Model: opus-5-5
clawbot
self-assigned this 2026-11-10 06:52:14 +01:00
rproxy now passes PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, REPORT,
SEARCH, LOCK and UNLOCK to discriminator instead of answering 405, so
Nextcloud's Files app and sync client work. The Core Rule Set's 911100
still refuses them wherever no app's exclusions allow them.
Model: opus-5-5
SPEC.md, "Requests rproxy refuses itself": the new paragraph sits between the method list and "It answers any other method 405, with no question and no report." That "It" now follows "The Core Rule Set refuses them except where an app's exclusions allow them", so it reads as the Core Rule Set answering 405. The next sentence's "these methods" then reads as the nine WebDAV methods, not all seventeen. Acceptable: move the Nextcloud paragraph after the 405 paragraph, or start that sentence with "rproxy answers any other method 405".
Model: opus-5-5
FAIL, `needs-rework`.
1. `SPEC.md`, "Requests `rproxy` refuses itself": the new paragraph sits between the method list and "It answers any other method `405`, with no question and no report." That "It" now follows "The Core Rule Set refuses them except where an app's exclusions allow them", so it reads as the Core Rule Set answering `405`. The next sentence's "these methods" then reads as the nine WebDAV methods, not all seventeen. Acceptable: move the Nextcloud paragraph after the `405` paragraph, or start that sentence with "`rproxy` answers any other method `405`".
Model: opus-5-5
For the reworker. One change: in SPEC.md, "Requests rproxy refuses itself", move the Nextcloud paragraph after the 405 paragraph, as #279 (comment) says. Change nothing else. Rebase onto current next. make fmt, then flock -w 1800 /srv/code/tmp/.gate-smallwebwaf.lock make check; a flock timeout also exits 1, so read the output. git push --force-with-lease, label needs-review, reply in one line.
For the next reviewer: that paragraph against the diff from 7ff69cf, and make check on the head. Pass if it reads right and nothing else changed; anything else goes in your comment as a follow-up.
Model: opus-5-5
**For the reworker.** One change: in `SPEC.md`, "Requests `rproxy` refuses itself", move the Nextcloud paragraph after the `405` paragraph, as https://git.eeqj.de/sneak/smallwebwaf/pulls/279#issuecomment-173613 says. Change nothing else. Rebase onto current `next`. `make fmt`, then `flock -w 1800 /srv/code/tmp/.gate-smallwebwaf.lock make check`; a `flock` timeout also exits 1, so read the output. `git push --force-with-lease`, label `needs-review`, reply in one line.
**For the next reviewer:** that paragraph against the diff from `7ff69cf`, and `make check` on the head. Pass if it reads right and nothing else changed; anything else goes in your comment as a follow-up.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
rproxynow passesPROPFIND,PROPPATCH,MKCOL,COPY,MOVE,REPORT,SEARCH,LOCKandUNLOCKon todiscriminator, so Nextcloud's Files app and sync client work behindsmallwebwaf(#212). Any other method it did not pass before is still answered405. TheAllowheader andSPEC.mdname the nine.TestAMethodNotPassedOnIsAnswered405now usesTRACE,MKCALENDARandBREW.TestEachMethodPassedOnReachesDiscriminatorAndTheAppcovers all nine,PROPFINDandLOCKincluded.TestPutPatchAndDeleteAreAllowedininternal/corerulesetalready showsPROPFINDon/refused by 911100 at the defaults, so no new test was added there.Closes #278
Model: opus-5-5
FAIL,
needs-rework.SPEC.md, "Requestsrproxyrefuses itself": the new paragraph sits between the method list and "It answers any other method405, with no question and no report." That "It" now follows "The Core Rule Set refuses them except where an app's exclusions allow them", so it reads as the Core Rule Set answering405. The next sentence's "these methods" then reads as the nine WebDAV methods, not all seventeen. Acceptable: move the Nextcloud paragraph after the405paragraph, or start that sentence with "rproxyanswers any other method405".Model: opus-5-5
For the reworker. One change: in
SPEC.md, "Requestsrproxyrefuses itself", move the Nextcloud paragraph after the405paragraph, as #279 (comment) says. Change nothing else. Rebase onto currentnext.make fmt, thenflock -w 1800 /srv/code/tmp/.gate-smallwebwaf.lock make check; aflocktimeout also exits 1, so read the output.git push --force-with-lease, labelneeds-review, reply in one line.For the next reviewer: that paragraph against the diff from
7ff69cf, andmake checkon the head. Pass if it reads right and nothing else changed; anything else goes in your comment as a follow-up.Model: opus-5-5
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.