X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/f586c77c2bb2684c6ac5150894bcbb79ee1c35c3..3f57be83466f8bdda810eef9559e24b90d81e9a2:/code/validation.py?ds=sidebyside

diff --git a/code/validation.py b/code/validation.py
index 9b703ad..04b53ba 100644
--- a/code/validation.py
+++ b/code/validation.py
@@ -135,8 +135,8 @@ def validMachineName(name):
     """Check that name is valid for a machine name"""
     if not name:
         return False
-    charset = string.ascii_letters + string.digits + '-_'
-    if name[0] in '-_' or len(name) > 22:
+    charset = string.lowercase + string.digits + '-'
+    if '-' in (name[0], name[-1]) or len(name) > 63:
         return False
     for x in name:
         if x not in charset:
@@ -269,7 +269,7 @@ def testName(user, name, machine=None):
         return None
     if not Machine.select_by(name=name):
         if not validMachineName(name):
-            raise InvalidInput('name', name, 'You must provide a machine name.  Max 22 chars, alnum plus \'-\' and \'_\'.')
+            raise InvalidInput('name', name, 'You must provide a machine name.  Max 63 chars, alnum plus \'-\', does not begin or end with \'-\'.')
         return name
     raise InvalidInput('name', name, "Name is already taken.")