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

Gabriel Goller g.goller at proxmox.com
Tue Dec 10 16:48:57 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>
---

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..defb56b07132 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: 86016,
         }
     },
 )]
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