-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
fix rendering of multiple checksums #38304
Conversation
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
@felix-schwarz It seems that the ios-sdk overwrites the item checksums with the ones from the last oc:checksum property in Line 196 of so ... fixing this would make ios clients not pick up the correct checksum, right? |
@michaelstingl the android client does not use checksums, yet: owncloud/android#1840 right? |
@TheOneRing The desktop client parses a byte array It tries to grab the best hash until the next whitespace or the end of the line: https://github.com/owncloud/client/blob/3ef9835f8bed0ca36e67dd79abed10acba63f77d/src/common/checksums.cpp#L157 This should work when parsing the But when parsing the propfind response the code checks the Wouldn't that pass in all of |
yes, exactly |
To summarize:
I fear we need to stay bug compatible with old clients. We could add a user agent switch ... |
The SDK won't overwrite previously parsed checksums, but re-use them and append new ones:
No, as shown above, it'd use all of them and should just work with that change. |
Let's stay bug compatible. Do not merge this. |
Hey OC10, long time no see...
I am implementing checksum support in ocis and wondered why oc10 is not rendiring multiple checksums as descriped in the original pr: #22199
The root cause is that at the time there was only a single checksum and it was expected to be comma seperated as can be read in #21997 (comment)
When multiple checksums got implemented they were seperated by
' '
in the database. leading to this output, which was however untested:😭
b985261#diff-c76e89d5d2c586430906ac3c09dab6fb41a261ddc475febbcc6c79fd85872faeR25 would add tests but with multiple checksums in one row. This is part of #27097
but webdav only returned one checksum: 05e11ce
still digging for reasons where this went unnoticed ...
the current line in the tests was introduced in 014530b which was part of #27345
This was the change that exposed all hashes via webdav: https://github.com/owncloud/core/pull/27345/files#diff-1d6ed4804160da213bc58248990a6936622ce53100a23535d207dba153f7e759
The PR also cemented the wrong rendering.
@dragotin @micbar @IljaN what do we do about this?