From: Stoiko Ivanov <s.ivanov@proxmox.com>
To: Christoph Heiss <c.heiss@proxmox.com>
Cc: pmg-devel@lists.proxmox.com
Subject: Re: [pmg-devel] [PATCH pmg-gui 2/3] fix #2437: proxy: Add 'TLS Inbound Policy' panel
Date: Thu, 16 Mar 2023 13:32:03 +0100 [thread overview]
Message-ID: <20230316133203.23a3f577@rosa.proxmox.com> (raw)
In-Reply-To: <20230309101846.192177-3-c.heiss@proxmox.com>
only a question/hint - since this is yet another list of domains (with w/o
added value) - any chance to merge this with MailProxyTLSDestinations?
(or DKIMDomains, or Domains)?
OTOH the component is small enough and refactoring can very well happen at
another time as well) - so feel free to leave that out :)
On Thu, 9 Mar 2023 11:18:45 +0100
Christoph Heiss <c.heiss@proxmox.com> wrote:
> This panel can be used to configure sender domains for which TLS will be
> enforced my postfix. As this takes the usual transport domain format,
> either a FQDN or .FQDN (for matching subdomains) can be specified.
>
> Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
> ---
> js/MailProxyTLSInboundPolicy.js | 93 +++++++++++++++++++++++++++++++++
> js/MailProxyTLSPanel.js | 8 ++-
> js/Makefile | 1 +
> 3 files changed, 101 insertions(+), 1 deletion(-)
> create mode 100644 js/MailProxyTLSInboundPolicy.js
>
> diff --git a/js/MailProxyTLSInboundPolicy.js b/js/MailProxyTLSInboundPolicy.js
> new file mode 100644
> index 0000000..bc45527
> --- /dev/null
> +++ b/js/MailProxyTLSInboundPolicy.js
> @@ -0,0 +1,93 @@
> +Ext.define('pmg-tls-inbound-policy', {
> + extend: 'Ext.data.Model',
> + fields: ['domain'],
> + idProperty: 'domain',
> + proxy: {
> + type: 'proxmox',
> + url: '/api2/json/config/tlsinboundpolicy',
> + },
> + sorters: {
> + property: 'domain',
> + direction: 'ASC',
> + },
> +});
> +
> +Ext.define('PMG.TLSInboundPolicyEdit', {
> + extend: 'Proxmox.window.Edit',
> + xtype: 'pmgTLSInboundPolicyEdit',
> + onlineHelp: 'pmgconfig_mailproxy_tls',
> +
> + subject: gettext('TLS Inbound Policy'),
> + url: '/api2/extjs/config/tlsinboundpolicy',
> + method: 'POST',
> +
> + items: [
> + {
> + xtype: 'proxmoxtextfield',
> + name: 'domain',
> + fieldLabel: gettext('Domain'),
> + },
> + ],
> +});
> +
> +Ext.define('PMG.MailProxyTLSInboundPolicy', {
> + extend: 'Ext.grid.GridPanel',
> + alias: ['widget.pmgMailProxyTLSInboundPolicy'],
> +
> + viewConfig: {
> + trackOver: false,
> + },
> +
> + columns: [
> + {
> + header: gettext('Domain'),
> + flex: 1,
> + sortable: true,
> + dataIndex: 'domain',
> + },
> + ],
> +
> + initComponent: function() {
> + const me = this;
> +
> + const rstore = Ext.create('Proxmox.data.UpdateStore', {
> + model: 'pmg-tls-inbound-policy',
> + storeid: 'pmg-mailproxy-tls-inbound-policy-store-' + ++Ext.idSeed,
> + });
> +
> + const store = Ext.create('Proxmox.data.DiffStore', { rstore: rstore });
> + const reload = () => rstore.load();
> + me.selModel = Ext.create('Ext.selection.RowModel', {});
> + Proxmox.Utils.monStoreErrors(me, store, true);
> +
> + Ext.apply(me, {
> + store,
> + tbar: [
> + {
> + text: gettext('Create'),
> + handler: () => {
> + Ext.createWidget('pmgTLSInboundPolicyEdit', {
> + autoShow: true,
> + listeners: {
> + destroy: reload,
> + },
> + });
> + },
> + },
> + {
> + xtype: 'proxmoxStdRemoveButton',
> + baseurl: '/config/tlsinboundpolicy',
> + callback: reload,
> + waitMsgTarget: me,
> + },
> + ],
> + listeners: {
> + activate: rstore.startUpdate,
> + destroy: rstore.stopUpdate,
> + deactivate: rstore.stopUpdate,
> + },
> + });
> +
> + me.callParent();
> + },
> +});
> diff --git a/js/MailProxyTLSPanel.js b/js/MailProxyTLSPanel.js
> index 82dc3f8..5a5837c 100644
> --- a/js/MailProxyTLSPanel.js
> +++ b/js/MailProxyTLSPanel.js
> @@ -26,11 +26,17 @@ Ext.define('PMG.MailProxyTLSPanel', {
> flex: 1,
> });
>
> - me.items = [tlsSettings, tlsDestinations];
> + const tlsInboundPolicy = Ext.create('PMG.MailProxyTLSInboundPolicy', {
> + title: gettext('TLS Inbound Policy'),
> + flex: 1,
> + });
> +
> + me.items = [tlsSettings, tlsDestinations, tlsInboundPolicy];
>
> me.callParent();
>
> tlsSettings.relayEvents(me, ['activate', 'deactivate', 'destroy']);
> tlsDestinations.relayEvents(me, ['activate', 'deactivate', 'destroy']);
> + tlsInboundPolicy.relayEvents(me, ['activate', 'deactivate', 'destroy']);
> },
> });
> diff --git a/js/Makefile b/js/Makefile
> index 9a2bcf2..e3b9e78 100644
> --- a/js/Makefile
> +++ b/js/Makefile
> @@ -50,6 +50,7 @@ JSSRC= \
> MailProxyTLS.js \
> MailProxyTLSPanel.js \
> MailProxyTLSDestinations.js \
> + MailProxyTLSInboundPolicy.js \
> Transport.js \
> MyNetworks.js \
> RelayDomains.js \
> --
> 2.39.2
>
>
>
> _______________________________________________
> pmg-devel mailing list
> pmg-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel
>
>
next prev parent reply other threads:[~2023-03-16 12:32 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-09 10:18 [pmg-devel] [PATCH pmg-{api, gui, docs} 0/3] fix #2437: Add TLS inbound policy for sender domains Christoph Heiss
2023-03-09 10:18 ` [pmg-devel] [PATCH pmg-api 1/3] fix #2437: config: Add inbound TLS policy option Christoph Heiss
2023-03-16 12:50 ` Stoiko Ivanov
2023-03-20 8:21 ` Christoph Heiss
2023-03-09 10:18 ` [pmg-devel] [PATCH pmg-gui 2/3] fix #2437: proxy: Add 'TLS Inbound Policy' panel Christoph Heiss
2023-03-16 12:32 ` Stoiko Ivanov [this message]
2023-03-20 8:36 ` Christoph Heiss
2023-03-20 8:42 ` Stoiko Ivanov
2023-03-09 10:18 ` [pmg-devel] [PATCH pmg-docs 3/3] pmgconfig: Explain new TLS inbound policy configuration Christoph Heiss
2023-03-16 12:28 ` [pmg-devel] [PATCH pmg-{api, gui, docs} 0/3] fix #2437: Add TLS inbound policy for sender domains Stoiko Ivanov
2023-03-20 8:14 ` Christoph Heiss
2023-03-20 8:36 ` Stoiko Ivanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230316133203.23a3f577@rosa.proxmox.com \
--to=s.ivanov@proxmox.com \
--cc=c.heiss@proxmox.com \
--cc=pmg-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox