From f96c5c8562fce44c54b7926b6a38edc3b6fb3856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Thu, 17 Mar 2022 08:05:22 +0000 Subject: [PATCH] emit linkaccessfailed event when share is nil MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- .../unreleased/make-linkaccessfailed-more-robust.md | 5 +++++ .../grpc/interceptors/eventsmiddleware/conversion.go | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 changelog/unreleased/make-linkaccessfailed-more-robust.md diff --git a/changelog/unreleased/make-linkaccessfailed-more-robust.md b/changelog/unreleased/make-linkaccessfailed-more-robust.md new file mode 100644 index 0000000000..707488ce03 --- /dev/null +++ b/changelog/unreleased/make-linkaccessfailed-more-robust.md @@ -0,0 +1,5 @@ +Bugfix: emit linkaccessfailed event when share is nil + +The code no longer panics when a link access failed event has no share. + +https://github.com/cs3org/reva/pull/2643 diff --git a/internal/grpc/interceptors/eventsmiddleware/conversion.go b/internal/grpc/interceptors/eventsmiddleware/conversion.go index 4d637945ca..0870f7f475 100644 --- a/internal/grpc/interceptors/eventsmiddleware/conversion.go +++ b/internal/grpc/interceptors/eventsmiddleware/conversion.go @@ -126,12 +126,15 @@ func LinkAccessed(r *link.GetPublicShareByTokenResponse) events.LinkAccessed { // LinkAccessFailed converts the response to an event func LinkAccessFailed(r *link.GetPublicShareByTokenResponse, req *link.GetPublicShareByTokenRequest) events.LinkAccessFailed { - return events.LinkAccessFailed{ - ShareID: r.Share.Id, - Token: r.Share.Token, + e := events.LinkAccessFailed{ Status: r.Status.Code, Message: r.Status.Message, } + if r.Share != nil { + e.ShareID = r.Share.Id + e.Token = r.Share.Token + } + return e } // LinkRemoved converts the response to an event