]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw: Avoid segfault when OPA authz is enabled 46106/head
authorBenoît Knecht <bknecht@protonmail.ch>
Tue, 12 Apr 2022 09:51:10 +0000 (11:51 +0200)
committerBenoît Knecht <bknecht@protonmail.ch>
Tue, 31 Oct 2023 14:13:06 +0000 (15:13 +0100)
commit3cecb8862dc941f75644689c9cae21df8075a740
treed4db330ae84be0c8c19001c579617dd98d4d6485
parent3fc5c4d552b285937e428efa79236c66dd5a7d49
rgw: Avoid segfault when OPA authz is enabled

When `rgw_use_opa_authz=true`, radosgw would segfault on any request that
didn't target a specific object or bucket, because `s->object` or `s->bucket`
would be `nullptr` in that case, but that code path would try to dereference
them anyway.

This commit only adds the `object_name`, `subuser`, `user_info` and
`bucket_info` JSON objects if the corresponding `s->X` object is defined,
thereby avoiding segfaults in radosgw when Open Policy Agent authorization is
enabled.

Fixes: https://tracker.ceph.com/issues/55286
Signed-off-by: Benoît Knecht <bknecht@protonmail.ch>
(cherry picked from commit ac71916cea04c8bac4baf58bcb9c63d8797f877e)
src/rgw/rgw_opa.cc