security fix, do not pass smtp password with front-end

This commit is contained in:
lesion
2022-02-01 23:34:05 +01:00
parent 00a47be884
commit 2a07026590
2 changed files with 8 additions and 1 deletions

View File

@@ -83,7 +83,7 @@ export default {
computed: { computed: {
...mapState(['settings']), ...mapState(['settings']),
showSMTPAlert () { showSMTPAlert () {
return !this.setup && (!this.settings.admin_email || !this.settings.smtp || !this.settings.smtp.host || !this.settings.smtp.user) return !this.setup && (!this.settings.admin_email || !this.settings.smtp || !this.settings.smtp.host || !this.settings.smtp.auth.user)
}, },
instance_locale: { instance_locale: {
get () { return this.settings.instance_locale }, get () { return this.settings.instance_locale },

View File

@@ -65,6 +65,13 @@ module.exports = {
// initialize settings // initialize settings
req.settings = { ...settingsController.settings } req.settings = { ...settingsController.settings }
if (req.settings.smtp && req.settings.smtp.auth && req.settings.smtp.auth.pass) {
if (req.user.is_admin) {
delete req.settings.smtp.auth.pass
} else {
delete req.settings.smtp
}
}
req.settings.baseurl = config.baseurl req.settings.baseurl = config.baseurl
req.settings.hostname = config.hostname req.settings.hostname = config.hostname
req.settings.title = req.settings.title || config.title req.settings.title = req.settings.title || config.title