all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pmg-devel] [PATCH pmg-api/pmg-gui] allow / in local part of pmg-email-address
@ 2021-01-15  9:46 Stoiko Ivanov
  2021-01-15  9:46 ` [pmg-devel] [PATCH pmg-api 1/5] api: statistics: remove unneeded RESTEnvironment Stoiko Ivanov
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Stoiko Ivanov @ 2021-01-15  9:46 UTC (permalink / raw)
  To: pmg-devel

The following patchset is a result of investigating a thread in our
community forum [0].

While I'd consider e-mail addresses with '/' in the local-part quite odd,
as so often smtp RFCs are quite liberal with what smtp servers (have to)
accept. Postfix happily accepts mails with '/' in the local-part, and
should they end up in the quarantine, it is currently not possible to
remove them (short of waiting for quarantine retention period).

the 4 places where we use the pmg-email-address format are:
* quarantine (pmail parameter)
* statistics (contact, receiver, sender detail views)
* fetchmail
* pbsconfig (username)

the first two are problematic in the sense that external sources might
cause a mail-address with '/' to get stored. pbsconfig stores a username
with '/' (which then fails since the repository verification does not
expect a '/' in the username/token), fetchmail accepts it (and stores its
config with all special characters escaped)
only the statistics api calls are problematic, since the detail views pass
the mail-address as path component (and the decoding inside pve-http-server
breaks the api call resolution) - addressing this is the main part of the
patchset.

It follows a similar series by Dominik for the user blocklists [1].

patch 1/5 for the api is a cleanup that caught my eye
patches 2+3 for the api could probably be squashed (happy to send a v2 for
this - but feel free to squash them if this gets applied as is)

tested it a bit on my setup (with a limited set of addresses in the
statistics database).

[0]
https://forum.proxmox.com/threads/pmg-error-parameter-verification-failed-400.82353/
[1] https://lists.proxmox.com/pipermail/pmg-devel/2020-March/000952.html

pmg-api:
Stoiko Ivanov (5):
  api: statistics: remove unneeded RESTEnvironment
  api: statistics: refactor return for detail calls
  api: statistics: refactor detail calls
  api: statistics: make email a parameter
  utils: allow '/' inside email address localpart

 src/PMG/API2/Statistics.pm | 333 +++++++++++++++++++++----------------
 src/PMG/Utils.pm           |   2 +-
 2 files changed, 191 insertions(+), 144 deletions(-)

pmg-gui:
Stoiko Ivanov (1):
  statistics: use new api call for detailed stats

 js/ContactStatistics.js  |  9 ++++-----
 js/ReceiverStatistics.js |  9 ++++-----
 js/SenderStatistics.js   |  9 ++++-----
 js/StatStore.js          | 11 +++++++++--
 4 files changed, 21 insertions(+), 17 deletions(-)

-- 
2.20.1





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-01-15  9:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-15  9:46 [pmg-devel] [PATCH pmg-api/pmg-gui] allow / in local part of pmg-email-address Stoiko Ivanov
2021-01-15  9:46 ` [pmg-devel] [PATCH pmg-api 1/5] api: statistics: remove unneeded RESTEnvironment Stoiko Ivanov
2021-01-15  9:46 ` [pmg-devel] [PATCH pmg-api 2/5] api: statistics: refactor return for detail calls Stoiko Ivanov
2021-01-15  9:46 ` [pmg-devel] [PATCH pmg-api 3/5] api: statistics: refactor " Stoiko Ivanov
2021-01-15  9:46 ` [pmg-devel] [PATCH pmg-api 4/5] api: statistics: make email a parameter Stoiko Ivanov
2021-01-15  9:46 ` [pmg-devel] [PATCH pmg-api 5/5] utils: allow '/' inside email address localpart Stoiko Ivanov
2021-01-15  9:46 ` [pmg-devel] [PATCH pmg-gui 1/1] statistics: use new api call for detailed stats Stoiko Ivanov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal