Comments (10)
Seems to work on s390x.
from librsync.
Can you have a look whether WORDS_BIGENDIAN
and NATIVE_LITTLE_ENDIAN
are getting set correctly?
from librsync.
WORDS_BIGENDIAN
is set, NATIVE_LITTLE_ENDIAN
is unset (checked by a program including config.h
and blake2-impl.h
).
from librsync.
I think the next step is to add a test that BLAKE2 produces the right hashes for specified input.
from librsync.
This might have been fixed by the change to CMake - please re-test if you have a bigendian machine.
from librsync.
Still fails in 01215e2
from librsync.
This is either a bug in the CMake config for blake2, or its a bug in blake2 itself.
The blake2 we use is a copy of upstream taken some time ago, so if this is a blake2 bug, it may be fixed upstream already. I also note that Debian sid now has a libb2 package, so this is starting to be available as a library on some platforms, though I don't think it's widely enough available that we don't need to provide it ourselves. IMHO we should;
-
Check the endian related config settings needed by blake2 vs what we have in our config.h and CMakeLists.txt to make sure we are setting things right.
-
Get a newer copy from upstream to see if it's an upstream bug that's been fixed.
-
Change our cmake config to use the platform provided library if it exists.
from librsync.
I had a look and there is nothing endian related in our CMakeLists.txt. Our config.h.cmake includes a bunch of #ifdef tests that look to me like it would default to little-endian unless on apple with AC_APPLE_UNIVERSAL_BUILD and BIG_ENDIAN defined, which is not exactly robust. IMHO we should use cmake's TestBigEndian.
However, your tests seem to indicate that the existing limited endian check is correctly detecting your platform as big-endian. This suggests it must be a blake2 bug in the version we have a copy of.
from librsync.
I just created pull request #113 to update to the latest blake2 reference implementation. Can someone check/confirm if this fixes this problem?
from librsync.
For the record, pull request #114 adds support for using libb2 if it is found.
from librsync.
Related Issues (20)
- Supplying rdiff Base File Using Pipe Results in Illegal Seek Error in librsync HOT 8
- Generate signature from empty basis HOT 2
- Replace popt with something better supported. HOT 3
- Improve GitHub and Doxygen docs. HOT 2
- popt not found on Pop_OS Hirsute
- rsync vs network speed HOT 9
- rs_patch_file old <-> new file HOT 1
- 1) sig file -> size 0 ? 2) static/dynamic lib Windows ? HOT 6
- Runtime error when linking to rsync MSVC compiled with MT or MTd ? HOT 2
- Determine delta size before generation (streaming api) HOT 2
- build 2.3.2 with msvs 2019 failed HOT 2
- [Feature Request] Implement FastCDC? HOT 7
- Request: Add windows build to stable release HOT 2
- v2.3.3 tests are failing only on s390x HOT 4
- rdiff v2.3.4 I/O error on Linux Mint HOT 6
- rdiff v2.3.4 popt.dll error on Windows HOT 10
- Suggestion: have static binary for windows users HOT 2
- Migration to GitHub is not complete HOT 1
- Support for MacOS universal2 architecture ? HOT 3
- Calculate signature size upfront? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from librsync.