Changeset 3675

Show
Ignore:
Timestamp:
08/30/08 19:12:21 (5 years ago)
Author:
nopper
Message:

Selection changed fixes. Fixing also Sequencer recv

Location:
branch/PacketManipulator/PM
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • branch/PacketManipulator/PM/Backend/Scapy/Context/Sequence.py

    r3674 r3675  
    7272 
    7373        def get_all_data(self): 
    74             return self.get_data() 
     74            with self.lock: 
     75                return BaseSequenceContext.get_all_data(self) 
    7576 
    7677        def get_data(self): 
    7778            with self.lock: 
     79                return BaseSequenceContext.get_data(self) 
     80 
     81        def set_data(self, val): 
     82            with self.lock: 
     83                return BaseSequenceContext.set_data(self) 
     84 
     85        # We really need this lock here? 
     86        def get_sequence(self): 
     87            with self.lock: 
    7888                return self.seq 
    7989 
    80         def set_data(self, val): 
     90        def set_sequence(self, val): 
    8191            with self.lock: 
    8292                self.seq = val 
  • branch/PacketManipulator/PM/Backend/Scapy/utils.py

    r3636 r3675  
    382382        # to be respawned n times 
    383383 
     384        self.receiving = True 
    384385        self.running.acquire() 
    385386 
     
    388389 
    389390            self.__notify_send(None) 
     391            self.pool.queue_work(None, self.__notify_exc, self.__recv_worker) 
    390392 
    391393            for node in self.tree.get_children(): 
     
    393395                self.pool.queue_work(None, self.__notify_exc, self.__send_worker, node) 
    394396                break 
    395  
    396             self.pool.queue_work(None, self.__notify_exc, self.__recv_worker) 
    397397 
    398398            self.running.wait() 
     
    522522 
    523523        sock = get_socket_for(obj.packet) 
    524         sock.send(obj.packet.root) 
    525  
    526         self.__notify_send(node) 
    527524 
    528525        if node.is_parent(): 
     
    542539 
    543540            log.debug("Adding socket to the list for receiving my packet %s" % sock) 
     541 
     542        sock.send(obj.packet.root) 
     543 
     544        self.__notify_send(node) 
    544545 
    545546        log.debug("Sleeping %f after send" % self.inter) 
  • branch/PacketManipulator/PM/Gui/Pages/SequencePage.py

    r3674 r3675  
    314314        # Should be the selected 
    315315 
    316         if not packet is None: 
     316        if packet is not None: 
    317317            ret = self.tree.get_selection().get_selected() 
    318318 
     
    324324                    self.__update_combo() 
    325325 
     326                    log.debug("row changed for current packet") 
     327 
    326328                    return 
    327329                else: 
     
    335337        self.store.clear() 
    336338 
    337         tree = self.session.context.get_data() 
     339        tree = self.session.context.get_sequence() 
    338340 
    339341        for child in tree.get_children(): 
  • branch/PacketManipulator/PM/Gui/Pages/SniffPage.py

    r3674 r3675  
    2323""" 
    2424 
     25import copy 
     26 
    2527import gtk 
    2628import pango 
     
    286288        # TODO: implement tree selection 
    287289 
    288         ret = [] 
    289         for path in lst: 
    290             ret.append(model.get_value(model.get_iter(path), 0)) 
    291  
    292         return ret 
     290        if tree: 
     291            ret = [] 
     292            for path in lst: 
     293                packet = model.get_value(model.get_iter(path), 0) 
     294                packet = copy.deepcopy(packet) 
     295                ret.append(packet) 
     296 
     297            return ret 
     298        else: 
     299            ret = [] 
     300            for path in lst: 
     301                ret.append(model.get_value(model.get_iter(path), 0)) 
     302 
     303            return ret 
    293304 
    294305    def __on_create_seq(self, action): 
  • branch/PacketManipulator/PM/Gui/Sessions/Base.py

    r3674 r3675  
    115115 
    116116    def set_active_packet(self, packet): 
    117         if packet != self.packet: 
     117        if packet is self.packet: 
     118            log.debug("Packets are the same ignoring updates") 
     119        else: 
    118120            self.packet = packet 
    119121            self.reload_editor() 
    120         else: 
    121             log.debug("Packets are the same ignoring updates") 
    122122 
    123123    def get_label(self): 
  • branch/PacketManipulator/PM/Gui/Sessions/SequenceSession.py

    r3674 r3675  
    5555 
    5656        # Reinsert the values into the sequence 
    57         self.context.seq = self.sequence_page.get_current_tree() 
     57        self.context.set_sequence(self.sequence_page.get_current_tree()) 
    5858        return super(SequenceSession, self).save_session(fname) 
  • branch/PacketManipulator/PM/Gui/Tabs/PropertyTab.py

    r3588 r3675  
    159159 
    160160            page.packet_page.hexview.select_block(start / 8, max(length / 8, 1)) 
     161            page.reload_container(page.packet)