notifications: Deprecate redundant encryptions settings

'tls' and 'ssl' are duplicates of 'starttls' and 'ssltls' and have been deprecated
in the upstream modules we use for sending mail notifications. Let's deprecate them
as well and issue a warning when they are still used.

Fixes: #7345
This commit is contained in:
Ralf Haferkamp
2023-10-05 12:37:27 +02:00
committed by Ralf Haferkamp
parent e03de5da04
commit 246ec1ecc9
3 changed files with 28 additions and 1 deletions
@@ -2,10 +2,12 @@ package parser
import (
"errors"
"fmt"
ociscfg "github.com/owncloud/ocis/v2/ocis-pkg/config"
"github.com/owncloud/ocis/v2/services/notifications/pkg/config"
"github.com/owncloud/ocis/v2/services/notifications/pkg/config/defaults"
"github.com/owncloud/ocis/v2/services/notifications/pkg/logging"
"github.com/owncloud/ocis/v2/ocis-pkg/config/envdecode"
)
@@ -33,5 +35,22 @@ func ParseConfig(cfg *config.Config) error {
}
func Validate(cfg *config.Config) error {
logger := logging.Configure(cfg.Service.Name, cfg.Log)
if cfg.Notifications.SMTP.Host != "" {
switch cfg.Notifications.SMTP.Encryption {
case "tls":
logger.Warn().Msg("The smtp_encryption value 'tls' is deprecated. Please use the value 'starttls' instead.")
case "ssl":
logger.Warn().Msg("The smtp_encryption value 'ssl' is deprecated. Please use the value 'ssltls' instead.")
case "starttls", "ssltls", "none":
break
default:
return fmt.Errorf(
"unknown value '%s' for 'smtp_encryption' in service %s. Allowed values are 'starttls', 'ssltls' or 'none'",
cfg.Notifications.SMTP.Encryption, cfg.Service.Name,
)
}
}
return nil
}