Commit Graph

12469 Commits

Author SHA1 Message Date
Kovid Goyal
350af446d3 More tests 2023-07-30 19:49:44 +05:30
Kovid Goyal
39f7f2d7b4 Cant flush response in a parser callback as it can cause recursive parsing 2023-07-30 19:49:44 +05:30
Kovid Goyal
f4c96715ac Fix buffer leak in parse_bytes() function used during testing 2023-07-30 19:49:44 +05:30
Kovid Goyal
34dfd1881f Update docs on what is needed for the transfer kitten 2023-07-30 19:49:44 +05:30
Kovid Goyal
15978c9c60 Infrastructure for testing the transfer kitten 2023-07-30 19:49:43 +05:30
Kovid Goyal
aa3d986251 Basic rsync transmission works 2023-07-30 19:49:43 +05:30
Kovid Goyal
f305b03897 ... 2023-07-30 19:49:43 +05:30
Kovid Goyal
8d4fe0e821 Fix de-serialization of base64 data 2023-07-30 19:49:43 +05:30
Kovid Goyal
42edfa6a47 Prevent ruff from failing because of to be ported test 2023-07-30 19:49:43 +05:30
Kovid Goyal
86a1a40d1d remove unused code 2023-07-30 19:49:43 +05:30
Kovid Goyal
a2df829912 Remove python send/receive implementations 2023-07-30 19:49:43 +05:30
Kovid Goyal
063c39ea12 Wire up the rsync code in the send kitten 2023-07-30 19:49:43 +05:30
Kovid Goyal
1523424458 Port file_transmission.py to use the new rsync code 2023-07-30 19:49:43 +05:30
Kovid Goyal
edc1669ced Ported tests all pass 2023-07-30 19:49:43 +05:30
Kovid Goyal
bbbc33d4dc ... 2023-07-30 19:49:43 +05:30
Kovid Goyal
7a9c425c66 Nicer function names for endian encode/decode 2023-07-30 19:49:43 +05:30
Kovid Goyal
b03fa08884 ... 2023-07-30 19:49:43 +05:30
Kovid Goyal
9a5b3a7315 Start work on porting rsync roundtrip tests 2023-07-30 19:49:43 +05:30
Kovid Goyal
05373c6e2a Get the new rsync code building 2023-07-30 19:49:43 +05:30
Kovid Goyal
b5498090df Finish the port of the rsync algorithm to C 2023-07-30 19:49:43 +05:30
Kovid Goyal
caa9c27554 Read serialized signatures 2023-07-30 19:49:42 +05:30
Kovid Goyal
ffbdf3f545 ... 2023-07-30 19:49:42 +05:30
Kovid Goyal
27eb89b4a9 Type signature for Patcher 2023-07-30 19:49:42 +05:30
Kovid Goyal
69f347e1a2 Port code to apply serialized delta operations 2023-07-30 19:49:42 +05:30
Kovid Goyal
d485d487ea Use pkg_config for xxhash flags 2023-07-30 19:49:42 +05:30
Kovid Goyal
f2a6100f1f Replace more references to librsync 2023-07-30 19:49:42 +05:30
Kovid Goyal
05f776d4d7 Replace bundling of librsync with libxxhash 2023-07-30 19:49:42 +05:30
Kovid Goyal
98294b8cab Specialize binary encoding on little endian arches 2023-07-30 19:49:42 +05:30
Kovid Goyal
c84874ca8d Add tests for the xxhash based hashers 2023-07-30 19:49:42 +05:30
Kovid Goyal
37d9a572ee Restore a couple of needed functions to the rsync module 2023-07-30 19:49:42 +05:30
Kovid Goyal
493d49e206 Replace librsync with xxHash in sources.json 2023-07-30 19:49:42 +05:30
Kovid Goyal
08e3dbb8e7 Patcher signature generation implemented 2023-07-30 19:49:42 +05:30
Kovid Goyal
562f09c1f6 Expose reset as well 2023-07-30 19:49:42 +05:30
Kovid Goyal
fabb6bd8cc Start work on porting Go rsync implementation to C 2023-07-30 19:49:42 +05:30
Kovid Goyal
85df15bfc3 Add a test that the last op is hash 2023-07-30 19:49:42 +05:30
Kovid Goyal
f64c4f34ac Also use io.Writer for signature iterator 2023-07-30 19:49:42 +05:30
Kovid Goyal
4b5216adcf Change delta creation API to use io.Writer
Simplifies logic and avoids an extra copy if the writer doesnt need to
make its own copy
2023-07-30 19:49:41 +05:30
Kovid Goyal
1adaafbbb9 Forgot to update FTCSerialization test for new behavior 2023-07-30 19:49:41 +05:30
Kovid Goyal
94b5bedfa5 Add overall file checksum verification to the rsync protocol 2023-07-30 19:49:41 +05:30
Kovid Goyal
e125f803b3 Work on adding overall checksum support 2023-07-30 19:49:41 +05:30
Kovid Goyal
d676886ab8 Update safe string pat in go code to match updated spec 2023-07-30 19:49:41 +05:30
Kovid Goyal
039e17840a Allow users to customize buffer growth strategy 2023-07-30 19:49:41 +05:30
Kovid Goyal
c2ad662bed Use the append paradigm for the delta iterator as well 2023-07-30 19:49:41 +05:30
Kovid Goyal
579ab8551e Add some API docs 2023-07-30 19:49:41 +05:30
Kovid Goyal
77d5fe1be5 Change signature generation API to allow caller to provide storage and control iteration 2023-07-30 19:49:41 +05:30
Kovid Goyal
bbb6a4ae35 Micro-optimization: store strong hash as a uint64 instead of a byte slice 2023-07-30 19:49:41 +05:30
Kovid Goyal
55f9359e1b Make the rsync struct private 2023-07-30 19:49:41 +05:30
Kovid Goyal
6c10528cbd Make the hasher var private in the rsync API 2023-07-30 19:49:41 +05:30
Kovid Goyal
ca835cd80d ... 2023-07-30 19:49:41 +05:30
Kovid Goyal
7268513332 More tests 2023-07-30 19:49:41 +05:30