aboutsummaryrefslogtreecommitdiffstats
path: root/src/msec/config.py
diff options
context:
space:
mode:
authorEugeni Dodonov <eugeni@mandriva.org>2010-02-18 18:18:23 +0000
committerEugeni Dodonov <eugeni@mandriva.org>2010-02-18 18:18:23 +0000
commit48fb145fb0a209554e6280cc0b5a9ee29ef2bfe6 (patch)
tree82db0989ddf0e9d4d4d40ae6351352f7eeb46f2e /src/msec/config.py
parent0fa29692c7f7c980456dce8ac8b6e2357d7e4fba (diff)
downloadmsec-48fb145fb0a209554e6280cc0b5a9ee29ef2bfe6.tar
msec-48fb145fb0a209554e6280cc0b5a9ee29ef2bfe6.tar.gz
msec-48fb145fb0a209554e6280cc0b5a9ee29ef2bfe6.tar.bz2
msec-48fb145fb0a209554e6280cc0b5a9ee29ef2bfe6.tar.xz
msec-48fb145fb0a209554e6280cc0b5a9ee29ef2bfe6.zip
support load custom level configuration in gui
Diffstat (limited to 'src/msec/config.py')
-rw-r--r--src/msec/config.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/msec/config.py b/src/msec/config.py
index 4f80bb5..e020288 100644
--- a/src/msec/config.py
+++ b/src/msec/config.py
@@ -17,6 +17,7 @@ import sys
import traceback
import re
import os
+import glob
# security levels
NONE_LEVEL="none"
@@ -129,6 +130,21 @@ def find_valid_params(param):
return valid_params
# helper functions
+def list_available_levels(log, root=''):
+ """Lists available msec levels"""
+ path = SECURITY_LEVEL % (root, "*")
+ levels = []
+ levels_glob = glob.glob(path)
+ for z in levels_glob:
+ # skip rpm junk
+ if z.find(".rpmsave") >= 0 or z.find(".rpmnew") >= 0:
+ continue
+ levels_re = re.compile(".*/level.(.*)")
+ levelname = levels_re.findall(z)
+ if levelname:
+ levels.append(levelname[0])
+ return levels
+
def load_defaults(log, level, root=''):
"""Loads default configuration for given security level, returning a
MsecConfig instance.