* [pmg-devel] [PATCH pmg-api v2] utils: user schema: explicitly forbid @ in user-names
@ 2025-02-26 20:58 Stoiko Ivanov
2025-02-26 21:00 ` [pmg-devel] applied: " Thomas Lamprecht
0 siblings, 1 reply; 2+ messages in thread
From: Stoiko Ivanov @ 2025-02-26 20:58 UTC (permalink / raw)
To: pmg-devel
PMGs terms are:
* 'userid' consists of 'username'@'realm'
without this patch it was possible to create a user through the api,
with @ in the username ('foo@bar@pmg'), and it got written to the
user-conf.
Reading that entry was not possible, as the verification on read was
stricter.
This patch forbids '@' in usernames, and additionally drops the
maxLength of 64, as 60 are already enforced by the regex pattern match
(leaving 4 as minimal length for '@pmg'/'@pam').
Potential for regression should be minimal (the users could not be
read-back from the config).
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
minimally tested on top of latest master
- 128 character username
- a@a@pmg
both failing
- 60 character username@pmg - succeeds
src/PMG/Utils.pm | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/PMG/Utils.pm b/src/PMG/Utils.pm
index c187f93..70e8317 100644
--- a/src/PMG/Utils.pm
+++ b/src/PMG/Utils.pm
@@ -49,7 +49,7 @@ postgres_admin_cmd
try_decode_utf8
);
-my $user_regex = qr![^\s:/]+!;
+my $user_regex = qr![^\s:@/]+!;
PVE::JSONSchema::register_standard_option('pmg-starttime', {
description => "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
@@ -103,7 +103,6 @@ PVE::JSONSchema::register_standard_option('username', {
description => "Username (without realm)",
type => 'string',
pattern => '[^\s:\/\@]{1,60}',
- maxLength => 64,
});
PVE::JSONSchema::register_standard_option('pmg-email-address', {
--
2.39.5
_______________________________________________
pmg-devel mailing list
pmg-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pmg-devel] applied: [PATCH pmg-api v2] utils: user schema: explicitly forbid @ in user-names
2025-02-26 20:58 [pmg-devel] [PATCH pmg-api v2] utils: user schema: explicitly forbid @ in user-names Stoiko Ivanov
@ 2025-02-26 21:00 ` Thomas Lamprecht
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2025-02-26 21:00 UTC (permalink / raw)
To: Stoiko Ivanov, pmg-devel
Am 26.02.25 um 21:58 schrieb Stoiko Ivanov:
> PMGs terms are:
> * 'userid' consists of 'username'@'realm'
>
> without this patch it was possible to create a user through the api,
> with @ in the username ('foo@bar@pmg'), and it got written to the
> user-conf.
> Reading that entry was not possible, as the verification on read was
> stricter.
>
> This patch forbids '@' in usernames, and additionally drops the
> maxLength of 64, as 60 are already enforced by the regex pattern match
> (leaving 4 as minimal length for '@pmg'/'@pam').
>
> Potential for regression should be minimal (the users could not be
> read-back from the config).
>
> Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
> ---
> minimally tested on top of latest master
> - 128 character username
> - a@a@pmg
> both failing
> - 60 character username@pmg - succeeds
> src/PMG/Utils.pm | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
>
applied, thanks!
_______________________________________________
pmg-devel mailing list
pmg-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-02-26 21:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-26 20:58 [pmg-devel] [PATCH pmg-api v2] utils: user schema: explicitly forbid @ in user-names Stoiko Ivanov
2025-02-26 21:00 ` [pmg-devel] applied: " Thomas Lamprecht
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal