From 6cef669b8dc85736cf594f3f6e1e0708bf4bc338 Mon Sep 17 00:00:00 2001 From: Nicola Murino Date: Mon, 16 Feb 2026 20:17:06 +0100 Subject: [PATCH] portable mode: improve password generation and perms Signed-off-by: Nicola Murino --- internal/service/service.go | 1 - internal/service/service_portable.go | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/internal/service/service.go b/internal/service/service.go index cb8b00ff..6cb9db8b 100644 --- a/internal/service/service.go +++ b/internal/service/service.go @@ -39,7 +39,6 @@ const ( ) var ( - chars = []rune("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") graceTime int ) diff --git a/internal/service/service_portable.go b/internal/service/service_portable.go index d3181455..4703b33d 100644 --- a/internal/service/service_portable.go +++ b/internal/service/service_portable.go @@ -144,16 +144,15 @@ func (s *Service) configurePortableUser() string { printablePassword = "[redacted]" } if len(s.PortableUser.PublicKeys) == 0 && s.PortableUser.Password == "" { - var b strings.Builder - for i := 0; i < 16; i++ { - b.WriteRune(chars[rand.Intn(len(chars))]) - } - s.PortableUser.Password = b.String() + s.PortableUser.Password = util.GenerateUniqueID() printablePassword = s.PortableUser.Password } s.PortableUser.Filters.WebClient = []string{sdk.WebClientSharesDisabled, sdk.WebClientInfoChangeDisabled, sdk.WebClientPubKeyChangeDisabled, sdk.WebClientPasswordChangeDisabled, sdk.WebClientAPIKeyAuthChangeDisabled, - sdk.WebClientMFADisabled, + sdk.WebClientMFADisabled, sdk.WebClientPasswordResetDisabled, sdk.WebClientTLSCertChangeDisabled, + } + if !s.PortableUser.HasAnyPerm([]string{dataprovider.PermUpload, dataprovider.PermOverwrite}, "/") { + s.PortableUser.Filters.WebClient = append(s.PortableUser.Filters.WebClient, sdk.WebClientWriteDisabled) } s.configurePortableSecrets() return printablePassword