#20517: SMTP settings are now saved encrypted again. Applying fix by Jeff Olmstead.

Work Item: 20517
This commit is contained in:
Zoltán Lehóczky
2014-02-28 23:23:56 +01:00
parent a83e07d785
commit 6b6e89e443
2 changed files with 8 additions and 4 deletions

View File

@@ -34,7 +34,8 @@ namespace Orchard.Email.Handlers {
void LazyLoadHandlers(LoadContentContext context, SmtpSettingsPart part) {
part.PasswordField.Getter(() => {
try {
return String.IsNullOrWhiteSpace(part.Password) ? String.Empty : Encoding.UTF8.GetString(_encryptionService.Decode(Convert.FromBase64String(part.Password)));
var encryptedPassword = part.Retrieve(x => x.Password);
return String.IsNullOrWhiteSpace(encryptedPassword) ? String.Empty : Encoding.UTF8.GetString(_encryptionService.Decode(Convert.FromBase64String(encryptedPassword)));
}
catch {
Logger.Error("The email password could not be decrypted. It might be corrupted, try to reset it.");
@@ -42,7 +43,10 @@ namespace Orchard.Email.Handlers {
}
});
part.PasswordField.Setter(value => part.Password = String.IsNullOrWhiteSpace(value) ? String.Empty : Convert.ToBase64String(_encryptionService.Encode(Encoding.UTF8.GetBytes(value))));
part.PasswordField.Setter(value => {
var encryptedPassword = String.IsNullOrWhiteSpace(value) ? String.Empty : Convert.ToBase64String(_encryptionService.Encode(Encoding.UTF8.GetBytes(value)));
part.Store(x => x.Password, encryptedPassword);
});
}
public Localizer T { get; set; }

View File

@@ -41,8 +41,8 @@ namespace Orchard.Email.Models {
}
public string Password {
get { return this.Retrieve(x => x.Password); }
set { this.Store(x => x.Password, value); }
get { return _password.Value; }
set { _password.Value = value; }
}
public bool IsValid() {