[pmg-devel] [PATCH pmg-gui 2/3] fix #2437: proxy: Add 'TLS Inbound Policy' panel
Stoiko Ivanov
s.ivanov at proxmox.com
Thu Mar 16 13:32:03 CET 2023
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 at 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 at 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 at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel
>
>
More information about the pmg-devel
mailing list