rgw: tempurl signature fixes: support sha256 and sha512
The latest openstack swift logic supports sha256 and sha512 checksums
for tempurl and formpost, which can be either hexadecimal or
hashname:base64. This adds logic to inspect the incoming signature
for type and to internally construct the same hash to compare.
Also:: fixes an incidental crash if a malformed swift path does not
contain an object name.
Fixes: https://tracker.ceph.com/issues/56564
Signed-off-by: Marcus Watts <mwatts@redhat.com>
(cherry picked from commit
e2023d28dc6e6e835303716e7235df720d33a01c)