Merge pull request #1680 from murali-reddy/vr_csfile_search

CLOUDSTACK-9498: VR CsFile search utility methods fail when search stThere is no real use of python 're' module  in CsFile.py utility methods searchString, deleteLine. Regular string search is sufficient. These methods are used only for VPN user add/delete. Since VPN user password can have python 're' module meta characters, it interfere with search functionality.

Replacing re.search() with regular string search instead.

Change is confined to VPN add/delete users. Have run the test/integration/component/test_vpn_users.py

VPN remote access user limit tests ... === TestName: test_01_VPN_user_limit | Status : SUCCESS ===
ok
Test create VPN when L2TP port in use ... === TestName: test_02_use_vpn_port | Status : SUCCESS ===
ok
Test create NAT rule when VPN when L2TP enabled ... === TestName: test_03_enable_vpn_use_port | Status : SUCCESS ===
ok
Test add new users to existing VPN ... === TestName: test_04_add_new_users | Status : SUCCESS ===
ok
Test add duplicate user to existing VPN ... === TestName: test_05_add_duplicate_user | Status : SUCCESS ===
ok
Test as global admin, add a new VPN user to an existing VPN entry ... === TestName: test_06_add_VPN_user_global_admin | Status : SUCCESS ===
ok
Test as domain admin, add a new VPN user to an existing VPN entry ... === TestName: test_07_add_VPN_user_domain_admin | Status : SUCCESS ===
ok

* pr/1680:
  CLOUDSTACK-9498: VR CsFile search utility methods fail when search string has 're' meta chars, and causing VPN user add/deelte to fail

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2016-11-23 14:30:45 +05:30
commit 1e88ad45a7
No known key found for this signature in database
GPG Key ID: 484248210EE3D884
2 changed files with 4 additions and 4 deletions

View File

@ -66,7 +66,7 @@ class CsFile:
logging.info("Wrote edited file %s" % self.filename) logging.info("Wrote edited file %s" % self.filename)
self.config = list(self.new_config) self.config = list(self.new_config)
logging.info("Updated file in-cache configuration") logging.info("Updated file in-cache configuration")
def dump(self): def dump(self):
for line in self.new_config: for line in self.new_config:
@ -143,7 +143,7 @@ class CsFile:
print ' line = ' +line print ' line = ' +line
if line.lstrip().startswith(ignoreLinesStartWith): if line.lstrip().startswith(ignoreLinesStartWith):
continue continue
if re.search(search, line): if search in line:
found = True found = True
break break
@ -157,7 +157,7 @@ class CsFile:
for index, line in enumerate(self.new_config): for index, line in enumerate(self.new_config):
if line.lstrip().startswith("#"): if line.lstrip().startswith("#"):
continue continue
if not re.search(search, line): if search not in line:
temp_config.append(line) temp_config.append(line)
self.new_config = list(temp_config) self.new_config = list(temp_config)

View File

@ -77,7 +77,7 @@ class Services:
}, },
"vpn_user": { "vpn_user": {
"username": "test", "username": "test",
"password": "test", "password": "p@a#s=s.w_o-r+d",
}, },
"natrule": { "natrule": {
"privateport": 1701, "privateport": 1701,