Hello Fabrizio Checksumming on bbrprod01 should work. What is the file name you pass to GetChecksum ? It should be /prod/store/PRskims/R14/16.0.1a/AllEvents/23/AllEvents_2301.01.root Cheers, Wilko On Thu, 18 Nov 2004, Fabrizio Furano wrote: > 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 > > >