MCPcopy
hub / github.com/evilsocket/opensnitch / RulesEditorDialog

Class RulesEditorDialog

ui/opensnitch/dialogs/ruleseditor.py:33–1287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31
32DIALOG_UI_PATH = "%s/../res/ruleseditor.ui" % os.path.dirname(sys.modules[__name__].__file__)
33class RulesEditorDialog(QtWidgets.QDialog, uic.loadUiType(DIALOG_UI_PATH)[0]):
34
35 LOG_TAG = "[rules editor]"
36 classA_net = r'10\.\d{1,3}\.\d{1,3}\.\d{1,3}'
37 classB_net = r'172\.1[6-9]\.\d+\.\d+|172\.2[0-9]\.\d+\.\d+|172\.3[0-1]+\.\d{1,3}\.\d{1,3}'
38 classC_net = r'192\.168\.\d{1,3}\.\d{1,3}'
39 others_net = r'127\.\d{1,3}\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}'
40 multinets = r'2[32][23459]\.\d{1,3}\.\d{1,3}\.\d{1,3}'
41 MULTICAST_RANGE = "^(" + multinets + ")$"
42 LAN_RANGES = "^(" + others_net + "|" + classC_net + "|" + classB_net + "|" + classA_net + "|::1|f[cde].*::.*)$"
43 LAN_LABEL = "LAN"
44 MULTICAST_LABEL = "MULTICAST"
45
46 INVALID_RULE_NAME_CHARS = '/'
47
48 ADD_RULE = 0
49 EDIT_RULE = 1
50 WORK_MODE = ADD_RULE
51
52 PW_USER = 0
53 PW_UID = 2
54
55 _notification_callback = QtCore.pyqtSignal(str, ui_pb2.NotificationReply)
56
57 def __init__(self, parent=None, modal=True, appicon=None):
58 super(RulesEditorDialog, self).__init__(parent)
59
60 self._notifications_sent = {}
61 self._nodes = Nodes.instance()
62 self._db = Database.instance()
63 self._rules = Rules.instance()
64 self._notification_callback.connect(self._cb_notification_callback)
65 self._old_rule_name = None
66
67 self.setupUi(self)
68 self.setModal(modal)
69 self.load_aliases_into_menu()
70 if appicon != None:
71 self.setWindowIcon(appicon)
72
73 self.ruleNameValidator = qvalidator.RestrictChars(RulesEditorDialog.INVALID_RULE_NAME_CHARS)
74 self.ruleNameValidator.result.connect(self._cb_rule_name_validator_result)
75 self.ruleNameEdit.setValidator(self.ruleNameValidator)
76
77 self.buttonBox.setStandardButtons(
78 QtWidgets.QDialogButtonBox.StandardButton.Help |
79 QtWidgets.QDialogButtonBox.StandardButton.Reset |
80 QtWidgets.QDialogButtonBox.StandardButton.Close |
81 QtWidgets.QDialogButtonBox.StandardButton.Save
82 )
83
84 self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Reset).clicked.connect(self._cb_reset_clicked)
85 self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Close).clicked.connect(self._cb_close_clicked)
86 self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Save).clicked.connect(self._cb_save_clicked)
87 self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Help).clicked.connect(self._cb_help_clicked)
88 self.selectListButton.clicked.connect(self._cb_select_list_button_clicked)
89 self.selectListRegexpButton.clicked.connect(self._cb_select_regexp_list_button_clicked)
90 self.selectIPsListButton.clicked.connect(self._cb_select_ips_list_button_clicked)

Callers 3

setup_methodMethod · 0.90
__init__Method · 0.90
_table_menu_editMethod · 0.90

Calls

no outgoing calls

Tested by 1

setup_methodMethod · 0.72