def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts[self.LABEL] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags") machine.versions_cpe = machine_opts.get("versions_cpe", None) machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = machine_opts.get("interface") # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot") # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip parameters. for key, value in machine.items(): if value and isinstance(value, basestring): machine[key] = value.strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port, versions_cpe=machine.versions_cpe) except (AttributeError, CuckooOperationalError) as e: log.warning( "Configuration details about machine %s " "are missing: %s", machine_id, e) continue
def _initialize(self, module_name): """Read configuration. @param module_name: module name. """ self.module_name = module_name mmanager_opts = self.options.get(module_name) for machine_id in mmanager_opts["machines"].strip().split(","): try: machine_opts = self.options.get(machine_id.strip()) machine = Dictionary() machine.id = machine_id.strip() machine.label = machine_opts[self.LABEL] machine.platform = machine_opts["platform"] machine.tags = machine_opts.get("tags") machine.versions_cpe = machine_opts.get("versions_cpe", None) machine.ip = machine_opts["ip"] # If configured, use specific network interface for this # machine, else use the default value. machine.interface = machine_opts.get("interface") # If configured, use specific snapshot name, else leave it # empty and use default behaviour. machine.snapshot = machine_opts.get("snapshot") # If configured, use specific resultserver IP and port, # else use the default value. opt_resultserver = self.options_globals.resultserver ip = machine_opts.get("resultserver_ip", opt_resultserver.ip) port = machine_opts.get("resultserver_port", opt_resultserver.port) machine.resultserver_ip = ip machine.resultserver_port = port # Strip parameters. for key, value in machine.items(): if value and isinstance(value, basestring): machine[key] = value.strip() self.db.add_machine(name=machine.id, label=machine.label, ip=machine.ip, platform=machine.platform, tags=machine.tags, interface=machine.interface, snapshot=machine.snapshot, resultserver_ip=ip, resultserver_port=port, versions_cpe=machine.versions_cpe) except (AttributeError, CuckooOperationalError) as e: log.warning("Configuration details about machine %s " "are missing: %s", machine_id, e) continue