[pve-devel] [PATCH manager 1/2] ui: lxc/features: disable nfs and cifs for unprivileged

Dominik Csapak d.csapak at proxmox.com
Tue Dec 4 10:40:52 CET 2018


both patches:

Reviewed-by: Dominik Csapak <d.csapak at proxmox.com>
Tested-by: Dominik Csapak <d.csapak at proxmox.com>

On 12/4/18 10:03 AM, Wolfgang Bumiller wrote:
> 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 at proxmox.com>
> ---
>   www/manager6/lxc/FeaturesEdit.js | 38 +++++++++++++++++++++++++++++++-------
>   1 file changed, 31 insertions(+), 7 deletions(-)
> 
> diff --git a/www/manager6/lxc/FeaturesEdit.js b/www/manager6/lxc/FeaturesEdit.js
> index fb8f7672..5e359e26 100644
> --- a/www/manager6/lxc/FeaturesEdit.js
> +++ b/www/manager6/lxc/FeaturesEdit.js
> @@ -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);
> 





More information about the pve-devel mailing list