Merge pull request #326 from rhafer/go1.24-fixes

Fix build with go 1.24
This commit is contained in:
Ralf Haferkamp
2025-03-10 11:26:01 +01:00
committed by GitHub
8 changed files with 45 additions and 45 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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())
}
}

View File

@@ -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
}
}

View File

@@ -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
}

View File

@@ -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) {