From 863ab1eb124bc69ef028f08415068b24fcec5c29 Mon Sep 17 00:00:00 2001 From: Min RK Date: Mon, 19 Apr 2021 13:37:21 +0200 Subject: [PATCH] allow unreserved RFC3986 characters in role names: _-~. --- jupyterhub/roles.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jupyterhub/roles.py b/jupyterhub/roles.py index a10c6175..3f74a8ad 100644 --- a/jupyterhub/roles.py +++ b/jupyterhub/roles.py @@ -227,7 +227,7 @@ def _overwrite_role(role, role_dict): ) -_role_name_pattern = re.compile(r'^[a-z][a-z0-9\-]{1,253}[a-z0-9]$') +_role_name_pattern = re.compile(r'^[a-z][a-z0-9\-_~\.]{1,253}[a-z0-9]$') def _validate_role_name(name): @@ -240,9 +240,9 @@ def _validate_role_name(name): f"Invalid role name: {name!r}." " Role names must:\n" " - be 3-255 characters\n" - " - contain only lowercase ascii letters, numbers, and '-'\n" + " - contain only lowercase ascii letters, numbers, and URL unreserved special characters '-.~_'\n" " - start with a letter\n" - " - not end with '-'\n" + " - end with letter or number\n" ) return True