[pbs-devel] [PATCH proxmox-backup v3] restrict consent-banner text length

Gabriel Goller g.goller at proxmox.com
Tue Dec 10 16:53:44 CET 2024


Add a maxLength in of 63*1024 in the frontend. We allow a max body
size of 64*1204 in the api and to allow some other properties to
coexist, reserve 1024 characters. In the backend we set the limit to
128000 (128kB), which is the same as in pve.

Signed-off-by: Gabriel Goller <g.goller at proxmox.com>
---

v3:
 - forgot to update the actual number in code

v2, thanks @Thomas:
 - limit consent-text in the backend as well
 - set the limit according to the max body size

 src/config/node.rs           | 5 +++++
 www/config/NodeOptionView.js | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/src/config/node.rs b/src/config/node.rs
index 2b29cb02afed..99c900cabf74 100644
--- a/src/config/node.rs
+++ b/src/config/node.rs
@@ -174,6 +174,11 @@ pub enum Translation {
         "description" : {
             optional: true,
             schema: MULTI_LINE_COMMENT_SCHEMA,
+        },
+        "consent-text" : {
+            optional: true,
+            type: String,
+            max_length: 128000,
         }
     },
 )]
diff --git a/www/config/NodeOptionView.js b/www/config/NodeOptionView.js
index c327356f7f24..042086a8ded5 100644
--- a/www/config/NodeOptionView.js
+++ b/www/config/NodeOptionView.js
@@ -59,6 +59,9 @@ Ext.define('PBS.NodeOptionView', {
 	    name: 'consent-text',
 	    text: gettext('Consent Text'),
 	    deleteEmpty: true,
+	    fieldOpts: {
+		maxLength: 63 * 1024,
+	    },
 	    onlineHelp: 'consent_banner',
 	},
     ],
-- 
2.39.5





More information about the pbs-devel mailing list