gotosocial/internal/middleware
tobi b012a81f66 [bugfix] Log a warning when clientIP could not be parsed during rate limiting (#4481)
# Description

> If this is a code change, please include a summary of what you've coded, and link to the issue(s) it closes/implements.
>
> If this is a documentation change, please briefly describe what you've changed and why.

Fixes a panic when clientIP cannot be parsed in the rate limiting middleware, and warn logs the derived clientIP and a hint that reverse proxy may be misconfigured.

Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4479

## Checklist

Please put an x inside each checkbox to indicate that you've read and followed it: `[ ]` -> `[x]`

If this is a documentation change, only the first checkbox must be filled (you can delete the others if you want).

- [x] I/we have read the [GoToSocial contribution guidelines](https://codeberg.org/superseriousbusiness/gotosocial/src/branch/main/CONTRIBUTING.md).
- [x] I/we have discussed the proposed changes already, either in an issue on the repository, or in the Matrix chat.
- [x] I/we have not leveraged AI to create the proposed changes.
- [x] I/we have performed a self-review of added code.
- [x] I/we have written code that is legible and maintainable by others.
- [x] I/we have commented the added code, particularly in hard-to-understand areas.
- [ ] I/we have made any necessary changes to documentation.
- [ ] I/we have added tests that cover new code.
- [x] I/we have run tests and they pass locally with the changes.
- [x] I/we have run `go fmt ./...` and `golangci-lint run`.

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4481
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Co-committed-by: tobi <tobi.smethurst@protonmail.com>
2025-10-07 16:02:57 +02:00
..
cachecontrol.go [bugfix] Set Vary header correctly on cache-control (#1988) 2023-07-13 21:27:25 +02:00
contentsecuritypolicy.go [feature] Add ListenBrainz functionality on the web view (#4184) 2025-05-22 12:34:39 +02:00
contentsecuritypolicy_test.go [feature] Add ListenBrainz functionality on the web view (#4184) 2025-05-22 12:34:39 +02:00
cors.go [chore] Rewrite all remaining Github links 2025-04-27 13:40:22 +02:00
extraheaders.go [feature] Use X-Robots-Tag headers to instruct scrapers/crawlers (#3737) 2025-02-05 12:47:13 +01:00
gzip.go [chore] Improve copyright header handling (#1608) 2023-03-12 16:00:57 +01:00
headerfilter.go [performance] faster request id generation (#4405) 2025-09-04 14:43:36 +02:00
headerfilter_test.go [chore] Upgrade to Go 1.24 (#4187) 2025-05-22 12:26:11 +02:00
logger.go [performance] bump codeberg.org/gruf/go-kv to v2 (#4341) 2025-07-29 09:23:20 +02:00
ratelimit.go [bugfix] Log a warning when clientIP could not be parsed during rate limiting (#4481) 2025-10-07 16:02:57 +02:00
ratelimit_test.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
requestid.go [performance] faster request id generation (#4405) 2025-09-04 14:43:36 +02:00
robots.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
session.go [chore] tweak NoLLaMas proof-of-work algorithm (#4090) 2025-04-29 13:57:26 +00:00
session_test.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
signaturecheck.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
throttling.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
throttling_test.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
tokencheck.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
useragent.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00
util.go [feature] Move to code.superseriousbusiness.org 2025-04-26 15:38:43 +02:00