Skip to content

Commit 26e0f0d

Browse files
authored
Merge pull request CactuseSecurity#4250 from Y4nnikH/feat/importer-enhancements
feat(importer): handle import_disabled and improve code
2 parents 3177d6d + 479d791 commit 26e0f0d

33 files changed

Lines changed: 1334 additions & 1787 deletions
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
mutation fixRefTables($importId: bigint!, $mgmId: Int!) {
2+
update_rule_from(
3+
where: {
4+
removed: { _is_null: true }
5+
rule: { mgm_id: { _eq: $mgmId } }
6+
_or: [
7+
{ rule: { removed: { _is_null: false } } }
8+
{ object: { removed: { _is_null: false } } }
9+
]
10+
}
11+
_set: { removed: $importId }
12+
) {
13+
affected_rows
14+
}
15+
update_rule_to(
16+
where: {
17+
removed: { _is_null: true }
18+
rule: { mgm_id: { _eq: $mgmId } }
19+
_or: [
20+
{ rule: { removed: { _is_null: false } } }
21+
{ object: { removed: { _is_null: false } } }
22+
]
23+
}
24+
_set: { removed: $importId }
25+
) {
26+
affected_rows
27+
}
28+
update_rule_nwobj_resolved(
29+
where: {
30+
removed: { _is_null: true }
31+
rule: { mgm_id: { _eq: $mgmId } }
32+
_or: [
33+
{ rule: { removed: { _is_null: false } } }
34+
{ object: { removed: { _is_null: false } } }
35+
]
36+
}
37+
_set: { removed: $importId }
38+
) {
39+
affected_rows
40+
}
41+
update_rule_service(
42+
where: {
43+
removed: { _is_null: true }
44+
rule: { mgm_id: { _eq: $mgmId } }
45+
_or: [
46+
{ rule: { removed: { _is_null: false } } }
47+
{ service: { removed: { _is_null: false } } }
48+
]
49+
}
50+
_set: { removed: $importId }
51+
) {
52+
affected_rows
53+
}
54+
update_rule_svc_resolved(
55+
where: {
56+
removed: { _is_null: true }
57+
rule: { mgm_id: { _eq: $mgmId } }
58+
_or: [
59+
{ rule: { removed: { _is_null: false } } }
60+
{ service: { removed: { _is_null: false } } }
61+
]
62+
}
63+
_set: { removed: $importId }
64+
) {
65+
affected_rows
66+
}
67+
update_rule_user_resolved(
68+
where: {
69+
removed: { _is_null: true }
70+
rule: { mgm_id: { _eq: $mgmId } }
71+
_or: [
72+
{ rule: { removed: { _is_null: false } } }
73+
{ usr: { removed: { _is_null: false } } }
74+
]
75+
}
76+
_set: { removed: $importId }
77+
) {
78+
affected_rows
79+
}
80+
update_rule_from_zone(
81+
where: {
82+
removed: { _is_null: true }
83+
rule: { mgm_id: { _eq: $mgmId } }
84+
_or: [
85+
{ rule: { removed: { _is_null: false } } }
86+
{ zone: { removed: { _is_null: false } } }
87+
]
88+
}
89+
_set: { removed: $importId }
90+
) {
91+
affected_rows
92+
}
93+
update_rule_to_zone(
94+
where: {
95+
removed: { _is_null: true }
96+
rule: { mgm_id: { _eq: $mgmId } }
97+
_or: [
98+
{ rule: { removed: { _is_null: false } } }
99+
{ zone: { removed: { _is_null: false } } }
100+
]
101+
}
102+
_set: { removed: $importId }
103+
) {
104+
affected_rows
105+
}
106+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
query getSubManagerUids($mgmId: Int!)
2+
{
3+
management(where: {multi_device_manager_id: {_eq: $mgmId}}) {
4+
mgm_id
5+
mgm_uid
6+
}
7+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
mutation markGatewaysRemoved($gwIds: [Int!], $importId: bigint!) {
2+
update_rulebase_link(
3+
where: { gw_id: { _in: $gwIds }, removed: { _is_null: true } }
4+
_set: { removed: $importId }
5+
) {
6+
affected_rows
7+
}
8+
update_rule_enforced_on_gateway(
9+
where: { dev_id: { _in: $gwIds }, removed: { _is_null: true } }
10+
_set: { removed: $importId }
11+
) {
12+
affected_rows
13+
}
14+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
mutation markManagersRemoved($mgmIds: [Int!], $importId: bigint!) {
2+
update_rule(where: {mgm_id: {_in: $mgmIds}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
3+
update_rulebase(where: {mgm_id: {_in: $mgmIds}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
4+
update_rulebase_link(where: {device: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
5+
update_object(where: {mgm_id: {_in: $mgmIds}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
6+
update_service(where: {mgm_id: {_in: $mgmIds}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
7+
update_usr(where: {mgm_id: {_in: $mgmIds}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
8+
update_zone(where: {mgm_id: {_in: $mgmIds}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
9+
update_objgrp(where: {object: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
10+
update_svcgrp(where: {service: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
11+
update_usergrp(where: {usr: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
12+
update_objgrp_flat(where: {object: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
13+
update_svcgrp_flat(where: {service: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
14+
update_usergrp_flat(where: {usr: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
15+
update_rule_to(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
16+
update_rule_from(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
17+
update_rule_service(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
18+
update_rule_nwobj_resolved(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
19+
update_rule_svc_resolved(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
20+
update_rule_user_resolved(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
21+
update_rule_from_zone(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
22+
update_rule_to_zone(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
23+
update_rule_enforced_on_gateway(where: {rule: {mgm_id: {_in: $mgmIds}}, removed: {_is_null: true}}, _set: {removed: $importId}) { affected_rows }
24+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
query getRulesByUidsWithCreate($uids: [String!], $mgmId: Int!) {
2+
rule(
3+
where: {
4+
rule_uid: { _in: $uids }
5+
_or: [
6+
{ mgm_id: { _eq: $mgmId } }
7+
{ management: { multi_device_manager_id: { _eq: $mgmId } } }
8+
]
9+
removed: { _is_null: true }
10+
}
11+
) {
12+
rule_id
13+
rule_uid
14+
rule_create
15+
}
16+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
query getRulesEnforcedOnGateways($gwIds: [Int!]!) {
2+
rule_enforced_on_gateway(
3+
where: { dev_id: { _in: $gwIds }, removed: { _is_null: true } }
4+
) {
5+
rule {
6+
rule_id
7+
rule_uid
8+
removed
9+
}
10+
device {
11+
dev_id
12+
dev_uid
13+
}
14+
}
15+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
mutation insertRuleEnforcedOnGateway (
2+
$rulesEnforcedOnGateway: [rule_enforced_on_gateway_insert_input!]!
3+
) {
4+
insert_rule_enforced_on_gateway(objects: $rulesEnforcedOnGateway) {
5+
affected_rows
6+
}
7+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
mutation removeInconsistentEnforcedOnGateways(
2+
$gwIds: [Int!]!
3+
$importId: bigint!
4+
) {
5+
update_rule_enforced_on_gateway(
6+
where: {
7+
dev_id: { _in: $gwIds }
8+
removed: { _is_null: true }
9+
rule: { removed: { _is_null: false } }
10+
}
11+
_set: { removed: $importId }
12+
) {
13+
affected_rows
14+
}
15+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
mutation updateRuleEnforcedOnGateway(
2+
$importId: bigint!
3+
$rulesEnforcedOnGateway: [rule_enforced_on_gateway_bool_exp!]!
4+
) {
5+
update_rule_enforced_on_gateway(where: {
6+
_or: $rulesEnforcedOnGateway
7+
removed: {_is_null: true}
8+
}, _set: {
9+
removed: $importId
10+
}) {
11+
affected_rows
12+
}
13+
}

roles/importer/files/importer/fw_modules/checkpointR8x/cp_getter.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ def login(mgm_details: ManagementController):
6363
FWOLogger.debug(f"login - login to url {base_url} with user {mgm_details.import_user}", 3)
6464
response = cp_api_call(base_url, "login", payload, "")
6565
if "sid" not in response:
66-
exception_text = f"getter ERROR: did not receive a sid, api call: {base_url}"
66+
exception_text = (
67+
f"getter ERROR: did not receive a sid for api call: {base_url}. "
68+
"Please check credentials, API URL, network connectivity, and user permissions."
69+
)
6770
raise FwLoginFailedError(exception_text)
6871
return response["sid"]
6972

0 commit comments

Comments
 (0)