// This assert MUST NOT be compiled out, even on non-debug builds.
# include "include/assert.h"
-// ugly bit of CryptoPP that we have to emulate here :(
-typedef unsigned char byte;
-
namespace ceph {
namespace crypto {
void assert_init();
s = PK11_DigestBegin(ctx);
assert(s == SECSuccess);
}
- void Update (const ::byte *input, size_t length) {
+ void Update (const unsigned char *input, size_t length) {
if (length) {
SECStatus s;
s = PK11_DigestOp(ctx, input, length);
assert(s == SECSuccess);
}
}
- void Final (::byte *digest) {
+ void Final (unsigned char *digest) {
SECStatus s;
unsigned int dummy;
s = PK11_DigestFinal(ctx, digest, &dummy, digest_size);
PK11Context *ctx;
unsigned int digest_size;
public:
- HMAC (CK_MECHANISM_TYPE cktype, unsigned int digestsize, const ::byte *key, size_t length) {
+ HMAC (CK_MECHANISM_TYPE cktype, unsigned int digestsize, const unsigned char *key, size_t length) {
digest_size = digestsize;
slot = PK11_GetBestSlot(cktype, NULL);
assert(slot);
s = PK11_DigestBegin(ctx);
assert(s == SECSuccess);
}
- void Update (const ::byte *input, size_t length) {
+ void Update (const unsigned char *input, size_t length) {
SECStatus s;
s = PK11_DigestOp(ctx, input, length);
assert(s == SECSuccess);
}
- void Final (::byte *digest) {
+ void Final (unsigned char *digest) {
SECStatus s;
unsigned int dummy;
s = PK11_DigestFinal(ctx, digest, &dummy, digest_size);
class HMACSHA1 : public HMAC {
public:
- HMACSHA1 (const ::byte *key, size_t length) : HMAC(CKM_SHA_1_HMAC, CEPH_CRYPTO_HMACSHA1_DIGESTSIZE, key, length) { }
+ HMACSHA1 (const unsigned char *key, size_t length) : HMAC(CKM_SHA_1_HMAC, CEPH_CRYPTO_HMACSHA1_DIGESTSIZE, key, length) { }
};
class HMACSHA256 : public HMAC {
public:
- HMACSHA256 (const ::byte *key, size_t length) : HMAC(CKM_SHA256_HMAC, CEPH_CRYPTO_HMACSHA256_DIGESTSIZE, key, length) { }
+ HMACSHA256 (const unsigned char *key, size_t length) : HMAC(CKM_SHA256_HMAC, CEPH_CRYPTO_HMACSHA256_DIGESTSIZE, key, length) { }
};
}
}
char hex[FILENAME_LFN_DIGEST_SIZE * 2];
SHA1 h;
- h.Update((const ::byte *)filename, strlen(filename));
- h.Final((::byte *)buf);
+ h.Update((const unsigned char *)filename, strlen(filename));
+ h.Final((unsigned char *)buf);
- buf_to_hex((::byte *)buf, (FILENAME_HASH_LEN + 1) / 2, hex);
+ buf_to_hex((unsigned char *)buf, (FILENAME_HASH_LEN + 1) / 2, hex);
strncpy(hash, hex, FILENAME_HASH_LEN);
hash[FILENAME_HASH_LEN] = '\0';
return 0;
return encrypt(input, in_ofs, size, output, stream_offset);
}
- void prepare_iv(::byte iv[AES_256_IVSIZE], off_t offset) {
+ void prepare_iv(unsigned char iv[AES_256_IVSIZE], off_t offset) {
off_t index = offset / AES_256_IVSIZE;
off_t i = AES_256_IVSIZE - 1;
unsigned int val;
}
- void prepare_iv(::byte (&iv)[AES_256_IVSIZE], off_t offset) {
+ void prepare_iv(unsigned char (&iv)[AES_256_IVSIZE], off_t offset) {
off_t index = offset / AES_256_IVSIZE;
off_t i = AES_256_IVSIZE - 1;
unsigned int val;
}
MD5 key_hash;
- ::byte key_hash_res[CEPH_CRYPTO_MD5_DIGESTSIZE];
- key_hash.Update(reinterpret_cast<const ::byte*>(key_bin.c_str()), key_bin.size());
+ unsigned char key_hash_res[CEPH_CRYPTO_MD5_DIGESTSIZE];
+ key_hash.Update(reinterpret_cast<const unsigned char*>(key_bin.c_str()), key_bin.size());
key_hash.Final(key_hash_res);
if (memcmp(key_hash_res, keymd5_bin.c_str(), CEPH_CRYPTO_MD5_DIGESTSIZE) != 0) {
MD5 key_hash;
uint8_t key_hash_res[CEPH_CRYPTO_MD5_DIGESTSIZE];
- key_hash.Update(reinterpret_cast<const ::byte*>(key_bin.c_str()), key_bin.size());
+ key_hash.Update(reinterpret_cast<const unsigned char*>(key_bin.c_str()), key_bin.size());
key_hash.Final(key_hash_res);
if ((memcmp(key_hash_res, keymd5_bin.c_str(), CEPH_CRYPTO_MD5_DIGESTSIZE) != 0) ||
if (need_to_wait) {
orig_data = data;
}
- hash.Update((const ::byte *)data.c_str(), data.length());
+ hash.Update((const unsigned char *)data.c_str(), data.length());
op_ret = put_data_and_throttle(filter, data, ofs, need_to_wait);
if (op_ret < 0) {
if (!need_to_wait || op_ret != -EEXIST) {
unsigned char m[CEPH_CRYPTO_MD5_DIGESTSIZE];
MD5 hash;
- hash.Update((const ::byte *)token.c_str(), token.size());
+ hash.Update((const unsigned char *)token.c_str(), token.size());
hash.Final(m);
char calc_md5[CEPH_CRYPTO_MD5_DIGESTSIZE * 2 + 1];
obj_ofs += obj_size;
if (pobj_sum) {
- etag_sum.Update((const ::byte *)ent.meta.etag.c_str(),
+ etag_sum.Update((const unsigned char *)ent.meta.etag.c_str(),
ent.meta.etag.length());
}
<< " etag=" << part.etag
<< dendl;
- etag_sum.Update((const ::byte *)entry.etag.c_str(),
+ etag_sum.Update((const unsigned char *)entry.etag.c_str(),
entry.etag.length());
slo_parts[total_len] = part;
}
if (need_calc_md5) {
- hash.Update((const ::byte *)data.c_str(), data.length());
+ hash.Update((const unsigned char *)data.c_str(), data.length());
}
/* update torrrent */
encode(*slo_info, manifest_bl);
emplace_attr(RGW_ATTR_SLO_MANIFEST, std::move(manifest_bl));
- hash.Update((::byte *)slo_info->raw_data, slo_info->raw_data_len);
+ hash.Update((unsigned char *)slo_info->raw_data, slo_info->raw_data_len);
complete_etag(hash, &etag);
ldout(s->cct, 10) << __func__ << ": calculated md5 for user manifest: " << etag << dendl;
}
break;
}
- hash.Update((const ::byte *)data.c_str(), data.length());
+ hash.Update((const unsigned char *)data.c_str(), data.length());
op_ret = put_data_and_throttle(filter, data, ofs, false);
ofs += len;
MD5 data_hash;
unsigned char data_hash_res[CEPH_CRYPTO_MD5_DIGESTSIZE];
- data_hash.Update(reinterpret_cast<const ::byte*>(data), len);
+ data_hash.Update(reinterpret_cast<const unsigned char*>(data), len);
data_hash.Final(data_hash_res);
if (memcmp(data_hash_res, content_md5_bin.c_str(), CEPH_CRYPTO_MD5_DIGESTSIZE) != 0) {
hex_to_buf(obj_iter->second.etag.c_str(), petag,
CEPH_CRYPTO_MD5_DIGESTSIZE);
- hash.Update((const ::byte *)petag, sizeof(petag));
+ hash.Update((const unsigned char *)petag, sizeof(petag));
RGWUploadPartInfo& obj_part = obj_iter->second;
accounted_size += obj_part.accounted_size;
}
} while (truncated);
- hash.Final((::byte *)final_etag);
+ hash.Final((unsigned char *)final_etag);
buf_to_hex((unsigned char *)final_etag, sizeof(final_etag), final_etag_str);
snprintf(&final_etag_str[CEPH_CRYPTO_MD5_DIGESTSIZE * 2], sizeof(final_etag_str) - CEPH_CRYPTO_MD5_DIGESTSIZE * 2,
op_ret = len;
return op_ret;
} else if (len > 0) {
- hash.Update((const ::byte *)data.c_str(), data.length());
+ hash.Update((const unsigned char *)data.c_str(), data.length());
op_ret = put_data_and_throttle(filter, data, ofs, false);
if (op_ret < 0) {
ldout(s->cct, 20) << "processor->thottle_data() returned ret="
char etag_buf[CEPH_CRYPTO_MD5_DIGESTSIZE];
char etag_buf_str[CEPH_CRYPTO_MD5_DIGESTSIZE * 2 + 16];
- hash.Final((::byte *)etag_buf);
+ hash.Final((unsigned char *)etag_buf);
buf_to_hex((const unsigned char *)etag_buf, CEPH_CRYPTO_MD5_DIGESTSIZE,
etag_buf_str);
{
unsigned char md5[CEPH_CRYPTO_MD5_DIGESTSIZE];
MD5 hash;
- hash.Update((const ::byte *)zone_id.c_str(), zone_id.size());
+ hash.Update((const unsigned char *)zone_id.c_str(), zone_id.size());
hash.Final(md5);
uint32_t short_id;
unsigned char md5[CEPH_CRYPTO_MD5_DIGESTSIZE];
char md5_str[CEPH_CRYPTO_MD5_DIGESTSIZE * 2 + 1];
MD5 hash;
- hash.Update((const ::byte *)new_realm_name.c_str(), new_realm_name.length());
+ hash.Update((const unsigned char *)new_realm_name.c_str(), new_realm_name.length());
hash.Final(md5);
buf_to_hex(md5, CEPH_CRYPTO_MD5_DIGESTSIZE, md5_str);
string new_realm_id(md5_str);
unsigned char md5[CEPH_CRYPTO_MD5_DIGESTSIZE];
char md5_str[CEPH_CRYPTO_MD5_DIGESTSIZE * 2 + 1];
MD5 hash;
- hash.Update((const ::byte *)manifest_bl.c_str(), manifest_bl.length());
+ hash.Update((const unsigned char *)manifest_bl.c_str(), manifest_bl.length());
map<string, bufferlist>::iterator iter = attrset.find(RGW_ATTR_ETAG);
if (iter != attrset.end()) {
bufferlist& bl = iter->second;
- hash.Update((const ::byte *)bl.c_str(), bl.length());
+ hash.Update((const unsigned char *)bl.c_str(), bl.length());
}
hash.Final(md5);
MD5 etag_sum;
uint64_t total_size = 0;
for (const auto& entry : slo_info->entries) {
- etag_sum.Update((const ::byte *)entry.etag.c_str(),
+ etag_sum.Update((const unsigned char *)entry.etag.c_str(),
entry.etag.length());
total_size += entry.size_bytes;
for (off_t i = 0; i < num; i++)
{
memset(sha, 0x00, sizeof(sha));
- h->Update((::byte *)pstr, info.piece_length);
- h->Final((::byte *)sha);
+ h->Update((unsigned char *)pstr, info.piece_length);
+ h->Final((unsigned char *)sha);
set_info_pieces(sha);
pstr += info.piece_length;
}
if (0 != remain)
{
memset(sha, 0x00, sizeof(sha));
- h->Update((::byte *)pstr, remain);
- h->Final((::byte *)sha);
+ h->Update((unsigned char *)pstr, remain);
+ h->Final((unsigned char *)sha);
set_info_pieces(sha);
}
}
TEST(MD5, Simple) {
ceph::crypto::MD5 h;
- h.Update((const ::byte*)"foo", 3);
+ h.Update((const unsigned char*)"foo", 3);
unsigned char digest[CEPH_CRYPTO_MD5_DIGESTSIZE];
h.Final(digest);
int err;
TEST(MD5, MultiUpdate) {
ceph::crypto::MD5 h;
- h.Update((const ::byte*)"", 0);
- h.Update((const ::byte*)"fo", 2);
- h.Update((const ::byte*)"", 0);
- h.Update((const ::byte*)"o", 1);
- h.Update((const ::byte*)"", 0);
+ h.Update((const unsigned char*)"", 0);
+ h.Update((const unsigned char*)"fo", 2);
+ h.Update((const unsigned char*)"", 0);
+ h.Update((const unsigned char*)"o", 1);
+ h.Update((const unsigned char*)"", 0);
unsigned char digest[CEPH_CRYPTO_MD5_DIGESTSIZE];
h.Final(digest);
int err;
TEST(MD5, Restart) {
ceph::crypto::MD5 h;
- h.Update((const ::byte*)"bar", 3);
+ h.Update((const unsigned char*)"bar", 3);
h.Restart();
- h.Update((const ::byte*)"foo", 3);
+ h.Update((const unsigned char*)"foo", 3);
unsigned char digest[CEPH_CRYPTO_MD5_DIGESTSIZE];
h.Final(digest);
int err;
}
TEST(HMACSHA1, Simple) {
- ceph::crypto::HMACSHA1 h((const ::byte*)"sekrit", 6);
- h.Update((const ::byte*)"foo", 3);
+ ceph::crypto::HMACSHA1 h((const unsigned char*)"sekrit", 6);
+ h.Update((const unsigned char*)"foo", 3);
unsigned char digest[CEPH_CRYPTO_HMACSHA1_DIGESTSIZE];
h.Final(digest);
int err;
}
TEST(HMACSHA1, MultiUpdate) {
- ceph::crypto::HMACSHA1 h((const ::byte*)"sekrit", 6);
- h.Update((const ::byte*)"", 0);
- h.Update((const ::byte*)"fo", 2);
- h.Update((const ::byte*)"", 0);
- h.Update((const ::byte*)"o", 1);
- h.Update((const ::byte*)"", 0);
+ ceph::crypto::HMACSHA1 h((const unsigned char*)"sekrit", 6);
+ h.Update((const unsigned char*)"", 0);
+ h.Update((const unsigned char*)"fo", 2);
+ h.Update((const unsigned char*)"", 0);
+ h.Update((const unsigned char*)"o", 1);
+ h.Update((const unsigned char*)"", 0);
unsigned char digest[CEPH_CRYPTO_HMACSHA1_DIGESTSIZE];
h.Final(digest);
int err;
}
TEST(HMACSHA1, Restart) {
- ceph::crypto::HMACSHA1 h((const ::byte*)"sekrit", 6);
- h.Update((const ::byte*)"bar", 3);
+ ceph::crypto::HMACSHA1 h((const unsigned char*)"sekrit", 6);
+ h.Update((const unsigned char*)"bar", 3);
h.Restart();
- h.Update((const ::byte*)"foo", 3);
+ h.Update((const unsigned char*)"foo", 3);
unsigned char digest[CEPH_CRYPTO_HMACSHA1_DIGESTSIZE];
h.Final(digest);
int err;
// not exit status 0
ceph::crypto::init(g_ceph_context);
ceph::crypto::MD5 h;
- h.Update((const ::byte*)"foo", 3);
+ h.Update((const unsigned char*)"foo", 3);
unsigned char digest[CEPH_CRYPTO_MD5_DIGESTSIZE];
h.Final(digest);
exit(0);