Changeset 3823

Show
Ignore:
Timestamp:
12/15/08 13:01:32 (4 years ago)
Author:
gpolo
Message:

Merged revisions 2560,2562,2564-2566,2570-2571 via svnmerge from
http://svn.umitproject.org/svnroot/umit/trunk

........

r2560 | boltrix | 2007-09-22 10:46:19 -0300 (Sat, 22 Sep 2007) | 1 line


Removed the PIL dependency from package generation system, as asked by Fyodor. Now, I'm using GTK to put the version and revision number inside the Splash screen. Also, fixed a bug reported by David, in which Umit crashes after removal of target_list.txt and other files that are sent empty. I also removed them from repository, and now umit creates them if needed

........

r2562 | boltrix | 2007-09-22 11:36:48 -0300 (Sat, 22 Sep 2007) | 1 line


Fixed a bug on About dialog

........

r2564 | boltrix | 2007-09-22 11:40:46 -0300 (Sat, 22 Sep 2007) | 1 line


Removed a debug from About

........

r2565 | boltrix | 2007-09-22 11:49:05 -0300 (Sat, 22 Sep 2007) | 1 line


Improved bug report title, to ease the task of finding duplicated bug reports

........

r2566 | boltrix | 2007-09-22 12:06:34 -0300 (Sat, 22 Sep 2007) | 1 line


Fixed a bug caused by trying to execute a command generated through the wizard with no scan tab openned.

........

r2570 | boltrix | 2007-09-22 14:25:53 -0300 (Sat, 22 Sep 2007) | 1 line


Moved option_parser to the beginning, to avoid loosing the help if not in development mode

........

r2571 | boltrix | 2007-09-22 14:49:24 -0300 (Sat, 22 Sep 2007) | 1 line


Updated some names on Credits window. Four of them are still missing and I'll update them as soon as I get their names and emails. Also, pushed the version and revision 5 pixels up on splash screen.

........

Location:
branch/NetworkInventory
Files:
7 removed
16 modified

Legend:

Unmodified
Added
Removed
  • branch/NetworkInventory

    • Property svnmerge-integrated changed from /trunk:1-560,1370-1397,1399-1418,1420-1464,1471-2012 to /trunk:1-560,1370-1397,1399-1418,1420-1464,1471-2012,2560-2571
  • branch/NetworkInventory/install_scripts/unix/setup.py

    r3822 r3823  
    3333# The environ variables are catch only on package generating phase. 
    3434# After package generation, the version and revision turns into a hardcoded string 
    35 VERSION = os.environ.get("UMIT_VERSION", "0.4.5") 
    36 REVISION = os.environ.get("UMIT_REVISION", "1567") 
     35VERSION = os.environ.get("UMIT_VERSION", "0.9.5") 
     36REVISION = os.environ.get("UMIT_REVISION", "2549") 
    3737 
    3838VERSION_FILE = os.path.join("share", "umit", "config", "umit_version") 
     
    302302        # Updating version, revision, splash and paths informations... 
    303303        sys.path.append(os.path.join("install_scripts", "utils")) 
    304         from add_splash_version import add_version 
    305304        from version_update import update_setup, update_paths, update_umit_version 
    306305 
    307         add_version(base_dir, VERSION, REVISION) 
    308306        update_setup(base_dir, VERSION, REVISION) 
    309307        update_paths(base_dir, VERSION, REVISION) 
     
    316314        print 
    317315 
    318 # The umit_sdist class is intended to be used only from inside a svn working copy 
    319 # because it uses install_scripts/utils/version_update.py and add_splash_version.py 
    320 # which are not sent along with the source packages. 
    321 # To avoid import errors, the following code redirects umit_sdist to the original 
    322 # sdist class while running from a previously generated source package 
    323316if SOURCE_PKG: 
    324317    umit_sdist = sdist 
  • branch/NetworkInventory/install_scripts/windows/setup.py

    r3822 r3823  
    108108        sys.path.append(os.path.join("install_scripts", "utils")) 
    109109        from version_update import update_umit_compiled, update_paths, update_umit_version 
    110         from add_splash_version import add_version 
    111110 
    112         add_version(base_dir, VERSION, REVISION) 
    113111        update_umit_compiled(base_dir, VERSION, REVISION) 
    114112        update_paths(base_dir, VERSION, REVISION) 
  • branch/NetworkInventory/share/umit/config/umit_version

    r3822 r3823  
    1 0.4.5 
    2 1567 
     10.9.5 
     22549 
  • branch/NetworkInventory/umit

    r3822 r3823  
    2727import webbrowser 
    2828from os.path import split, abspath, dirname 
     29 
     30from umitCore.UmitOptionParser import option_parser 
    2931 
    3032UMIT_DEVELOPMENT = os.environ.get("UMIT_DEVELOPMENT", False) 
     
    8486        try: 
    8587            old_stdout.write("Bug reported!") 
    86             c = CrashReport("Umit Crash - STDOUT and STDERR", outputs) 
     88            c = CrashReport("Umit Crash - '%s'" % value, outputs) 
    8789            c.show_all() 
    8890            gtk.main() 
  • branch/NetworkInventory/umitCore/BasePaths.py

    r1349 r3823  
    4242                  wizard = 'wizard.xml', 
    4343                  options = 'options.xml', 
    44                   umit_op = 'umit.op', 
    4544                  umit_opf = 'umit.opf', 
    46                   umit_opi = 'umit.opi', 
    4745                  umit_opt = 'umit.opt', 
    4846                  pixmaps_dir = os.path.join('share', 'pixmaps'), 
  • branch/NetworkInventory/umitCore/Paths.py

    r3822 r3823  
    2929from umitCore.I18N import _ 
    3030 
    31 VERSION = environ.get("UMIT_VERSION", "0.4.5") 
    32 REVISION = environ.get("UMIT_REVISION", "1567") 
     31VERSION = environ.get("UMIT_VERSION", "0.9.5") 
     32REVISION = environ.get("UMIT_REVISION", "2549") 
    3333 
    3434main_dir = "" 
     
    6262 
    6363    config_files_list = ["config_file", 
    64                          "target_list", 
    6564                         "profile_editor", 
    6665                         "wizard", 
    6766                         "scan_profile", 
    68                          "recent_scans", 
    6967                         "options", 
    70                          "umitdb", 
    7168                         "umitdb_ng", 
    7269                         "tl_conf", 
     
    7875                         "umit_version"] 
    7976 
    80     share_files_list = ["umit_op", 
    81                         "umit_opi", 
    82                         "umit_opt", 
     77    empty_config_files_list = ["target_list", 
     78                               "recent_scans", 
     79                               "umitdb"] 
     80 
     81    share_files_list = ["umit_opt", 
    8382                        "umit_opf"] 
    8483 
     
    137136 
    138137        elif exists(join(base_dir, CONFIG_DIR)) and\ 
    139             exists(join(base_dir, CONFIG_DIR, base_paths['config_file'])): 
     138            exists(join(base_dir, 
     139                        CONFIG_DIR, 
     140                        base_paths['config_file'])): 
    140141            main_config_dir = join(base_dir, CONFIG_DIR) 
    141142 
    142143        elif exists(join(split(base_dir)[0], CONFIG_DIR)) and \ 
    143             exists(join(split(base_dir)[0], CONFIG_DIR, 
    144                    base_paths['config_file'])): 
     144            exists(join(split(base_dir)[0], 
     145                        CONFIG_DIR, 
     146                        base_paths['config_file'])): 
    145147            main_config_dir = join(split(base_dir)[0], CONFIG_DIR) 
    146148 
     
    254256                                             base_paths[name])) 
    255257 
     258            elif name in self.empty_config_files_list: 
     259                return return_if_exists(join(self.__dict__['config_dir'], 
     260                                             base_paths[name]), 
     261                                        True) 
     262 
    256263            elif name in self.share_files_list: 
    257264                return return_if_exists(join(self.__dict__['pixmaps_dir'], 
     
    333340    return exists(path) and access(path, permission) 
    334341 
    335 def return_if_exists(path): 
     342def return_if_exists(path, create=False): 
     343    path = abspath(path) 
    336344    if exists(path): 
    337         return abspath(path) 
     345        return path 
     346    elif create: 
     347        f = open(path, "w") 
     348        f.close() 
     349        return path 
    338350    raise Exception("File '%s' does not exist or could not be found!" % path) 
    339351 
     
    359371    print ">>> OPTIONS:", Path.options 
    360372    print 
    361     print ">>> UMIT_OP:", Path.umit_op 
    362     print ">>> UMIT_OPI:", Path.umit_opi 
    363373    print ">>> UMIT_OPT:", Path.umit_opt 
    364374    print ">>> UMIT_OPF:", Path.umit_opf 
  • branch/NetworkInventory/umitCore/UmitConf.py

    r1318 r3823  
    196196 
    197197    def add_profile(self, profile_name, **attributes): 
     198        log.debug(">>> Add Profile '%s': %s" % (profile_name, attributes)) 
    198199        try: self.add_section(profile_name) 
    199200        except: return None 
     
    201202        [self._set_it(profile_name, attr, attributes[attr]) for attr in attributes if attr != "options"] 
    202203        options = attributes["options"] 
    203         self._set_it(profile_name, "options", ",".join(options.keys())) 
     204        if type(options) in StringTypes: 
     205            self._set_it(profile_name, "options", options) 
     206        elif type(options) == type({}): 
     207            self._set_it(profile_name, "options", ",".join(options.keys())) 
     208 
    204209        for opt in options: 
    205210            if options[opt]: 
  • branch/NetworkInventory/umitGUI/About.py

    r1318 r3823  
    100100        self.btn_close.connect('clicked', lambda x,y=None:self.destroy()) 
    101101        self.btn_credits.connect('clicked', self.show_credits_cb) 
    102      
     102 
    103103    def __set_size(self, widget, extra = None): 
    104104        if self.img >= 3: 
     
    107107                          rkrp cvpxyr.ybnq(om2.OM2Svyr(Cngu.hzvg_bcs,'e'))"]) 
    108108        else: self.img += 1 
    109      
     109 
    110110    def __set_text(self): 
    111111        self.lbl_program_version.set_use_markup(True) 
     
    206206 
    207207Logo, Application Icons and Splash screen: 
    208 Virgílio Carlo de Menezes Vasconcelos <virgiliovasconcelos@gmail.com>""") 
     208Virgílio Carlo de Menezes Vasconcelos <virgiliovasconcelos@gmail.com> 
     209 
     210The Umit Project Web Site Design: 
     211Joao Paulo Pacheco <jp.pacheco@gmail.com>""") 
    209212 
    210213        b = self.soc2007_text.get_buffer() 
     
    232235Google <code.summer@gmail.com> 
    233236 
    234 Mentor of SoC 2005 and 2006: 
     237Mentor of Umit for Google SoC 2005 and 2006: 
    235238Fyodor <fyodor@insecure.org> 
    236239 
     240Mentor of Umit for Google SoC 2007 Projects: 
     241Adriano Monteiro Marques <py.adriano@gmail.com> 
     242 
    237243Initial development: 
    238244Adriano Monteiro Marques <py.adriano@gmail.com> 
    239245Cleber Rodrigues Rosa Junior <cleber.gnu@gmail.com> 
     246 
     247Nmap students from Google SoC 2007 that helped Umit: 
     248Eddie 
     249David 
     250Kris Katterjohn <katterjohn@gmail.com> 
     251 
     252The Umit Project WebSite: 
     253Abrao 
     254Adriano Monteiro Marques <py.adriano@gmail.com> 
     255Heitor 
     256Joao Paulo Pacheco <jp.pacheco@gmail.com> 
     257João Paulo de Souza Medeiros <ignotus21@gmail.com> 
     258Luis Antonio Bastião Silva <luis.kop@gmail.com> 
     259Rodolfo da Silva Carvalho <rodolfo.ueg@gmail.com> 
    240260 
    241261Beta testers: 
    242262Drew Miller <securitygeek@fribble.org> 
     263Joao Paulo Pacheco <jp.pacheco@gmail.com> 
     264Kris Katterjohn <katterjohn@gmail.com> 
    243265Regis Kuramoto Dias <kuramotobm@gmail.com> 
    244266Rodolfo da Silva Carvalho <rodolfo.ueg@gmail.com> 
  • branch/NetworkInventory/umitGUI/MainWindow.py

    r3821 r3823  
    684684    def _create_scan_notebook(self): 
    685685        self.scan_notebook = ScanNotebook() 
     686        self.scan_notebook.close_scan_cb = self._close_scan_cb 
     687 
    686688        page = self._new_scan_cb() 
    687689        self.scan_notebook.show_all() 
     
    962964        - Untitled scan 
    963965        """ 
    964         page = ScanNotebookPage() 
    965         page.select_first_profile() 
    966          
    967         self.scan_notebook.append_page(page, self._close_scan_cb, tab_title=data) 
    968         page.show_all() 
    969          
    970         self.scan_notebook.set_current_page(-1) 
    971  
    972         # Put focus at the target combo, so user can open umit and start writing the target 
    973         page.target_focus() 
    974  
    975         return page 
     966        return self.scan_notebook.add_scan_page(data) 
    976967 
    977968    def _new_scan_profile_cb(self, p): 
  • branch/NetworkInventory/umitGUI/ScanHostsView.py

    r1179 r3823  
    2323 
    2424from types import StringTypes 
    25  
    2625from higwidgets.higboxes import HIGVBox 
    27  
    2826from umitCore.I18N import _ 
     27 
     28SCANNING = _("Scanning") 
    2929 
    3030class ScanHostsView(HIGVBox, object): 
     
    169169            iter = self.service_list.get_iter_root() 
    170170            del(self.service_list[iter]) 
    171      
     171 
    172172    def set_hosts(self, hosts): 
    173173        self.hosts = hosts 
    174174        self.clear_host_list() 
    175          
     175 
    176176        for host in hosts: 
    177177            self.host_list.append ([hosts[host]['stock'], host]) 
     
    180180        self.services = services 
    181181        self.clear_service_list() 
    182          
     182 
    183183        for service in services: 
    184184            self.service_list.append([service]) 
  • branch/NetworkInventory/umitGUI/ScanNotebook.py

    r3822 r3823  
    3232from umitGUI.ScanHostDetailsPage import ScanHostDetailsPage 
    3333from umitGUI.ScanToolbar import ScanCommandToolbar, ScanToolbar 
    34 from umitGUI.ScanHostsView import ScanHostsView 
     34from umitGUI.ScanHostsView import ScanHostsView, SCANNING 
    3535from umitGUI.ScanOpenPortsPage import ScanOpenPortsPage 
    3636from umitGUI.ScanRunDetailsPage import ScanRunDetailsPage 
     
    188188        self.tab_titles = [] 
    189189        self.scan_num = 1 
     190        self.close_scan_cb = None 
    190191 
    191192    def remove_page(self, page_num): 
     
    194195         
    195196        HIGNotebook.remove_page(self, page_num) 
     197 
     198    def add_scan_page(self, title): 
     199        page = ScanNotebookPage() 
     200        page.select_first_profile() 
     201 
     202        self.append_page(page, self.close_scan_cb, tab_title=title) 
     203        page.show_all() 
     204 
     205        self.set_current_page(-1) 
     206 
     207        # Put focus at the target combo, so user can open umit and start writing the target 
     208        page.target_focus() 
     209 
     210        return page 
    196211 
    197212    def append_page(self, page, close_cb, tab_label=None, tab_title=None): 
     
    567582 
    568583        # Set a "EXECUTING" icon to host list 
    569         self.scan_result.set_hosts({_('Scanning'):{'stock':gtk.STOCK_EXECUTE,'action':None}}) 
    570         self.scan_result.set_services({_('Scanning'):{'action':None}}) 
     584        self.scan_result.set_hosts({SCANNING:{'stock':gtk.STOCK_EXECUTE,'action':None}}) 
     585        self.scan_result.set_services({SCANNING:{'action':None}}) 
    571586 
    572587        # Clear port list, to remove old information 
    573588        self.scan_result.clear_port_list() 
    574  
    575589 
    576590        # When scan starts, change to nmap output view tab and refresh output 
     
    906920    def update_host_info(self, widget): 
    907921        self.scan_result.scan_result_notebook.port_mode() 
     922 
    908923        model_host_list, selection = widget.get_selected_rows() 
    909924        host_objs = [self.hosts[model_host_list[i[0]][1]] for i in selection] 
     
    10441059                                      'uptime':uptime['seconds'], 
    10451060                                      'lastboot':uptime['lastboot']}) 
    1046          
     1061 
    10471062        ipv4 = '' 
    10481063        try:ipv4 = host.get_ip()['addr'] 
  • branch/NetworkInventory/umitGUI/Splash.py

    r1179 r3823  
    2323import gobject 
    2424 
     25from umitCore.Paths import VERSION, REVISION 
     26 
    2527class Splash(gtk.Window): 
    26     def __init__(self, image, time=1500): 
     28    def __init__(self, image, time=1700): 
    2729        gtk.Window.__init__(self, gtk.WINDOW_POPUP) 
    2830        self.set_position(gtk.WIN_POS_CENTER) 
    2931 
    30         self.splash_image = gtk.Image() 
    31         self.splash_image.set_from_file(image) 
     32        splash_img = gtk.gdk.pixbuf_new_from_file(image) 
     33        pixmap, mask = splash_img.render_pixmap_and_mask() 
     34        width, height = pixmap.get_size() 
     35        del splash_img 
    3236 
    33         self.add(self.splash_image) 
     37        self.set_app_paintable(True) 
     38        self.set_size_request(width, height) 
     39        self.set_resizable(False) 
     40        self.realize() 
     41 
     42        self.fixed = gtk.Fixed() 
     43        self.verbox = gtk.VBox() 
     44        self.version = gtk.Label("%s" % VERSION) 
     45        self.revision = gtk.Label("Rev. %s" % REVISION) 
     46 
     47        self.version.set_use_markup(True) 
     48        self.version.set_markup("<span size='24000' weight='heavy'>\ 
     49%s</span>" % VERSION) 
     50        self.revision.set_use_markup(True) 
     51        self.revision.set_markup("<span size='10000' weight='heavy'>\ 
     52Rev. %s</span>" % REVISION) 
     53 
     54        self.verbox.pack_start(self.version, False, False) 
     55        self.verbox.pack_start(self.revision, False, False) 
     56 
     57        self.fixed.put(self.verbox, width - 110, height - 55) 
     58        self.add(self.fixed) 
     59 
     60        self.hid = self.connect("expose-event", self.set_bg, mask, pixmap) 
     61        self.set_bg(self, None, mask, pixmap) 
    3462        self.show_all() 
    35          
     63 
    3664        while gtk.events_pending(): 
    3765            gtk.main_iteration() 
    3866        gobject.timeout_add(time, self.destroy) 
     67 
     68    def destroy(self): 
     69        gtk.Window.destroy(self) 
     70        return False 
     71 
     72    def set_bg(self, widget, event, mask, pixmap): 
     73        if self.window != None: 
     74            self.input_shape_combine_mask(mask, 0, 0) 
     75            self.window.set_back_pixmap(pixmap, False) 
     76        else: 
     77            gobject.idle_add(self.set_bg, widget, event, mask, pixmap) 
     78 
     79if __name__ == "__main__": 
     80    from os.path import join 
     81    s = Splash(join(".", "share", "pixmaps", "splash.png")) 
     82    gtk.main() 
  • branch/NetworkInventory/umitGUI/Wizard.py

    r1384 r3823  
    334334        #else: 
    335335        elif self.notebook: 
    336             cmd = command % self.directions['Choose'].target_entry.get_text() 
     336            target = self.directions['Choose'].target_entry.get_text() 
     337            cmd = command % target 
    337338        
    338339            current_page = self.notebook.get_nth_page(self.notebook.get_current_page()) 
     340            if current_page == None: 
     341                current_page = self.notebook.add_scan_page(target) 
     342 
    339343            current_page.execute_command(cmd) 
     344 
    340345            current_page.toolbar.target_entry.selected_target = self.\ 
    341346                                directions['Choose'].target_entry.get_text()