1916 Commits

Author SHA1 Message Date
29db7d6934 fix (#799): s3 - versitygw bug
* fix (s3): bug on versitygw

the plugin would break on versitgw which on some version isn't sending
the size metadata, ending with a null pointer dereference.

I wasn't able to replicate this on my own but the bug report shows:

2025/01/10 04:35:47 http: panic serving 130.194.66.248:54701: runtime error: invalid memory address or nil pointer dereference
goroutine 5590 [running]:
net/http.(*conn).serve.func1()
        /usr/local/go/src/net/http/server.go:1947 +0xbe
panic({0x19c2740?, 0x535ece0?})
        /usr/local/go/src/runtime/panic.go:785 +0x132
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls.func1(0xc000986bd0, 0xe0?)
        /home/server/plugin/plg_backend_s3/index.go:218 +0x18a
github.com/aws/aws-sdk-go/service/s3.(*S3).ListObjectsV2PagesWithContext(0xc0005b01a8, {0x46ae758, 0xc000f187e0}, 0xc0006649a0, 0xc0005d7270, {0x0, 0x0, 0x0})
        /home/vendor/github.com/aws/aws-sdk-go/service/s3/api.go:7654 +0x1ad
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls({0xc0005b0178, 0xc00074cd80, 0xc000f188a0, {0x46ae758, 0xc000f187e0}, 0x32}, {0xc0008810f0?, 0x99?})
        /home/server/plugin/plg_backend_s3/index.go:202 +0x31a
github.com/mickael-kerjean/filestash/filestash-enterprise/plugins/utils.wrapper.Ls({{0x46b77c0, 0xc000f18ff0}, {0x5511fc0, 0x0, 0x0}}, {0xc0008810f0?, 0x165dc9a?})
        /home/filestash-enterprise/plugins/utils/authorisation.go:64 +0x94
github.com/mickael-kerjean/filestash/server/ctrl.FileLs(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/ctrl/files.go:136 +0x7a2
github.com/mickael-kerjean/filestash/server/middleware.LoggedInOnly.func1(0xc000001d40?, {0x46a8bc8, 0xc000f18810}, 0x0?)
        /home/server/middleware/session.go:23 +0x2e
github.com/mickael-kerjean/filestash/server/middleware.SessionStart.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/session.go:77 +0x2e7
github.com/mickael-kerjean/filestash/server/middleware.WithPublicAPI.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:115 +0x3a7
github.com/mickael-kerjean/filestash/server/middleware.SecureOrigin.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:99 +0x4a2
github.com/mickael-kerjean/filestash/server/middleware.SecureHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:79 +0x28c
github.com/mickael-kerjean/filestash/server/middleware.ApiHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:22 +0x29d
github.com/mickael-kerjean/filestash/server.Build.NewMiddlewareChain.func18({0x46a8cb8, 0xc000904000}, 0xc000227680)
        /home/server/middleware/index.go:28 +0x17b
net/http.HandlerFunc.ServeHTTP(0xc000227540?, {0x46a8cb8?, 0xc000904000?}, 0x52f069?)
        /usr/local/go/src/net/http/server.go:2220 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000000480, {0x46a8cb8, 0xc000904000}, 0xc000227400)
        /home/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
net/http.serverHandler.ServeHTTP({0xc000c41d40?}, {0x46a8cb8?, 0xc000904000?}, 0x6?)
        /usr/local/go/src/net/http/server.go:3210 +0x8e
net/http.(*conn).serve(0xc00059d950, {0x46ae758, 0xc000832240})
        /usr/local/go/src/net/http/server.go:2092 +0x5d0
created by net/http.(*Server).Serve in goroutine 135
        /usr/local/go/src/net/http/server.go:3360 +0x485

* fix (s3): versitygw issue

* fix (uint64): size
2025-01-10 16:13:33 +11:00
0d8ea12517 fix (s3): bug on versitygw (#798)
the plugin would break on versitgw which on some version isn't sending
the size metadata, ending with a null pointer dereference.

I wasn't able to replicate this on my own but the bug report shows:

2025/01/10 04:35:47 http: panic serving 130.194.66.248:54701: runtime error: invalid memory address or nil pointer dereference
goroutine 5590 [running]:
net/http.(*conn).serve.func1()
        /usr/local/go/src/net/http/server.go:1947 +0xbe
panic({0x19c2740?, 0x535ece0?})
        /usr/local/go/src/runtime/panic.go:785 +0x132
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls.func1(0xc000986bd0, 0xe0?)
        /home/server/plugin/plg_backend_s3/index.go:218 +0x18a
github.com/aws/aws-sdk-go/service/s3.(*S3).ListObjectsV2PagesWithContext(0xc0005b01a8, {0x46ae758, 0xc000f187e0}, 0xc0006649a0, 0xc0005d7270, {0x0, 0x0, 0x0})
        /home/vendor/github.com/aws/aws-sdk-go/service/s3/api.go:7654 +0x1ad
github.com/mickael-kerjean/filestash/server/plugin/plg_backend_s3.S3Backend.Ls({0xc0005b0178, 0xc00074cd80, 0xc000f188a0, {0x46ae758, 0xc000f187e0}, 0x32}, {0xc0008810f0?, 0x99?})
        /home/server/plugin/plg_backend_s3/index.go:202 +0x31a
github.com/mickael-kerjean/filestash/filestash-enterprise/plugins/utils.wrapper.Ls({{0x46b77c0, 0xc000f18ff0}, {0x5511fc0, 0x0, 0x0}}, {0xc0008810f0?, 0x165dc9a?})
        /home/filestash-enterprise/plugins/utils/authorisation.go:64 +0x94
github.com/mickael-kerjean/filestash/server/ctrl.FileLs(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/ctrl/files.go:136 +0x7a2
github.com/mickael-kerjean/filestash/server/middleware.LoggedInOnly.func1(0xc000001d40?, {0x46a8bc8, 0xc000f18810}, 0x0?)
        /home/server/middleware/session.go:23 +0x2e
github.com/mickael-kerjean/filestash/server/middleware.SessionStart.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/session.go:77 +0x2e7
github.com/mickael-kerjean/filestash/server/middleware.WithPublicAPI.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:115 +0x3a7
github.com/mickael-kerjean/filestash/server/middleware.SecureOrigin.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:99 +0x4a2
github.com/mickael-kerjean/filestash/server/middleware.SecureHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:79 +0x28c
github.com/mickael-kerjean/filestash/server/middleware.ApiHeaders.func1(0xc000001d40, {0x46a8bc8, 0xc000f18810}, 0xc000227680)
        /home/server/middleware/http.go:22 +0x29d
github.com/mickael-kerjean/filestash/server.Build.NewMiddlewareChain.func18({0x46a8cb8, 0xc000904000}, 0xc000227680)
        /home/server/middleware/index.go:28 +0x17b
net/http.HandlerFunc.ServeHTTP(0xc000227540?, {0x46a8cb8?, 0xc000904000?}, 0x52f069?)
        /usr/local/go/src/net/http/server.go:2220 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000000480, {0x46a8cb8, 0xc000904000}, 0xc000227400)
        /home/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
net/http.serverHandler.ServeHTTP({0xc000c41d40?}, {0x46a8cb8?, 0xc000904000?}, 0x6?)
        /usr/local/go/src/net/http/server.go:3210 +0x8e
net/http.(*conn).serve(0xc00059d950, {0x46ae758, 0xc000832240})
        /usr/local/go/src/net/http/server.go:2092 +0x5d0
created by net/http.(*Server).Serve in goroutine 135
        /usr/local/go/src/net/http/server.go:3360 +0x485
2025-01-10 15:52:28 +11:00
41923ef500 fix (firefox): input sizing across browser
before this, there was some annoying discrepencies with the way Firefox
would render input compared to chrome. Unfortunatly we couldn't find a
better way than fixing the height to fix it up
2025-01-06 15:46:22 +11:00
8d27075ddb chore (3d): refactor 3d viewer 2025-01-05 15:10:09 +11:00
24f3150c53 feature (svg): svg opener via threejs 2025-01-03 01:48:41 +11:00
2ac816dc9c feature (table): table opener app 2025-01-02 19:44:02 +11:00
2b872a07be fix (docker-compose): #790 #791 2024-12-31 05:49:36 +11:00
23c5bf53f5 fix (virtual): virtual scroll in fileviewer
there was an issue from a page viewer virtual scroll enabled typing a
search that would return a small amount of result with a scrollbar.

in those condition the scroll event would still be called with the
previous incorrect data
2024-12-29 19:55:36 +11:00
0a2f3c6b3c fix (menubar): filename regression 2024-12-29 19:14:01 +11:00
4baeae2f59 feature (errorpage): ux for error page 2024-12-29 18:44:01 +11:00
b19d7bba24 fix (nav): newtab navigation using ctrl key 2024-12-29 01:23:40 +11:00
67f651e418 chore (editor): css vim 2024-12-29 01:02:36 +11:00
c4ee866db6 fix (menubar): difference chrome / firefox 2024-12-28 18:03:46 +11:00
3315130fb1 feature (dbf): dbf file opener 2024-12-28 02:42:29 +11:00
607b7a00ad chore (refactoring): cleanup 2024-12-28 02:21:34 +11:00
95ddc2e27f feature (error): nicer error page 2024-12-24 18:23:29 +11:00
866cda05c3 feature (shp): native shp handling 2024-12-24 18:10:22 +11:00
c1aead5916 chore (3dviewer): improve UX for layer selection 2024-12-24 00:22:41 +11:00
71b14e6eaf feature (3d): embed 3d viewer anywhere
This contains a bunch of things packaged in 1:

1) UI improvements for the 3D viewer to support all sort of file types
   and create a nice rendering in a clean way with all sort of options

2) enable people to use Filestash as an SDK so we can embed the 3d viewer
   elsewhere
2024-12-23 18:50:23 +11:00
43d07e8555 chore (type): error type / handling 2024-12-23 06:47:20 +11:00
1aa1a7d5e9 fix (deadlock): thumbnail issue in plg_image_c 2024-12-22 03:06:48 +11:00
5eab8c68ba fix (canary): download button with shared links 2024-12-19 14:40:16 +11:00
4ef1c2bbd8 chore (gomod): #780 2024-12-18 09:27:46 +11:00
8422268a21 fix (#771): search from text editor 2024-12-14 20:49:26 +11:00
2543e6fe14 chore (maintenance): dependency update #784
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-14 20:24:57 +11:00
f268d27967 feature (postMessage): iframe RPC via postMessage 2024-12-14 00:46:50 +11:00
b787403a1e chore (sidebar): display rules 2024-12-13 10:11:01 +11:00
44f4cc74f0 fix (wopi): wopi handler fileID 2024-12-13 00:42:00 +11:00
6eb3ed8b40 chore (login): forward URL params in login 2024-12-12 22:31:37 +11:00
e0de8261a6 fix (wopi): path handling 2024-12-12 17:52:20 +11:00
1d06c785bc fix (wopi): wopi config (#785) 2024-12-12 16:07:34 +11:00
b3a44918e1 feature (office): enable wopi office docs 2024-12-12 10:58:38 +11:00
023b0189fe fix (share): filename issue in shared link 2024-12-10 21:55:09 +11:00
003c4a9737 fix (filename): weird filenames
I've tried a lot of things to make the URL look nice but somehow there's
always a bug to handle all possible scenarios. Eg:

/test/test#test%20with a: space.txt

maybe one day, we can make the urls looks nicer but this would need a
significant revamp, until that happen, that will do.

tip: don't understimate the work it takes to do it nicely, I've tried to
do this 2 times quickly and everytime there's a edge case that make
things not working and breaking other odd stuff
2024-12-10 21:51:17 +11:00
5df9fad3b4 chore (downloader): error handling 2024-12-10 17:04:22 +11:00
aa3f76ebb0 fix (about): incorrect plugin list 2024-12-10 09:46:53 +11:00
9895842d90 fix (admin): checkbox position issue 2024-12-10 00:42:32 +11:00
d6bc0d55f1 chore (banner): auth middleware banners 2024-12-10 00:42:06 +11:00
5a3feaeab4 fix (upload): canary upload edge case 2024-12-09 13:03:18 +11:00
4b8926a3da fix (favicon): canary favicon
before this commit, we've had issues with overrides which wouldn't set
the favicon properly
2024-12-09 13:01:12 +11:00
7828d0c315 feature (template): additional templating funcs 2024-12-09 12:04:00 +11:00
afd2f2566e fix (jenkins): broken build after refactoring 2024-12-09 09:03:05 +11:00
60b83e36a9 fix (linter): canary linter 2024-12-06 18:32:58 +11:00
799ba868c3 feature (plg_authenticate_local): local source of user 2024-12-06 18:28:33 +11:00
bc68bf50fe fix (audit): canary audit engine compat 2024-12-06 12:43:01 +11:00
e35158c259 chore (plg_authentication_simple): banner update 2024-12-06 07:21:41 +11:00
b317a50609 chore (plg_authenticate_simple): banner dashboard 2024-12-06 07:07:40 +11:00
9f8a4f515f Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2024-12-06 00:13:50 +11:00
e06b2329a1 fix (editor): blank screen with binary data 2024-12-06 00:13:24 +11:00
609fd308c1 fix (caching): cache invalidation issue
until this, if a user tries to connect to the same backend with a
different path, the frontend would flicker as we'd get things from the
wrong cache key
2024-12-05 23:30:58 +11:00