[pmg-devel] [PATCH pmg-api/pmg-gui v2] content-type filter: add content-only option

Stoiko Ivanov s.ivanov at proxmox.com
Tue Feb 18 14:54:12 CET 2025


v1->v2:
Based on Domink's feedback reworked the series - it now offers only one
optional new attribute for the content-type filter ('only-content') to
indicate that it should only compare the content-type obtained via
magic/file-conents. The other 2 match options can already be expressed
with the Filenamefilter ('application/pdf' -> '.*\.pdf') and the Match
Field filter (to match the 'Content-type' header)

original cover-letter for v1[0]:
The following patch series was started shortly after the release of PMG 8.1,
but I did not find the time to get it in shape for sending.
They follow the patches for adding 'top' and 'add_separator' to the
Disclaimer action.

The current content-type filter can sometimes surprise users (e.g.
https://bugzilla.proxmox.com/show_bug.cgi?id=5618#c2 and
https://bugzilla.proxmox.com/show_bug.cgi?id=2691#c0 ,but also a few
cases in our technical support-channels come up here and there):

It matches if any of:
* content-type header
* file-magic
* filename (extension)
match the content type, the what-object matches.
by adding an attribute for each of the sources users can restrict which
of the sources should be taken into consideration

the first patches for both repositories are independent (I just ran into
them while looking into this).

minimally tested locally, by sending a plain-text file called
testtext.pdf, and a pdf-file renamed to have a `.docx` suffix.

[0]
https://lore.proxmox.com/pmg-devel/20250212151241.91077-1-s.ivanov@proxmox.com/ 

pmg-api:
Stoiko Ivanov (2):
  ruledb: disclaimer: simplify update-case
  ruledb: content-type: add flag for matching only based on
    magic/content

 src/PMG/RuleDB/ContentTypeFilter.pm | 75 ++++++++++++++++++++++++++---
 src/PMG/RuleDB/Disclaimer.pm        |  8 ++-

pmg-gui:
Stoiko Ivanov (2):
  rules/object: remove icon from remove button
  rules/content-typefilter: add checkbox for file content only matching

 js/ObjectGroup.js |  3 +--
 js/Utils.js       | 11 +++++++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

-- 
2.39.5





More information about the pmg-devel mailing list