New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support SHA256 checksums and use checksum verification #9662
Comments
It looks like this checksum is additionally Base64 encoded. |
Dependent on upstream issue. |
Thanks for looking into this. I also wondered if the custom checksum comparison implementation in Cyberduck (as it currently exists) is even necessary here. Jargon should compute and transmit a client checksum and have the iRODS server validate it, if this feature is not turned off. Currently it is turned off with BTW, having Jargon handle the client checksumming would have the added benefit of that checksum being stored in the iRODS database for future comparisons (I'm not 100% sure about that, but the C client has a similar behavior). |
(I should add that the Jargon checksumming does not work if you upload a file with the streaming API. I found out in a similar thread for a different Jargon client: irods-contrib/irods-cloud-browser#182 ) |
I wanted to add that I tested Cyberduck 5.1.0 upload with iRODS 4.1.9 today in more depth, with Cyberduck debug log enabled. Cyberduck does this call: The iRODS/Jargon response will contain a checksum only if an iRODS server rule for calculating the checksum on upload is defined ( The iRODS default rule file does not contain the There is another dependency on server configuration built in: the ObjStat information contains an empty iRODS checksum even if I think the ideal implementation would be to remove Maybe the Jargon verify feature was turned off for performance reasons - then it would be good to have this configurable for people who would like to use the Jargon default, maybe as a "hidden option" somewhere. |
1 similar comment
I've had a look at the changes - looks good in general, but I wanted to point out that there are still two types of checksums that iRODS may return, depending on iRODS server configuration and/or how the client uploaded a file. If you want to work with the checksum obtained from iRODS, the checksum string may
Supporting both cases would cover many possible iRODS setups (IMHO). |
Milestone renamed |
cyberduck.log says:
WARN ch.cyberduck.core.io.Checksum - Failure to detect algorithm for checksum sha2:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
I've seen that
core/src/main/java/ch/cyberduck/core/io/Checksum.java
guesses different checksum algorithms, and its likely confused by the 'sha2:' prefix it gets from iRODS.Can you add support for this, please?
The text was updated successfully, but these errors were encountered: