mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2024-05-28 22:50:49 +00:00
Fix implicit narrowing conversions (#1672)
These do not appear to be problematic but rather just clean up warnings. Found via clang -Wshorten-64-to-32.
This commit is contained in:
parent
c2c56d0263
commit
600cee118d
51
src/curl.cpp
51
src/curl.cpp
|
@ -607,10 +607,10 @@ size_t S3fsCurl::ReadCallback(void* ptr, size_t size, size_t nmemb, void* userp)
|
|||
if(0 >= pCurl->postdata_remaining){
|
||||
return 0;
|
||||
}
|
||||
int copysize = std::min((int)(size * nmemb), pCurl->postdata_remaining);
|
||||
size_t copysize = std::min(static_cast<off_t>(size * nmemb), pCurl->postdata_remaining);
|
||||
memcpy(ptr, pCurl->postdata, copysize);
|
||||
|
||||
pCurl->postdata_remaining = (pCurl->postdata_remaining > copysize ? (pCurl->postdata_remaining - copysize) : 0);
|
||||
pCurl->postdata_remaining = (pCurl->postdata_remaining > static_cast<off_t>(copysize) ? (pCurl->postdata_remaining - copysize) : 0);
|
||||
pCurl->postdata += static_cast<size_t>(copysize);
|
||||
|
||||
return copysize;
|
||||
|
@ -962,15 +962,12 @@ bool S3fsCurl::GetSseKey(std::string& md5, std::string& ssekey)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool S3fsCurl::GetSseKeyMd5(int pos, std::string& md5)
|
||||
bool S3fsCurl::GetSseKeyMd5(size_t pos, std::string& md5)
|
||||
{
|
||||
if(pos < 0){
|
||||
return false;
|
||||
}
|
||||
if(S3fsCurl::sseckeys.size() <= static_cast<size_t>(pos)){
|
||||
return false;
|
||||
}
|
||||
int cnt = 0;
|
||||
size_t cnt = 0;
|
||||
for(sseckeylist_t::const_iterator iter = S3fsCurl::sseckeys.begin(); iter != S3fsCurl::sseckeys.end(); ++iter, ++cnt){
|
||||
if(pos == cnt){
|
||||
md5 = iter->begin()->first;
|
||||
|
@ -980,7 +977,7 @@ bool S3fsCurl::GetSseKeyMd5(int pos, std::string& md5)
|
|||
return false;
|
||||
}
|
||||
|
||||
int S3fsCurl::GetSseKeyCount()
|
||||
size_t S3fsCurl::GetSseKeyCount()
|
||||
{
|
||||
return S3fsCurl::sseckeys.size();
|
||||
}
|
||||
|
@ -1157,7 +1154,7 @@ S3fsCurl* S3fsCurl::UploadMultipartPostRetryCallback(S3fsCurl* s3fscurl)
|
|||
// parse and get part_num, upload_id.
|
||||
std::string upload_id;
|
||||
std::string part_num_str;
|
||||
int part_num;
|
||||
int part_num;
|
||||
off_t tmp_part_num = 0;
|
||||
if(!get_keyword_value(s3fscurl->url, "uploadId", upload_id)){
|
||||
return NULL;
|
||||
|
@ -1168,7 +1165,7 @@ S3fsCurl* S3fsCurl::UploadMultipartPostRetryCallback(S3fsCurl* s3fscurl)
|
|||
if(!s3fs_strtoofft(&tmp_part_num, part_num_str.c_str(), /*base=*/ 10)){
|
||||
return NULL;
|
||||
}
|
||||
part_num = static_cast<off_t>(tmp_part_num);
|
||||
part_num = static_cast<int>(tmp_part_num);
|
||||
|
||||
if(s3fscurl->retry_count >= S3fsCurl::retries){
|
||||
S3FS_PRN_ERR("Over retry count(%d) limit(%s:%d).", s3fscurl->retry_count, s3fscurl->path.c_str(), part_num);
|
||||
|
@ -1204,7 +1201,7 @@ S3fsCurl* S3fsCurl::CopyMultipartPostRetryCallback(S3fsCurl* s3fscurl)
|
|||
// parse and get part_num, upload_id.
|
||||
std::string upload_id;
|
||||
std::string part_num_str;
|
||||
int part_num;
|
||||
int part_num;
|
||||
off_t tmp_part_num = 0;
|
||||
if(!get_keyword_value(s3fscurl->url, "uploadId", upload_id)){
|
||||
return NULL;
|
||||
|
@ -1215,7 +1212,7 @@ S3fsCurl* S3fsCurl::CopyMultipartPostRetryCallback(S3fsCurl* s3fscurl)
|
|||
if(!s3fs_strtoofft(&tmp_part_num, part_num_str.c_str(), /*base=*/ 10)){
|
||||
return NULL;
|
||||
}
|
||||
part_num = static_cast<off_t>(tmp_part_num);
|
||||
part_num = static_cast<int>(tmp_part_num);
|
||||
|
||||
if(s3fscurl->retry_count >= S3fsCurl::retries){
|
||||
S3FS_PRN_ERR("Over retry count(%d) limit(%s:%d).", s3fscurl->retry_count, s3fscurl->path.c_str(), part_num);
|
||||
|
@ -1333,7 +1330,7 @@ int S3fsCurl::ParallelMultipartUploadRequest(const char* tpath, headers_t& meta,
|
|||
s3fscurl_para->partdata.add_etag_list(&list);
|
||||
|
||||
// initiate upload part for parallel
|
||||
if(0 != (result = s3fscurl_para->UploadMultipartPostSetup(tpath, list.size(), upload_id))){
|
||||
if(0 != (result = s3fscurl_para->UploadMultipartPostSetup(tpath, static_cast<int>(list.size()), upload_id))){
|
||||
S3FS_PRN_ERR("failed uploading part setup(%d)", result);
|
||||
close(fd2);
|
||||
delete s3fscurl_para;
|
||||
|
@ -1430,7 +1427,7 @@ int S3fsCurl::ParallelMixMultipartUploadRequest(const char* tpath, headers_t& me
|
|||
S3FS_PRN_INFO3("Upload Part [tpath=%s][start=%lld][size=%lld][part=%zu]", SAFESTRPTR(tpath), static_cast<long long>(iter->offset), static_cast<long long>(iter->bytes), list.size());
|
||||
|
||||
// initiate upload part for parallel
|
||||
if(0 != (result = s3fscurl_para->UploadMultipartPostSetup(tpath, list.size(), upload_id))){
|
||||
if(0 != (result = s3fscurl_para->UploadMultipartPostSetup(tpath, static_cast<int>(list.size()), upload_id))){
|
||||
S3FS_PRN_ERR("failed uploading part setup(%d)", result);
|
||||
close(fd2);
|
||||
delete s3fscurl_para;
|
||||
|
@ -1461,7 +1458,7 @@ int S3fsCurl::ParallelMixMultipartUploadRequest(const char* tpath, headers_t& me
|
|||
S3FS_PRN_INFO3("Copy Part [tpath=%s][start=%lld][size=%lld][part=%zu]", SAFESTRPTR(tpath), static_cast<long long>(iter->offset + i), static_cast<long long>(bytes), list.size());
|
||||
|
||||
// initiate upload part for parallel
|
||||
if(0 != (result = s3fscurl_para->CopyMultipartPostSetup(tpath, tpath, list.size(), upload_id, meta))){
|
||||
if(0 != (result = s3fscurl_para->CopyMultipartPostSetup(tpath, tpath, static_cast<int>(list.size()), upload_id, meta))){
|
||||
S3FS_PRN_ERR("failed uploading part setup(%d)", result);
|
||||
close(fd2);
|
||||
delete s3fscurl_para;
|
||||
|
@ -2550,9 +2547,9 @@ std::string S3fsCurl::CalcSignatureV2(const std::string& method, const std::stri
|
|||
StringToSign += resource;
|
||||
|
||||
const void* key = S3fsCurl::AWSSecretAccessKey.data();
|
||||
int key_len = S3fsCurl::AWSSecretAccessKey.size();
|
||||
size_t key_len = S3fsCurl::AWSSecretAccessKey.size();
|
||||
const unsigned char* sdata = reinterpret_cast<const unsigned char*>(StringToSign.data());
|
||||
int sdata_len = StringToSign.size();
|
||||
size_t sdata_len = StringToSign.size();
|
||||
unsigned char* md = NULL;
|
||||
unsigned int md_len = 0;;
|
||||
|
||||
|
@ -2611,7 +2608,7 @@ std::string S3fsCurl::CalcSignature(const std::string& method, const std::string
|
|||
delete[] kService;
|
||||
|
||||
const unsigned char* cRequest = reinterpret_cast<const unsigned char*>(StringCQ.c_str());
|
||||
unsigned int cRequest_len = StringCQ.size();
|
||||
size_t cRequest_len = StringCQ.size();
|
||||
s3fs_sha256(cRequest, cRequest_len, &sRequest, &sRequest_len);
|
||||
|
||||
StringToSign = "AWS4-HMAC-SHA256\n";
|
||||
|
@ -2621,7 +2618,7 @@ std::string S3fsCurl::CalcSignature(const std::string& method, const std::string
|
|||
delete[] sRequest;
|
||||
|
||||
const unsigned char* cscope = reinterpret_cast<const unsigned char*>(StringToSign.c_str());
|
||||
unsigned int cscope_len = StringToSign.size();
|
||||
size_t cscope_len = StringToSign.size();
|
||||
unsigned char* md = NULL;
|
||||
unsigned int md_len = 0;
|
||||
|
||||
|
@ -2645,7 +2642,7 @@ void S3fsCurl::insertV4Headers()
|
|||
|
||||
case REQTYPE_COMPLETEMULTIPOST:
|
||||
{
|
||||
unsigned int cRequest_len = strlen(reinterpret_cast<const char *>(b_postdata));
|
||||
size_t cRequest_len = strlen(reinterpret_cast<const char *>(b_postdata));
|
||||
unsigned char* sRequest = NULL;
|
||||
unsigned int sRequest_len = 0;
|
||||
s3fs_sha256(b_postdata, cRequest_len, &sRequest, &sRequest_len);
|
||||
|
@ -2988,9 +2985,9 @@ bool S3fsCurl::AddSseRequestHead(sse_type_t ssetype, const std::string& input, b
|
|||
// ssekey_pos : -1 means "not" SSE-C type
|
||||
// 0 - X means SSE-C type and position for SSE-C key(0 is latest key)
|
||||
//
|
||||
bool S3fsCurl::PreHeadRequest(const char* tpath, const char* bpath, const char* savedpath, int ssekey_pos)
|
||||
bool S3fsCurl::PreHeadRequest(const char* tpath, const char* bpath, const char* savedpath, size_t ssekey_pos)
|
||||
{
|
||||
S3FS_PRN_INFO3("[tpath=%s][bpath=%s][save=%s][sseckeypos=%d]", SAFESTRPTR(tpath), SAFESTRPTR(bpath), SAFESTRPTR(savedpath), ssekey_pos);
|
||||
S3FS_PRN_INFO3("[tpath=%s][bpath=%s][save=%s][sseckeypos=%zu]", SAFESTRPTR(tpath), SAFESTRPTR(bpath), SAFESTRPTR(savedpath), ssekey_pos);
|
||||
|
||||
if(!tpath){
|
||||
return false;
|
||||
|
@ -3008,10 +3005,10 @@ bool S3fsCurl::PreHeadRequest(const char* tpath, const char* bpath, const char*
|
|||
responseHeaders.clear();
|
||||
|
||||
// requestHeaders
|
||||
if(0 <= ssekey_pos){
|
||||
if(0 == ssekey_pos){
|
||||
std::string md5;
|
||||
if(!S3fsCurl::GetSseKeyMd5(ssekey_pos, md5) || !AddSseRequestHead(sse_type_t::SSE_C, md5, true, false)){
|
||||
S3FS_PRN_ERR("Failed to set SSE-C headers for sse-c key pos(%d)(=md5(%s)).", ssekey_pos, md5.c_str());
|
||||
S3FS_PRN_ERR("Failed to set SSE-C headers for sse-c key pos(%zu)(=md5(%s)).", ssekey_pos, md5.c_str());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -3035,7 +3032,7 @@ int S3fsCurl::HeadRequest(const char* tpath, headers_t& meta)
|
|||
// At first, try to get without SSE-C headers
|
||||
if(!PreHeadRequest(tpath) || !fpLazySetup || !fpLazySetup(this) || 0 != (result = RequestPerform())){
|
||||
// If has SSE-C keys, try to get with all SSE-C keys.
|
||||
for(int pos = 0; static_cast<size_t>(pos) < S3fsCurl::sseckeys.size(); pos++){
|
||||
for(size_t pos = 0; pos < S3fsCurl::sseckeys.size(); pos++){
|
||||
if(!DestroyCurlHandle()){
|
||||
break;
|
||||
}
|
||||
|
@ -3947,7 +3944,7 @@ int S3fsCurl::MultipartHeadRequest(const char* tpath, off_t size, headers_t& met
|
|||
s3fscurl_para->partdata.add_etag_list(&list);
|
||||
|
||||
// initiate upload part for parallel
|
||||
if(0 != (result = s3fscurl_para->CopyMultipartPostSetup(tpath, tpath, list.size(), upload_id, meta))){
|
||||
if(0 != (result = s3fscurl_para->CopyMultipartPostSetup(tpath, tpath, static_cast<int>(list.size()), upload_id, meta))){
|
||||
S3FS_PRN_ERR("failed uploading part setup(%d)", result);
|
||||
delete s3fscurl_para;
|
||||
return result;
|
||||
|
@ -4056,7 +4053,7 @@ int S3fsCurl::MultipartRenameRequest(const char* from, const char* to, headers_t
|
|||
s3fscurl_para->partdata.add_etag_list(&list);
|
||||
|
||||
// initiate upload part for parallel
|
||||
if(0 != (result = s3fscurl_para->CopyMultipartPostSetup(from, to, list.size(), upload_id, meta))){
|
||||
if(0 != (result = s3fscurl_para->CopyMultipartPostSetup(from, to, static_cast<int>(list.size()), upload_id, meta))){
|
||||
S3FS_PRN_ERR("failed uploading part setup(%d)", result);
|
||||
delete s3fscurl_para;
|
||||
return result;
|
||||
|
|
16
src/curl.h
16
src/curl.h
|
@ -180,16 +180,16 @@ class S3fsCurl
|
|||
BodyData headdata; // header data by WriteMemoryCallback
|
||||
volatile long LastResponseCode;
|
||||
const unsigned char* postdata; // use by post method and read callback function.
|
||||
int postdata_remaining; // use by post method and read callback function.
|
||||
off_t postdata_remaining; // use by post method and read callback function.
|
||||
filepart partdata; // use by multipart upload/get object callback
|
||||
bool is_use_ahbe; // additional header by extension
|
||||
int retry_count; // retry count for multipart
|
||||
FILE* b_infile; // backup for retrying
|
||||
const unsigned char* b_postdata; // backup for retrying
|
||||
int b_postdata_remaining; // backup for retrying
|
||||
off_t b_postdata_remaining; // backup for retrying
|
||||
off_t b_partdata_startpos; // backup for retrying
|
||||
off_t b_partdata_size; // backup for retrying
|
||||
int b_ssekey_pos; // backup for retrying
|
||||
size_t b_ssekey_pos; // backup for retrying
|
||||
std::string b_ssevalue; // backup for retrying
|
||||
sse_type_t b_ssetype; // backup for retrying
|
||||
std::string b_from; // backup for retrying(for copy request)
|
||||
|
@ -318,8 +318,8 @@ class S3fsCurl
|
|||
static bool IsSetSseKmsId() { return !S3fsCurl::ssekmsid.empty(); }
|
||||
static const char* GetSseKmsId() { return S3fsCurl::ssekmsid.c_str(); }
|
||||
static bool GetSseKey(std::string& md5, std::string& ssekey);
|
||||
static bool GetSseKeyMd5(int pos, std::string& md5);
|
||||
static int GetSseKeyCount();
|
||||
static bool GetSseKeyMd5(size_t pos, std::string& md5);
|
||||
static size_t GetSseKeyCount();
|
||||
static bool SetContentMd5(bool flag);
|
||||
static bool SetVerbose(bool flag);
|
||||
static bool GetVerbose() { return S3fsCurl::is_verbose; }
|
||||
|
@ -376,8 +376,8 @@ class S3fsCurl
|
|||
bool GetResponseCode(long& responseCode, bool from_curl_handle = true);
|
||||
int RequestPerform(bool dontAddAuthHeaders=false);
|
||||
int DeleteRequest(const char* tpath);
|
||||
bool PreHeadRequest(const char* tpath, const char* bpath = NULL, const char* savedpath = NULL, int ssekey_pos = -1);
|
||||
bool PreHeadRequest(const std::string& tpath, const std::string& bpath, const std::string& savedpath, int ssekey_pos = -1) {
|
||||
bool PreHeadRequest(const char* tpath, const char* bpath = NULL, const char* savedpath = NULL, size_t ssekey_pos = -1);
|
||||
bool PreHeadRequest(const std::string& tpath, const std::string& bpath, const std::string& savedpath, size_t ssekey_pos = -1) {
|
||||
return PreHeadRequest(tpath.c_str(), bpath.c_str(), savedpath.c_str(), ssekey_pos);
|
||||
}
|
||||
int HeadRequest(const char* tpath, headers_t& meta);
|
||||
|
@ -415,7 +415,7 @@ class S3fsCurl
|
|||
int GetMultipartRetryCount() const { return retry_count; }
|
||||
void SetMultipartRetryCount(int retrycnt) { retry_count = retrycnt; }
|
||||
bool IsOverMultipartRetryCount() const { return (retry_count >= S3fsCurl::retries); }
|
||||
int GetLastPreHeadSeecKeyPos() const { return b_ssekey_pos; }
|
||||
size_t GetLastPreHeadSeecKeyPos() const { return b_ssekey_pos; }
|
||||
};
|
||||
|
||||
#endif // S3FS_CURL_H_
|
||||
|
|
|
@ -258,9 +258,9 @@ std::string prepare_url(const char* url)
|
|||
std::string path;
|
||||
std::string url_str = std::string(url);
|
||||
std::string token = std::string("/") + bucket;
|
||||
int bucket_pos;
|
||||
int bucket_length = token.size();
|
||||
int uri_length = 0;
|
||||
size_t bucket_pos;
|
||||
size_t bucket_length = token.size();
|
||||
size_t uri_length = 0;
|
||||
|
||||
if(!strncasecmp(url_str.c_str(), "https://", 8)){
|
||||
uri_length = 8;
|
||||
|
|
|
@ -195,7 +195,7 @@ bool PseudoFdInfo::AppendUploadPart(off_t start, off_t size, bool is_copy, int*
|
|||
|
||||
// set part number
|
||||
if(ppartnum){
|
||||
*ppartnum = upload_list.size();
|
||||
*ppartnum = static_cast<int>(upload_list.size());
|
||||
}
|
||||
|
||||
// set etag pointer
|
||||
|
|
|
@ -542,7 +542,7 @@ off_t PageList::GetTotalUnloadedPageSize(off_t start, off_t size) const
|
|||
return restsize;
|
||||
}
|
||||
|
||||
int PageList::GetUnloadedPages(fdpage_list_t& unloaded_list, off_t start, off_t size) const
|
||||
size_t PageList::GetUnloadedPages(fdpage_list_t& unloaded_list, off_t start, off_t size) const
|
||||
{
|
||||
// If size is 0, it means loading to end.
|
||||
if(0 == size){
|
||||
|
@ -801,7 +801,7 @@ bool PageList::Serialize(CacheFileStat& file, bool is_output, ino_t inode)
|
|||
return true;
|
||||
}
|
||||
char* ptmp = new char[st.st_size + 1];
|
||||
int result;
|
||||
ssize_t result;
|
||||
// read from file
|
||||
if(0 >= (result = pread(file.GetFd(), ptmp, st.st_size, 0))){
|
||||
S3FS_PRN_ERR("failed to read stats(%d)", errno);
|
||||
|
|
|
@ -107,7 +107,7 @@ class PageList
|
|||
bool SetPageLoadedStatus(off_t start, off_t size, PageList::page_status pstatus = PAGE_LOADED, bool is_compress = true);
|
||||
bool FindUnloadedPage(off_t start, off_t& resstart, off_t& ressize) const;
|
||||
off_t GetTotalUnloadedPageSize(off_t start = 0, off_t size = 0) const; // size=0 is checking to end of list
|
||||
int GetUnloadedPages(fdpage_list_t& unloaded_list, off_t start = 0, off_t size = 0) const; // size=0 is checking to end of list
|
||||
size_t GetUnloadedPages(fdpage_list_t& unloaded_list, off_t start = 0, off_t size = 0) const; // size=0 is checking to end of list
|
||||
bool GetPageListsForMultipartUpload(fdpage_list_t& dlpages, fdpage_list_t& mixuppages, off_t max_partsize);
|
||||
bool GetNoDataPageLists(fdpage_list_t& nodata_pages, off_t start = 0, size_t size = 0);
|
||||
|
||||
|
|
|
@ -281,7 +281,7 @@ size_t get_sha256_digest_length()
|
|||
}
|
||||
|
||||
#ifdef USE_GNUTLS_NETTLE
|
||||
bool s3fs_sha256(const unsigned char* data, unsigned int datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
bool s3fs_sha256(const unsigned char* data, size_t datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
{
|
||||
(*digestlen) = static_cast<unsigned int>(get_sha256_digest_length());
|
||||
*digest = new unsigned char[*digestlen];
|
||||
|
@ -325,7 +325,7 @@ unsigned char* s3fs_sha256_fd(int fd, off_t start, off_t size)
|
|||
|
||||
#else // USE_GNUTLS_NETTLE
|
||||
|
||||
bool s3fs_sha256(const unsigned char* data, unsigned int datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
bool s3fs_sha256(const unsigned char* data, size_t datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
{
|
||||
size_t len = (*digestlen) = static_cast<unsigned int>(get_sha256_digest_length());
|
||||
*digest = new unsigned char[len];
|
||||
|
|
|
@ -49,7 +49,7 @@ static struct timespec cvt_string_to_time(const char *str)
|
|||
strmtime.erase(pos);
|
||||
}
|
||||
}
|
||||
return {cvt_strtoofft(strmtime.c_str()), nsec};
|
||||
return {static_cast<time_t>(cvt_strtoofft(strmtime.c_str())), nsec};
|
||||
}
|
||||
|
||||
static struct timespec get_time(const headers_t& meta, const char *header)
|
||||
|
|
|
@ -198,7 +198,7 @@ size_t get_sha256_digest_length()
|
|||
return SHA256_LENGTH;
|
||||
}
|
||||
|
||||
bool s3fs_sha256(const unsigned char* data, unsigned int datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
bool s3fs_sha256(const unsigned char* data, size_t datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
{
|
||||
(*digestlen) = static_cast<unsigned int>(get_sha256_digest_length());
|
||||
*digest = new unsigned char[*digestlen];
|
||||
|
|
|
@ -227,9 +227,9 @@ static bool s3fs_HMAC_RAW(const void* key, size_t keylen, const unsigned char* d
|
|||
(*digestlen) = EVP_MAX_MD_SIZE * sizeof(unsigned char);
|
||||
*digest = new unsigned char[*digestlen];
|
||||
if(is_sha256){
|
||||
HMAC(EVP_sha256(), key, keylen, data, datalen, *digest, digestlen);
|
||||
HMAC(EVP_sha256(), key, static_cast<int>(keylen), data, datalen, *digest, digestlen);
|
||||
}else{
|
||||
HMAC(EVP_sha1(), key, keylen, data, datalen, *digest, digestlen);
|
||||
HMAC(EVP_sha1(), key, static_cast<int>(keylen), data, datalen, *digest, digestlen);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -299,7 +299,7 @@ size_t get_sha256_digest_length()
|
|||
return SHA256_DIGEST_LENGTH;
|
||||
}
|
||||
|
||||
bool s3fs_sha256(const unsigned char* data, unsigned int datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
bool s3fs_sha256(const unsigned char* data, size_t datalen, unsigned char** digest, unsigned int* digestlen)
|
||||
{
|
||||
(*digestlen) = EVP_MAX_MD_SIZE * sizeof(unsigned char);
|
||||
*digest = new unsigned char[*digestlen];
|
||||
|
|
22
src/s3fs.cpp
22
src/s3fs.cpp
|
@ -2519,18 +2519,18 @@ static S3fsCurl* multi_head_retry_callback(S3fsCurl* s3fscurl)
|
|||
if(!s3fscurl){
|
||||
return NULL;
|
||||
}
|
||||
int ssec_key_pos= s3fscurl->GetLastPreHeadSeecKeyPos();
|
||||
size_t ssec_key_pos= s3fscurl->GetLastPreHeadSeecKeyPos();
|
||||
int retry_count = s3fscurl->GetMultipartRetryCount();
|
||||
|
||||
// retry next sse key.
|
||||
// if end of sse key, set retry master count is up.
|
||||
ssec_key_pos = (ssec_key_pos < 0 ? 0 : ssec_key_pos + 1);
|
||||
ssec_key_pos = (ssec_key_pos == -1 ? 0 : ssec_key_pos + 1);
|
||||
if(0 == S3fsCurl::GetSseKeyCount() || S3fsCurl::GetSseKeyCount() <= ssec_key_pos){
|
||||
if(s3fscurl->IsOverMultipartRetryCount()){
|
||||
S3FS_PRN_ERR("Over retry count(%d) limit(%s).", s3fscurl->GetMultipartRetryCount(), s3fscurl->GetSpacialSavedPath().c_str());
|
||||
return NULL;
|
||||
}
|
||||
ssec_key_pos= -1;
|
||||
ssec_key_pos = -1;
|
||||
retry_count++;
|
||||
}
|
||||
|
||||
|
@ -3203,7 +3203,7 @@ static int s3fs_listxattr(const char* path, char* list, size_t size)
|
|||
// check parameters
|
||||
if(0 == size){
|
||||
free_xattrs(xattrs);
|
||||
return total;
|
||||
return static_cast<int>(total);
|
||||
}
|
||||
if(!list || size < total){
|
||||
free_xattrs(xattrs);
|
||||
|
@ -3220,7 +3220,7 @@ static int s3fs_listxattr(const char* path, char* list, size_t size)
|
|||
}
|
||||
free_xattrs(xattrs);
|
||||
|
||||
return total;
|
||||
return static_cast<int>(total);
|
||||
}
|
||||
|
||||
static int s3fs_removexattr(const char* path, const char* name)
|
||||
|
@ -4216,8 +4216,8 @@ static int my_fuse_opt_proc(void* data, const char* arg, int key, struct fuse_ar
|
|||
return 1; // continue for fuse option
|
||||
}
|
||||
if(is_prefix(arg, "umask=")){
|
||||
s3fs_umask = cvt_strtoofft(strchr(arg, '=') + sizeof(char), /*base=*/ 8);
|
||||
s3fs_umask &= (S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
off_t s3fs_umask_tmp = cvt_strtoofft(strchr(arg, '=') + sizeof(char), /*base=*/ 8);
|
||||
s3fs_umask = s3fs_umask_tmp & (S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
is_s3fs_umask = true;
|
||||
return 1; // continue for fuse option
|
||||
}
|
||||
|
@ -4226,8 +4226,8 @@ static int my_fuse_opt_proc(void* data, const char* arg, int key, struct fuse_ar
|
|||
return 1; // continue for fuse option
|
||||
}
|
||||
if(is_prefix(arg, "mp_umask=")){
|
||||
mp_umask = cvt_strtoofft(strchr(arg, '=') + sizeof(char), /*base=*/ 8);
|
||||
mp_umask &= (S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
off_t mp_umask_tmp = cvt_strtoofft(strchr(arg, '=') + sizeof(char), /*base=*/ 8);
|
||||
mp_umask = mp_umask_tmp & (S_IRWXU | S_IRWXG | S_IRWXO);
|
||||
is_mp_umask = true;
|
||||
return 0;
|
||||
}
|
||||
|
@ -4242,12 +4242,12 @@ static int my_fuse_opt_proc(void* data, const char* arg, int key, struct fuse_ar
|
|||
return 0;
|
||||
}
|
||||
if(is_prefix(arg, "retries=")){
|
||||
off_t retries = static_cast<int>(cvt_strtoofft(strchr(arg, '=') + sizeof(char)));
|
||||
off_t retries = cvt_strtoofft(strchr(arg, '=') + sizeof(char));
|
||||
if(retries == 0){
|
||||
S3FS_PRN_EXIT("retries must be greater than zero");
|
||||
return -1;
|
||||
}
|
||||
S3fsCurl::SetRetries(retries);
|
||||
S3fsCurl::SetRetries(static_cast<int>(retries));
|
||||
return 0;
|
||||
}
|
||||
if(is_prefix(arg, "use_cache=")){
|
||||
|
|
|
@ -45,7 +45,7 @@ bool s3fs_HMAC(const void* key, size_t keylen, const unsigned char* data, size_t
|
|||
bool s3fs_HMAC256(const void* key, size_t keylen, const unsigned char* data, size_t datalen, unsigned char** digest, unsigned int* digestlen);
|
||||
size_t get_md5_digest_length();
|
||||
unsigned char* s3fs_md5_fd(int fd, off_t start, off_t size);
|
||||
bool s3fs_sha256(const unsigned char* data, unsigned int datalen, unsigned char** digest, unsigned int* digestlen);
|
||||
bool s3fs_sha256(const unsigned char* data, size_t datalen, unsigned char** digest, unsigned int* digestlen);
|
||||
size_t get_sha256_digest_length();
|
||||
unsigned char* s3fs_sha256_fd(int fd, off_t start, off_t size);
|
||||
|
||||
|
|
|
@ -458,7 +458,7 @@ bool simple_parse_xml(const char* data, size_t len, const char* key, std::string
|
|||
value.clear();
|
||||
|
||||
xmlDocPtr doc;
|
||||
if(NULL == (doc = xmlReadMemory(data, len, "", NULL, 0))){
|
||||
if(NULL == (doc = xmlReadMemory(data, static_cast<int>(len), "", NULL, 0))){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user