]> git.proxmox.com Git - pmg-gui.git/log
pmg-gui.git
3 years agoRegexTester: fix getting reference to regex field
Stoiko Ivanov [Thu, 12 Nov 2020 17:57:57 +0000 (18:57 +0100)]
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>
3 years agobuildsys: rm -f .lint-incremental
Stoiko Ivanov [Thu, 12 Nov 2020 17:57:56 +0000 (18:57 +0100)]
buildsys: rm -f .lint-incremental

else the build fails if the file does not exist

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
3 years agobump version to 2.2-3
Thomas Lamprecht [Tue, 3 Nov 2020 11:03:07 +0000 (12:03 +0100)]
bump version to 2.2-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agomobile: consistent success action message with full UI
Thomas Lamprecht [Fri, 30 Oct 2020 14:12:59 +0000 (15:12 +0100)]
mobile: consistent success action message with full UI

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agorun lint checks during build and allow incremental linting
Thomas Lamprecht [Fri, 30 Oct 2020 14:11:44 +0000 (15:11 +0100)]
run lint checks during build and allow incremental linting

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agomobile: fix calendar start/end date labels
Thomas Lamprecht [Fri, 30 Oct 2020 14:03:05 +0000 (15:03 +0100)]
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>
3 years agoUtils: add product specific task descriptions
Dominik Csapak [Fri, 30 Oct 2020 13:02:56 +0000 (14:02 +0100)]
Utils: add product specific task descriptions

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agomobile: show toast instead of annoying prompt
Thomas Lamprecht [Fri, 30 Oct 2020 14:00:46 +0000 (15:00 +0100)]
mobile: show toast instead of annoying prompt

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agojs/mobile: fix eslint and enable linting on build
Thomas Lamprecht [Fri, 30 Oct 2020 13:20:26 +0000 (14:20 +0100)]
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>
3 years agobuildsys: use separate makefiles
Thomas Lamprecht [Fri, 30 Oct 2020 13:17:08 +0000 (14:17 +0100)]
buildsys: use separate makefiles

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoeslint fixes
Thomas Lamprecht [Fri, 30 Oct 2020 13:08:16 +0000 (14:08 +0100)]
eslint fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodrop jslint hints
Thomas Lamprecht [Fri, 23 Oct 2020 12:07:00 +0000 (14:07 +0200)]
drop jslint hints

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodrop jslint hint for Proxmox global
Thomas Lamprecht [Fri, 23 Oct 2020 12:03:17 +0000 (14:03 +0200)]
drop jslint hint for Proxmox global

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agotree wide: eslint --fix
Thomas Lamprecht [Fri, 23 Oct 2020 11:17:15 +0000 (13:17 +0200)]
tree wide: eslint --fix

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoquarantine action: use shadow for toast "window"
Thomas Lamprecht [Fri, 23 Oct 2020 11:15:10 +0000 (13:15 +0200)]
quarantine action: use shadow for toast "window"

better contrast

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobuildsys: fix makefile dependencies
Thomas Lamprecht [Fri, 23 Oct 2020 11:09:46 +0000 (13:09 +0200)]
buildsys: fix makefile dependencies

To ensure relevant stuff is always rebuild include the CSS and image
files in the install dependencies.

Further, mark the meta targets for building the pmgmanagerlib normal
and mobile versions as PHONY, as they only re-direct the make to the
respective makefile we need to ensure it always does, as else it
circumvents the actual dependency declaration of the responsible
targets.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoquarantine: make annoying success prompt a toast
Thomas Lamprecht [Fri, 23 Oct 2020 10:57:20 +0000 (12:57 +0200)]
quarantine: make annoying success prompt a toast

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agomake lint: use eslint
Thomas Lamprecht [Fri, 23 Oct 2020 10:55:25 +0000 (12:55 +0200)]
make lint: use eslint

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoutils: eslint fixes
Thomas Lamprecht [Fri, 23 Oct 2020 10:07:00 +0000 (12:07 +0200)]
utils: eslint fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agofix #2844: MailTracker: do not collapse rows with double click
Dominik Csapak [Wed, 15 Jul 2020 10:32:37 +0000 (12:32 +0200)]
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>
3 years agobump version to 2.2-2
Thomas Lamprecht [Thu, 4 Jun 2020 14:51:31 +0000 (16:51 +0200)]
bump version to 2.2-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agopostfix mailq admin: avoid early load by updating nodename only if changed
Thomas Lamprecht [Thu, 4 Jun 2020 15:57:55 +0000 (17:57 +0200)]
postfix mailq admin: avoid early load by updating nodename only if changed

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoPostfixMailQ eslint fixes
Thomas Lamprecht [Thu, 4 Jun 2020 15:56:44 +0000 (17:56 +0200)]
PostfixMailQ eslint fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodeferred mailq: sort initially by arrival time
Thomas Lamprecht [Thu, 4 Jun 2020 15:40:08 +0000 (17:40 +0200)]
deferred mailq: sort initially by arrival time

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agofix #1976: enable remoteSort for PostfixMailQueue
Stoiko Ivanov [Thu, 28 May 2020 08:04:59 +0000 (10:04 +0200)]
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>
3 years agoreport: indentation cleanup
Thomas Lamprecht [Thu, 4 Jun 2020 06:21:46 +0000 (08:21 +0200)]
report: indentation cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agofollowup: add separator
Thomas Lamprecht [Thu, 4 Jun 2020 06:20:37 +0000 (08:20 +0200)]
followup: add separator

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agogui: alow to remove subscription
Moayad Almalat [Thu, 28 May 2020 08:51:31 +0000 (10:51 +0200)]
gui: alow to remove subscription

Signed-off-by: Moayad Almalat <m.almalat@proxmox.com>
3 years agod/control: bump versioned to proxmox-widget-toolkit
Thomas Lamprecht [Mon, 18 May 2020 16:52:05 +0000 (18:52 +0200)]
d/control: bump versioned to proxmox-widget-toolkit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoremove Logo.js
Dominik Csapak [Fri, 15 May 2020 08:19:29 +0000 (10:19 +0200)]
remove Logo.js

it is now in the widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agobump version to 2.2-1
Thomas Lamprecht [Fri, 24 Apr 2020 17:05:43 +0000 (19:05 +0200)]
bump version to 2.2-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoMailTracker: change default emptyText
Dominik Csapak [Fri, 24 Apr 2020 13:57:56 +0000 (15:57 +0200)]
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>
4 years agoMailTracker: do not search when not both datetime parameters are given
Dominik Csapak [Fri, 24 Apr 2020 13:57:55 +0000 (15:57 +0200)]
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>
4 years agoMailTracker: buffer onFilterChange
Dominik Csapak [Fri, 24 Apr 2020 13:57:54 +0000 (15:57 +0200)]
MailTracker: buffer onFilterChange

so that the store gets loaded only when the user stops typing

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoquarantine: display how many mails are selected
Thomas Lamprecht [Fri, 24 Apr 2020 14:16:33 +0000 (16:16 +0200)]
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>
4 years agoMailTracker: sort by time by default
Dominik Csapak [Fri, 24 Apr 2020 13:14:49 +0000 (15:14 +0200)]
MailTracker: sort by time by default

so that the mails get shown in correct order

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoMailTracker: let panel decide about width
Dominik Csapak [Fri, 24 Apr 2020 13:14:48 +0000 (15:14 +0200)]
MailTracker: let panel decide about width

else, the fieldLabels might be cut off

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoDashboard: remove autoLoad from updateStores
Dominik Csapak [Fri, 24 Apr 2020 13:14:47 +0000 (15:14 +0200)]
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>
4 years agobump version to 2.1-6
Thomas Lamprecht [Mon, 20 Apr 2020 15:49:38 +0000 (17:49 +0200)]
bump version to 2.1-6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agod/control: bump versioned build dependency to proxmox-widget-toolkit
Thomas Lamprecht [Mon, 20 Apr 2020 15:42:39 +0000 (17:42 +0200)]
d/control: bump versioned build dependency to proxmox-widget-toolkit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomail proxy options: add maxValue config for netmasks
Thomas Lamprecht [Mon, 20 Apr 2020 15:39:53 +0000 (17:39 +0200)]
mail proxy options: add maxValue config for netmasks

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoMailProxyOptions: add greylist enhancements
Stoiko Ivanov [Mon, 20 Apr 2020 11:22:44 +0000 (13:22 +0200)]
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>
4 years agoadd Language selection in user menu for admin view
Dominik Csapak [Fri, 17 Apr 2020 11:23:38 +0000 (13:23 +0200)]
add Language selection in user menu for admin view

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agouse LanguageEditWindow from widget-toolkit
Dominik Csapak [Fri, 17 Apr 2020 11:23:37 +0000 (13:23 +0200)]
use LanguageEditWindow from widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoAdd before_queue_filtering checkbox"
Stoiko Ivanov [Fri, 17 Apr 2020 13:01:08 +0000 (15:01 +0200)]
Add before_queue_filtering checkbox"

This reverts commit a89fcfd62baa400ede4eb93f2eff492d2e5caf06.

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>
4 years agoalign spacing with pve
Dominik Csapak [Thu, 16 Apr 2020 13:39:52 +0000 (15:39 +0200)]
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>
4 years agoMainView: make UserName a button/menu
Dominik Csapak [Thu, 16 Apr 2020 13:39:51 +0000 (15:39 +0200)]
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>
4 years agoadd 'Match Archive Filename' to list of what objects
Dominik Csapak [Thu, 16 Apr 2020 08:59:41 +0000 (10:59 +0200)]
add 'Match Archive Filename' to list of what objects

and add an editor for it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agofix MailInfo update without data
Dominik Csapak [Thu, 16 Apr 2020 10:25:02 +0000 (12:25 +0200)]
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>
4 years agofix #2667: and 'language' option to QuarantineView
Dominik Csapak [Thu, 16 Apr 2020 08:57:51 +0000 (10:57 +0200)]
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>
4 years agoQuarantineList: rename from/to to since/until
Dominik Csapak [Wed, 15 Apr 2020 07:56:45 +0000 (09:56 +0200)]
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>
4 years agoQuarantineList: improve savedPosition behaviour
Dominik Csapak [Wed, 15 Apr 2020 07:56:44 +0000 (09:56 +0200)]
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>
4 years agofix #2680: make Quarantine E-Mail list searchable
Dominik Csapak [Wed, 15 Apr 2020 07:56:43 +0000 (09:56 +0200)]
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>
4 years agoQuarantine: set mailinfo visible only on html preview
Dominik Csapak [Wed, 15 Apr 2020 11:37:58 +0000 (13:37 +0200)]
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>
4 years agoqurantine: hide mailinfo in raw mode
Thomas Lamprecht [Wed, 15 Apr 2020 10:59:38 +0000 (12:59 +0200)]
qurantine: hide mailinfo in raw mode

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomailinfo: ellipsize info fields after 100 characters
Thomas Lamprecht [Wed, 15 Apr 2020 10:59:08 +0000 (12:59 +0200)]
mailinfo: ellipsize info fields after 100 characters

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agomailinfo: fix bold in firefox and add some margin
Thomas Lamprecht [Wed, 15 Apr 2020 10:57:29 +0000 (12:57 +0200)]
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>
4 years agofix #2676: add MailInfo box on Quarantine Views
Dominik Csapak [Tue, 14 Apr 2020 12:51:36 +0000 (14:51 +0200)]
fix #2676: add MailInfo box on Quarantine Views

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoadd 'MailInfo' Widget
Dominik Csapak [Tue, 14 Apr 2020 12:51:35 +0000 (14:51 +0200)]
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>
4 years agoClamAVDatabase: add scriptedupdates checkbox
Stoiko Ivanov [Fri, 3 Apr 2020 17:58:01 +0000 (19:58 +0200)]
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>
4 years agoAdd port to SpamQuarantineOptions
Stoiko Ivanov [Thu, 2 Apr 2020 17:51:46 +0000 (19:51 +0200)]
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>
4 years agorename TLSDomain to TLSDestination
Stoiko Ivanov [Wed, 18 Mar 2020 10:23:48 +0000 (11:23 +0100)]
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>
4 years agoTLSDomains: rename domain to destination
Stoiko Ivanov [Wed, 18 Mar 2020 10:23:47 +0000 (11:23 +0100)]
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>
4 years agofix #2632: use alternative api call for user black/whitelist
Dominik Csapak [Wed, 11 Mar 2020 11:03:34 +0000 (12:03 +0100)]
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>
4 years agoAdd flex to domain lists
Stoiko Ivanov [Mon, 3 Feb 2020 18:21:30 +0000 (19:21 +0100)]
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>
4 years agobump version to 2.1-5
Thomas Lamprecht [Thu, 23 Jan 2020 12:25:54 +0000 (13:25 +0100)]
bump version to 2.1-5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agodeferred mailq: make column widths responsive
Thomas Lamprecht [Tue, 21 Jan 2020 10:08:48 +0000 (11:08 +0100)]
deferred mailq: make column widths responsive

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agouse format_size renderer for size in deferred queue listing
Stoiko Ivanov [Mon, 20 Jan 2020 10:46:04 +0000 (11:46 +0100)]
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>
4 years agodkim selector: use autoLoad config of store
Thomas Lamprecht [Tue, 21 Jan 2020 08:19:35 +0000 (09:19 +0100)]
dkim selector: use autoLoad config of store

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agodkim: list all available selectors
Stoiko Ivanov [Tue, 14 Jan 2020 18:31:37 +0000 (19:31 +0100)]
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>
4 years agofix #2504: add checkbox for overwriting selectors
Stoiko Ivanov [Tue, 14 Jan 2020 18:31:36 +0000 (19:31 +0100)]
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>
4 years agotransport edit: hide/disable Use-MX for LMTP
Thomas Lamprecht [Fri, 10 Jan 2020 13:26:25 +0000 (14:26 +0100)]
transport edit: hide/disable Use-MX for LMTP

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agotransport: add real PMG.TransportEditor definition
Thomas Lamprecht [Fri, 10 Jan 2020 13:25:15 +0000 (14:25 +0100)]
transport: add real PMG.TransportEditor definition

instead of hacking it together inside the gridpanel

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agotransport: code cleanups
Thomas Lamprecht [Fri, 10 Jan 2020 13:24:36 +0000 (14:24 +0100)]
transport: code cleanups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoMailProxyRelaying: fix indentation and style
Thomas Lamprecht [Fri, 10 Jan 2020 11:00:04 +0000 (12:00 +0100)]
MailProxyRelaying: fix indentation and style

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoFeature #2438 add support for lmtp delivery to downstream servers
Julian Zehnter [Sun, 5 Jan 2020 14:53:09 +0000 (15:53 +0100)]
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>
4 years agobump version to 2.1-4
Thomas Lamprecht [Thu, 28 Nov 2019 10:35:25 +0000 (11:35 +0100)]
bump version to 2.1-4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd browser cache workaround
Dominik Csapak [Thu, 28 Nov 2019 10:22:44 +0000 (11:22 +0100)]
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>
4 years agobump version to 2.1-3
Thomas Lamprecht [Fri, 22 Nov 2019 11:37:36 +0000 (12:37 +0100)]
bump version to 2.1-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoquarantine: set mail-dowanload link's download attribute again
Thomas Lamprecht [Fri, 22 Nov 2019 11:21:33 +0000 (12:21 +0100)]
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 41a290e3f078204dd77b3f74f418a9bfe2c2bc81

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

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 2.1-2
Thomas Lamprecht [Wed, 20 Nov 2019 10:44:22 +0000 (11:44 +0100)]
bump version to 2.1-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd onlineHelp anchors to SpamDetectorCustom
Stoiko Ivanov [Tue, 19 Nov 2019 12:21:32 +0000 (13:21 +0100)]
add onlineHelp anchors to SpamDetectorCustom

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
4 years agoadd onlineHelp anchor to ndr_on_block
Thomas Lamprecht [Wed, 20 Nov 2019 10:43:30 +0000 (11:43 +0100)]
add onlineHelp anchor to ndr_on_block

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 2.1-1
Thomas Lamprecht [Tue, 19 Nov 2019 10:45:33 +0000 (11:45 +0100)]
bump version to 2.1-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoRevert Adding of before_queue_filtering checkbox
Stoiko Ivanov [Mon, 18 Nov 2019 11:43:59 +0000 (12:43 +0100)]
Revert Adding of before_queue_filtering checkbox

This partially reverts commit 28c12d957fa1e4397154f66eb097c9639ced2b6d.

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>
4 years agobump version to 2.0-7
Thomas Lamprecht [Fri, 15 Nov 2019 12:12:18 +0000 (13:12 +0100)]
bump version to 2.0-7

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoAdd ndr_on_block and before_queue options
Stoiko Ivanov [Fri, 15 Nov 2019 10:41:16 +0000 (11:41 +0100)]
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>
4 years agofix 1652: rename NDR to empty senders in GUI
Stoiko Ivanov [Thu, 10 Oct 2019 17:20:22 +0000 (19:20 +0200)]
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>
4 years agoadd Custom Scores panel to the Spam Detector
Dominik Csapak [Thu, 14 Nov 2019 11:18:55 +0000 (12:18 +0100)]
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>
4 years agofix broken maillist when deleting last mail in list
Dominik Csapak [Mon, 11 Nov 2019 09:16:35 +0000 (10:16 +0100)]
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>
4 years agobump version to 2.0-6
Thomas Lamprecht [Wed, 30 Oct 2019 17:35:52 +0000 (18:35 +0100)]
bump version to 2.0-6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoSpamQuarantine: onSelectMail: re-use queried selection
Thomas Lamprecht [Fri, 25 Oct 2019 10:37:05 +0000 (12:37 +0200)]
SpamQuarantine: onSelectMail: re-use queried selection

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoSpamQuarantine: simplify download button by binding its href config
Thomas Lamprecht [Fri, 25 Oct 2019 10:05:07 +0000 (12:05 +0200)]
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 7ad0de10d630f628b15969ef1478b9276e46197b

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoSpamQuarantine: fix download of large emails
Dominik Csapak [Wed, 23 Oct 2019 07:36:35 +0000 (09:36 +0200)]
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>
4 years agoActionList: add info about editable state
Dominik Csapak [Wed, 23 Oct 2019 11:56:07 +0000 (13:56 +0200)]
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>
4 years agod/control: record build-dependency to pmg-doc-generator
Thomas Lamprecht [Wed, 23 Oct 2019 17:17:15 +0000 (19:17 +0200)]
d/control: record build-dependency to pmg-doc-generator

assembling the OnlineHelpInfo map requires this.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoActionList: make labels in editwindow consistent
Dominik Csapak [Wed, 23 Oct 2019 11:53:00 +0000 (13:53 +0200)]
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>
4 years agoAdd DKIM Tab to MailProxy configuration
Stoiko Ivanov [Mon, 21 Oct 2019 17:23:38 +0000 (19:23 +0200)]
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>
4 years agoMailProxyConfiguration.js: whitespace cleanup
Stoiko Ivanov [Mon, 21 Oct 2019 17:23:37 +0000 (19:23 +0200)]
MailProxyConfiguration.js: whitespace cleanup

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
4 years agorefactor RelayDomains:
Stoiko Ivanov [Mon, 21 Oct 2019 17:23:36 +0000 (19:23 +0200)]
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>