Following document doesn't speak about base64 encoding for crc32c https://www.iana.org/assignments/http-dig-alg/http-dig-alg.xml and Davix checksum extraction magic also don't really expect base64 encoded crc32c https://gitlab.cern.ch/dmc/davix/-/blob/devel/src/utils/checksum_extractor.cpp#L72-L111 btw: crc32c is not supported by all our storage implementation (e.g. dCache) https://github.com/dCache/dcache/blob/master/modules/dcache/src/main/java/org/dcache/util/Checksums.java#L50-L55 Petr On 3/8/23 16:00, Doidge, Matt wrote: > Hello all, > I've was tinkering after adding crc32c support to one of our xrootd servers and saw an odd behaviour with gfal-sum over https when trying to return a crc32c checksum - it's returning an encoded version of the checksum. gfal-sum over root works as expected. xrdcrc32c performed on the file locally returns the expected result. > > gfal-sum root://stor015.hec.lancs.ac.uk:1095/cephfs/grid/dteam/crc32chttpstest5.txt crc32c > root://stor015.hec.lancs.ac.uk:1095/cephfs/grid/dteam/crc32chttpstest5.txt d98fa965 > > $gfal-sum https://stor015.hec.lancs.ac.uk:1095/cephfs/grid/dteam/crc32chttpstest5.txt crc32c > https://stor015.hec.lancs.ac.uk:1095/cephfs/grid/dteam/crc32chttpstest5.txt 2Y+pZQ== > > $ echo "2Y+pZQ==" | base64 -d | xxd -ps > d98fa965 > > I tried to deduce if this is a problem within gfal tools, and looking into the verbose output (-vvv) I think the "2Y+pZQ==" is what is being returned by the server, from a snippet below: > > DEBUG Davix: Request sent; retry is 0. > INFO Davix: < HTTP/1.1 200 OK > INFO Davix: < Connection: Keep-Alive > INFO Davix: < Server: XrootD/v5.5.2 > INFO Davix: < Content-Length: 996 > INFO Davix: < Digest: crc32c=2Y+pZQ== > INFO Davix: < > DEBUG Davix: End of headers. > > The file exists on disk with the extended attribute below: > user.XrdCks.crc32c=0sY3JjMzJjAAAAAAAAAAAAAAAAAABkCJzmAAAAAAAAAATZj6llAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA > > (which again if you binary decode you can see the checksum in there). > > Note with adler32 we do not see anything out of the ordinary, checksums are returned as expected with https:// or root:// Our filesystem xroot is writing to is cephfs, the operating system is Rocky8, and xroot version 5.5.3. The line used to configure our checksums is just: > > xrootd.chksum max 32 adler32 crc32c > > I am wondering if this is an xroot bug (then I'll open an issue), a likely bug in our setup (then I'd appreciate a pointer to it!) or a problem with gfal (where I'll throw them a ticket). > > Thanks in advance all, > Matt > ######################################################################## > Use REPLY-ALL to reply to list > > To unsubscribe from the XROOTD-L list, click the following link: > https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-L list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1