- commit
- 2d86e16
- parent
- e522d71
- author
- Antonio Mika
- date
- 2025-02-24 21:05:03 -0500 EST
Started work on a number of rsync updates
7 files changed,
+30,
-40
+2,
-2
1@@ -97,7 +97,7 @@ func (h *UploadImgHandler) List(s ssh.Session, fpath string, isDir bool, recursi
2 return fileList, nil
3 }
4
5-func (h *UploadImgHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReaderAtCloser, error) {
6+func (h *UploadImgHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReadAndReaderAtCloser, error) {
7 user, err := h.DBPool.FindUser(s.Permissions().Extensions["user_id"])
8 if err != nil {
9 return nil, nil, err
10@@ -287,7 +287,7 @@ func (h *UploadImgHandler) metaImg(data *PostMetaData) error {
11 _, _, err = h.Storage.PutObject(
12 bucket,
13 h.getObjectPath(data.Filename),
14- sendutils.NopReaderAtCloser(reader),
15+ sendutils.NopReadAndReaderAtCloser(reader),
16 &sendutils.FileEntry{},
17 )
18 if err != nil {
+2,
-2
1@@ -49,7 +49,7 @@ func (r *ScpUploadHandler) List(s ssh.Session, fpath string, isDir bool, recursi
2 return BaseList(s, fpath, isDir, recursive, []string{r.Cfg.Space}, r.DBPool)
3 }
4
5-func (h *ScpUploadHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReaderAtCloser, error) {
6+func (h *ScpUploadHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReadAndReaderAtCloser, error) {
7 user, err := h.DBPool.FindUser(s.Permissions().Extensions["user_id"])
8 if err != nil {
9 return nil, nil, err
10@@ -72,7 +72,7 @@ func (h *ScpUploadHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.F
11 FModTime: *post.UpdatedAt,
12 }
13
14- reader := sendutils.NopReaderAtCloser(strings.NewReader(post.Text))
15+ reader := sendutils.NopReadAndReaderAtCloser(strings.NewReader(post.Text))
16
17 return fileInfo, reader, nil
18 }
+2,
-2
1@@ -17,7 +17,7 @@ import (
2 type ReadWriteHandler interface {
3 List(s ssh.Session, fpath string, isDir bool, recursive bool) ([]os.FileInfo, error)
4 Write(ssh.Session, *utils.FileEntry) (string, error)
5- Read(ssh.Session, *utils.FileEntry) (os.FileInfo, utils.ReaderAtCloser, error)
6+ Read(ssh.Session, *utils.FileEntry) (os.FileInfo, utils.ReadAndReaderAtCloser, error)
7 Delete(ssh.Session, *utils.FileEntry) error
8 }
9
10@@ -73,7 +73,7 @@ func (r *FileHandlerRouter) Delete(s ssh.Session, entry *utils.FileEntry) error
11 return handler.Delete(s, entry)
12 }
13
14-func (r *FileHandlerRouter) Read(s ssh.Session, entry *utils.FileEntry) (os.FileInfo, utils.ReaderAtCloser, error) {
15+func (r *FileHandlerRouter) Read(s ssh.Session, entry *utils.FileEntry) (os.FileInfo, utils.ReadAndReaderAtCloser, error) {
16 handler, err := r.findHandler(entry.Filepath)
17 if err != nil {
18 return nil, nil, err
M
go.mod
+11,
-11
1@@ -1,14 +1,16 @@
2 module github.com/picosh/pico
3
4-go 1.23.1
5+go 1.24
6+
7+toolchain go1.24.0
8
9 // replace github.com/picosh/tunkit => ../tunkit
10
11-// replace github.com/picosh/send => ../send
12+replace github.com/picosh/send => ../send
13
14-// replace github.com/picosh/go-rsync-receiver => ../go-rsync-receiver
15+replace github.com/picosh/go-rsync-receiver => ../go-rsync-receiver
16
17-// replace github.com/picosh/pobj => ../pobj
18+replace github.com/picosh/pobj => ../pobj
19
20 // replace github.com/picosh/pubsub => ../pubsub
21
22@@ -70,7 +72,7 @@ require (
23 go.abhg.dev/goldmark/anchor v0.1.1
24 go.abhg.dev/goldmark/hashtag v0.3.1
25 go.abhg.dev/goldmark/toc v0.10.0
26- golang.org/x/crypto v0.31.0
27+ golang.org/x/crypto v0.33.0
28 google.golang.org/protobuf v1.35.2
29 gopkg.in/yaml.v2 v2.4.0
30 )
31@@ -81,7 +83,6 @@ require (
32 filippo.io/edwards25519 v1.1.0 // indirect
33 git.sr.ht/~rockorager/vaxis v0.10.3 // indirect
34 github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect
35- github.com/DavidGamba/go-getoptions v0.31.0 // indirect
36 github.com/Masterminds/goutils v1.1.1 // indirect
37 github.com/Masterminds/semver/v3 v3.2.0 // indirect
38 github.com/Masterminds/sprig/v3 v3.2.3 // indirect
39@@ -197,7 +198,6 @@ require (
40 github.com/google/cel-go v0.20.1 // indirect
41 github.com/google/flatbuffers v23.1.21+incompatible // indirect
42 github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da // indirect
43- github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
44 github.com/gorilla/css v1.0.1 // indirect
45 github.com/hashicorp/errwrap v1.1.0 // indirect
46 github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
47@@ -332,10 +332,10 @@ require (
48 golang.org/x/image v0.21.0 // indirect
49 golang.org/x/mod v0.22.0 // indirect
50 golang.org/x/net v0.31.0 // indirect
51- golang.org/x/sync v0.10.0 // indirect
52- golang.org/x/sys v0.28.0 // indirect
53- golang.org/x/term v0.27.0 // indirect
54- golang.org/x/text v0.21.0 // indirect
55+ golang.org/x/sync v0.11.0 // indirect
56+ golang.org/x/sys v0.30.0 // indirect
57+ golang.org/x/term v0.29.0 // indirect
58+ golang.org/x/text v0.22.0 // indirect
59 golang.org/x/time v0.8.0 // indirect
60 golang.org/x/tools v0.27.0 // indirect
61 google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect
M
go.sum
+10,
-20
1@@ -23,8 +23,6 @@ github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOv
2 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
3 github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
4 github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
5-github.com/DavidGamba/go-getoptions v0.31.0 h1:RvVrggcstVLZiT6BEHlHcXhPXFSCL2fwhxXz4j4xOjo=
6-github.com/DavidGamba/go-getoptions v0.31.0/go.mod h1:zE97E3PR9P3BI/HKyNYgdMlYxodcuiC6W68KIgeYT84=
7 github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
8 github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
9 github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
10@@ -443,8 +441,6 @@ github.com/google/pprof v0.0.0-20240711041743-f6c9dda6c6da/go.mod h1:K1liHPHnj73
11 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
12 github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM=
13 github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA=
14-github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
15-github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
16 github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
17 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
18 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
19@@ -715,14 +711,8 @@ github.com/peterbourgon/diskv/v3 v3.0.1 h1:x06SQA46+PKIUftmEujdwSEpIx8kR+M9eLYsU
20 github.com/peterbourgon/diskv/v3 v3.0.1/go.mod h1:kJ5Ny7vLdARGU3WUuy6uzO6T0nb/2gWcT1JiBvRmb5o=
21 github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c h1:dAMKvw0MlJT1GshSTtih8C2gDs04w8dReiOGXrGLNoY=
22 github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM=
23-github.com/picosh/go-rsync-receiver v0.0.0-20250213155332-9a9558ff1929 h1:cTPxqY6tXSfprcOXJzqeGmgqtdBv+cRYUdDJp0TR9mU=
24-github.com/picosh/go-rsync-receiver v0.0.0-20250213155332-9a9558ff1929/go.mod h1:i0iR3W4GSm1PuvVxB9OH32E5jP+CYkVb2NQSe0JCtlo=
25-github.com/picosh/pobj v0.0.0-20250115045405-73c816ed76c2 h1:fOz+o8pymr93p5OeJkehxkunWeFyVranWBsOmEE0OkI=
26-github.com/picosh/pobj v0.0.0-20250115045405-73c816ed76c2/go.mod h1:cF+eAl4G1vU+WOD8cYCKaxokHo6MWmbR8J4/SJnvESg=
27 github.com/picosh/pubsub v0.0.0-20241114191831-ec8f16c0eb88 h1:hdxE6rquHHw1/eeqS1b+ojLaxGtN8zOiTUclPwaVbPg=
28 github.com/picosh/pubsub v0.0.0-20241114191831-ec8f16c0eb88/go.mod h1:+9hDKIDHQCvGFigCVlIl589BwpT9R4boKhUVc/OgRU4=
29-github.com/picosh/send v0.0.0-20250213162645-ec2027b68462 h1:KTVbrvPjDvjSfHvVX58GHVHnePPAek5/UkxL9XdXrGo=
30-github.com/picosh/send v0.0.0-20250213162645-ec2027b68462/go.mod h1:8f3k6VbB6agrzUIKA2rJ2RbBoKcZiqmNXwk5Za2/Idc=
31 github.com/picosh/tunkit v0.0.0-20240905223921-532404cef9d9 h1:g5oZmnDFr11HarA8IAXcc4o9PBlolSM59QIATCSoato=
32 github.com/picosh/tunkit v0.0.0-20240905223921-532404cef9d9/go.mod h1:UrDH/VCIc1wg/L6iY2zSYt4TiGw+25GsKSnkVkU40Dw=
33 github.com/picosh/utils v0.0.0-20241120033529-8ca070c09bf4 h1:pwbgY9shKyMlpYvpUalTyV0ZVd5paj8pSEYT4OPOYTk=
34@@ -1017,8 +1007,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
35 golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
36 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
37 golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
38-golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
39-golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
40+golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
41+golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
42 golang.org/x/crypto/x509roots/fallback v0.0.0-20240507223354-67b13616a595 h1:TgSqweA595vD0Zt86JzLv3Pb/syKg8gd5KMGGbJPYFw=
43 golang.org/x/crypto/x509roots/fallback v0.0.0-20240507223354-67b13616a595/go.mod h1:kNa9WdvYnzFwC79zRpLRMJbdEFlhyM5RPFBBZp/wWH8=
44 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
45@@ -1084,8 +1074,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
46 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
47 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
48 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
49-golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
50-golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
51+golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
52+golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
53 golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
54 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
55 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
56@@ -1141,8 +1131,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
57 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
58 golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
59 golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
60-golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
61-golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
62+golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
63+golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
64 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
65 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
66 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
67@@ -1152,8 +1142,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
68 golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
69 golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
70 golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
71-golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
72-golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
73+golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
74+golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
75 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
76 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
77 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
78@@ -1164,8 +1154,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
79 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
80 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
81 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
82-golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
83-golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
84+golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
85+golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
86 golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
87 golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
88 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+1,
-1
1@@ -116,7 +116,7 @@ func (h *UploadAssetHandler) GetLogger() *slog.Logger {
2 return h.Cfg.Logger
3 }
4
5-func (h *UploadAssetHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReaderAtCloser, error) {
6+func (h *UploadAssetHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReadAndReaderAtCloser, error) {
7 user, err := h.Cfg.DB.FindUser(s.Permissions().Extensions["user_id"])
8 if err != nil {
9 return nil, nil, err
+2,
-2
1@@ -55,7 +55,7 @@ func (h *UploadHandler) Delete(s ssh.Session, entry *sendutils.FileEntry) error
2 return errors.New("unsupported")
3 }
4
5-func (h *UploadHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReaderAtCloser, error) {
6+func (h *UploadHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.FileInfo, sendutils.ReadAndReaderAtCloser, error) {
7 user, err := h.DBPool.FindUser(s.Permissions().Extensions["user_id"])
8 if err != nil {
9 return nil, nil, err
10@@ -71,7 +71,7 @@ func (h *UploadHandler) Read(s ssh.Session, entry *sendutils.FileEntry) (os.File
11 if err != nil {
12 return nil, nil, err
13 }
14- reader := sendutils.NopReaderAtCloser(strings.NewReader(text))
15+ reader := sendutils.NopReadAndReaderAtCloser(strings.NewReader(text))
16 return fileInfo, reader, nil
17 }
18