Changeset 826

Show
Ignore:
Timestamp:
06/17/07 13:51:35 (6 years ago)
Author:
bass_boy
Message:

some things made in the security.xml parser

Location:
branch/bass_boy
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • branch/bass_boy/umitWeb/SecurityParser.py

    r823 r826  
    2020from os.path import pardir, join, dirname 
    2121from xml.dom import minidom 
    22 from xml import xpath 
     22#from xml import xpath 
    2323import md5 
    2424 
     
    3737     
    3838    def __init__(self, xmlNode=None): 
     39        self.xmlNode = xmlNode 
    3940        if xmlNode: 
    4041            type = xmlNode.getAttribute("type") 
    41             self.content = xmlNode.chilNodes[0].nodeValue 
     42            self.content = xmlNode.childNodes[0].nodeValue 
    4243            if type in self.__types.keys(): 
    4344                self.typecode = self.__types[type] 
     
    6061     
    6162    def __repr__(self): 
    62         return self.__types[self.type] 
     63        return "<Constraint type: %s \"%s\">" % (self.type, self.content) 
    6364         
    6465 
     
    6768    _xmlTree = None 
    6869    def __init__(self, xmlNode=None): 
     70        self.xmlNode = xmlNode 
    6971        if xmlNode: 
    7072            self.type = xmlNode.getAttribute("type") 
     
    7476            self.id = None 
    7577            self.commands = [] 
    76              
    77     def __get_roles(self): 
    78         search = xpath.Evaluate('//security/roles/role[permissions/permission/@ref="%s"]' % self.id, self._xmlTree) 
    79         roles = [] 
    80         for node in search: 
    81             roles.append(Role(node)) 
    82              
    83         return roles 
    8478     
    8579    def __get_constraints(self): 
    86         search = xpath.Evaluate('//security/permissions/permission[@id="%s"]/constraint', self.id, self._xmlTree) 
     80        search = self.xmlNode.getElementsByTagName("constraint") 
    8781        constraints = [] 
    8882        for constraint in search: 
    8983            constraints.append(Constraint(constraint)) 
    90          
    91     roles = property(__get_roles) 
     84        return constraints 
     85         
    9286    constraints = property(__get_constraints) 
    9387 
     
    9892        if xmlNode: 
    9993            self.id = xmlNode.getAttribute("id") 
    100             self.description = xpath.Evaluate("//role/description", xmlNode)[0].\ 
    101                                              childNodes[0].nodeValue 
    102             self.__perm_refs = [e.value for e in xpath.Evaluate("//role/permissions/permission/@ref", xmlNode)] 
     94            #self.description = xpath.Evaluate("//role/description", xmlNode)[0].\ 
     95            #                                 childNodes[0].nodeValue 
     96            #self.__perm_refs = [e.value for e in xpath.Evaluate("//role/permissions/permission/@ref", xmlNode)] 
     97            self.description = "" 
     98            self.__perm_refs = [] 
    10399        else: 
    104100            self.id = None 
     
    108104    def __get_permissions(self): 
    109105        perms = [] 
    110         for p in self.__perm_refs: 
    111             search = xpath.Evaluate('//security/permissions/permission[@id="%s"]' % p, self._xmlTree) 
    112             if node: 
    113                 perms.append(Permission(search[0])) 
     106        #for p in self.__perm_refs: 
     107        #    search = xpath.Evaluate('//security/permissions/permission[@id="%s"]' % p, self._xmlTree) 
     108        #    if node: 
     109        #        perms.append(Permission(search[0])) 
     110        return perms 
    114111                 
    115112    def __get_users(self): 
    116         search = xpath.Evaluate('//security/users/user[role/@ref="%s"]' % self.id, self._xmlTree) 
     113        #search = xpath.Evaluate('//security/users/user[role/@ref="%s"]' % self.id, self._xmlTree) 
    117114        users = [] 
    118         for node in search: 
    119             users.append(User(node)) 
    120              
     115        #for node in search: 
     116        #    users.append(User(node)) 
    121117        return users 
    122118     
     
    130126        if xmlNode: 
    131127            self.login = xmlNode.getAttribute("login") 
    132             self.name = xpath.Evaluate("//user/name", xmlNode)[0].\ 
    133                                        childNodes[0].nodeValue 
    134             self.password = xpath.Evaluate("//user/password", xmlNode)[0].\ 
    135                                            childNodes[0].nodeValue 
    136              
    137             self.__role_ref = xpath.Evaluate("//user/role/@ref", xmlNode) 
    138              
    139     def __get_role(self): 
    140         search = xpath.Evaluate('//security/roles/role[@id="%s"]' % \ 
    141                                 self.__role_ref, self._xmlTree) 
     128            self.name = xmlNode.getElementsByTagName("name")[0].childNodes[0].nodeValue 
     129            self.password = xmlNode.getElementsByTagName("password")[0].childNodes[0].nodeValue 
     130             
     131            #self.__role_ref = xpath.Evaluate("//user/role/@ref", xmlNode) 
     132            self.__role_ref = [] 
     133             
     134    def __get_roles(self): 
     135        #search = xpath.Evaluate('//security/roles/role[@id="%s"]' % \ 
     136        #                        self.__role_ref, self._xmlTree) 
     137        search = [] 
    142138        if search: 
    143139            return Role(search[0]) 
    144140     
    145     role = property(__get_role) 
     141    roles = property(__get_roles) 
    146142 
    147143 
     
    157153            return [] 
    158154         
    159         elements = xpath.Evaluate("//security/permissions/permission", self.__elTree) 
     155        elements = [p for p in self.__elTree.getElementsByTagName("permissions")\ 
     156                    if p.parentNode.nodeName=="security"][0].childNodes 
     157        elements = [fe for fe in elements if fe.__class__ is minidom.Element \ 
     158                    and fe.nodeName=="permission"] 
    160159        permissions = [] 
    161160        for p in elements: 
     
    168167            return [] 
    169168         
    170         elements = xpath.Evaluate("//security/roles/role", self.__elTree) 
     169        #elements = xpath.Evaluate("//security/roles/role", self.__elTree) 
     170        elements = [] 
    171171        roles = [] 
    172172        for r in elements: 
     
    178178            return [] 
    179179         
    180         elements = xpath.Evaluate("//security/users/user", self.__elTree) 
     180        #elements = xpath.Evaluate("//security/users/user", self.__elTree) 
     181        elements = [] 
    181182        users = [] 
    182183        for u in elements: 
     
    185186     
    186187    def get_user(self, login, password=None): 
    187         elements = xpath.Evaluate('//security/users/user[@login="%s"]' % login, self.__elTree) 
     188        #elements = xpath.Evaluate('//security/users/user[@login="%s"]' % login, self.__elTree) 
     189        elements = [] 
    188190        if elements: 
    189191            user = User(elements[0]) 
  • branch/bass_boy/umitWeb/Server.py

    r823 r826  
    248248    def close_request(self, request): 
    249249        HTTPServer.close_request(self, request) 
    250         print "\n\nCLOSING REQUEST\n\n" 
    251250     
    252251    def addResource(self, resource, public=False): 
  • branch/bass_boy/umitweb.log

    r823 r826  
    677677[2007-06-13 23:50:02,635] DEBUG: HttpRequest - POST path: /scan/8485ae3c1d3e7d97e11bf10fca91c9dc/check/ 
    678678[2007-06-13 23:50:02,636] DEBUG: umitWeb.views.scan - server status:  
     679[2007-06-14 07:44:08,411] DEBUG: HttpRequest - POST data: {'login': 'user1', 'password': '123'} 
     680[2007-06-14 07:44:08,418] DEBUG: HttpRequest - POST path: /login/ 
     681[2007-06-14 07:44:44,357] DEBUG: HttpRequest - POST data: {'command': '-v -P0 -O -sV 10.0.0.1-254', 'target': '10.0.0.1-254'} 
     682[2007-06-14 07:44:44,357] DEBUG: HttpRequest - POST path: /scan/ 
     683[2007-06-14 07:46:29,409] DEBUG: HttpRequest - POST data: {'json': 'null'} 
     684[2007-06-14 07:46:29,410] DEBUG: HttpRequest - POST path: /scan/87c7d252923c3fec064026c7b928635b/check/ 
     685[2007-06-14 07:46:29,412] DEBUG: umitWeb.views.scan - server status:  
  • branch/bass_boy/umitweb.wpr

    r823 r826  
    263263cache.last-mime-type = {loc('unknown:<untitled> #1'): 'text/plain', 
    264264                        loc('unknown:<untitled> #2'): 'text/plain'} 
    265 debug.debug-probe-history = {loc('umitweb.py'): ['self\n', 
     265debug.breakpoints = {loc('umitWeb/SecurityParser.py'): {163: (0, 
     266        None, 
     267        1, 
     268        0)}} 
     269debug.debug-probe-history = {loc('umitWeb/SecurityParser.py'): ['permissions'\ 
     270        '\n', 
     271        'permissions[0]\n', 
     272        'permissions[0].type\n', 
     273        'permissions[0].commands\n', 
     274        'permissions[0].constraints\n', 
     275        'permissions[1].constraints\n', 
     276        'permissions[2].constraints\n'], 
     277                             loc('umitweb.py'): ['self\n', 
    266278        'self.wfile\n', 
    267279        'e\n', 
     
    273285        'server.currentInstance._resourcePool\n', 
    274286        'response\n', 
    275         'response.data\n']} 
     287        'response.data\n', 
     288        'request\n', 
     289        'request.data\n', 
     290        'dir(request)\n', 
     291        "request['']\n", 
     292        'request.__doc__\n', 
     293        'print request.__doc__\n', 
     294        'request.sendall()\n']} 
    276295edit.file-encoding = {loc('config/security.xml'): 'utf_8', 
    277296                      loc('umitWeb/templates/login.html'): 'UTF-8'} 
     
    282301        'type': 'dock', 
    283302        'view': {'area': 'tall', 
    284                  'current_pages': [4], 
     303                 'current_pages': [2], 
    285304                 'notebook_display': 'normal', 
    286305                 'notebook_percent': 0.25, 
     
    312331                           (10, 
    313332                            2)], 
    314         'selected-nodes': [(26,)], 
    315         'top-node': (10, 
    316                      0, 
    317                      0)}}, 
     333        'selected-nodes': [(10, 
     334                            6)], 
     335        'top-node': (0,)}}, 
    318336        'tree-style': 'deep'}}), 
    319337                              ('source-assistant', 
     
    343361                                     '')]}, 
    344362        loc('unknown:<untitled> #3'): {'column-widths': [1.0], 
     363                                       'expanded-nodes': [], 
     364                                       'selected-nodes': [], 
     365                                       'top-node': None}, 
     366        loc('../../../Desktop/django/django/http/__init__.py'): {'column-wid'\ 
     367        'ths': [1.0], 
     368        'expanded-nodes': [], 
     369        'selected-nodes': [], 
     370        'top-node': [('function def', 
     371                      loc('../../../Desktop/django/django/http/__init__.py'), 
     372                      'get_host')]}, 
     373        loc('unknown:<untitled> #4'): {'column-widths': [1.0], 
    345374                                       'expanded-nodes': [], 
    346375                                       'selected-nodes': [], 
     
    367396                      loc('../../../Desktop/django/django/core/servers/basehttp.py'), 
    368397                      'AdminMediaHandler')]}, 
    369         loc('../../../Desktop/django/django/http/__init__.py'): {'column-wid'\ 
    370         'ths': [1.0], 
    371         'expanded-nodes': [], 
    372         'selected-nodes': [], 
    373         'top-node': [('function def', 
    374                       loc('../../../Desktop/django/django/http/__init__.py'), 
    375                       'get_host')]}, 
    376         loc('unknown:<untitled> #4'): {'column-widths': [1.0], 
    377                                        'expanded-nodes': [], 
    378                                        'selected-nodes': [], 
    379                                        'top-node': None}, 
    380398        loc('../../../Desktop/django/docs/request_response.txt'): {'column-w'\ 
    381399        'idths': [1.0], 
     
    432450        loc('umitWeb/Server.py'): {'column-widths': [1.0], 
    433451                                   'expanded-nodes': [], 
    434                                    'selected-nodes': [], 
     452                                   'selected-nodes': [[('class def', 
     453        loc('umitWeb/Server.py'), 
     454        'RequestThread')]], 
    435455                                   'top-node': [('class def', 
    436456        loc('umitWeb/Server.py'), 
     
    511531        'top-node': [('generic attribute', 
    512532                      loc('../../../../../usr/lib/python2.5/re.py'), 
    513                       'c')]}}, 
     533                      'c')]}, 
     534        loc('../../../../../usr/lib/python2.5/socket.py'): {'column-widths': [1.0], 
     535        'expanded-nodes': [], 
     536        'selected-nodes': [], 
     537        'top-node': [('generic attribute', 
     538                      loc('../../../../../usr/lib/python2.5/socket.py'), 
     539                      'errorTab')]}}, 
    514540                                'browse_mode': u'Current Module', 
    515                                 'follow-selection': False, 
     541                                'follow-selection': 0, 
    516542                                'sort_mode': 'Alphabetically', 
    517                                 'visibility_options': {u'Derived Classes': False, 
    518         u'Imported': False, 
    519         u'Modules': True}}), 
     543                                'visibility_options': {u'Derived Classes': 0, 
     544        u'Imported': 0, 
     545        u'Modules': 1}}), 
    520546                              ('templating#02EFWRQK9X23', 
    521547                               'tall', 
     
    525551                 'primary_view_state': {'area': 'wide', 
    526552        'current_pages': [2, 
    527                           1], 
     553                          2], 
    528554        'notebook_display': 'normal', 
    529         'notebook_percent': 0.27307692307692311, 
     555        'notebook_percent': 0.24519230769230771, 
    530556        'override_title': None, 
    531557        'pagelist': [('bookmarks', 
    532558                      'wide', 
    533559                      1, 
    534                       None), 
     560                      {'tree-state': []}), 
    535561                     ('debug-breakpoints', 
    536562                      'wide', 
     
    550576                      2, 
    551577                      {'attrib-starts': [], 
    552                        'first-line': 0, 
    553                        'sel-line': 4, 
    554                        'sel-line-start': 161, 
    555                        'selection_end': 165, 
    556                        'selection_start': 165}), 
     578                       'first-line': 32, 
     579                       'sel-line': 38, 
     580                       'sel-line-start': 1675, 
     581                       'selection_end': 1679, 
     582                       'selection_start': 1679}), 
    557583                     ('debug-exceptions', 
    558584                      'wide', 
     
    587613                                       'fReplaceText': '', 
    588614                                       'fReverse': False, 
    589                                        'fSearchText': u'send', 
     615                                       'fSearchText': u'print', 
    590616                                       'fStartPos': 0, 
    591617                                       'fStyle': 'text', 
     
    642668                      1, 
    643669                      None)], 
    644         'primary_view_state': {'editor_states': {'bookmarks': ([(loc('umitWeb/Http.py'), 
    645         {'attrib-starts': [('HttpRequest', 
    646                             58), 
    647                            ('HttpRequest.__init__', 
    648                             64)], 
    649          'first-line': 61, 
    650          'sel-line': 92, 
    651          'sel-line-start': 3046, 
    652          'selection_end': 3080, 
    653          'selection_start': 3080}, 
    654         1181787656.905108), 
     670        'primary_view_state': {'editor_states': {'bookmarks': ([(loc('umitWeb/Server.py'), 
     671        {'attrib-starts': [], 
     672         'first-line': 20, 
     673         'sel-line': 25, 
     674         'sel-line-start': 925, 
     675         'selection_end': 952, 
     676         'selection_start': 947}, 
     677        1181865551.3401871), 
    655678        (loc('umitWeb/Http.py'), 
    656679         {'attrib-starts': [('HttpRequest', 
    657                              58), 
     680                             60), 
    658681                            ('HttpRequest.__init__', 
    659                              64)], 
    660           'first-line': 76, 
    661           'sel-line': 92, 
    662           'sel-line-start': 3046, 
    663           'selection_end': 3105, 
    664           'selection_start': 3105}, 
    665          1181787664.301029), 
    666         (loc('../../../Desktop/django/django/core/servers/basehttp.py'), 
    667          {'attrib-starts': [], 
    668           'first-line': 0, 
    669           'sel-line': 9, 
    670           'sel-line-start': 305, 
    671           'selection_end': 361, 
    672           'selection_start': 361}, 
    673          1181787871.7389131), 
    674         [loc('../../../Desktop/django/django/core/servers/basehttp.py'), 
    675          {'attrib-starts': [], 
    676           'first-line': 0, 
    677           'sel-line': 9, 
    678           'sel-line-start': 305, 
    679           'selection_end': 361, 
    680           'selection_start': 361}, 
    681          1181787889.8615119], 
     682                             66)], 
     683          'first-line': 128, 
     684          'sel-line': 94, 
     685          'sel-line-start': 3097, 
     686          'selection_end': 3154, 
     687          'selection_start': 3154}, 
     688         1181865553.7257881), 
    682689        (loc('umitWeb/Http.py'), 
    683690         {'attrib-starts': [('HttpRequest', 
    684                              58), 
     691                             60), 
    685692                            ('HttpRequest.__init__', 
    686                              64)], 
    687           'first-line': 76, 
    688           'sel-line': 92, 
    689           'sel-line-start': 3046, 
    690           'selection_end': 3105, 
    691           'selection_start': 3105}, 
    692          1181787931.4411869), 
    693         (loc('../../../Desktop/django/django/http/__init__.py'), 
    694          {'attrib-starts': [], 
    695           'first-line': 0, 
    696           'sel-line': 0, 
    697           'sel-line-start': 0, 
    698           'selection_end': 0, 
    699           'selection_start': 0}, 
    700          1181787945.2501841), 
    701         (loc('../../../Desktop/django/django/http/__init__.py'), 
    702          {'attrib-starts': [('HttpRequest', 
    703                              17)], 
    704           'first-line': 13, 
    705           'sel-line': 17, 
    706           'sel-line-start': 408, 
    707           'selection_end': 425, 
    708           'selection_start': 414}, 
    709          1181787948.992897), 
    710         (loc('../../../Desktop/django/django/http/__init__.py'), 
    711          {'attrib-starts': [('parse_cookie', 
    712                              149)], 
    713           'first-line': 131, 
    714           'sel-line': 149, 
    715           'sel-line-start': 5285, 
    716           'selection_end': 5301, 
    717           'selection_start': 5289}, 
    718          1181787998.225491), 
    719         [loc('../../../Desktop/django/django/http/__init__.py'), 
    720          {'attrib-starts': [('parse_cookie', 
    721                              149)], 
    722           'first-line': 131, 
    723           'sel-line': 149, 
    724           'sel-line-start': 5285, 
    725           'selection_end': 5301, 
    726           'selection_start': 5289}, 
    727          1181788004.576941], 
     693                             66)], 
     694          'first-line': 125, 
     695          'sel-line': 144, 
     696          'sel-line-start': 5785, 
     697          'selection_end': 5806, 
     698          'selection_start': 5801}, 
     699         1181865555.5738709), 
    728700        (loc('umitWeb/Http.py'), 
    729701         {'attrib-starts': [('HttpRequest', 
    730                              58), 
     702                             60), 
    731703                            ('HttpRequest.__init__', 
    732                              64)], 
    733           'first-line': 76, 
    734           'sel-line': 92, 
    735           'sel-line-start': 3046, 
    736           'selection_end': 3105, 
    737           'selection_start': 3105}, 
    738          1181788024.883986), 
    739         [loc('../../../Desktop/django/docs/request_response.txt'), 
    740          {'attrib-starts': [], 
    741           'first-line': 0, 
    742           'sel-line': 0, 
    743           'sel-line-start': 0, 
    744           'selection_end': 0, 
    745           'selection_start': 0}, 
    746          1181788051.639236], 
     704                             66)], 
     705          'first-line': 125, 
     706          'sel-line': 144, 
     707          'sel-line-start': 5785, 
     708          'selection_end': 5806, 
     709          'selection_start': 5801}, 
     710         1181865557.6532731), 
    747711        (loc('umitWeb/Http.py'), 
    748712         {'attrib-starts': [('HttpRequest', 
    749                              58), 
     713                             60), 
    750714                            ('HttpRequest.__init__', 
    751                              64)], 
    752           'first-line': 76, 
    753           'sel-line': 92, 
    754           'sel-line-start': 3046, 
    755           'selection_end': 3105, 
    756           'selection_start': 3105}, 
    757          1181788056.3780351), 
    758         (loc('../../../Desktop/django/django/core/handlers/wsgi.py'), 
    759          {'attrib-starts': [('WSGIRequest', 
    760                              72), 
    761                             ('WSGIRequest._get_post', 
    762                              133)], 
    763           'first-line': 126, 
    764           'sel-line': 136, 
    765           'sel-line-start': 4455, 
    766           'selection_end': 4480, 
    767           'selection_start': 4480}, 
    768          1181788075.4108551), 
    769         (loc('../../../Desktop/django/django/core/handlers/wsgi.py'), 
    770          {'attrib-starts': [('WSGIRequest', 
    771                              72), 
    772                             ('WSGIRequest._load_post_and_files', 
    773                              107)], 
    774           'first-line': 93, 
    775           'sel-line': 115, 
    776           'sel-line-start': 3680, 
    777           'selection_end': 3754, 
    778           'selection_start': 3754}, 
    779          1181788124.735131), 
    780         (loc('../../../Desktop/django/django/core/handlers/wsgi.py'), 
    781          {'attrib-starts': [('WSGIRequest', 
    782                              72), 
    783                             ('WSGIRequest._get_raw_post_data', 
    784                              154)], 
    785           'first-line': 147, 
    786           'sel-line': 164, 
    787           'sel-line-start': 5383, 
    788           'selection_end': 5405, 
    789           'selection_start': 5405}, 
    790          1181788215.44153), 
    791         (loc('../../../Desktop/django/django/core/handlers/wsgi.py'), 
     715                             66)], 
     716          'first-line': 131, 
     717          'sel-line': 145, 
     718          'sel-line-start': 5819, 
     719          'selection_end': 5866, 
     720          'selection_start': 5866}, 
     721         1181865558.45345), 
     722        [loc('../../../Desktop/django/django/core/handlers/wsgi.py'), 
    792723         {'attrib-starts': [('safe_copyfileobj', 
    793724                             57)], 
     
    797728          'selection_end': 1570, 
    798729          'selection_start': 1570}, 
    799          1181788232.5377131), 
    800         (loc('umitWeb/Urls.py'), 
     730         1181871243.482965], 
     731        (loc('umitWeb/Http.py'), 
     732         {'attrib-starts': [('HttpRequest', 
     733                             60), 
     734                            ('HttpRequest.__init__', 
     735                             66)], 
     736          'first-line': 131, 
     737          'sel-line': 145, 
     738          'sel-line-start': 5819, 
     739          'selection_end': 5866, 
     740          'selection_start': 5866}, 
     741         1181871244.5574141), 
     742        (loc('umitWeb/SecurityParser.py'), 
     743         {'attrib-starts': [('Permission', 
     744                             65), 
     745                            ('Permission.__get_roles', 
     746                             76)], 
     747          'first-line': 48, 
     748          'sel-line': 76, 
     749          'sel-line-start': 2335, 
     750          'selection_end': 2361, 
     751          'selection_start': 2361}, 
     752         1181871248.233887), 
     753        (loc('umitCore/NmapOptions.py'), 
     754         {'attrib-starts': [('NmapOptions', 
     755                             21), 
     756                            ('NmapOptions.__get_nmap_options', 
     757                             104)], 
     758          'first-line': 82, 
     759          'sel-line': 105, 
     760          'sel-line-start': 3855, 
     761          'selection_end': 3896, 
     762          'selection_start': 3896}, 
     763         1181871294.511436), 
     764        (loc('umitWeb/SecurityParser.py'), 
     765         {'attrib-starts': [('SecurityParser', 
     766                             143), 
     767                            ('SecurityParser.__get_permissions', 
     768                             150)], 
     769          'first-line': 135, 
     770          'sel-line': 157, 
     771          'sel-line-start': 5273, 
     772          'selection_end': 5316, 
     773          'selection_start': 5316}, 
     774         1181871366.866169), 
     775        (loc('umitWeb/SecurityParser.py'), 
     776         {'attrib-starts': [('SecurityParser', 
     777                             143), 
     778                            ('SecurityParser.__get_permissions', 
     779                             150)], 
     780          'first-line': 135, 
     781          'sel-line': 162, 
     782          'sel-line-start': 5435, 
     783          'selection_end': 5435, 
     784          'selection_start': 5435}, 
     785         1181926240.0535619), 
     786        (loc('umitWeb/SecurityParser.py'), 
     787         {'attrib-starts': [('Permission', 
     788                             66), 
     789                            ('Permission.__get_constraints', 
     790                             78)], 
     791          'first-line': 54, 
     792          'sel-line': 79, 
     793          'sel-line-start': 2423, 
     794          'selection_end': 2490, 
     795          'selection_start': 2490}, 
     796         1181926242.5551081), 
     797        (loc('config/security.xml'), 
    801798         {'attrib-starts': [], 
    802           'first-line': 0, 
    803           'sel-line': 24, 
    804           'sel-line-start': 1058, 
    805           'selection_end': 1142, 
    806           'selection_start': 1142}, 
    807          1181788377.776159), 
    808         (loc('umitWeb/Auth.py'), 
    809          {'attrib-starts': [('authenticate', 
    810                              9), 
    811                             ('authenticate._ret_function', 
    812                              11), 
    813                             ('authenticate._ret_function._checklogin', 
    814                              12)], 
    815           'first-line': 0, 
    816           'sel-line': 14, 
    817           'sel-line-start': 364, 
    818           'selection_end': 364, 
    819           'selection_start': 364}, 
    820          1181788378.3019869), 
    821         (loc('umitWeb/Server.py'), 
    822          {'attrib-starts': [('UmitWebServer', 
    823                              239), 
    824                             ('UmitWebServer.close_request', 
    825                              247)], 
    826           'first-line': 232, 
    827           'sel-line': 248, 
    828           'sel-line-start': 8523, 
    829           'selection_end': 8570, 
    830           'selection_start': 8570}, 
    831          1181788380.4859321), 
    832         [loc('umitWeb/Http.py'), 
    833          {'attrib-starts': [('HttpRequest', 
    834                              58), 
    835                             ('HttpRequest.__init__', 
    836                              64)], 
     799          'first-line': 4, 
     800          'sel-line': 55, 
     801          'sel-line-start': 1725, 
     802          'selection_end': 1763, 
     803          'selection_start': 1763}, 
     804         1181926320.5413301), 
     805        (loc('umitWeb/SecurityParser.py'), 
     806         {'attrib-starts': [('Permission', 
     807                             66), 
     808                            ('Permission.__get_constraints', 
     809                             78)], 
     810          'first-line': 54, 
     811          'sel-line': 80, 
     812          'sel-line-start': 2490, 
     813          'selection_end': 2514, 
     814          'selection_start': 2514}, 
     815         1181926323.4475141), 
     816        (loc('umitWeb/SecurityParser.py'), 
     817         {'attrib-starts': [('SecurityParser', 
     818                             143), 
     819                            ('SecurityParser.__get_permissions', 
     820                             150)], 
     821          'first-line': 130, 
     822          'sel-line': 162, 
     823          'sel-line-start': 5385, 
     824          'selection_end': 5385, 
     825          'selection_start': 5385}, 
     826         1181926346.6369829), 
     827        (loc('umitWeb/SecurityParser.py'), 
     828         {'attrib-starts': [('Permission', 
     829                             66), 
     830                            ('Permission.__get_constraints', 
     831                             78)], 
    837832          'first-line': 76, 
    838           'sel-line': 92, 
    839           'sel-line-start': 3046, 
    840           'selection_end': 3105, 
    841           'selection_start': 3105}, 
    842          1181788382.6536529]], 
     833          'sel-line': 79, 
     834          'sel-line-start': 2423, 
     835          'selection_end': 2437, 
     836          'selection_start': 2437}, 
     837         1181926351.747468), 
     838        (loc('umitWeb/SecurityParser.py'), 
     839         {'attrib-starts': [('SecurityParser', 
     840                             143), 
     841                            ('SecurityParser.__get_permissions', 
     842                             150)], 
     843          'first-line': 130, 
     844          'sel-line': 162, 
     845          'sel-line-start': 5383, 
     846          'selection_end': 5383, 
     847          'selection_start': 5383}, 
     848         1181926373.8942189), 
     849        (loc('umitWeb/SecurityParser.py'), 
     850         {'attrib-starts': [('Constraint', 
     851                             27), 
     852                            ('Constraint.__init__', 
     853                             37)], 
     854          'first-line': 36, 
     855          'sel-line': 41, 
     856          'sel-line-start': 1377, 
     857          'selection_end': 1417, 
     858          'selection_start': 1417}, 
     859         1181926388.3004129), 
     860        (loc('umitWeb/SecurityParser.py'), 
     861         {'attrib-starts': [('Constraint', 
     862                             27), 
     863                            ('Constraint.__repr__', 
     864                             61)], 
     865          'first-line': 27, 
     866          'sel-line': 62, 
     867          'sel-line-start': 1998, 
     868          'selection_end': 2013, 
     869          'selection_start': 2013}, 
     870         1181926414.973443), 
     871        [loc('umitWeb/SecurityParser.py'), 
     872         {'attrib-starts': [('SecurityParser', 
     873                             143), 
     874                            ('SecurityParser.__get_permissions', 
     875                             150)], 
     876          'first-line': 130, 
     877          'sel-line': 162, 
     878          'sel-line-start': 5370, 
     879          'selection_end': 5370, 
     880          'selection_start': 5370}, 
     881         1181926468.992584]], 
    843882        19), 
    844         'current-loc': loc('umitWeb/Http.py'), 
     883        'current-loc': loc('umitWeb/SecurityParser.py'), 
    845884        'editor-states': {loc('../../../Desktop/django/django/contrib/auth/decorators.py'): {''\ 
    846885        'attrib-starts': [('user_passes_test', 
     
    851890        'selection_end': 170, 
    852891        'selection_start': 170}, 
    853                           loc('../../../Desktop/django/django/core/handlers/wsgi.py'): {''\ 
    854         'attrib-starts': [('safe_copyfileobj', 
    855                            57)], 
    856         'first-line': 39, 
    857         'sel-line': 57, 
    858         'sel-line-start': 1562, 
    859         'selection_end': 1570, 
    860         'selection_start': 1570}, 
    861892                          loc('config/security.xml'): {'attrib-starts': [], 
    862893        'first-line': 4, 
     
    865896        'selection_end': 1763, 
    866897        'selection_start': 1763}, 
     898                          loc('umitCore/NmapOptions.py'): {'attrib-starts': [(''\ 
     899        'NmapOptions', 
     900        21), 
     901        ('NmapOptions.__get_nmap_options', 
     902         104)], 
     903        'first-line': 82, 
     904        'sel-line': 105, 
     905        'sel-line-start': 3855, 
     906        'selection_end': 3896, 
     907        'selection_start': 3896}, 
    867908                          loc('umitWeb/Auth.py'): {'attrib-starts': [('authe'\ 
    868909        'nticate', 
     
    882923        ('HttpRequest.__init__', 
    883924         66)], 
    884         'first-line': 81, 
    885         'sel-line': 92, 
    886         'sel-line-start': 2998, 
    887         'selection_end': 3011, 
    888         'selection_start': 3011}, 
    889                           loc('umitWeb/SecurityParser.py'): {'attrib-starts': [], 
    890         'first-line': 0, 
    891         'sel-line': 24, 
    892         'sel-line-start': 959, 
    893         'selection_end': 995, 
    894         'selection_start': 995}, 
    895                           loc('umitWeb/Server.py'): {'attrib-starts': [('Umi'\ 
    896         'tWebServer', 
    897         239), 
    898         ('UmitWebServer.close_request', 
    899          247)], 
    900         'first-line': 232, 
    901         'sel-line': 248, 
    902         'sel-line-start': 8523, 
    903         'selection_end': 8570, 
    904         'selection_start': 8570}, 
     925        'first-line': 131, 
     926        'sel-line': 145, 
     927        'sel-line-start': 5819, 
     928        'selection_end': 5866, 
     929        'selection_start': 5866}, 
     930                          loc('umitWeb/SecurityParser.py'): {'attrib-starts': [(''\ 
     931        'Constraint', 
     932        27), 
     933        ('Constraint.__repr__', 
     934         61)], 
     935        'first-line': 29, 
     936        'sel-line': 62, 
     937        'sel-line-start': 1998, 
     938        'selection_end': 2078, 
     939        'selection_start': 2078}, 
     940                          loc('umitWeb/Server.py'): {'attrib-starts': [], 
     941        'first-line': 20, 
     942        'sel-line': 25, 
     943        'sel-line-start': 925, 
     944        'selection_end': 952, 
     945        'selection_start': 947}, 
    905946                          loc('umitWeb/Urls.py'): {'attrib-starts': [], 
    906947        'first-line': 0, 
     
    9661007        'has-focus': True}, 
    9671008                               'open_files': [u'../../../Desktop/django/django/contrib/auth/decorators.py', 
    968         u'../../../Desktop/django/django/core/handlers/wsgi.py', 
    969         u'config/security.xml', 
     1009        u'umitCore/NmapOptions.py', 
    9701010        u'umitWeb/Auth.py', 
    971         u'umitWeb/SecurityParser.py', 
     1011        u'umitWeb/Http.py', 
    9721012        u'umitWeb/Server.py', 
    9731013        u'umitWeb/Urls.py', 
     
    9801020        u'umitWeb/views/main.py', 
    9811021        u'umitWeb/views/scan.py', 
    982         u'umitWeb/Http.py']}, 
     1022        u'config/security.xml', 
     1023        u'umitWeb/SecurityParser.py']}, 
    9831024        'split_percents': {0: 0.5}, 
    9841025        'splits': 2, 
     
    9901031                 'user_data': {}}, 
    9911032        'window-alloc': (0, 
    992                          24, 
     1033                         46, 
    9931034                         1600, 
    994                          1176)}]} 
    995 guimgr.recent-documents = [loc('umitWeb/Http.py')] 
    996 guimgr.visual-state = {loc('../../../Desktop/django/django/core/servers/basehttp.py'): {''\ 
     1035                         1150)}]} 
     1036guimgr.recent-documents = [loc('umitWeb/SecurityParser.py'), 
     1037                           loc('config/security.xml')] 
     1038guimgr.visual-state = {loc('../../../Desktop/django/django/core/handlers/wsgi.py'): {''\ 
     1039        'attrib-starts': [('safe_copyfileobj', 
     1040                           57)], 
     1041        'first-line': 39, 
     1042        'sel-line': 57, 
     1043        'sel-line-start': 1562, 
     1044        'selection_end': 1570, 
     1045        'selection_start': 1570}, 
     1046                       loc('../../../Desktop/django/django/core/servers/basehttp.py'): {''\ 
    9971047        'attrib-starts': [('WSGIServer', 
    9981048                           502)], 
     
    10561106        'selection_end': 8099, 
    10571107        'selection_start': 8099}, 
    1058                        loc('../../../../../usr/lib/python2.5/re.py'): {'attr'\ 
    1059         'ib-starts': [('sub', 
    1060                        135)], 
    1061         'first-line': 126, 
    1062         'sel-line': 141, 
    1063         'sel-line-start': 6688, 
    1064         'selection_end': 6688, 
    1065         'selection_start': 6688}, 
    1066                        loc('unknown:<untitled> #5'): {'attrib-starts': [], 
    1067         'first-line': 0, 
    1068         'sel-line': 0, 
    1069         'sel-line-start': 0, 
    1070         'selection_end': 60, 
    1071         'selection_start': 0}, 
    10721108                       loc('umitWeb/WebLogger.py'): {'attrib-starts': [('Web'\ 
    10731109        'Logger', 
     
    11131149        'selection_end': 2950, 
    11141150        'selection_start': 2950}, 
    1115                        loc('unknown:<untitled> #6'): {'attrib-starts': [], 
    1116         'first-line': 0, 
    1117         'sel-line': 0, 
    1118         'sel-line-start': 0, 
    1119         'selection_end': 60, 
    1120         'selection_start': 0}, 
    11211151                       loc('../../../../../usr/lib/python2.5/SocketServer.py'): {''\ 
    11221152        'attrib-starts': [('BaseServer', 
     
    11291159        'selection_end': 8158, 
    11301160        'selection_start': 8158}, 
     1161                       loc('../../../../../usr/lib/python2.5/re.py'): {'attr'\ 
     1162        'ib-starts': [('sub', 
     1163                       135)], 
     1164        'first-line': 126, 
     1165        'sel-line': 141, 
     1166        'sel-line-start': 6688, 
     1167        'selection_end': 6688, 
     1168        'selection_start': 6688}, 
     1169                       loc('unknown:<untitled> #5'): {'attrib-starts': [], 
     1170        'first-line': 0, 
     1171        'sel-line': 0, 
     1172        'sel-line-start': 0, 
     1173        'selection_end': 60, 
     1174        'selection_start': 0}, 
     1175                       loc('unknown:<untitled> #6'): {'attrib-starts': [], 
     1176        'first-line': 0, 
     1177        'sel-line': 0, 
     1178        'sel-line-start': 0, 
     1179        'selection_end': 60, 
     1180        'selection_start': 0}, 
    11311181                       loc('../../../../../usr/local/lib/wingide2.1/resources/builtin-pi-files/2.5/__builtin__.pi'): {''\ 
    11321182        'attrib-starts': [], 
     
    11401190proj.env-vars = {None: ('default', 
    11411191                        ['']), 
     1192                 loc('umitWeb/SecurityParser.py'): ('project', 
     1193        ['']), 
    11421194                 loc('umitweb.py'): ('project', 
    11431195                                     [''])} 
    11441196proj.revision-control = 1 
    11451197proj.revision-control-system = u'svn' 
    1146 search.search-history = [u'send', 
     1198search.search-history = [u'print', 
     1199                         u'send', 
    11471200                         u'sock._sock.send', 
    11481201                         u'sock._sock.send(',