diff --git a/common/utils/utils.cpp b/common/utils/utils.cpp index 2ad57ee51dd9a1a762b46367182ab17e98a36d94..585c69833ea0385e257b6c6db9bb28565889bf24 100644 --- a/common/utils/utils.cpp +++ b/common/utils/utils.cpp @@ -720,18 +720,6 @@ uint32_t getAdler32(const uint8_t *buf, const uint32_t len) return adler32(checksum, (const Bytef*)buf, len); } -//------------------------------------------------------------------------------ -// getAdler32String -//------------------------------------------------------------------------------ -std::string getAdler32String(const uint8_t *buf, const uint32_t len) -{ - const uint32_t checksum = adler32(0L, Z_NULL, 0); - std::stringstream ret; - ret << "0X" << std::noshowbase << std::hex << std::setw(8) << std::setfill('0') << std::uppercase - << adler32(checksum, (const Bytef*)buf, len); - return ret.str(); -} - //------------------------------------------------------------------------------ // getShortHostname //------------------------------------------------------------------------------ diff --git a/common/utils/utils.hpp b/common/utils/utils.hpp index 9990ff22db3cdc49e7771839d7d7696de4416ce9..a0d0afa2f96831ae128241141fb12c7b8539dac2 100644 --- a/common/utils/utils.hpp +++ b/common/utils/utils.hpp @@ -325,16 +325,6 @@ namespace utils { */ uint32_t getAdler32(const uint8_t *buf, const uint32_t len); - /** - * Returns the alder32 checksum of the specified buffer in string format, - * CTA style that is with leading 0x, 8 digits with leading 0 and uppercase. - * - * @param buf The buffer. - * @param len The length of the buffer in bytes. - * @return the alder32 checksum of the specified buffer. - */ - std::string getAdler32String(const uint8_t *buf, const uint32_t len); - /** * Returns true if the attributes of the current process indicate that it will * produce a core dump if it receives a signal whose behaviour is to produce a diff --git a/objectstore/cta.proto b/objectstore/cta.proto index 38f4feb246b30c92a714ad66b473b683e4f52603..8669b7f1bca23a30e956c3b8ae0c69bbf8979f70 100644 --- a/objectstore/cta.proto +++ b/objectstore/cta.proto @@ -181,7 +181,7 @@ message TapeFile { required uint64 creationtime = 9125; //required string checksumtype = 9126; DEPRECATED //required string checksumvalue = 9127; DEPRECATED - required string checksumblob = 9128; + required bytes checksumblob = 9128; } message DiskFileInfo { @@ -201,7 +201,7 @@ message ArchiveFile { required DiskFileInfo diskfileinfo= 4355; //required string checksumtype = 4356; DEPRECATED //required string checksumvalue = 4357; DEPRECATED - required string checksumblob = 4362; + required bytes checksumblob = 4362; required uint64 creationtime = 4358; repeated TapeFile tapefiles = 4359; required uint64 reconciliationtime = 4360; @@ -327,7 +327,7 @@ message ArchiveRequest { required MountPolicy mountpolicy = 8995; //required string checksumtype = 9000; DEPRECATED //required string checksumvalue = 9010; DEPRECATED - required string checksumblob = 9011; + required bytes checksumblob = 9011; required uint64 creationtime = 9015; required uint64 reconcilationtime = 9017; required DiskFileInfo diskfileinfo = 9040; diff --git a/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp b/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp index 132058f001cbf079eb2b2a2b7c8765d33ab213fc..a49429d4c42a9ced22fbc6eee383ca8a614e157b 100644 --- a/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp +++ b/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp @@ -437,7 +437,7 @@ TEST_P(DataTransferSessionTest, DataTransferSessionGooddayRecall) { // Create file entry in the archive namespace tapeFileWritten.archiveFileId=fseq; - tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32String(data, archiveFileSize)); + tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32(data, archiveFileSize)); tapeFileWritten.vid=volInfo.vid; tapeFileWritten.size=archiveFileSize; tapeFileWritten.fSeq=fseq; @@ -616,7 +616,7 @@ TEST_P(DataTransferSessionTest, DataTransferSessionWrongRecall) { std::set<cta::catalogue::TapeItemWrittenPointer> tapeFileWrittenSet; tapeFileWrittenSet.insert(tapeFileWrittenUP.release()); tapeFileWritten.archiveFileId=666; - tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, "0xDEADBEEF"); + tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::checksum::ChecksumBlob::HexToByteArray("0xDEADBEEF")); tapeFileWritten.vid=volInfo.vid; tapeFileWritten.size=archiveFileSize; tapeFileWritten.fSeq=fseq; @@ -639,7 +639,7 @@ TEST_P(DataTransferSessionTest, DataTransferSessionWrongRecall) { std::set<cta::catalogue::TapeItemWrittenPointer> tapeFileWrittenSet; tapeFileWrittenSet.insert(tapeFileWrittenUP.release()); tapeFileWritten.archiveFileId=1000 + fseq; - tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32String(data, archiveFileSize)); + tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32(data, archiveFileSize)); tapeFileWritten.vid=volInfo.vid; tapeFileWritten.size=archiveFileSize; tapeFileWritten.fSeq=fseq + 1; @@ -814,7 +814,7 @@ TEST_P(DataTransferSessionTest, DataTransferSessionRAORecall) { // Create file entry in the archive namespace tapeFileWritten.archiveFileId=fseq; - tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32String(data, archiveFileSize)); + tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32(data, archiveFileSize)); tapeFileWritten.vid=volInfo.vid; tapeFileWritten.size=archiveFileSize; tapeFileWritten.fSeq=fseq; @@ -1023,7 +1023,7 @@ TEST_P(DataTransferSessionTest, DataTransferSessionNoSuchDrive) { // Create file entry in the archive namespace tapeFileWritten.archiveFileId=fseq; - tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32String(data, archiveFileSize)); + tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32(data, archiveFileSize)); tapeFileWritten.vid=volInfo.vid; tapeFileWritten.size=archiveFileSize; tapeFileWritten.fSeq=fseq; @@ -1169,7 +1169,7 @@ TEST_P(DataTransferSessionTest, DataTransferSessionFailtoMount) { // Create file entry in the archive namespace tapeFileWritten.archiveFileId=fseq; - tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32String(data, archiveFileSize)); + tapeFileWritten.checksumBlob.insert(cta::checksum::ADLER32, cta::utils::getAdler32(data, archiveFileSize)); tapeFileWritten.vid=volInfo.vid; tapeFileWritten.size=archiveFileSize; tapeFileWritten.fSeq=fseq; diff --git a/tests/TempFile.cpp b/tests/TempFile.cpp index a55ed032905b546078d00c3aadf9482877a87c1d..5b21edbc9555d000f0beb480a671b9d356297189 100644 --- a/tests/TempFile.cpp +++ b/tests/TempFile.cpp @@ -57,14 +57,14 @@ void TempFile::randomFill(size_t size) { out.write(buff.get(), size); } -std::string TempFile::adler32() { +uint32_t TempFile::adler32() { struct ::stat fileStat; cta::exception::Errnum::throwOnMinusOne(::stat(m_path.c_str(), &fileStat), "In TempFile::adler32(): failed to stat file."); std::unique_ptr<char[] > buff(new char[fileStat.st_size]); std::ifstream in(m_path, std::ios::in | std::ios::binary); in.read(buff.get(), fileStat.st_size); - return cta::utils::getAdler32String((uint8_t*)buff.get(), fileStat.st_size); + return cta::utils::getAdler32((uint8_t*)buff.get(), fileStat.st_size); } void TempFile::stringFill(const std::string& string) { @@ -77,4 +77,4 @@ void TempFile::stringAppend(const std::string& string) { out << string; } -} \ No newline at end of file +} diff --git a/tests/TempFile.hpp b/tests/TempFile.hpp index b23daa6d5cfcc2473334fee738d3474b1d46e7ef..7f4fc14306b7df7aef158d41aaa389ec3e066f05 100644 --- a/tests/TempFile.hpp +++ b/tests/TempFile.hpp @@ -31,11 +31,11 @@ public: TempFile(const std::string& path); std::string path(); void randomFill(size_t size); - std::string adler32(); + uint32_t adler32(); void stringFill(const std::string &string); void stringAppend(const std::string &string); ~TempFile(); private: std::string m_path; }; -} \ No newline at end of file +}