summaryrefslogtreecommitdiff
path: root/service/pixelated
diff options
context:
space:
mode:
authorEnzo Zuccolotto <enzozuccolotto@gmail.com>2015-04-08 21:51:43 -0300
committerEnzo Zuccolotto <enzozuccolotto@gmail.com>2015-04-08 21:51:43 -0300
commit364902bc3f3b33c2b36bb0c2644e931aeeaeb381 (patch)
tree7a3fa7e5f95f45e93fedf118c03dc035a47fbae2 /service/pixelated
parent58e22319f1926d5441cb7b69451bfa91d30fa03a (diff)
Validates username before request user creation on leap server
-- Issue #147 @anikarni and @enzoz pairing
Diffstat (limited to 'service/pixelated')
-rw-r--r--service/pixelated/config/register.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/service/pixelated/config/register.py b/service/pixelated/config/register.py
index 3f93aa8d..5e5d94a8 100644
--- a/service/pixelated/config/register.py
+++ b/service/pixelated/config/register.py
@@ -13,6 +13,7 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+import re
from pixelated.bitmask_libraries.leap_srp import LeapAuthException
from pixelated.bitmask_libraries.register import register_new_user
@@ -20,6 +21,15 @@ from pixelated.bitmask_libraries.register import register_new_user
def register(username, server_name):
try:
+ validate_username(username)
register_new_user(username, server_name)
except LeapAuthException:
print('User already exists')
+ except ValueError:
+ print('Only lowercase letters, digits, . - and _ allowed.')
+
+
+def validate_username(username):
+ accepted_characters = '^[a-z0-9\-\_]*$'
+ if not re.match(accepted_characters, username):
+ raise ValueError