From: Radoslaw Zarzynski Date: Sat, 29 Apr 2017 13:28:44 +0000 (+0200) Subject: rgw: implement calc_hash_sha256_restart_stream(). X-Git-Tag: v12.1.0~155^2~27 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=25b71064f0f8f677c94860c9e52c9d9180fc6d47;p=ceph.git rgw: implement calc_hash_sha256_restart_stream(). Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/rgw/rgw_common.cc b/src/rgw/rgw_common.cc index a8b25b582df0..46f9bdbc3f24 100644 --- a/src/rgw/rgw_common.cc +++ b/src/rgw/rgw_common.cc @@ -724,6 +724,14 @@ string calc_hash_sha256_close_stream(SHA256 **phash) return std::string(hex_str); } +std::string calc_hash_sha256_restart_stream(SHA256 **phash) +{ + const auto hash = calc_hash_sha256_close_stream(phash); + *phash = calc_hash_sha256_open_stream(); + + return hash; +} + int gen_rand_base64(CephContext *cct, char *dest, int size) /* size should be the required string size + 1 */ { char buf[size]; diff --git a/src/rgw/rgw_common.h b/src/rgw/rgw_common.h index 5ad041857efb..bd62e834be89 100644 --- a/src/rgw/rgw_common.h +++ b/src/rgw/rgw_common.h @@ -2254,8 +2254,9 @@ extern void calc_hash_sha256(const string& msg, string& dest); using ceph::crypto::SHA256; extern SHA256* calc_hash_sha256_open_stream(); -extern void calc_hash_sha256_update_stream(SHA256 *hash, const char *msg, int len); -extern string calc_hash_sha256_close_stream(SHA256 **hash); +extern void calc_hash_sha256_update_stream(SHA256 *hash, const char *msg, int len); +extern std::string calc_hash_sha256_close_stream(SHA256 **hash); +extern std::string calc_hash_sha256_restart_stream(SHA256 **phash); extern int rgw_parse_op_type_list(const string& str, uint32_t *perm);