Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: chrome/installer/mac/third_party/bsdiff/README.chromium

Issue 2716005: Modify bsdiff 4.3 to goobsdiff, which is appropriate for use as the Mac binary differ/patcher (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/installer/mac/third_party/bsdiff/bsdiff.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Name: BSDiff 1 Name: BSDiff
2 URL: http://www.daemonology.net/bsdiff/ 2 URL: http://www.daemonology.net/bsdiff/
3 Source URL: http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.gz 3 Source URL: http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.gz
4 Version: 4.3 4 Version: 4.3
5 License: BSD 5 License: BSD
6 License File: LICENSE 6 License File: LICENSE
7 7
8 Description: 8 Description:
9 Binary diff/patch utility. There are other copies of BSDiff in the Chromium 9 Binary diff/patch utility. There are other copies of BSDiff in the Chromium
10 repository, but they're all different. The other copies are based on Mozilla's 10 repository, but they're all different. The other copies are based on Mozilla's
11 fork of BSDiff, which serves a different set of needs. 11 fork of BSDiff, which serves a different set of needs. Relative to upstream
12 BSDiff, Mozilla's version removes all compression, adds a CRC-32 check of the
13 original file, replaces the custom off_t encoding with signed 32-bit
14 big-endian integers, and contains a total reorganization of the code. The
15 version in this directory contains no Mozilla code and builds directly on the
16 upstream version. It retains and enhances the compression, uses SHA1 to check
17 both the original file and the patched file, uses a different off_t encoding
18 more compatible with the original, and involves minimal changes to the
19 original code.
20
21 Theoretically, a hash of the original file should be enough to guarantee data
22 integrity, but in the event of algorithmic or programming bugs or other
23 unexpected conditions, a hash of the patched file provides a better guarantee.
24 This implementation now checks the integrity of both the original and the
25 patched files. SHA1, rather than CRC-32, is used to minimize the likelihood
26 that an original file that has been intentionally tampered with will produce
27 an altered patched file without being detected.
12 28
13 Local Modifications: 29 Local Modifications:
14 - Added LICENSE file by copying the license block from bsdiff.c and bspatch.c. 30 - Added LICENSE file by copying the license block from bsdiff.c and
31 bspatch.c.
32 - The following modifications are relative to the original unpatched version,
33 checked in to the Chromium repository at r49280.
34 - Created goobsdiff.gyp for GYP build system integration.
35 - Renamed bsdiff.c to goobsdiff.c and bspatch.c to goobspatch.c.
36 - Added #include <sys/types.h> to goobspatch.c so that it compiles. (Oops!)
37 - Changed the magic number in the header from BSDIFF40 to BSDIFF4G.
38 - Expanded the header to include SHA1 hashes of the original and new files,
39 and added hash checks to the patcher.
40 - Expanded the header to include the lengths of the control, diff, and extra
41 blocks in the patch file, and added patch file length validation to the
42 patcher.
43 - Replaced custom off_t encoding with signed 64-bit little-endian integers.
44 - The control, diff, and extra blocks can be compressed with bzip2 or gzip,
45 or left uncompressed, independently of one another, depending on which is
46 smallest. This often results in a net reduction in patch size of about 3%.
47 - Error messages in the patcher are slightly more descriptive.
48 - The patcher treats a few more unexpected read cases as errors than it did
49 previously. This will theoretically cause it to exit with an error instead
50 of sitting in a busy loop or crashing when certain malformatted patch files
51 are provided.
OLDNEW
« no previous file with comments | « no previous file | chrome/installer/mac/third_party/bsdiff/bsdiff.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698