diff --git a/pkg/crypto/gencert.go b/pkg/crypto/gencert.go index 46a5d91ee..1fd23b377 100644 --- a/pkg/crypto/gencert.go +++ b/pkg/crypto/gencert.go @@ -65,12 +65,12 @@ func GenTempCertForAddr(addr string) (tls.Certificate, error) { // persistCertificate generates a certificate using pk as private key and proceeds to store it into a file named certName. func persistCertificate(certName string, l log.Logger, pk interface{}) error { if err := ensureExistsDir(certName); err != nil { - return fmt.Errorf("creating certificate destination: " + certName) + return fmt.Errorf("creating certificate destination: %s", certName) } certificate, err := generateCertificate(pk) if err != nil { - return fmt.Errorf("creating certificate: " + filepath.Dir(certName)) + return fmt.Errorf("creating certificate: %s", filepath.Dir(certName)) } certOut, err := os.Create(certName) @@ -108,7 +108,7 @@ func generateCertificate(pk interface{}) ([]byte, error) { // persistKey persists the private key used to generate the certificate at the configured location. func persistKey(destination string, l log.Logger, pk interface{}) error { if err := ensureExistsDir(destination); err != nil { - return fmt.Errorf("creating key destination: " + destination) + return fmt.Errorf("creating key destination: %s", destination) } keyOut, err := os.OpenFile(destination, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600) diff --git a/pkg/l10n/l10n.go b/pkg/l10n/l10n.go index a7c657a78..d9ef549db 100644 --- a/pkg/l10n/l10n.go +++ b/pkg/l10n/l10n.go @@ -54,7 +54,7 @@ func NewTranslatorFromCommonConfig(defaultLocale string, domain string, path str // Translate translates a string to the locale func (t Translator) Translate(str, locale string) string { - return t.Locale(locale).Get(str) + return t.Locale(locale).Get("%s", str) } // Locale returns the gotext.Locale, use `.Get` method to translate strings diff --git a/pkg/tracing/tracing.go b/pkg/tracing/tracing.go index 524b8ceea..734116bfa 100644 --- a/pkg/tracing/tracing.go +++ b/pkg/tracing/tracing.go @@ -159,14 +159,14 @@ func parseAgentConfig(ae string) (string, string, error) { p := strings.Split(ae, ":") if len(p) != 2 { - return "", "", fmt.Errorf(fmt.Sprintf("invalid agent endpoint `%s`. expected format: `hostname:port`", ae)) + return "", "", fmt.Errorf("invalid agent endpoint `%s`. expected format: `hostname:port`", ae) } switch { case p[0] == "" && p[1] == "": // case ae = ":" - return "", "", fmt.Errorf(fmt.Sprintf("invalid agent endpoint `%s`. expected format: `hostname:port`", ae)) + return "", "", fmt.Errorf("invalid agent endpoint `%s`. expected format: `hostname:port`", ae) case p[0] == "": - return "", "", fmt.Errorf(fmt.Sprintf("invalid agent endpoint `%s`. expected format: `hostname:port`", ae)) + return "", "", fmt.Errorf("invalid agent endpoint `%s`. expected format: `hostname:port`", ae) } return p[0], p[1], nil } diff --git a/services/notifications/pkg/email/composer.go b/services/notifications/pkg/email/composer.go index a9aad3dc6..4fa7bef51 100644 --- a/services/notifications/pkg/email/composer.go +++ b/services/notifications/pkg/email/composer.go @@ -21,19 +21,19 @@ var ( func NewTextTemplate(mt MessageTemplate, locale, defaultLocale string, translationPath string, vars map[string]string) (MessageTemplate, error) { var err error t := l10n.NewTranslatorFromCommonConfig(defaultLocale, _domain, translationPath, _translationFS, "l10n/locale").Locale(locale) - mt.Subject, err = composeMessage(t.Get(mt.Subject), vars) + mt.Subject, err = composeMessage(t.Get("%s", mt.Subject), vars) if err != nil { return mt, err } - mt.Greeting, err = composeMessage(t.Get(mt.Greeting), vars) + mt.Greeting, err = composeMessage(t.Get("%s", mt.Greeting), vars) if err != nil { return mt, err } - mt.MessageBody, err = composeMessage(t.Get(mt.MessageBody), vars) + mt.MessageBody, err = composeMessage(t.Get("%s", mt.MessageBody), vars) if err != nil { return mt, err } - mt.CallToAction, err = composeMessage(t.Get(mt.CallToAction), vars) + mt.CallToAction, err = composeMessage(t.Get("%s", mt.CallToAction), vars) if err != nil { return mt, err } @@ -44,19 +44,19 @@ func NewTextTemplate(mt MessageTemplate, locale, defaultLocale string, translati func NewHTMLTemplate(mt MessageTemplate, locale, defaultLocale string, translationPath string, vars map[string]string) (MessageTemplate, error) { var err error t := l10n.NewTranslatorFromCommonConfig(defaultLocale, _domain, translationPath, _translationFS, "l10n/locale").Locale(locale) - mt.Subject, err = composeMessage(t.Get(mt.Subject), vars) + mt.Subject, err = composeMessage(t.Get("%s", mt.Subject), vars) if err != nil { return mt, err } - mt.Greeting, err = composeMessage(newlineToBr(t.Get(mt.Greeting)), vars) + mt.Greeting, err = composeMessage(newlineToBr(t.Get("%s", mt.Greeting)), vars) if err != nil { return mt, err } - mt.MessageBody, err = composeMessage(newlineToBr(t.Get(mt.MessageBody)), vars) + mt.MessageBody, err = composeMessage(newlineToBr(t.Get("%s", mt.MessageBody)), vars) if err != nil { return mt, err } - mt.CallToAction, err = composeMessage(callToActionToHTML(t.Get(mt.CallToAction)), vars) + mt.CallToAction, err = composeMessage(callToActionToHTML(t.Get("%s", mt.CallToAction)), vars) if err != nil { return mt, err } @@ -71,18 +71,18 @@ func NewGroupedTextTemplate(gmt GroupedMessageTemplate, vars map[string]string, var err error t := l10n.NewTranslatorFromCommonConfig(defaultLocale, _domain, translationPath, _translationFS, "l10n/locale").Locale(locale) - gmt.Subject, err = composeMessage(t.Get(gmt.Subject), vars) + gmt.Subject, err = composeMessage(t.Get("%s", gmt.Subject), vars) if err != nil { return gmt, err } - gmt.Greeting, err = composeMessage(t.Get(gmt.Greeting), vars) + gmt.Greeting, err = composeMessage(t.Get("%s", gmt.Greeting), vars) if err != nil { return gmt, err } bodyParts := make([]string, 0, len(mtsVars)) for i, mt := range mts { - bodyPart, err := composeMessage(t.Get(mt.MessageBody), mtsVars[i]) + bodyPart, err := composeMessage(t.Get("%s", mt.MessageBody), mtsVars[i]) if err != nil { return gmt, err } @@ -100,18 +100,18 @@ func NewGroupedHTMLTemplate(gmt GroupedMessageTemplate, vars map[string]string, var err error t := l10n.NewTranslatorFromCommonConfig(defaultLocale, _domain, translationPath, _translationFS, "l10n/locale").Locale(locale) - gmt.Subject, err = composeMessage(t.Get(gmt.Subject), vars) + gmt.Subject, err = composeMessage(t.Get("%s", gmt.Subject), vars) if err != nil { return gmt, err } - gmt.Greeting, err = composeMessage(newlineToBr(t.Get(gmt.Greeting)), vars) + gmt.Greeting, err = composeMessage(newlineToBr(t.Get("%s", gmt.Greeting)), vars) if err != nil { return gmt, err } bodyParts := make([]string, 0, len(mtsVars)) for i, mt := range mts { - bodyPart, err := composeMessage(t.Get(mt.MessageBody), mtsVars[i]) + bodyPart, err := composeMessage(t.Get("%s", mt.MessageBody), mtsVars[i]) if err != nil { return gmt, err } diff --git a/services/search/pkg/service/grpc/v0/service.go b/services/search/pkg/service/grpc/v0/service.go index cb48ca198..e28209aca 100644 --- a/services/search/pkg/service/grpc/v0/service.go +++ b/services/search/pkg/service/grpc/v0/service.go @@ -163,9 +163,9 @@ func (s Service) Search(ctx context.Context, in *searchsvc.SearchRequest, out *s if err != nil { switch err.(type) { case errtypes.BadRequest: - return merrors.BadRequest(s.id, err.Error()) + return merrors.BadRequest(s.id, "%s", err.Error()) default: - return merrors.InternalServerError(s.id, err.Error()) + return merrors.InternalServerError(s.id, "%s", err.Error()) } } diff --git a/services/settings/pkg/service/v0/service.go b/services/settings/pkg/service/v0/service.go index c1923999f..fe90e4df6 100644 --- a/services/settings/pkg/service/v0/service.go +++ b/services/settings/pkg/service/v0/service.go @@ -252,15 +252,15 @@ func (g Service) SaveValue(ctx context.Context, req *settingssvc.SaveValueReques cleanUpResource(ctx, req.GetValue().GetResource()) // TODO: we need to check, if the authenticated user has permission to write the value for the specified resource (e.g. global, file with id xy, ...) if validationError := validateSaveValue(req); validationError != nil { - return merrors.BadRequest(g.id, validationError.Error()) + return merrors.BadRequest(g.id, "%s", validationError.Error()) } r, err := g.manager.WriteValue(req.GetValue()) if err != nil { - return merrors.BadRequest(g.id, err.Error()) + return merrors.BadRequest(g.id, "%s", err) } valueWithIdentifier, err := g.getValueWithIdentifier(r) if err != nil { - return merrors.NotFound(g.id, err.Error()) + return merrors.NotFound(g.id, "%s", err) } res.Value = valueWithIdentifier return nil @@ -290,17 +290,17 @@ func (g Service) GetValueByUniqueIdentifiers(ctx context.Context, req *settingss return merrors.Forbidden(g.id, "can't get value of another user") } if validationError := validateGetValueByUniqueIdentifiers(req); validationError != nil { - return merrors.BadRequest(g.id, validationError.Error()) + return merrors.BadRequest(g.id, "%s", validationError) } v, err := g.manager.ReadValueByUniqueIdentifiers(req.GetAccountUuid(), req.GetSettingId()) if err != nil { - return merrors.NotFound(g.id, err.Error()) + return merrors.NotFound(g.id, "%s", err) } if v.GetBundleId() != "" { valueWithIdentifier, err := g.getValueWithIdentifier(v) if err != nil { - return merrors.NotFound(g.id, err.Error()) + return merrors.NotFound(g.id, "%s", err) } res.Value = valueWithIdentifier @@ -316,11 +316,11 @@ func (g Service) ListValues(ctx context.Context, req *settingssvc.ListValuesRequ } if validationError := validateListValues(req); validationError != nil { - return merrors.BadRequest(g.id, validationError.Error()) + return merrors.BadRequest(g.id, "%s", validationError) } values, err := g.manager.ListValues(req.GetBundleId(), req.GetAccountUuid()) if err != nil { - return merrors.NotFound(g.id, err.Error()) + return merrors.NotFound(g.id, "%s", err) } result := make([]*settingsmsg.ValueWithIdentifier, 0, len(values)) for _, value := range values { @@ -390,7 +390,7 @@ func (g Service) ListRoleAssignmentsFiltered(ctx context.Context, req *settingss func (g Service) AssignRoleToUser(ctx context.Context, req *settingssvc.AssignRoleToUserRequest, res *settingssvc.AssignRoleToUserResponse) error { req.AccountUuid = getValidatedAccountUUID(ctx, req.GetAccountUuid()) if validationError := validateAssignRoleToUser(req); validationError != nil { - return merrors.BadRequest(g.id, validationError.Error()) + return merrors.BadRequest(g.id, "%s", validationError) } ownAccountUUID, ok := metadata.Get(ctx, middleware.AccountID) @@ -417,7 +417,7 @@ func (g Service) AssignRoleToUser(ctx context.Context, req *settingssvc.AssignRo r, err := g.manager.WriteRoleAssignment(req.GetAccountUuid(), req.GetRoleId()) if err != nil { - return merrors.BadRequest(g.id, err.Error()) + return merrors.BadRequest(g.id, "%s", err) } res.Assignment = r return nil @@ -430,7 +430,7 @@ func (g Service) RemoveRoleFromUser(ctx context.Context, req *settingssvc.Remove } if validationError := validateRemoveRoleFromUser(req); validationError != nil { - return merrors.BadRequest(g.id, validationError.Error()) + return merrors.BadRequest(g.id, "%s", validationError) } ownAccountUUID, ok := metadata.Get(ctx, middleware.AccountID) @@ -442,7 +442,7 @@ func (g Service) RemoveRoleFromUser(ctx context.Context, req *settingssvc.Remove al, err := g.manager.ListRoleAssignments(ownAccountUUID) if err != nil { g.logger.Debug().Err(err).Str("id", g.id).Msg("ListRoleAssignments failed") - return merrors.InternalServerError(g.id, err.Error()) + return merrors.InternalServerError(g.id, "%s", err) } for _, a := range al { @@ -453,7 +453,7 @@ func (g Service) RemoveRoleFromUser(ctx context.Context, req *settingssvc.Remove } if err := g.manager.RemoveRoleAssignment(req.GetId()); err != nil { - return merrors.BadRequest(g.id, err.Error()) + return merrors.BadRequest(g.id, "%s", err) } return nil } @@ -697,7 +697,7 @@ func translateBundle(bundle *settingsmsg.Bundle, t *gotext.Locale) *settingsmsg. // translate interval names ('Instant', 'Daily', 'Weekly', 'Never') value := set.GetSingleChoiceValue() for i, v := range value.GetOptions() { - value.Options[i].DisplayValue = t.Get(v.GetDisplayValue()) + value.Options[i].DisplayValue = t.Get("%s", v.GetDisplayValue()) } set.Value = &settingsmsg.Setting_SingleChoiceValue{SingleChoiceValue: value} fallthrough @@ -710,9 +710,9 @@ func translateBundle(bundle *settingsmsg.Bundle, t *gotext.Locale) *settingsmsg. defaults.SettingUUIDProfileEventSpaceDisabled, defaults.SettingUUIDProfileEventSpaceDeleted: // translate event names ('Share Received', 'Share Removed', ...) - set.DisplayName = t.Get(set.GetDisplayName()) + set.DisplayName = t.Get("%s", set.GetDisplayName()) // translate event descriptions ('Notify me when I receive a share', ...) - set.Description = t.Get(set.GetDescription()) + set.Description = t.Get("%s", set.GetDescription()) bundle.Settings[i] = set } } diff --git a/services/thumbnails/pkg/service/grpc/v0/service.go b/services/thumbnails/pkg/service/grpc/v0/service.go index dcd32e163..515c6abc8 100644 --- a/services/thumbnails/pkg/service/grpc/v0/service.go +++ b/services/thumbnails/pkg/service/grpc/v0/service.go @@ -129,7 +129,7 @@ func (g Thumbnail) checkThumbnail(req *thumbnailssvc.GetThumbnailRequest, sRes * } tr, err := thumbnail.PrepareRequest(int(req.GetWidth()), int(req.GetHeight()), tType, sRes.GetInfo().GetChecksum().GetSum(), req.GetProcessor()) if err != nil { - return "", tr, merrors.BadRequest(g.serviceID, err.Error()) + return "", tr, merrors.BadRequest(g.serviceID, "%s", err.Error()) } if key, exists := g.manager.CheckThumbnail(tr); exists { @@ -158,7 +158,7 @@ func (g Thumbnail) handleCS3Source(ctx context.Context, req *thumbnailssvc.GetTh r, err := g.cs3Source.Get(ctx, src.GetPath()) switch { case errors.Is(err, terrors.ErrImageTooLarge): - return "", merrors.Forbidden(g.serviceID, err.Error()) + return "", merrors.Forbidden(g.serviceID, "%s", err.Error()) case err != nil: return "", merrors.InternalServerError(g.serviceID, "could not get image from source: %s", err.Error()) } @@ -175,7 +175,7 @@ func (g Thumbnail) handleCS3Source(ctx context.Context, req *thumbnailssvc.GetTh key, err = g.manager.Generate(tr, img) if errors.Is(err, terrors.ErrImageTooLarge) { - return "", merrors.Forbidden(g.serviceID, err.Error()) + return "", merrors.Forbidden(g.serviceID, "%s", err.Error()) } return key, err } @@ -251,7 +251,7 @@ func (g Thumbnail) handleWebdavSource(ctx context.Context, req *thumbnailssvc.Ge r, err := g.webdavSource.Get(ctx, imgURL.String()) switch { case errors.Is(err, terrors.ErrImageTooLarge): - return "", merrors.Forbidden(g.serviceID, err.Error()) + return "", merrors.Forbidden(g.serviceID, "%s", err.Error()) case err != nil: return "", merrors.InternalServerError(g.serviceID, "could not get image from source: %s", err.Error()) } @@ -267,7 +267,7 @@ func (g Thumbnail) handleWebdavSource(ctx context.Context, req *thumbnailssvc.Ge key, err = g.manager.Generate(tr, img) if errors.Is(err, terrors.ErrImageTooLarge) { - return "", merrors.Forbidden(g.serviceID, err.Error()) + return "", merrors.Forbidden(g.serviceID, "%s", err.Error()) } return key, err } diff --git a/services/userlog/pkg/service/conversion.go b/services/userlog/pkg/service/conversion.go index 9cb7f98bc..e59c5eea6 100644 --- a/services/userlog/pkg/service/conversion.go +++ b/services/userlog/pkg/service/conversion.go @@ -376,7 +376,7 @@ func composeMessage(nt NotificationTemplate, locale, defaultLocale, path string, func loadTemplates(nt NotificationTemplate, locale, defaultLocale, path string) (string, string) { t := l10n.NewTranslatorFromCommonConfig(defaultLocale, _domain, path, _translationFS, "l10n/locale").Locale(locale) - return t.Get(nt.Subject), t.Get(nt.Message) + return t.Get("%s", nt.Subject), t.Get("%s", nt.Message) } func executeTemplate(raw string, vars map[string]interface{}) (string, error) {