mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
#20517: SMTP settings are now saved encrypted again. Applying fix by Jeff Olmstead.
Work Item: 20517
This commit is contained in:
@@ -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; }
|
||||||
|
@@ -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() {
|
||||||
|
Reference in New Issue
Block a user