Commit Graph

739 Commits

Author SHA1 Message Date
Thomas Lamprecht
e245faa5c2 server administration: add icons
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-13 18:54:50 +02:00
Thomas Lamprecht
9b7b055365 dashboard: increase height of second row slightly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-13 16:04:37 +02:00
Thomas Lamprecht
6d491d75ff dashboard: add hover text-shadow class for repo-panel link
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-13 16:02:56 +02:00
Thomas Lamprecht
8f691c7bca dashboard: move cluster resources to end to avoid "jumping"
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-13 15:55:47 +02:00
Thomas Lamprecht
774418f08b node info: avoid setting undefined in view model
undefined is used as delete when set to a normal data-path of a view
model, so, we need an actual defined value here as else we cannot
decide if the view model was ever initialized or not.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-13 15:18:31 +02:00
Fabian Ebner
91a4c642df dashboard: hide cluster resources if it's a single node
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-07-13 14:40:08 +02:00
Fabian Ebner
11eae1a0e7 dashboard: add node info panel
Essentially the same as in PBS, but needed to use 'rootfs' instead of
'root' for the disk usage, avoid 'cpu' as an itemId (already used by
the cluster resources), and get rid of the fingerprint button. Also
added the link to the repositories panel like in Dominik's pending
patch for PBS.

Rename the existing resources panel to clarify what it actually is.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-07-13 14:40:08 +02:00
Fabian Ebner
8431ab8936 add panel for APT repositories
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2021-07-13 14:31:41 +02:00
Dominik Csapak
056fdce926 add Settings window
copied from pbs and changed PBS to PMG

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-13 14:28:01 +02:00
Dominik Csapak
5958ebdf29 ServerStatus: update column width on state change
when having the settings window (when implemented) open there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-13 14:28:01 +02:00
Dominik Csapak
31f5e45885 LoginView: add save username checkbox
like we have in pbs/pve but only for non-quarantine view

we have to increase the width of the window, so it fits together
with the 'send quarantine link' button

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-13 14:28:01 +02:00
Thomas Lamprecht
c9d5584601 server status: refactor and code cleanups
arrow functions all the way ;-)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-13 14:18:42 +02:00
Thomas Lamprecht
d615055f64 status: avoid using depreacated helper
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-13 09:46:36 +02:00
Dominik Csapak
f534c41441 ServerStatus: update panel columsn dynamically
like we do in pve and pbs
for now the user cannot change the preferred columns and the default is 'auto'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-07-13 09:45:22 +02:00
Thomas Lamprecht
104f1baff4 ui: minimally increase font-size of product title and version
Similar like we did for Proxmox VE's manager. The main title and
version should stand a bit more out compared to simple nav/button
texts.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-03 23:31:54 +02:00
Thomas Lamprecht
3d233789a6 quranatine view: make navtree more like main navtree
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-03 22:48:23 +02:00
Thomas Lamprecht
13f8df5c6c quarantine view: change ui to pve-nav
since 'nav' contains some styling we do not want (in extjs 7.0)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-03 22:47:39 +02:00
Thomas Lamprecht
216cfe9dd1 main view: fix nav tree indentation
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-03 22:47:02 +02:00
Thomas Lamprecht
e810c530ec quranatine view: adapt to new beforeChangePath signature to fix routing/app
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-03 22:31:28 +02:00
Stoiko Ivanov
65c6904285 virusquarantine: fix time format
Ext js orients itself on php's date function, which uses 'i' for
minutes ('m' is the month as integer)[0].

Reported via our community-forum:
https://forum.proxmox.com/threads/time-display-bug-in-virus-quarantine.90816/

Quickly tested on my test-setup

[0] https://docs.sencha.com/extjs/7.0.0/modern/Ext.Date.html
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-14 10:06:41 +02:00
Oguz Bektas
fcba524dba remove safe browsing from clamav tab
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2021-06-08 13:13:54 +00:00
Dominik Csapak
f70c611b83 MainView: fix redirectTo call
takes now an object as paramter in extjs 7.0

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-08 13:13:54 +00:00
Dominik Csapak
4e6c6b96b4 MainView: use new beforeChangePath signature
subpath can be optional in extjs 7.0, so handle that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-08 13:13:54 +00:00
Dominik Csapak
60a9d6fdbc {Attachment, Spam, Virus}Quarantine: fix layout for iframe
in extjs 7.0 the css changed slightly so that we need to define
the 'fit' layout explicitely to maintain the full width/height

otherwise it can happen that the iframe gets cut off

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-08 13:13:54 +00:00
Dominik Csapak
9d87a3338d change ui to 'pve-nav'
since 'nav' contains some styling we do not want (in extjs 7.0)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-06-08 13:13:54 +00:00
Stoiko Ivanov
a2293354c5 quarantineview: unify url generation
this patch adds the cleanup for the attachment quarantine from
0e26e20aa5 to the virus- and
spamquarantine.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-05-11 16:17:05 +02:00
Stoiko Ivanov
61c1d4d5b9 attachmentquarantine: fix missing '&' for raw-param addition
small glitch introduced in the code cleanup in:
0e26e20aa5

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-05-11 16:17:05 +02:00
Thomas Lamprecht
642aba90ed quarantine: restore behavior of selecting next in list after action
This fixes a UX regression stemming from the recently introduced
commit 9aed379a70
"spam quarantine: avoid full store reload on single-element actions"

A load restored the saved selection after load complete, with the
neat and very useful feature to jump to the next in line if the old
one did not exist anymore.

Call this now factored out code part ourself in the fast-path.

This was reported in the forum:
https://forum.proxmox.com/threads/proxmox-mail-gateway-6-4-released.86760/#post-380971

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-01 13:42:53 +02:00
Thomas Lamprecht
9b4247fbf2 quarantine list: factor out restoreSavedSelection
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-01 13:39:36 +02:00
Thomas Lamprecht
0e26e20aa5 code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-01 13:38:49 +02:00
Thomas Lamprecht
0affcba58e spam quarantine: code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-30 17:06:45 +02:00
Thomas Lamprecht
24c650b5e7 spam context menu: set correct handler for whitelist/blacklist
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-30 14:31:10 +02:00
Thomas Lamprecht
9aed379a70 spam quarantine: avoid full store reload on single-element actions
A store load may require several seconds to complete, which can get
frustrating fast.

For single actions we have a callback which gets only executed on a
successful API call, so we can just remove the entry there directly
from the in-memory store.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-23 12:26:03 +01:00
Thomas Lamprecht
3168b7f780 spam quarantine: batch actions into 2500-sized chunks
With ~20 bytes per message-id and separator we get over the current
HTTP post size limit of 64 KiB with ~ 3200 messages.

As 2500 is a relatively nice number for humans to deal with rather go
for that one, that leaves also some room for potential longer IDs in
the future.

Send the batches of async in pairs, as with that the pmgproxy can
still cope well and is not overloaded.

Mask the whole list panel with a 'Processing...' loading-mask during
sending of requests affecting multiple messages, so that the user
gets some instant visible feedback that something is actually
happening (the api calls may return only after a few seconds).

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-23 12:26:03 +01:00
Thomas Lamprecht
b61e38d711 spam quarantine: shorter mapping from selected to id list
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-23 11:49:29 +01:00
Thomas Lamprecht
0bd9ee2261 fix #3164: allow one to display all quarantined spam mails
If the API call returned more than one pmail entry, inject an "all"
entry which, if selected, drops the user parameter and loads the
quarantine mails of all users from the backend.

The webinterface has only some issues regarding deselection (all in
the grid header or if we need to deselect due to the search filtering
out some elements) - for that the underlying issue was found and a
widget toolkit patch was provided.

The rest seems now pretty performant, albeit more than a few 100k
mails may become a problem here. But, in such big setups the mail
admin won't tinker to much whith the users mail anyway, if they are
even alowed to do so depending on their jurisdictions privacy laws
and companies privacy policy.

So, basically this is more for evaluation or for smaller setups but
got quite often requested, and as there's not more data
exposed/returned then already available I see no real argument
against it.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-22 09:50:24 +01:00
Thomas Lamprecht
42de6d4631 quarantine list: factor out actual filtering in separate function
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-22 09:48:21 +01:00
Thomas Lamprecht
d19c27947f qlist: code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-21 18:02:07 +01:00
Thomas Lamprecht
d3e6c6a1f2 quarantine list: allow one to filter by subject or from sender
Deselect those entries which got filtered out, to avoid doing
some action (delete, deliver) on hidden records.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-19 19:27:09 +01:00
Thomas Lamprecht
83a42bac45 quarantine list: code cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-19 19:24:51 +01:00
Thomas Lamprecht
a78fbb7037 certs: show onlineHelp tool linking directly to context chapter
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-18 10:42:09 +01:00
Thomas Lamprecht
a7f1529c34 acme config view: derive from panel not container
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-18 10:41:28 +01:00
Thomas Lamprecht
139d9b7a5b utils: add onlineHelpTool
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-18 10:40:50 +01:00
Wolfgang Bumiller
c083fb770d add certificates and acme view
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-03-16 14:15:09 +01:00
Thomas Lamprecht
dd0cea8763 buildsys: enforce strict eslint (no warnings allowed) in check target
the for development designed incremental lint target is still non
strict, and allows warnings allowing less interrupted dev workflow

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-05 23:04:48 +01:00
Thomas Lamprecht
2f26d5e0f3 pbs remote: notify: use gettext and fix casing
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-05 23:04:14 +01:00
Stoiko Ivanov
71abce0afb backup: pbs: fix #3146 add notify setting to remote
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-03-05 22:48:36 +01:00
Stoiko Ivanov
bd73a9897d backup: pbs: fix #3154: add statistic setting to remote
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-03-05 22:48:36 +01:00
Stoiko Ivanov
4afe714bc5 backup: fix #3154: make statistic backup optional
by creating an edit-window when clicking on the respective Backup now
button.

This is the second part of the enhancement request

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-03-05 22:48:36 +01:00
Stoiko Ivanov
afb34731bd backup: pbs: add onlineHelp anchors
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-03-05 22:48:36 +01:00
Stoiko Ivanov
367681b750 statistics: use new api call for detailed stats
the new /statistics/detail api calls takes the type (contact, sender,
receiver) and address for which to display the statistics as explicit
parameter instead of path-component.

This makes it possible to accept '/' as part of an e-mail address
which is allowed (in the local-part by RFC5322 [0], and accepted by
postfix.

[0] https://tools.ietf.org/html/rfc5322

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-02-10 10:45:08 +01:00
Dominik Csapak
83c036b49e add 'Request Quarantine Link' Button to LoginView
if the template has 'quarantinelink' enabled, we
show a button 'Request Quarantine Link' on the quarantine login ui

there a user can enter their e-mail and request a link to the quarantine

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-11-18 17:52:52 +01:00
Thomas Lamprecht
22988ae441 backup: rename manual backup button to "Backup Now"
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-18 17:52:52 +01:00
Thomas Lamprecht
45dad58451 pbs: improve schedule edit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-18 17:48:47 +01:00
Thomas Lamprecht
d2b8eac465 pbs: add schedules grid, always select first remote
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-18 17:48:10 +01:00
Thomas Lamprecht
6ff660681a pbs: small cleanups and store field name fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-18 14:06:27 +01:00
Thomas Lamprecht
d28c156348 pbs: factor out remote add/edit window and panels
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:30:48 +01:00
Thomas Lamprecht
8b349e01b0 pbs: factor out snapshot grid view
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:28:57 +01:00
Thomas Lamprecht
1415738cc3 pbs: hide encryption column
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:22:58 +01:00
Thomas Lamprecht
a090fe1d1d pbs: followup: actually set cbind for all elements
we cannot have xtype nor cbind in the defaults, as moving xtype there
breaks our cbind "when to stop descendant+apply" heuristic and cbind
cannot be moved there as it'd be only copied over by initComponent
and that happens later than the cbind apply step.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:21:16 +01:00
Thomas Lamprecht
158751a3b1 pbs: drop unused reference
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:12:34 +01:00
Thomas Lamprecht
53dea017e3 pbs: top bar UX improvements
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:11:34 +01:00
Thomas Lamprecht
a03b1b0e0f pbs: refactor remote edit window
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:09:17 +01:00
Thomas Lamprecht
6618680bc4 pbs: make remote add fully declarative
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:08:56 +01:00
Thomas Lamprecht
dece95c95d pbs: actually use cbind mixin for it to work
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 19:08:14 +01:00
Thomas Lamprecht
2df1316d0a pbs: adapt to API changes + some litte cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 18:11:46 +01:00
Thomas Lamprecht
ad92548117 restore window: adapt for api changes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 18:09:49 +01:00
Thomas Lamprecht
7bdb508cc9 pbs: drop beta notice and encryption checkbox
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-17 18:07:07 +01:00
Stoiko Ivanov
d944805ac4 add PBSConfig tab to Backup menu
The PBSConfig panel enables creation/editing/deletion of PBS instances.
Each instance can lists its snapshots and each snapshot can be restored

Inspired by the LDAPConfig panel and PBSEdit from pve-manager.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-11-17 12:34:03 +01:00
Stoiko Ivanov
7bcc34dbcf refactor RestoreWindow for PBS
by moving the item definition to initComponent, and changing the check
for a provided filename, we can reuse the window for restores from PBS

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-11-17 12:34:03 +01:00
Stoiko Ivanov
d3ad46bae3 Make Backup/Restore panel a menuentry
Move it away from the tab list in the Configuration entry to a submenu in
preparation for adding PBS integration

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-11-17 12:34:03 +01:00
Stoiko Ivanov
4eaa2d3607 RegexTester: fix getting reference to regex field
the regular expression field is not necessarily after the regex tester
(mostly it is before). In order to be more robust, use the child
method of the parent window instead of previousSibling of the button.

The child method gets any direct descendant matching the query, the
sibling one is always directional and there's no method for "any
sibling".

Tested with:
* mailproxy whitelist
* match field
* match filename
* who object

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-11-13 08:10:42 +01:00
Stoiko Ivanov
b067a9d6c3 buildsys: rm -f .lint-incremental
else the build fails if the file does not exist

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-11-13 08:10:25 +01:00
Thomas Lamprecht
7acfe33c87 mobile: consistent success action message with full UI
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 15:12:59 +01:00
Thomas Lamprecht
d1e4e5cf5a run lint checks during build and allow incremental linting
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 15:11:44 +01:00
Thomas Lamprecht
fbc1a05b4d mobile: fix calendar start/end date labels
Since/Until is not quite correct, especially in other languages
(e.g., in German "from" and "to" was translated to "Von" and "An",
respectively.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 15:03:07 +01:00
Dominik Csapak
0db5cdb140 Utils: add product specific task descriptions
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-10-30 15:00:52 +01:00
Thomas Lamprecht
016ba5abbf mobile: show toast instead of annoying prompt
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 15:00:46 +01:00
Thomas Lamprecht
f07b75b056 js/mobile: fix eslint and enable linting on build
lint the build file, as else eslint does not has the full picture.

Add a prelude to define globals once at the top

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 14:24:12 +01:00
Thomas Lamprecht
f1bb77563c buildsys: use separate makefiles
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 14:17:08 +01:00
Thomas Lamprecht
28eb60c0bd eslint fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-30 14:08:16 +01:00
Thomas Lamprecht
f057ca9085 drop jslint hints
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-23 14:08:50 +02:00
Thomas Lamprecht
a36756b058 drop jslint hint for Proxmox global
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-23 14:03:17 +02:00
Thomas Lamprecht
c87d46fbe8 tree wide: eslint --fix
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-23 13:17:15 +02:00
Thomas Lamprecht
92b6c1f300 quarantine action: use shadow for toast "window"
better contrast

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-23 13:15:12 +02:00
Thomas Lamprecht
467eb50baa quarantine: make annoying success prompt a toast
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-23 12:57:20 +02:00
Thomas Lamprecht
6d8b4e26f2 make lint: use eslint
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-23 12:55:25 +02:00
Thomas Lamprecht
8153da61b4 utils: eslint fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-10-23 12:09:55 +02:00
Dominik Csapak
b53146333a fix #2844: MailTracker: do not collapse rows with double click
so that users can select words with double click, but can still expand
the logs with it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-09-23 09:04:30 +02:00
Thomas Lamprecht
4ebc52dd2d postfix mailq admin: avoid early load by updating nodename only if changed
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-04 17:58:17 +02:00
Thomas Lamprecht
bef394fcce PostfixMailQ eslint fixes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-04 17:58:17 +02:00
Thomas Lamprecht
9db8595668 deferred mailq: sort initially by arrival time
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-04 17:58:15 +02:00
Stoiko Ivanov
6cde982f6a fix #1976: enable remoteSort for PostfixMailQueue
The mailq results are potentially very large, why a BufferedStore is used.

BufferedStores only support [0] remote filtering (which is already done) and
remote sorting (which this patch enables).

simpleSortMode (getting sortfield and sortdirection as two parameters instead
of an array with multiple objects containing those fields), is enabled to
work with our API.

[0] quite naturally, since you'd need to have the complete result to sort it,
 however only documented in the source code (and not the reference docs)

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-06-04 08:34:55 +02:00
Thomas Lamprecht
22b6f5db77 report: indentation cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-04 08:22:19 +02:00
Thomas Lamprecht
51ef4bbe9c followup: add separator
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-04 08:21:33 +02:00
Moayad Almalat
a5db7653b8 gui: alow to remove subscription
Signed-off-by: Moayad Almalat <m.almalat@proxmox.com>
2020-06-04 07:47:57 +02:00
Dominik Csapak
63acd10808 remove Logo.js
it is now in the widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-05-18 18:51:32 +02:00
Dominik Csapak
23959bb0ff MailTracker: change default emptyText
by default show that the user first has to press search, and
afterwards show the old emptyText

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-24 17:41:22 +02:00
Dominik Csapak
e8e332fe01 MailTracker: do not search when not both datetime parameters are given
in the gui, we always expect an end and starttime, the only case
where we do not get this is when the fields are invalid, so bail out
in that case instead of searching

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-24 17:41:02 +02:00
Dominik Csapak
2e330d4477 MailTracker: buffer onFilterChange
so that the store gets loaded only when the user stops typing

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-24 17:41:02 +02:00
Thomas Lamprecht
b9a5e7079d quarantine: display how many mails are selected
Mostly taken from a bigger patch of Dominik, for now lets just show
the count (release is near) and add some padding

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-24 16:16:37 +02:00
Dominik Csapak
3d309d74b9 MailTracker: sort by time by default
so that the mails get shown in correct order

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-24 16:09:56 +02:00
Dominik Csapak
4fd7bd9b44 MailTracker: let panel decide about width
else, the fieldLabels might be cut off

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-24 16:09:56 +02:00
Dominik Csapak
227ddd7a93 Dashboard: remove autoLoad from updateStores
those stores all have 'autoStart' set, which loads the store anyway
as soon as possible. this seems to fix some store load issues

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-24 16:09:56 +02:00
Thomas Lamprecht
8ffa8523c9 mail proxy options: add maxValue config for netmasks
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-20 17:39:53 +02:00
Stoiko Ivanov
62a6bcc8aa MailProxyOptions: add greylist enhancements
This patch adds 3 new configuration settings to the MailProxy Options Tab, for
comfortably enabling greylisting for IPv6 addresses, and configuring the
netmask used for greylist matching

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-04-20 17:37:46 +02:00
Dominik Csapak
853ecba79d add Language selection in user menu for admin view
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-20 12:14:32 +02:00
Dominik Csapak
903548bc3c use LanguageEditWindow from widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-20 12:14:32 +02:00
Stoiko Ivanov
bafcdcf887 Add before_queue_filtering checkbox"
This reverts commit a89fcfd62b.

Since the pmg-log-tracker is now able to parse logs with before queue
we can add the checkbox for enabling it again.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-04-17 15:30:55 +02:00
Dominik Csapak
11f43687bb align spacing with pve
it really irked me that the buttons/text was a few pixels off in pmg....

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-16 15:42:02 +02:00
Dominik Csapak
6886c8b485 MainView: make UserName a button/menu
with logout as only option.

This makes the header style again consistent between
pmg quarantine/pmg admin/pve

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-16 15:42:02 +02:00
Dominik Csapak
74468b03a5 add 'Match Archive Filename' to list of what objects
and add an editor for it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-16 15:02:32 +02:00
Dominik Csapak
60652b756a fix MailInfo update without data
e.g. when the user changes the email while having a mail selected,
it gets unselected (albeit briefly) and update will be called
with 'undefined'

this throws an error, so prevent this by always supplying an object

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-16 14:44:58 +02:00
Dominik Csapak
590a3b9fa3 fix #2667: and 'language' option to QuarantineView
this moves the the login name to a button/menu like we have for pve
and adds a 'language' option there

this is useful for uses which explicitely login via ticket, which makes
it hard to change the language otherwise
(they'd have to logout, change the language, go to their mail client
and click again the link for the quarantine; also most users do not know
that they *can* change the language when they are logged out)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-16 11:00:29 +02:00
Dominik Csapak
76d5a73865 QuarantineList: rename from/to to since/until
To not confuse 'from' with the 'email from'
partly fixes #2678

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-15 14:07:46 +02:00
Dominik Csapak
9133f72f56 QuarantineList: improve savedPosition behaviour
by not saving the position across time or email changes, since that
makes no real sense. (The user cannot really know what will be selected,
in contrast to when the mails will be deleted etc.)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-15 14:07:46 +02:00
Dominik Csapak
61a8a658d2 fix #2680: make Quarantine E-Mail list searchable
using an explicit load on time change and queryMode 'local', we can
enable typeAhead (and related settings) to let the user type in an email
which will be autocompleted by the loaded list.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-15 14:07:46 +02:00
Dominik Csapak
72d8403cb6 Quarantine: set mailinfo visible only on html preview
We did already hide it when toggling raw/html, but when choosing raw
and changing the mail, it was again set to visible.
This patch fixes that by always taking 'me.raw' into account.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-15 14:06:43 +02:00
Thomas Lamprecht
4935e8fb22 qurantine: hide mailinfo in raw mode
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-15 12:59:38 +02:00
Thomas Lamprecht
b6b5d7184d mailinfo: ellipsize info fields after 100 characters
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-15 12:59:10 +02:00
Thomas Lamprecht
ca33688b5d mailinfo: fix bold in firefox and add some margin
As the <b> tag in combination with extjs resulted in a "font-weight:
bolder" setting which was not rendered correctly in Firefox.
Use our own css class to set font-weight to bold.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-15 12:57:31 +02:00
Dominik Csapak
ac6c1fb818 fix #2676: add MailInfo box on Quarantine Views
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-14 15:00:33 +02:00
Dominik Csapak
54d0de79a7 add 'MailInfo' Widget
This will be used to show the Subject and From on E-Mail Previews.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-04-14 15:00:33 +02:00
Stoiko Ivanov
816483a244 ClamAVDatabase: add scriptedupdates checkbox
to provide users with a comfortable way of changing between incremental
and complete signature download in case one of the methods has a problem.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-04-14 14:37:06 +02:00
Stoiko Ivanov
650d81000a Add port to SpamQuarantineOptions
If the quarantine is made available via reverse proxy, it sometimes
is bound to a different port (e.g. on 443 for firewall policy reasons)

The use-case seems common enough to justify exposing the parameter via
GUI.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
Tested-By: Dominik Csapak <d.csapak@proxmox.com>
2020-04-07 13:58:12 +02:00
Stoiko Ivanov
0f5a92f010 rename TLSDomain to TLSDestination
with the changes for fixing #1948 it is now possible to define tls policies
for destinations (remote domains or next-hop transports) instead of only for
Domains.
This patch reflects this addition by renaming all occurences of Domain with
Destination.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
2020-03-24 18:10:51 +01:00
Stoiko Ivanov
06c37f16e8 TLSDomains: rename domain to destination
in order to stay consistent with the change in pmg-api

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-By: Dominik Csapak <d.csapak@proxmox.com>
2020-03-24 18:10:51 +01:00
Dominik Csapak
a144e5343d fix #2632: use alternative api call for user black/whitelist
which expects the entry as parameter instead of part of the path
this allows all special characters to be included in the entry

in the url, some characters were problematic (e.g. '/') and not properly
handled by the api in the backend

we use Ext.applyIf (which copies the non-existant entries to params) here
instead of getting the ExtraParams from the proxy and setting '.address'
(that would modify the ExtraParams of the proxy and send unwanted
parameters to subsequent api calls like the list-loading)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2020-03-11 12:07:29 +01:00
Stoiko Ivanov
4460d9531d Add flex to domain lists
By adding a flex value to the domain list items they become scrollable, should
the grid contain more entries than fit on the screen.

This fixes #2579.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-02-04 08:51:32 +01:00
Thomas Lamprecht
156bd3f883 deferred mailq: make column widths responsive
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-21 11:08:48 +01:00
Stoiko Ivanov
84d84db140 use format_size renderer for size in deferred queue listing
The listing of the contents of the deferred queue gets its data via
postqueue (1) json output, which lists the size in bytes.
Change the column renderer to use the Proxmox.Utils.format_size
renderer, which computes a sane human readable unit.

Tested by sending a mail, which gets deferred and comparing the
output with the size of the file on disk in
'/var/spool/postfix/deferred'

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-21 11:06:43 +01:00
Thomas Lamprecht
7de008cc1c dkim selector: use autoLoad config of store
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-21 09:19:35 +01:00
Stoiko Ivanov
39b73de789 dkim: list all available selectors
by making the selector field a ComboBox, users can pick from any existing
selector without changing it, replace it or create a new one.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-01-21 09:08:41 +01:00
Stoiko Ivanov
b07fc43096 fix #2504: add checkbox for overwriting selectors
Add a checkbox with descriptive label for the force parameter of
config/dkim/selector.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-01-21 09:08:41 +01:00
Thomas Lamprecht
ae377bbed1 transport edit: hide/disable Use-MX for LMTP
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-10 14:26:27 +01:00
Thomas Lamprecht
00b648d2c9 transport: add real PMG.TransportEditor definition
instead of hacking it together inside the gridpanel

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-10 14:25:17 +01:00
Thomas Lamprecht
c502e50c6c transport: code cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-10 14:24:36 +01:00
Thomas Lamprecht
1f6e503c74 MailProxyRelaying: fix indentation and style
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-01-10 12:00:04 +01:00
Julian Zehnter
d895a7463c Feature #2438 add support for lmtp delivery to downstream servers
new feature lmtp support for simplifying setups
with lmtp capable downstream servers (e.g. dovecot)
Postfix support lmtp out of the box and can now deliver
mails directly to internal mailbox servers without
one more smtp connection

extending the gui code for new lmtp option:
MailProxyConfiguration & MailProxyConfiguration:Transport:
Adding combobox "smtp" / "lmtp" as a new option
Generalizing some "SMTP" keywords

Signed-off-by: Julian Zehnter <pmg-devel@j-z.it>
2020-01-10 11:58:29 +01:00
Dominik Csapak
0391bb7a4c add browser cache workaround
to prevent indefinite caching of the js files in the browser,
we add the package version to the js files, this will be read
by the pmgproxy and added as template variables

we use those to add the version to the get parameter and
thus tell the browser the file has changed

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-11-28 11:29:05 +01:00
Thomas Lamprecht
07a9b44595 quarantine: set mail-dowanload link's download attribute again
to ensure the browser sets the download filename we need to set the
link elements download attribute[0].

fixes commit 41a290e3f0

[0]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-22 12:21:41 +01:00
Stoiko Ivanov
53d909f713 add onlineHelp anchors to SpamDetectorCustom
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-11-20 11:43:40 +01:00
Thomas Lamprecht
5883753d3c add onlineHelp anchor to ndr_on_block
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-11-20 11:43:30 +01:00
Stoiko Ivanov
a89fcfd62b Revert Adding of before_queue_filtering checkbox
This partially reverts commit 28c12d957f.

Given that the before queue filtering currently breaks pmg-log-tracker, and
the Tracking Center is one of the central features of PMG, we should
release the before queue support as experimental feature for now.

That way users who really want to use it are a bit more aware, that
log-tracking will currently not work on the GUI.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-11-18 14:37:57 +01:00
Stoiko Ivanov
28c12d957f Add ndr_on_block and before_queue options
Generation of NDRs on block and before queue filtering are configured
via 2 boolean flags and belong to the MailProxyOptions.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-11-15 12:46:16 +01:00
Stoiko Ivanov
d545f59e01 fix 1652: rename NDR to empty senders in GUI
Bug 1652 indicates a slight misalignment of our use of NDR with the
expectations users might have:
We use it throughout our codebase meaning - mails with empty senders (NDRs
a.k.a bounces do most often have an empty sender (to prevent mailloops) but
quite a few messages being directly non-delivery-notifications also use an
empty sender (since noone would be reading the automated bounces for them) -
e.g. our quarantine report)

By renaming the GUI-display field it should be more clear to users of the
Tracking center.

The fix is left at the GUI-level, since the use of ndr for empty sender is
quite consistent throughout our complete stack (in that case from the GUI, via
pmg-api down to the pmg-log-tracker) and I don't see the direct benefit for
renaming it everywhere (and am lacking a better concise phrase for "empty
envelope sender").

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-11-15 10:14:35 +01:00
Dominik Csapak
e2c7198f53 add Custom Scores panel to the Spam Detector
with this panel, users can manually override a rule score for
SpamAssassin rules. This can be useful sometimes, e.g. if
a certain rule always triggers in a certain environment which
is considered spam by the SpamAssassin rules

after adding/editing a rule, we show diff, similar to the network
panel, and offer a button to apply those changes (and restart
pmg-smtp-filter). the changes can also be reverted

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-11-15 10:01:17 +01:00
Dominik Csapak
38771d946b fix broken maillist when deleting last mail in list
on deleting the last mail in the list, the selection is empty and
the access below to 'rec.data.id' breaks, leaving the maillist broken
(until the user changed the panel or reloaded)

so give rec an empty fallback object and check if there is a 'data'
property and use that, otherwise set the id to the empty string

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-11-14 13:34:56 +01:00
Thomas Lamprecht
550a2c5b7c SpamQuarantine: onSelectMail: re-use queried selection
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-25 12:37:05 +02:00
Thomas Lamprecht
41a290e3f0 SpamQuarantine: simplify download button by binding its href config
This avoids all the strange click event hack. We already have a
button where the users needs to click on, so just use that.

A viewModel with a downloadMailURL formula to assemble the href
allows us to just bind the "href" config from the Download button,
and be done with it..

refactors commit 7ad0de10d6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-25 12:23:43 +02:00
Dominik Csapak
8b1d19f3a1 SpamQuarantine: fix download of large emails
since datauri downloads are size limited (2MB in chrome), we have
to use another method, and instead of working around in the gui
(e.g. by using URL.createObjectURL) make use of the existing download
code in the api, which should have better compatibility
(and omits the whole raw -> json -> raw -> base64 conversion chain from
file to download)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-25 09:19:05 +02:00
Dominik Csapak
e0e9a1bedf ActionList: add info about editable state
and set state of the buttons accordingly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-23 19:18:39 +02:00
Dominik Csapak
b759e68998 ActionList: make labels in editwindow consistent
to make it consistent with the grid in which the actions get shown,
since we have a different column with the name 'description' there
already

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-10-23 16:06:20 +02:00
Stoiko Ivanov
295fbab8a1 Add DKIM Tab to MailProxy configuration
This adds another panel to the MailProxy configuration for DKIM-Settings.
Additionally the index-template now includes the css-file from
proxmox-widget-toolkit (for the pmx-hint user-class), needed in the
Settings-panel.

The Panel consists of 2 Grids:
* DKIM Settings
* DKIM Domains

DKIMDomains is a list of domain, currently like RelayDomains (hence the
code-reuse).

The DKIM settings grid binds to the dkim-related settings in pmg.conf, but the
edit-window for the selector uses the /config/dkim/selector route in the
PMG-API.

Additionally 2 checks for invalid configurations are excluded (you cannot
enable DKIM-Signing without creating a private key first)

The warnings were inspired by PVE's handling of EFIDisks and BIOS.

Finally the 'View DNS Record' button displays the DKIM TXT record for the
current key in the same format that opendkim-genkey writes it out.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-23 11:51:26 +02:00
Stoiko Ivanov
35cf797dff MailProxyConfiguration.js: whitespace cleanup
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-23 11:50:07 +02:00
Stoiko Ivanov
e4b744c3f9 refactor RelayDomains:
by making the base-url, the description text and the online help anchor static
fields we can override it and reuse the component for DKIMDomains.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-23 11:50:04 +02:00
Dominik Csapak
0023ef6ab2 add Attachment Quarantine
the Quarantine part is mostly copied from VirusQuarantine and adapted
the AttachmentGrid is inspired by the SpamScore list

this adds a new quarantine type 'Attachment' in the gui, where the admins
can review and control the mails in the attachment quarantine

it also shows a list of attachment/parts and a link where they can
be downloaded (in case the admin want to only forward a single
attachment or review the file in detail)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-17 15:25:31 +02:00
Dominik Csapak
19b455dd5c add render_filetype
this will be used to show the icon in the attachment list

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-17 15:25:31 +02:00
Dominik Csapak
572198b7e6 Action remove: add quarantine checkbox
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-By: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-10-17 15:25:31 +02:00
Thomas Lamprecht
d45be08eb8 Revert "add beta text with link to bugzilla"
This reverts commit 1a119c5248.
2019-08-23 10:24:23 +02:00
Thomas Lamprecht
0c503218e1 use 'Documentation' as name for the global docs button, mirroring PVE
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-08-14 10:26:05 +02:00
Stoiko Ivanov
1a119c5248 add beta text with link to bugzilla
for the upcoming BETA test-phase

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-08-12 16:05:17 +02:00
Dominik Csapak
5101a9f82e fix html entities in system report file
since the content of the window is encoded with 'Ext.htmlEncode'
we have to decode it with 'Ext.String.htmlDecode' (Ext.htmlDecode is
a deprecated alias for it) before downloading the file

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-08-09 09:22:17 +02:00
Stoiko Ivanov
9e9c9d2671 change display for 'archiveblockencrypted'
As described in the release notes of ClamAV 0.101.0 the legacy Option
ArchiveBlockEncrypted was used for blocking both encrypted archives _and_
documents. This patch reflects the change in the VirusDetectorOptions.

[0] https://blog.clamav.net/2018/12/clamav-01010-has-been-released.html

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-08-09 08:49:24 +02:00
Thomas Lamprecht
4da158ce09 adapt to new pmgcfg version/release semantic
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-07-25 18:56:38 +02:00
Dominik Csapak
4714e65d85 mobile: fix formajax event parameters for f7
framework7 changed those with 4.1.1

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-07-25 13:45:14 +02:00
Stoiko Ivanov
0729f168cf Make report labels more explicit
PMG (optionally) sends two kinds of reports:
* the reports to users, which mails of theirs are in the Spamquarantine
  (`pmgqm`)
* the reports about the System's state and performance to the Administrator
  (`pmgreport`)

Given that these get confused quite often, make their labels in the GUI
more explicit.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2019-05-28 12:45:22 +02:00
Dominik Csapak
1b146c1093 use JournalView instead of LogView for syslog
and point to the new /journal api

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-16 13:21:51 +02:00
Dominik Csapak
3600c3c76a add LDAP+STARTTLS as ldap protocol
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-18 06:36:44 +01:00
Dominik Csapak
6bd27800dc add verify certificate checkbox for ldap
that defaults to on, this way we have a new default on the gui without
breaking existing installations

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-18 06:36:16 +01:00
Dominik Csapak
479e6fa224 fix #1945: enable dns names for ldap servers on gui
was only available in the backend, allow it also on the gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-18 06:35:34 +01:00
Dominik Csapak
a827641e33 fix gettext invocations
using gettext the way we did, broke the jsgettext.pl in proxmox-i18n
during a 'make update'

instead of using the template way, simply replace it by using plain
gettext as a function, this way we do not skip over the getttext uses
accidentally

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-07 14:25:33 +01:00
Dominik Csapak
c29d577dc9 fix wrong 'no subscription' toolbar
remove the toolbar altogether when there is a valid subscription,
since on every navigate to the page, framework7 shows it again

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-27 06:40:53 +01:00
Dominik Csapak
35241008bf add system report to gui
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-26 12:57:15 +01:00
Dominik Csapak
d387246f48 show emptyText when no users are available to select
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-26 10:52:13 +01:00
Dominik Csapak
c1f045cdf3 limit userlist to the respective list
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-26 10:51:58 +01:00
Dominik Csapak
c41c360014 allow multiselect for user white- and blacklist
this allows to delete multiple entries at once

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-26 10:51:32 +01:00
Dominik Csapak
7ad0de10d6 add download button to spam quarantine preview
so that users can download the file directly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-26 10:46:29 +01:00
Dominik Csapak
4eab05c273 make who regex tests anchored
they are in the rule system, so let the users test it correctly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-25 06:15:43 +01:00
Dominik Csapak
7a0d854095 mobileui: fix list height
the items have different heights depending on theme and type
so use the correct ones

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-20 09:20:11 +01:00
Dominik Csapak
d0d381a817 add missing encodeURIComponent
some data contains special characters that might make problems in urls,
so encode them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-20 09:19:59 +01:00
Dominik Csapak
43f0b189d9 close #1671: implement mobile UI for quarantine
this patch implements a UI for the Quarantine, designed to
be looked at on mobile phones

for this we use Framework7 instead of extjs, since it has much more
features and looks more native on phones

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-02-19 10:04:19 +01:00
Stoiko Ivanov
573a6e8b71 add onlineHelp properties to all edit windows
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-10-03 14:32:24 +02:00
Stoiko Ivanov
e762dd6784 refactor js/MailProxyTLSDomains.js
make TLS policy selection a widget of its own, and improve splitting
between logic and presentation

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-09-28 11:00:41 +02:00
Stoiko Ivanov
3155688b19 js/MailProxyTLSDomains.js: reload UpdateStore
instead of DiffStore, fixing the grid remaining empty for one second after
a change glitch

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-09-28 10:59:52 +02:00
Dietmar Maurer
bf289fa759 improve TLS panel layout
Use same padding as in SystemConfiguration panel.
2018-09-27 07:16:42 +02:00
Stoiko Ivanov
0c77683d63 Implement TLS Policy Setting
* add js/MailProxyTLSDomains.js for setting per domain TLS policies
* add js/MailProxyTLSPanel.js as a wrapper for the current MailProxyTLS.js and
  MailProxyTLSDomains.js

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-09-27 07:02:35 +02:00
Dominik Csapak
7acc9a1e6b fix #1701: add port option for smarthost
allows editing/showing the smarthost and -port

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-09-12 06:39:30 +02:00
Dietmar Maurer
f31c7df96c MailProxyOptions.js: use deleteEmpty flag for dnsbl_threshold 2018-06-21 10:33:32 +02:00
Alexander Plank
feb7e67883 Add postfix dnsbl threshold
Signed-off-by: Alexander Plank <alexander.plank@siconnex.com>
2018-06-21 10:18:38 +02:00
Dietmar Maurer
cc66960f8f fix bug #1707: use correct units for deferred mail queue (minutes) 2018-05-04 12:42:53 +02:00
Dominik Csapak
01e0e5e511 overwrite run_editor of base class
so that every call lands in the custom run_editor

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 14:14:26 +02:00
Dietmar Maurer
6265117277 cleanup: set selModel only where we need it 2018-03-29 14:40:32 +02:00
Dominik Csapak
0b9c052824 SpamQuarantine: add keyboard shortcuts for actions
d/D: deliver
delete: delete
w/W: whitelist
b/B: blacklist

the delete key registers differently depending on browser,
so we have to check for event.DELETE and '127'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-29 14:33:45 +02:00
Dominik Csapak
c627f092b8 SpamQuarantine: add context menu
with the actions: deliver,delete,whitelist,blacklist

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-29 14:31:58 +02:00
Dominik Csapak
7f0619ff3b quarantine: refactor action logic
so that it can be reused

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-29 14:31:29 +02:00
Dominik Csapak
5fb0f71ea0 quarantine: do not deselect when list changes
when an e-mail is selected and an action goes through,
select the e-mail on the position the old one was,
this way, one does not have to reselect an e-mail after
an action is done

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-29 14:31:00 +02:00
Dominik Csapak
e6eb9495fa set the default quarantine timespan to a week
instead of only the current day

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-29 14:30:07 +02:00
Dominik Csapak
74901b37df reword the action success message to not show the id
but the count if we have multiple messages

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-29 14:27:43 +02:00
Dominik Csapak
d42f85b806 implement multiselection of spamquarantine mails
and allow the actions to be sent for all simultaniously

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-29 14:22:42 +02:00