Authorize Pacemaker actions with SO_PEERCRED
This commit is contained in:
@@ -95,6 +95,14 @@ print("valid_binding accepted")
|
||||
|
||||
server.registry = registry
|
||||
server.pacemaker_resource_id = binding
|
||||
server.pacemaker_peer_uid = 65534
|
||||
server.pacemaker_peer_gid = 65534
|
||||
|
||||
authorized_peer = {
|
||||
"pid": 1234,
|
||||
"uid": 65534,
|
||||
"gid": 65534,
|
||||
}
|
||||
|
||||
ping = server.handle_request({
|
||||
"protocol_version": 1,
|
||||
@@ -113,11 +121,14 @@ require(
|
||||
|
||||
print("ping_binding reported")
|
||||
|
||||
response = server.handle_request({
|
||||
"protocol_version": 1,
|
||||
"resource": "postgresql-ha",
|
||||
"action": "monitor",
|
||||
})
|
||||
response = server.handle_request(
|
||||
{
|
||||
"protocol_version": 1,
|
||||
"resource": "postgresql-ha",
|
||||
"action": "monitor",
|
||||
},
|
||||
authorized_peer,
|
||||
)
|
||||
|
||||
require(
|
||||
response["ok"] is True,
|
||||
@@ -131,11 +142,14 @@ require(
|
||||
|
||||
print("matching_resource executed")
|
||||
|
||||
response = server.handle_request({
|
||||
"protocol_version": 1,
|
||||
"resource": "different-resource",
|
||||
"action": "monitor",
|
||||
})
|
||||
response = server.handle_request(
|
||||
{
|
||||
"protocol_version": 1,
|
||||
"resource": "different-resource",
|
||||
"action": "monitor",
|
||||
},
|
||||
authorized_peer,
|
||||
)
|
||||
|
||||
require(
|
||||
response["ok"] is False,
|
||||
|
||||
Reference in New Issue
Block a user