]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Detect encryption when libarchive is used
authorVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 28 Feb 2024 10:14:16 +0000 (10:14 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 28 Feb 2024 10:14:16 +0000 (10:14 +0000)
src/libmime/archives.c

index c4e9b9e90632aa15d4e9f7775de8f63b98a36ddd..528c6f21b1fd2eb8a3fe180cceba534e1f73a7ca 100644 (file)
@@ -1135,6 +1135,7 @@ rspamd_7zip_read_folder(struct rspamd_task *task,
                msg_debug_archive("7zip: read codec id: %L", tmp);
 
                if (IS_SZ_ENCRYPTED(tmp)) {
+                       msg_debug_archive("7zip: encrypted codec: %L", tmp);
                        arch->flags |= RSPAMD_ARCHIVE_ENCRYPTED;
                }
 
@@ -1691,6 +1692,12 @@ rspamd_7zip_read_next_section(struct rspamd_task *task,
                                }
                                archive_read_data_skip(a);
                        }
+
+                       if (archive_read_has_encrypted_entries(a) > 0) {
+                               msg_debug_archive("7zip: found encrypted stuff");
+                               arch->flags |= RSPAMD_ARCHIVE_ENCRYPTED;
+                       }
+
                        archive_read_free(a);
                        p = NULL; /* Stop internal processor, as we rely on libarchive here */
                        break;