]> git.proxmox.com Git - pve-manager.git/commitdiff
ui: lxc/features: disable nfs and cifs for unprivileged
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 4 Dec 2018 09:03:15 +0000 (10:03 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 6 Dec 2018 14:42:13 +0000 (15:42 +0100)
While we can allow them via the apparmor profile, they still
won't be usable as the kernel doesn't have FS_USERNS_MOUNT
set on those.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/lxc/FeaturesEdit.js

index fb8f76729315728aeb00daecca1439b4ddc2340f..5e359e26f5192b2f45a2afc0d78251c9ba226527 100644 (file)
@@ -7,11 +7,30 @@ Ext.define('PVE.lxc.FeaturesInputPanel', {
 
     fstypes: ['nfs', 'cifs'],
 
+    viewModel: {
+       parent: null,
+       data: {
+           unprivileged: false,
+       },
+       formulas: {
+           privilegedOnly: function(get) {
+               return (get('unprivileged') ? gettext('privileged only') : '');
+           },
+           unprivilegedOnly: function(get) {
+               return (!get('unprivileged') ? gettext('unprivileged only') : '');
+           }
+       }
+    },
+
     items: [
        {
            xtype: 'proxmoxcheckbox',
            fieldLabel: gettext('keyctl'),
-           name: 'keyctl'
+           name: 'keyctl',
+           bind: {
+               disabled: '{!unprivileged}',
+               boxLabel: '{unprivilegedOnly}',
+           }
        },
        {
            xtype: 'proxmoxcheckbox',
@@ -21,12 +40,20 @@ Ext.define('PVE.lxc.FeaturesInputPanel', {
        {
            xtype: 'proxmoxcheckbox',
            name: 'nfs',
-           fieldLabel: 'NFS'
+           fieldLabel: 'NFS',
+           bind: {
+               disabled: '{unprivileged}',
+               boxLabel: '{privilegedOnly}',
+           }
        },
        {
            xtype: 'proxmoxcheckbox',
            name: 'cifs',
-           fieldLabel: 'CIFS'
+           fieldLabel: 'CIFS',
+           bind: {
+               disabled: '{unprivileged}',
+               boxLabel: '{privilegedOnly}',
+           }
        }
     ],
 
@@ -54,10 +81,7 @@ Ext.define('PVE.lxc.FeaturesInputPanel', {
     setValues: function(values) {
        var me = this;
 
-       var privileged = !values.unprivileged,
-           keyctlField = me.down('field[name=keyctl]');
-       keyctlField.setDisabled(privileged);
-       keyctlField.setBoxLabel(privileged ? gettext('unprivileged only') : null);
+       me.viewModel.set({ unprivileged: values.unprivileged });
 
        if (values.features) {
            var res = PVE.Parser.parsePropertyString(values.features);