From c35dbac44b32ad5c196889d578b3dab389b4662a Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Thu, 31 Mar 2016 21:28:35 +0200 Subject: [PATCH 1/6] update CHANGES --- docs/changes.rst | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/changes.rst b/docs/changes.rst index ead730ad3..be257ee72 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -1,6 +1,42 @@ Changelog ========= +Version 1.0.1 (not released yet) +-------------------------------- + +New features: + +Usually there are no new features in a bugfix release, but these 2 were added +to get them out quickly - as both positively affect your safety/security: + +- append-only mode for repositories, #809, #36 + (please read the docs about how this can improve your security) +- implement password roundtrip, #695 (make sure the user can know/verify the + encryption key password/passphrase, to avoid double-typos, wrong keyboard + layout or locale/encoding issues) + +Bug fixes: + +- fix silently skipping EIO, #748 +- do not sleep for >60s while waiting for lock, fixes #773 +- unpack file stats before passing to FUSE +- fix build on illumos +- don't try to backup doors or event ports (Solaris and derivates) +- fix capitalization, add ellipses, change log level to debug for 2 messages, fixes #798 +- remove useless/misleading libc version display, fixes #738 + +Other changes: + +- update llfuse requirement, llfuse 1.0 works +- update OS / dist packages on build machines, fixes #717 +- docs: + + - fix cygwin requirements (gcc-g++) + - document how to debug / file filesystem issues, fixes #664 + - fix reproducible build of api docs + - RTD theme: CSS !important overwrite. Fix borgbackup/borg#727 + + Version 1.0.0 ------------- From e494d24d6a0340288481621df6c0562b0da020f1 Mon Sep 17 00:00:00 2001 From: Alexander Pyhalov Date: Sun, 27 Mar 2016 15:03:27 +0300 Subject: [PATCH 2/6] failing hashindex tests on netbsd, fixes #804 --- borg/_hashindex.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/borg/_hashindex.c b/borg/_hashindex.c index e3a4641da..e9f231903 100644 --- a/borg/_hashindex.c +++ b/borg/_hashindex.c @@ -12,10 +12,12 @@ #include #endif -#if (defined(BYTE_ORDER)&&(BYTE_ORDER == BIG_ENDIAN)) || defined(_BIG_ENDIAN) +#if (defined(BYTE_ORDER)&&(BYTE_ORDER == BIG_ENDIAN)) || \ + (defined(_BIG_ENDIAN)&&defined(__SVR4)&&defined(__sun)) #define _le32toh(x) __builtin_bswap32(x) #define _htole32(x) __builtin_bswap32(x) -#elif (defined(BYTE_ORDER)&&(BYTE_ORDER == LITTLE_ENDIAN)) || defined(_LITTLE_ENDIAN) +#elif (defined(BYTE_ORDER)&&(BYTE_ORDER == LITTLE_ENDIAN)) || \ + (defined(_LITTLE_ENDIAN)&&defined(__SVR4)&&defined(__sun)) #define _le32toh(x) (x) #define _htole32(x) (x) #else From 1cc053bee443686108290f4e827de76728a5f4fd Mon Sep 17 00:00:00 2001 From: wormingdead Date: Fri, 25 Mar 2016 22:43:29 -0700 Subject: [PATCH 3/6] Document logo font. Recreate logo png. Remove GIMP logo file. --- docs/_static/logo.png | Bin 7031 -> 1637 bytes docs/_static/logo.xcf | Bin 26715 -> 0 bytes docs/_static/logo_font.txt | 5 +++++ 3 files changed, 5 insertions(+) delete mode 100644 docs/_static/logo.xcf create mode 100644 docs/_static/logo_font.txt diff --git a/docs/_static/logo.png b/docs/_static/logo.png index 1f05c915bd425eea2ffca89962e89aee72663958..000191b7a6f7ea3ffc8535374df52ff9f87c3957 100644 GIT binary patch literal 1637 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 z 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 Gu>S)Hg{9#D diff --git a/docs/_static/logo.xcf b/docs/_static/logo.xcf deleted file mode 100644 index ea9c55c26a2e3dbfb03f7356e58726ada9335971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26715 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 Sul0Yo&$veaCryVL*Z&QhjuOTI diff --git a/docs/_static/logo_font.txt b/docs/_static/logo_font.txt new file mode 100644 index 000000000..13a4e301c --- /dev/null +++ b/docs/_static/logo_font.txt @@ -0,0 +1,5 @@ +Black Ops One +James Grieshaber +SIL Open Font License, 1.1 + +https://www.google.com/fonts/specimen/Black+Ops+One From 2f74d2e288413d1d6fbe95e50b24cd34e668dce8 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Thu, 31 Mar 2016 21:44:43 +0200 Subject: [PATCH 4/6] update CHANGES --- docs/changes.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changes.rst b/docs/changes.rst index be257ee72..e0e0d3386 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -35,6 +35,7 @@ Other changes: - document how to debug / file filesystem issues, fixes #664 - fix reproducible build of api docs - RTD theme: CSS !important overwrite. Fix borgbackup/borg#727 + - Document logo font. Recreate logo png. Remove GIMP logo file. Version 1.0.0 From 061bf59d5d1371b68a43daf295551415f06f8b6c Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Thu, 31 Mar 2016 22:03:17 +0200 Subject: [PATCH 5/6] Chunker: fix wrong EOF assumption[1], check for return type[2] [1] This worked incidentally because OSes tend to return at least one page worth of data when EOF is not reached. Increasing WINDOW_SIZE beyond the page size might have lead to data loss. [2] If read() of the passed Python object returned something not-bytes, PyBytes_Size returns -1 (ssize_t) which becomes a very larger number for memcpy()s size_t. --- borg/_chunker.c | 8 ++++++-- borg/testsuite/chunker.py | 13 ++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/borg/_chunker.c b/borg/_chunker.c index 87ec31576..5a1ecfa15 100644 --- a/borg/_chunker.c +++ b/borg/_chunker.c @@ -174,6 +174,10 @@ chunker_fill(Chunker *c) return 0; } n = PyBytes_Size(data); + if(PyErr_Occurred()) { + // we wanted bytes(), but got something else + return 0; + } if(n) { memcpy(c->data + c->position + c->remaining, PyBytes_AsString(data), n); c->remaining += n; @@ -200,12 +204,12 @@ chunker_process(Chunker *c) PyErr_SetString(PyExc_Exception, "chunkifier byte count mismatch"); return NULL; } - if(c->remaining <= window_size) { + while(c->remaining <= window_size && !c->eof) { if(!chunker_fill(c)) { return NULL; } } - if(c->remaining < window_size) { + if(c->eof) { c->done = 1; if(c->remaining) { c->bytes_yielded += c->remaining; diff --git a/borg/testsuite/chunker.py b/borg/testsuite/chunker.py index 9b12901eb..96e3111a2 100644 --- a/borg/testsuite/chunker.py +++ b/borg/testsuite/chunker.py @@ -1,7 +1,7 @@ from io import BytesIO from ..chunker import Chunker, buzhash, buzhash_update -from ..archive import CHUNK_MAX_EXP +from ..archive import CHUNK_MAX_EXP, CHUNKER_PARAMS from . import BaseTestCase @@ -29,3 +29,14 @@ def test_buzhash(self): self.assert_equal(buzhash(b'abcdefghijklmnop', 1), buzhash_update(buzhash(b'Xabcdefghijklmno', 1), ord('X'), ord('p'), 16, 1)) # Test with more than 31 bytes to make sure our barrel_shift macro works correctly self.assert_equal(buzhash(b'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz', 0), 566521248) + + def test_small_reads(self): + class SmallReadFile: + input = b'a' * (20 + 1) + + def read(self, nbytes): + self.input = self.input[:-1] + return self.input[:1] + + reconstructed = b''.join(Chunker(0, *CHUNKER_PARAMS).chunkify(SmallReadFile())) + assert reconstructed == b'a' * 20 From f406bf787932db8018a1e61cd944b5e3d80e58a7 Mon Sep 17 00:00:00 2001 From: Mitch Bigelow Date: Thu, 31 Mar 2016 17:31:53 -0400 Subject: [PATCH 6/6] fix incorrect _ns variables --- borg/fuse.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/borg/fuse.py b/borg/fuse.py index 2e40777e5..74f6104f9 100644 --- a/borg/fuse.py +++ b/borg/fuse.py @@ -174,15 +174,15 @@ def getattr(self, inode, ctx=None): else: entry.st_ctime_ns = bigint_to_int(item[b'mtime']) else: - entry.st_mtime_ns = bigint_to_int(item[b'mtime']) / 1e9 + entry.st_mtime = bigint_to_int(item[b'mtime']) / 1e9 if b'atime' in item: - entry.st_atime_ns = bigint_to_int(item[b'atime']) / 1e9 + entry.st_atime = bigint_to_int(item[b'atime']) / 1e9 else: - entry.st_atime_ns = bigint_to_int(item[b'mtime']) / 1e9 + entry.st_atime = bigint_to_int(item[b'mtime']) / 1e9 if b'ctime' in item: - entry.st_ctime_ns = bigint_to_int(item[b'ctime']) / 1e9 + entry.st_ctime = bigint_to_int(item[b'ctime']) / 1e9 else: - entry.st_ctime_ns = bigint_to_int(item[b'mtime']) / 1e9 + entry.st_ctime = bigint_to_int(item[b'mtime']) / 1e9 return entry def listxattr(self, inode, ctx=None):