#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) { void LazyLoadHandlers(LoadContentContext context, SmtpSettingsPart part) {
part.PasswordField.Getter(() => { part.PasswordField.Getter(() => {
try { 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 { catch {
Logger.Error("The email password could not be decrypted. It might be corrupted, try to reset it."); 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; } public Localizer T { get; set; }

View File

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