Skip to content

Commit 7e234e3

Browse files
authored
Merge pull request #11705 from kobergj/RevertPublicLinkSSEs
[OCISDEV-237] Revert Public Link SSEs
2 parents 2bf2e8b + 0a50a37 commit 7e234e3

File tree

4 files changed

+0
-73
lines changed

4 files changed

+0
-73
lines changed

changelog/unreleased/enhc-sse-support.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

services/clientlog/pkg/service/service.go

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,10 @@ import (
1313
group "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1"
1414
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
1515
rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
16-
link "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1"
1716
provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
1817
"go.opentelemetry.io/otel/trace"
1918

2019
"github.com/owncloud/reva/v2/pkg/events"
21-
"github.com/owncloud/reva/v2/pkg/publicshare"
2220
"github.com/owncloud/reva/v2/pkg/rgrpc/todo/pool"
2321
"github.com/owncloud/reva/v2/pkg/storagespace"
2422
"github.com/owncloud/reva/v2/pkg/utils"
@@ -134,8 +132,6 @@ func (cl *ClientlogService) processEvent(event events.Event) {
134132
users, data, err = processShareEvent(ctx, ref, gwc, event.InitiatorID, uid, gid)
135133
}
136134

137-
tokens := make([]string, 0)
138-
139135
switch e := event.Event.(type) {
140136
default:
141137
err = errors.New("unhandled event")
@@ -145,34 +141,26 @@ func (cl *ClientlogService) processEvent(event events.Event) {
145141
return
146142
}
147143
fileEv("postprocessing-finished", e.FileRef)
148-
tokens, _ = listPublicShareTokens(ctx, gwc, e.FileRef, cl.log)
149144
case events.ItemTrashed:
150145
evType = "item-trashed"
151146
users, data, err = processItemTrashedEvent(ctx, e.Ref, gwc, event.InitiatorID, e.ID)
152-
tokens, _ = listPublicShareTokens(ctx, gwc, e.Ref, cl.log)
153147
case events.ItemRestored:
154148
fileEv("item-restored", e.Ref)
155-
tokens, _ = listPublicShareTokens(ctx, gwc, e.Ref, cl.log)
156149
case events.ContainerCreated:
157150
fileEv("folder-created", e.Ref)
158-
tokens, _ = listPublicShareTokens(ctx, gwc, e.Ref, cl.log)
159151
case events.ItemMoved:
160152
// we send a dedicated event in case the item was only renamed
161153
if isRename(e.OldReference, e.Ref) {
162154
fileEv("item-renamed", e.Ref)
163155
} else {
164156
fileEv("item-moved", e.Ref)
165157
}
166-
tokens, _ = listPublicShareTokens(ctx, gwc, e.Ref, cl.log)
167158
case events.FileLocked:
168159
fileEv("file-locked", e.Ref)
169-
tokens, _ = listPublicShareTokens(ctx, gwc, e.Ref, cl.log)
170160
case events.FileUnlocked:
171161
fileEv("file-unlocked", e.Ref)
172-
tokens, _ = listPublicShareTokens(ctx, gwc, e.Ref, cl.log)
173162
case events.FileTouched:
174163
fileEv("file-touched", e.Ref)
175-
tokens, _ = listPublicShareTokens(ctx, gwc, e.Ref, cl.log)
176164
case events.SpaceShared:
177165
r, _ := storagespace.ParseReference(e.ID.GetOpaqueId())
178166
shareEv("space-member-added", &r, e.GranteeUserID, e.GranteeGroupID)
@@ -204,9 +192,6 @@ func (cl *ClientlogService) processEvent(event events.Event) {
204192
}
205193

206194
// II) instruct sse service to send the information
207-
if len(tokens) > 0 {
208-
users = append(users, tokens...)
209-
}
210195
if err := cl.sendSSE(users, evType, data); err != nil {
211196
cl.log.Error().Err(err).Interface("userIDs", users).Str("eventid", event.ID).Msg("failed to store event for user")
212197
return
@@ -335,41 +320,3 @@ func backchannelLogoutEvent(e events.BackchannelLogout) (string, []string, Backc
335320
Timestamp: e.Timestamp.String(),
336321
}
337322
}
338-
339-
func listPublicShareTokens(ctx context.Context, gwc gateway.GatewayAPIClient, ref *provider.Reference, log log.Logger) ([]string, error) {
340-
tokens := make([]string, 0)
341-
info, err := utils.GetResource(ctx, ref, gwc)
342-
if err != nil {
343-
log.Error().Err(err).Str("event", "listPublicShareTokens").Msg("error getting ResourceInfo")
344-
return tokens, err
345-
}
346-
347-
if utils.IsSpaceRoot(info) {
348-
return tokens, nil
349-
}
350-
351-
req := link.ListPublicSharesRequest{
352-
Filters: []*link.ListPublicSharesRequest_Filter{publicshare.ResourceIDFilter(info.GetId())},
353-
}
354-
355-
res, err := gwc.ListPublicShares(ctx, &req)
356-
if err != nil {
357-
log.Error().Err(err).Str("event", "listPublicShareTokens").Msg("error getting ListPublicShares")
358-
return tokens, err
359-
}
360-
361-
if res.GetStatus().GetCode() != rpc.Code_CODE_OK {
362-
log.Error().Str("event", "listPublicShareTokens").Msg("error getting ListPublicShares " + res.GetStatus().GetCode().String())
363-
return tokens, fmt.Errorf("error getting ListPublicShares %s", res.GetStatus().GetCode().String())
364-
}
365-
for _, s := range res.GetShare() {
366-
tokens = append(tokens, s.GetToken())
367-
}
368-
369-
t, err := listPublicShareTokens(ctx, gwc, &provider.Reference{ResourceId: info.GetParentId()}, log)
370-
if err != nil {
371-
log.Error().Err(err).Str("event", "listPublicShareTokens").Msg("error getting parent listPublicShareTokens")
372-
return tokens, err
373-
}
374-
return append(tokens, t...), nil
375-
}

services/proxy/pkg/middleware/authentication.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ var (
3434
"/ocs/v2.php/cloud/capabilities",
3535
"/ocs/v1.php/cloud/user/signing-key",
3636
"/ocs/v2.php/cloud/user/signing-key",
37-
"/ocs/v2.php/apps/notifications/api/v1/notifications/sse",
3837
}
3938
)
4039

services/sse/pkg/service/service.go

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@ import (
44
"net/http"
55
"time"
66

7-
userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
8-
97
"github.com/go-chi/chi/v5"
108
"github.com/r3labs/sse/v2"
119

1210
revactx "github.com/owncloud/reva/v2/pkg/ctx"
1311
"github.com/owncloud/reva/v2/pkg/events"
14-
"github.com/owncloud/reva/v2/pkg/utils"
1512

1613
"github.com/owncloud/ocis/v2/ocis-pkg/log"
1714
"github.com/owncloud/ocis/v2/services/sse/pkg/config"
@@ -76,17 +73,6 @@ func (s SSE) HandleSSE(w http.ResponseWriter, r *http.Request) {
7673
}
7774

7875
uid := u.GetId().GetOpaqueId()
79-
80-
if len(utils.ReadPlainFromOpaque(u.Opaque, "public-share-role")) > 0 {
81-
var impersonator userpb.User
82-
if err := utils.ReadJSONFromOpaque(u.Opaque, "impersonating-user", &impersonator); err != nil {
83-
s.l.Error().Msg("sse: public share token not found")
84-
w.WriteHeader(http.StatusInternalServerError)
85-
return
86-
}
87-
uid = impersonator.GetId().GetOpaqueId()
88-
}
89-
9076
if uid == "" {
9177
s.l.Error().Msg("sse: user in context is broken")
9278
w.WriteHeader(http.StatusInternalServerError)

0 commit comments

Comments
 (0)