Merge pull request #14728 from snipe/fixes/smarter_decryption_in_activity

Only attempt to decrypt custom fields in activity log if the value is not empty
This commit is contained in:
snipe 2024-05-16 15:31:18 +01:00 committed by GitHub
commit 4119526889
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -85,20 +85,23 @@ class ActionlogsTransformer
$enc_old = '';
$enc_new = '';
try {
$enc_old = \Crypt::decryptString($this->clean_field($fieldata->old));
} catch (\Exception $e) {
\Log::debug('Could not decrypt field - maybe the key changed?');
if ($this->clean_field($fieldata->old!='')) {
try {
$enc_old = \Crypt::decryptString($this->clean_field($fieldata->old));
} catch (\Exception $e) {
\Log::debug('Could not decrypt old field value - maybe the key changed?');
}
}
try {
$enc_new = \Crypt::decryptString($this->clean_field($fieldata->new));
} catch (\Exception $e) {
\Log::debug('Could not decrypt field - maybe the key changed?');
if ($this->clean_field($fieldata->new!='')) {
try {
$enc_new = \Crypt::decryptString($this->clean_field($fieldata->new));
} catch (\Exception $e) {
\Log::debug('Could not decrypt new field value - maybe the key changed?');
}
}
if ($enc_old != $enc_new) {
\Log::debug('custom fields do not match');
$clean_meta[$fieldname]['old'] = "************";
$clean_meta[$fieldname]['new'] = "************";