javatomcatwebdavjackrabbit

How to get checksum for a file on Jackrabbit server?


We have run a standard Jackrabbit WebDAV server and uploaded some files in it.

When we upload a new file with the same name we need to check if the file on the server is up to date and shouldn't be replaced. The initial idea was to use ETags but we it turned out to be too weak and is not suitable for the application.

So now the idea is to check the checksum (hash) of the incoming and existing files. As files can be pretty big and downloading everytime can be a time-consuming operation, it's better to have an option to easily obtain checksum for already uploaded files.

So my question: are there any options to get a checksum for files uploaded to the server? Maybe there are some other options or features that will help in such file handling?


Solution

  • There used to be Content-MD5 for that (in the HTTP spec, not Jackrabbit).

    The HTTP Working Group currently works on new digest types (see https://httpwg.org/http-extensions/draft-ietf-httpbis-digest-headers.html), but this is still work-in-progress and is not implemented in Jackrabbit.

    That said, getting a hash definitively could be implemented as a WebDAV property, or using a WebDAV extension report.