Hi Wilko, I changed that function in order to handle any checksum size. Unfortunately I am not able to find a server/file giving me any checksum. This is what I get from bbrprod01: 041118 06:15:44 001 Xrd: SendGenCommand Server declared error 3010:Check summing path '/kanga/prod/store/PRskims/R14/16.0.1a/AllEvents/23/AllEvents_2301.01.root' is disallowed. Please, can you tell me something I can checksum somewhere? I will commit the change when I am able to test it at least once. Differently from the former version, which I committed without any available server doing checksums at the time... Fabrizio Wilko Kroeger wrote: > Hello Fabrizio > > I tried the GetChecksum perl interface (on linux) with the > latest version. It kind of works but produces a core after > calling. > The problem is in the usage of the shared buffer (char *sharedbuf) > in XrdClientAdmin_c.cc. > > XrdGetChecksum() uses this buffer to hold the checksum returned from the > server (AFAIK). I think the core is produced if the buffer is to small. > I changed in XrdGetChecksum() > > from: > memset(sharedbuf, 0, sizeof(sharedbuf)); > adminst->GetChecksum((kXR_char *)path, (kXR_char *)sharedbuf); > > to: > SharedBufRealloc(30); > memset(sharedbuf, 0, 30); > adminst->GetChecksum((kXR_char *)path, (kXR_char *)sharedbuf); > > and then it works fine. Is there a better way to allocate the buffer? > I just choose a size (=30) that is safe for our purpose but it isn't > guaranteed that it will work if a different checksum algorithm is used > (Also not only the checksum but also a string is returned e.g.: > crc32 3140090365) > > Cheers, > Wilko >