Only permit alpha-numerics and ._- for instance type names.
Fixes bug 977187. Change-Id: I883204a508f39441c172f3c42c8be3d6598c35d8
This commit is contained in:
@@ -20,6 +20,8 @@
|
||||
|
||||
"""Built-in instance properties."""
|
||||
|
||||
import re
|
||||
|
||||
from nova import context
|
||||
from nova import db
|
||||
from nova import exception
|
||||
@@ -29,6 +31,8 @@ from nova import log as logging
|
||||
FLAGS = flags.FLAGS
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
INVALID_NAME_REGEX = re.compile("[^\w\.\- ]")
|
||||
|
||||
|
||||
def create(name, memory, vcpus, root_gb, ephemeral_gb, flavorid, swap=None,
|
||||
rxtx_factor=None):
|
||||
@@ -48,6 +52,12 @@ def create(name, memory, vcpus, root_gb, ephemeral_gb, flavorid, swap=None,
|
||||
'rxtx_factor': rxtx_factor,
|
||||
}
|
||||
|
||||
# ensure name does not contain any special characters
|
||||
invalid_name = INVALID_NAME_REGEX.search(name)
|
||||
if invalid_name:
|
||||
msg = _("names can only contain [a-zA-Z0-9_.- ]")
|
||||
raise exception.InvalidInput(reason=msg)
|
||||
|
||||
# ensure some attributes are integers and greater than or equal to 0
|
||||
for option in kwargs:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user