Commit Graph

778 Commits

Author SHA1 Message Date
023722e3bb Flush stdin from within chroot archive
This makes sure that we don't buffer in memory and that we also flush
stdin from diff as well as untar.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	pkg/chrootarchive/diff.go
Upstream-commit: c8fc8768b672b06bd0cf38d65da8ba03016b85b2
Component: engine
2014-12-09 14:56:17 -05:00
9f19621ed8 Fix chroot untar for zero padded archive from slow reader
Signed-off-by: Lewis Marshall <lewis@lmars.net>
Upstream-commit: f2008c535943669a4db89e3b9927a75121effbd5
Component: engine
2014-12-09 14:56:16 -05:00
ea53874af1 Decompress archive before streaming the unpack in a chroot
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	pkg/archive/archive.go
	pkg/chrootarchive/archive.go
Upstream-commit: 313a1b7620910e47d888f8b0a6a5eb06ad9c1ff2
Component: engine
2014-12-09 14:56:16 -05:00
12026cb912 Update chroot apply layer to handle decompression outside chroot
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	pkg/archive/diff.go
	pkg/chrootarchive/archive.go
Upstream-commit: 62d83404b5f4c9ecdc21e8cab2306a933ce0cdbc
Component: engine
2014-12-09 14:56:16 -05:00
edee2c60d1 symlink: add more tests
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 566146bc13efb6f8b1e6d4a41382f80546ac1782
Component: engine
2014-12-09 14:56:16 -05:00
14630dbebf symlink: cleanup names and break big test into multiple smaller ones
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 1ebafeb635eead4d3eedf4b5bbaf7e1e2d760086
Component: engine
2014-12-09 14:56:16 -05:00
a8db79a140 Refactor of symlink tests to remove testdata dir
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 18193ae0a3a1fb506e7855c5e2e02c2c2d4c1a3e
Component: engine
2014-12-09 14:56:16 -05:00
d44e0801be Simplify FollowSymlinkInScope based on Go 1.3.3's EvalSymlinks
Signed-off-by: Andrew Page <admwiggin@gmail.com>
Upstream-commit: cd745d5c6e012ff603f25e1314cfb4c0b09e906c
Component: engine
2014-12-09 14:56:16 -05:00
f1bf5322e2 archive: do not call FollowSymlinkInScope in createTarFile
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: b256616589700f895845e3c5aa72e9b4511cd67d
Component: engine
2014-11-24 11:51:37 -05:00
f74783e034 pkg/chrootarchive: provide TMPDIR for ApplyLayer
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 409f65bfd1bde5e45c68e2e1ecf68016ed91426b
Component: engine
2014-11-24 11:51:37 -05:00
46a36325cb archive: prevent breakout in ApplyLayer
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 04175d07634600f2a5cf43dd197eb2a926aba8b9
Component: engine
2014-11-14 23:45:37 +02:00
8b11f8cf5c archive: prevent breakout in Untar
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: a111eea20cad697bb58ebfbf455ee1670c7cf82c
Component: engine
2014-11-14 23:45:29 +02:00
0473c8a94e archive: add breakout tests
Signed-off-by: Tibor Vass <teabee89@gmail.com>

Conflicts:
	pkg/archive/archive.go
		fixed conflict which git couldn't fix with the added BreakoutError
Upstream-commit: ea361c0476d03f44051289d8e3c128d699c76acc
Component: engine
2014-11-14 23:44:20 +02:00
0aef38f7a2 don't call reexec.Init from chrootarchive
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 8d90b0faf8e289edc2b4c13c6f312995745f161b
Component: engine
2014-11-11 23:20:16 +02:00
db09646f3d pkg/chrootarchive: pass TarOptions via CLI arg
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 3ac6394b8082d4700483d52fbfe54914be537d9e
Component: engine
2014-11-11 23:20:09 +02:00
5bc98f602b add pkg/chrootarchive and use it on the daemon
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 0357b26c1b5ecc3a4d0d1b2e7cf63ea8e5f70eba
Component: engine
2014-11-11 23:20:02 +02:00
948a1940da pkg/archive: add interface for Untar
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 1d4a82365bfa215767fc4a4cc7e4d5d10dbcd0e4
Component: engine
2014-11-11 23:19:54 +02:00
93f16f1a81 pkg/reexec: move reexec code to a new package
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)

Conflicts:
	integration/runtime_test.go
		fixed imports
Upstream-commit: d51a02091ca5485ed42b336d3df8c6c4ab2d9a6b
Component: engine
2014-11-11 23:19:34 +02:00
b4519950ef pkg/symlink: avoid following out of scope
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 662ca4114de579e53e670296615ceb49b8c32d75
Component: engine
2014-11-10 17:57:54 +02:00
207c89062c removed redundant Clean
The doc (or src) says: The result is Cleaned.

http://golang.org/pkg/path/filepath/#Join

Signed-off-by: shuai-z <zs.broccoli@gmail.com>
Upstream-commit: 1d1b813d255512002b382b2d2db48984d9b03957
Component: engine
2014-11-10 17:57:01 +02:00
0172f7a1f0 Merge pull request #8350 from erikh/add_erikh_maintainer_proxy
Add erikh as maintainer of pkg/proxy
Upstream-commit: 4c8b8861ecb6b47230e0e021760922e15e8afd3f
Component: engine
2014-10-01 15:50:41 -07:00
b0e52e738c Add erikh as maintainer of pkg/proxy
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 10efa07fa28e400a597ed7076aa0d730a081ebf2
Component: engine
2014-10-01 15:37:46 -07:00
afe8e130e0 Move archive package into pkg/archive
Now that the archive package does not depend on any docker-specific
packages, only those in pkg and vendor, it can be safely moved into pkg.

Signed-off-by: Rafe Colton <rafael.colton@gmail.com>
Upstream-commit: 30d5a42c1f24e26f681b7330249f04fec891aee9
Component: engine
2014-09-29 23:23:36 -07:00
a84cb1fe40 Move Matches() file path matching function into pkg/fileutils
This is the second of two steps to break the archive package's
dependence on utils so that archive may be moved into pkg. `Matches()`
is also a good candidate pkg in that it is small, concise, and not
specific to docker internals

Signed-off-by: Rafe Colton <rafael.colton@gmail.com>
Upstream-commit: 73f4bfed810b65943f1d9d038a8db9bd834067fa
Component: engine
2014-09-29 23:21:41 -07:00
3ffb3fc6cc Move Go() promise-like func from utils to pkg/promise
This is the first of two steps to break the archive package's dependence
on utils so that archive may be moved into pkg.  Also, the `Go()`
function is small, concise, and not specific to the docker internals, so
it is a good candidate for pkg.

Signed-off-by: Rafe Colton <rafael.colton@gmail.com>
Upstream-commit: b845a62149d5f4990462ac6c9167c5cfaa0e66cb
Component: engine
2014-09-29 23:16:27 -07:00
3443a67be3 pkg/tarsum: fix panic with dynamic buffer
When read is called on a tarsum with a two different read sizes, specifically the second call larger than the first, the dynamic buffer does not get reallocated causing a slice read error.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: 5cdf7f507771e159ddd335f3757cd33f7ba4e426
Component: engine
2014-09-25 15:58:35 -07:00
a6c06e4ad8 Test for jsonlog.WriteLog
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 2add198a7abc084dd394f61ed26057ec5d639a4c
Component: engine
2014-09-23 19:19:25 +04:00
8dd6b83d46 Benchmark for jsonlog.WriteLog
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 81c9927f8f3c190ed9dd15b62716a240ce20fc51
Component: engine
2014-09-23 18:24:18 +04:00
680ee7cfce Merge pull request #5956 from vbatts/vbatts-tarsum_hashes
tarsum: allow for generic hashes
Upstream-commit: 350b1cf6ea5681e26ea752e2e54ef6c9a04d91e0
Component: engine
2014-09-22 11:11:25 -07:00
98789bf31d pkg/jsonlog: avoid JSONLog allocation in loop
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 473bb5274ce7a520bc73ccb3529f99729a799062
Component: engine
2014-09-22 18:57:28 +03:00
f5deb7d0f9 Close logs pipes and catch write errors
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: a7ee201ee85c95afb8556323d79e32cf9e2d8737
Component: engine
2014-09-22 10:55:46 +04:00
750e7b6a57 Change unused WriteCloser to Writer
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: fd3f2e175fa6ddb606d2c681ff86a97faccfebbd
Component: engine
2014-09-22 10:54:58 +04:00
9e6770baa4 FIX 6613:launch docker fail with space named drive
Signed-off-by: Guillaume Dufour <guillaume.duff@gmail.com>
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: acea488eb6ed40e6e5894e1b259ad861c9a98042
Component: engine
2014-09-19 12:07:53 -04:00
1192584d04 Merge pull request #6950 from jfrazelle/6831-check-flag-centos6.5
Fix duplicate iptables rules
Upstream-commit: d5537e0f039512c322efa6aec176349eff731499
Component: engine
2014-09-18 17:51:15 -07:00
e5b81f13f8 tarsum: allow for alternate block ciphers
Not breaking the default cipher and algorithm for calculating checksums,
but allow for using alternate block ciphers during the checksum
calculation.

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
Upstream-commit: 4e9925d780665149b8bc940d5ba242ada1973c4e
Component: engine
2014-09-18 10:34:58 -04:00
a701f25898 Merge pull request #8041 from unclejack/lower_allocations_broadcastwriter
lower the number of allocations in broadcastwriter
Upstream-commit: 77d30e71122c7ec328f79836dcab4409f72e04b9
Component: engine
2014-09-17 15:26:44 -07:00
c978982604 Merge pull request #7889 from vbatts/vbatts-tarsum_name_collision
tarsum: name collision fix
Upstream-commit: 458b019e62bd41da08b99d49db9b2ee079fee29a
Component: engine
2014-09-17 21:59:39 +03:00
b0b8a2773b tarsum: name collision fix
If a tar were constructed with duplicate file names, then depending on
the order, it could result in same tarsum.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: c5e6362c53cbbc09ddbabd5a7323e04438b57d31
Component: engine
2014-09-17 14:37:46 -04:00
995ea10dab Benchmark for StdWriter.Write
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 55cac6c9421702ca1e42b3e3f92266e865a5c769
Component: engine
2014-09-17 19:24:07 +04:00
1aa081f9b0 stdcopy: improve perf by avoiding buffer growth
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 277aa9c67415b9b76ab17daea583b51f8560a6a5
Component: engine
2014-09-17 18:06:17 +03:00
ba4bc005be move stdcopy to pkg/stdcopy
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 1f03e60c2a96a92acae0e4d2fd604ab2c6d55473
Component: engine
2014-09-17 18:06:17 +03:00
a9aedbcc8a use custom marshalling for JSONLog
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 9851e8c4c18a89327ec2c1f04e36c9932c4231c1
Component: engine
2014-09-17 17:03:54 +03:00
cb5f7b942d add the timeutils package
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: 9ae3134dc9f0652ef48ec1fd445f42d8fe26de35
Component: engine
2014-09-17 14:30:08 +03:00
c4f90f34f5 Merge pull request #8063 from jlhawn/tarsum_empty_tar_archive
tarsum: correct close and finish reads
Upstream-commit: 0a6fd743ea7b0b312620e8b0f51d576a3f71f07c
Component: engine
2014-09-16 15:41:28 -04:00
aa9173b397 Merge pull request #8059 from estesp/8057-refactor-regexp-to-package-var
Refactor all pre-compiled regexp to package level vars
Upstream-commit: 28f09f06326848f4117baf633ec9fc542108f051
Component: engine
2014-09-16 15:04:23 -04:00
b4607092ee Refactor all pre-compiled regexp to package level vars
Addresses #8057

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
Upstream-commit: 4119c9d7d955757092adc3410da8d75f972bd3c1
Component: engine
2014-09-16 12:57:44 -04:00
b6e3f16eca Correct tarsum finish logic
Tarsum now correctly closes the internal TarWriter which appends
a block of 1024 zeros to the end of the returned archive.

Signed-off-by: Josh Hawn <josh.hawn@docker.com>
Upstream-commit: bc956c6b79dbe9cc7a1ab198f92b6843d072eb28
Component: engine
2014-09-16 09:34:21 -07:00
9a18f893c7 tarsum: version the addition of xattrs
Now that TarSum can be versioned, move the addition of xattr headers in
to the next version of TarSum

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: 0ecafb8a6909f5d342246aefb9ac97350cef6558
Component: engine
2014-09-15 16:08:05 -04:00
52ac5025c9 tarsum: include xattr headers in to the checksum
this is to enhance the tarsum algorithm, but _MUST_ be done in lock step
with the same for docker-registry. (PR will be cited)

Docker-DCO-1.1-Signed-off-by: Vincent Batts <vbatts@redhat.com> (github: vbatts)
Upstream-commit: 448c8ecb0fb453bb29fcada5e7486355ccfadbe9
Component: engine
2014-09-15 15:05:01 -04:00
4dcbf56012 tarsum: TarSum is not the interface
don't export the exsisting TarSum struct and call the interface 'TarSum'
instead.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: ec01eb653db9d5e5b9291c1670dde57e7f742874
Component: engine
2014-09-10 21:56:20 -04:00