Logo Search packages:      
Sourcecode: audit version File versions  Download package

def rule_dialog::RuleDialog::__rule_arch_changed (   self  )  [private]

Recompute self.machine_id and self.syscall_name_store.

Raise ParsingError if the self.rule_arch.child is invalid.

Definition at line 351 of file rule_dialog.py.

00351                                  :
        '''Recompute self.machine_id and self.syscall_name_store.

        Raise ParsingError if the self.rule_arch.child is invalid.

        '''
        if not self.rule_arch_present.get_active():
            machine = util.audit_machine_id
            self.last_arch_name = None
        else:
            name = self.rule_arch.child.get_text()
            if self.last_arch_name is not None and name == self.last_arch_name:
                return
            machine = util.parse_elf(name) # May raise ParsingError
        if self.machine_id == machine:
            return
        self.machine_id = machine
        self.syscall_name_store.clear()

        def sc_to_name(sc):
            return audit.audit_syscall_to_name(sc, machine)
        names = lists.ids_to_names(lists.syscalls, sc_to_name)
        names.sort()
        # As an UGLY special case, some system calls never exit.  Exclude them
        # from exit filters == filters where the exit value is available.
        keep_non_exit = audit.AUDIT_EXIT in self.excluded_fields
        for name in names:
            if (keep_non_exit or
                self.__non_exit_syscall_re.search(name) is None):
                self.syscall_name_store.append((name,))

    def __fields_selection_changed(self, *_):


Generated by  Doxygen 1.6.0   Back to index