From 31628019fead4489d7a57868bee110f6b6e91d09 Mon Sep 17 00:00:00 2001 From: kim Date: Tue, 29 Apr 2025 13:57:26 +0000 Subject: [chore] tweak NoLLaMas proof-of-work algorithm (#4090) # Description - tweaks the NoLLaMas proof-of-work algorithm to further granularity on time spent computing solutions - standardizes GoToSocial cookie security directive setting in a CookiePolicy{} type ## Checklist - [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. - [ ] I/we have run tests and they pass locally with the changes. - [x] I/we have run `go fmt ./...` and `golangci-lint run`. Co-authored-by: tobi Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4090 Co-authored-by: kim Co-committed-by: kim --- internal/web/web.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'internal/web/web.go') diff --git a/internal/web/web.go b/internal/web/web.go index e42dc16c3..4494f8ff9 100644 --- a/internal/web/web.go +++ b/internal/web/web.go @@ -75,13 +75,15 @@ const ( type Module struct { processor *processing.Processor eTagCache cache.Cache[string, eTagCacheEntry] + cookiePolicy apiutil.CookiePolicy isURIBlocked func(context.Context, *url.URL) (bool, error) } -func New(db db.DB, processor *processing.Processor) *Module { +func New(db db.DB, processor *processing.Processor, cookiePolicy apiutil.CookiePolicy) *Module { return &Module{ processor: processor, eTagCache: newETagCache(), + cookiePolicy: cookiePolicy, isURIBlocked: db.IsURIBlocked, } } @@ -107,7 +109,7 @@ func (m *Module) Route(r *router.Router, mi ...gin.HandlerFunc) { profileGroup.Use(middleware.SignatureCheck(m.isURIBlocked), middleware.CacheControl(middleware.CacheControlConfig{ Directives: []string{"no-store"}, })) - nollamas := middleware.NoLLaMas(m.processor.InstanceGetV1) + nollamas := middleware.NoLLaMas(m.cookiePolicy, m.processor.InstanceGetV1) profileGroup.Use(nollamas) profileGroup.Handle(http.MethodGet, "", m.profileGETHandler) // use empty path here since it's the base of the group profileGroup.Handle(http.MethodGet, statusPath, m.threadGETHandler) -- cgit v1.2.3