Alex Brainman
3b34dbd368
archive/tar: move round-trip reading into common os file
...
Fixes #11426
Change-Id: I77368b0e852149ed4533e139cc43887508ac7f78
Reviewed-on: https://go-review.googlesource.com/11662
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
Brad Fitzpatrick
27e18409b9
archive/tar: also skip header roundtrip test on nacl
...
Update #11426
Change-Id: I7abc4ed2241a7a3af6d57c934786f36de4f97b77
Reviewed-on: https://go-review.googlesource.com/11592
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
Brad Fitzpatrick
8eee43d0df
archive/tar: disable new failing test on windows and plan9
...
Update #11426
Change-Id: If406d2efcc81965825a63c76f5448d544ba2a740
Reviewed-on: https://go-review.googlesource.com/11590
Reviewed-by: Austin Clements <austin@google.com>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
b48c28014e
archive/tar: fix round-trip attributes
...
The issue was identified while
working with round trip FileInfo of the headers of hardlinks. Also,
additional test cases for hard link handling.
(review carried over from http://golang.org/cl/165860043 )
Fixes #9027
Change-Id: I9e3a724c8de72eb1b0fbe0751a7b488894911b76
Reviewed-on: https://go-review.googlesource.com/6790
Reviewed-by: Russ Cox <rsc@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
Michael Gehring
2e5698249c
archive/tar: add missing error checks
...
Check for errors when reading the headers following the pax headers.
Fixes #11169 .
Change-Id: Ifec4a949ec8df8b49fa7cb7a67eb826fe2282ad8
Reviewed-on: https://go-review.googlesource.com/11031
Reviewed-by: Russ Cox <rsc@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
Michael Gehring
69de764807
archive/tar: fix slice bounds out of range
...
Sanity check the pax-header size field before using it.
Fixes #11167 .
Change-Id: I9d5d0210c3990e6fb9434c3fe333be0d507d5962
Reviewed-on: https://go-review.googlesource.com/10954
Reviewed-by: David Symonds <dsymonds@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
Håvard Haugen
55dceefe42
archive/tar: terminate when reading malformed sparse files
...
Fixes #10968 .
Change-Id: I027bc571a71629ac49c2a0ff101b2950af6e7531
Reviewed-on: https://go-review.googlesource.com/10482
Reviewed-by: David Symonds <dsymonds@golang.org>
Run-TryBot: David Symonds <dsymonds@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
Håvard Haugen
576b273762
archive/tar: don't panic on negative file size
...
Fixes #10959 .
Fixes #10960 .
Change-Id: I9a81a0e2b8275338d0d1c3f7f7265e0fd91f3de2
Reviewed-on: https://go-review.googlesource.com/10402
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Symonds <dsymonds@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
David du Colombier
6e38573de2
archive/tar: fix error message
...
Write should return ErrWriteAfterClose instead
of ErrWriteTooLong when called after Close.
Change-Id: If5ec4ef924e4c56489e0d426976f7e5fad79be9b
Reviewed-on: https://go-review.googlesource.com/9259
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2015-08-21 00:15:22 -04:00
bf82db1f0d
README: updates
2015-08-18 14:54:32 -04:00
ea4426eee9
Merge pull request #13 from vbatts/travis-go-versions
...
travis: adding older and newer golang
2015-08-14 10:18:38 -04:00
3a88af2866
travis: adding older and newer golang
2015-08-14 10:15:26 -04:00
4f81319c22
*: adding some version magic
2015-08-14 10:02:46 -04:00
c76e42010e
tar/asm: additional GNU LongLink testcase
...
Adding a minimal test case for GNU @LongLink.
Tested that it fails on v0.9.5, but now passes on v0.9.6 and master.
2015-08-14 07:55:18 -04:00
44d93178df
Merge pull request #11 from LK4D4/add_vet
...
Add vet check to travis
2015-08-13 15:37:30 -04:00
8f81a50860
Merge pull request #10 from LK4D4/fix_pipe_close
...
asm: Remove unreachable code
2015-08-13 15:36:42 -04:00
e72b4959f9
Merge pull request #9 from LK4D4/fix_json_tags
...
storage: Fix syntax of json tags
2015-08-13 15:35:20 -04:00
4d66163297
archive/tar: a []byte copy needed for GNU LongLink
2015-08-13 15:32:17 -04:00
9b9df04f1f
Merge pull request #12 from LK4D4/multi_for_tee
...
tar/storage: Replace TeeReader with MultiWriter
2015-08-13 15:12:22 -04:00
Alexander Morozov
45399711c2
tar/storage: Replace TeeReader with MultiWriter
...
It uses slightly less memory and more understandable.
Benchmar results:
benchmark old ns/op new ns/op delta
BenchmarkPutter-4 57272 52375 -8.55%
benchmark old allocs new allocs delta
BenchmarkPutter-4 21 19 -9.52%
benchmark old bytes new bytes delta
BenchmarkPutter-4 19416 13336 -31.31%
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-13 11:43:31 -07:00
Alexander Morozov
ea73dc6f6f
tar/storage: Benchmark for bufferFileGetPutter.Put
...
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-13 11:42:14 -07:00
Alexander Morozov
fa881b2347
Add vet check to travis
...
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 22:49:38 -07:00
Alexander Morozov
93c0a320a8
asm: Remove unreachable code
...
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 22:45:39 -07:00
Alexander Morozov
b1783bc86d
storage: Fix syntax of json tags
...
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 22:41:28 -07:00
505d53c95c
Merge pull request #8 from LK4D4/remove_tee
...
Remove redundant TeeReader
2015-08-12 22:49:28 -04:00
Alexander Morozov
e6df23162e
Remove redundant TeeReader
...
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-12 16:46:04 -07:00
b5c23068bb
Merge branch 'longlink'
2015-08-11 15:58:45 -04:00
e46a815cbc
archive/tar: fix carry-over of bytes for GNU types
...
Archives produced with GNU tar can have types of TypeGNULongName and
TypeGNULongLink.
These fields effectively appear like two file entries in the tar
archive. While golang's `archive/tar` transparently provide the file
name and headers and file payload, the access to the raw bytes is still
needed.
This fixes the access to the longlink header, it's payload (of the long
file path name), and the following file header and actual file payload.
2015-08-11 15:57:20 -04:00
df8572a1eb
tar/asm: check length before adding an entry
2015-08-11 15:57:20 -04:00
51b0481d4a
tar/asm: adding a failing test due to GNU LongLink
2015-08-11 15:57:20 -04:00
0a79a3807c
README: missed a checksize reference
2015-08-10 16:26:09 -04:00
c6be94f8a3
cmd/tar-split: README usage for checksize
2015-08-10 16:22:36 -04:00
6c671d7267
cmd/tar-split: make checksize
a sub-command
...
Moving it from top-level to the `tar-split` command
2015-08-10 16:20:22 -04:00
5d0b967302
README: cleanup
2015-08-10 15:36:38 -04:00
779e824d76
README: formatting and cleanup
2015-08-10 15:36:30 -04:00
f465e4720e
cmd/tar-split: adding to the README
2015-07-28 17:16:04 -04:00
de37d1755a
travis: incorrect comment
2015-07-28 15:45:24 -04:00
a80fb82091
Merge pull request #6 from vbatts/jonboulle-fixes-rebased
...
rebased #5
2015-07-22 16:12:42 -04:00
Jonathan Boulle
caf6a872c9
tar/storage: switch to map[string]struct{} for set
...
Using an empty struct is more idiomatic/efficient for representing a
set-like container.
2015-07-22 15:32:49 -04:00
Jonathan Boulle
002d19f0b0
*: clean up assorted spelling/grammar issues
...
Various minor fixes noticed on walking through
2015-07-22 15:32:49 -04:00
e0e9886972
tar/asm: return instead of break
...
5ddec2ae4a (commitcomment-12290378)
Reported-by: Tibor Vass <tibor@docker.com>
2015-07-22 11:32:18 -04:00
c2c2dde4cb
tar/storage: use filepath
instead of path
2015-07-22 10:27:53 -04:00
6d59e7bc76
tar/asm: clean up return on errors
...
This closure on error message needs returns so that the error message is
bubbled up to the reader.
2015-07-21 12:10:09 -04:00
d3556a0551
travis: go1.4.1 -> go1.4.2
2015-07-20 20:16:42 -04:00
c74af0bae7
tar/asm: test was flipped
2015-07-20 17:26:16 -04:00
97acaa9e83
travis: needing to fetch the cmd dependencies
2015-07-20 17:22:10 -04:00
04172717de
tar/asm: test for failure when mangling
2015-07-20 16:46:22 -04:00
fd84b2fdfd
cmd/tar-split: adding a cli tool for asm/disasm
2015-07-20 15:51:20 -04:00
6094dcaeca
concept: move the PoC out of the root directory
2015-07-20 15:47:10 -04:00
e33913bf75
tar/asm: don't defer file closing
...
this `for {}` can read many files. defering the file handle close can
cause an EMFILE (too many open files).
2015-07-15 13:43:48 -04:00