Commit Graph

60 Commits

Author SHA1 Message Date
00c518411b Fix denial of service with large numbers in cpuset-cpus and cpuset-mems
Using a value such as `--cpuset-mems=1-9223372036854775807` would cause
`dockerd` to run out of memory allocating a map of the values in the
validation code. Set limits to the normal limit of the number of CPUs,
and improve the error handling.

Reported by Huawei PSIRT.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f8e876d7616469d07b8b049ecb48967eeb8fa7a5)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 0922d32bce74657266aff213f83dfa638e8077f4
Component: engine
2018-10-05 15:13:43 +02:00
ad67257ea2 Windows: Move kernel_windows to use golang registry functions
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 29f93c4bc7bb2fbbaaa8c3f809e858ce1f12a0f2
Component: engine
2018-03-16 09:47:45 -07:00
8a42f40f5e Windows: Report Version and UBR
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 6de9f90417f1295fcdc2f1c977178bff7a735f99
Component: engine
2018-03-05 08:20:45 -08:00
be83c11fb0 Add canonical import comment
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 4f0d95fa6ee7f865597c03b9e63702cdcb0f7067
Component: engine
2018-02-05 16:51:57 -05:00
fd08bae89c Remove redundant build-tags
Files that are suffixed with `_linux.go` or `_windows.go` are
already only built on Linux / Windows, so these build-tags
were redundant.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 6ed1163c98703f8dd0693cecbadc84d2cda811c3
Component: engine
2017-12-18 17:41:53 +01:00
eefbd135ae Remove solaris build tag and `contrib/mkimage/solaris
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 4785f1a7ab7ec857dc3ca849ee6ecadf519ef30e
Component: engine
2017-11-02 00:01:46 +00:00
89d76e74a5 Merge pull request #35341 from tklauser/utsname-x-sys
Simplify Utsname string conversion
Upstream-commit: 0bcca5ea863d8e100ede8b7e48d8209cc4620fec
Component: engine
2017-11-01 11:36:38 -07:00
f64b1b1e67 Simplify Utsname string conversion
Update golang.org/x/sys to 95c6576299259db960f6c5b9b69ea52422860fce in
order to get the unix.Utsname with byte array instead of int8/uint8
members.

This allows to use simple byte slice to string conversions instead of
using charsToString or its open-coded version.

Also see golang/go#20753 for details.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Upstream-commit: 6d068bc25b35a420e63e295ea4ab4ac4a6e6665b
Component: engine
2017-10-31 10:59:32 +01:00
d78181e968 Remove solaris files
For obvious reasons that it is not really supported now.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 5a9b5f10cf967f31f0856871ad08f9a0286b4a46
Component: engine
2017-10-24 15:39:34 -04:00
d659edcaf5 Update logrus to v1.0.1
Fixes case sensitivity issue

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Upstream-commit: 1009e6a40b295187e038b67e184e9c0384d95538
Component: engine
2017-07-31 13:16:46 -07:00
e95f4619cd [project] change syscall to /x/sys/unix|windows
Changes most references of syscall to golang.org/x/sys/
Ones aren't changes include, Errno, Signal and SysProcAttr
as they haven't been implemented in /x/sys/.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>

[s390x] switch utsname from unsigned to signed

per 33267e036f
char in s390x in the /x/sys/unix package is now signed, so
change the buildtags

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
Upstream-commit: 069fdc8a083cb1663e4f86fe3fd9b9a1aebc3e54
Component: engine
2017-07-11 08:00:32 -04:00
d50bce7193 Fix building client on OpenBSD
Signed-off-by: Ivan Markin <twim@riseup.net>
Upstream-commit: 925bc27b8108a154161b578e176d2b7d79e8002c
Component: engine
2017-03-26 20:47:18 +00:00
5ef37313b9 Fix TestUpdateKernelMemoryUninitialized on new kernel version
Fixes: #25073

Update kernel memory on running containers without initialized
is forbidden only on kernel version older than 4.6.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: da5d66fb70064b093f73cc31eddb7e8285048161
Component: engine
2016-08-02 13:17:20 +08:00
f525106e1c pkg/parser/kernel: remove unused var block
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 6e5894b5511846b1be64f6fcae73a8b4ddd0ef24
Component: engine
2016-06-02 10:50:36 -07:00
e42445eaa3 make pkg/parsers support darwin and solaris
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: a7f551359ad187a37663b39afdfe33122addea30
Component: engine
2016-06-02 11:47:27 +08:00
3a35464d9d Get the Docker Engine to build clean on Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
Upstream-commit: 86d8758e2bb5e9d21d454ceda90b33feb8e74771
Component: engine
2016-05-23 16:37:12 -07:00
f4582c23f4 fix typos in pkg
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: aef02273d9cdf8144b95c9c9a8d1e119d24b2d9d
Component: engine
2016-04-09 21:18:15 +08:00
0c8c982991 Remove unused parser functions that were replaced by go-connections/nat.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b8659da2147293b6ecb49e05927ddbc6ef6b8cc4
Component: engine
2015-12-22 19:06:49 -05:00
f8a7e2bc3a Move ParseLink and validators into runconfig.parse where they are used.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 233a4fc33ccaf279cc5a0ad1842ef5b053cccde7
Component: engine
2015-12-16 14:22:54 -05:00
9393471e47 Move ParseDockerDaemonHost to opts/ package.
This function was only being used from a single place opts/opts.go. This
change moves it from a incohesive package (parsers) to the single place it
is used.

Also made a bunch of the helper methods private because they are not used
by any external modules.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 9b9959105499248ab6cdbfde2277ed1bd83233e3
Component: engine
2015-12-15 20:53:17 -05:00
b1147e3d7d Move filters package to the API.
These filters are only use to interchange data between clients and daemons.
They don't belong to the parsers package.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: e98cae4919da69dc6f9ae46527792cf2012cc7f2
Component: engine
2015-12-15 18:13:26 -05:00
3c4fcf6b7a Fix typos found across repository
Signed-off-by: Justas Brazauskas <brazauskasjustas@gmail.com>
Upstream-commit: 927b334ebfc786276a039e45ec097e71bf9a104c
Component: engine
2015-12-13 18:04:12 +02:00
79750c94df Make filtering a linear operation.
Improves the current filtering implementation complixity.
Currently, the best case is O(N) and worst case O(N^2) for key-value filtering.
In the new implementation, the best case is O(1) and worst case O(N), again for key-value filtering.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 93d1dd8036d57f5cf1e5cbbbad875ae9a6fa6180
Component: engine
2015-12-02 11:12:42 -05:00
57432b4d63 Merge pull request #17438 from pmalmgren/17037-systemd226-cgroup
Fix docker status incorrectly reports containerized
Upstream-commit: c84f5dfd7431dfef94a073b47f591515a58d9e00
Component: engine
2015-11-30 11:47:16 -08:00
e105a29374 Update daemon and docker core to use new content addressable storage
Add distribution package for managing pulls and pushes. This is based on
the old code in the graph package, with major changes to work with the
new image/layer model.

Add v1 migration code.

Update registry, api/*, and daemon packages to use the reference
package's types where applicable.

Update daemon package to use image/layer/tag stores instead of the graph
package

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 4352da7803d182a6013a5238ce20a7c749db979a
Component: engine
2015-11-24 09:40:25 -08:00
eb219a3ce5 Use /usr/lib/os-release if /etc/os-release is missing.
As per os-release spec, /usr/lib/os-release file should be tried if
/etc/os-release is missing.

http://www.freedesktop.org/software/systemd/man/os-release.html

Thanks James Hunt <james.o.hunt@intel.com> and
Dimitri John Ledkov <dimitri.j.ledkov@intel.com> for contribution.

Close #17174

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 292a15e40a7201801fb9b0abd81175fd0a09a814
Component: engine
2015-11-16 16:21:31 -08:00
e6bfd3b818 Simplify address formating
Use `net.JoinHostPort()` which count IPv6 literals in `host`,
instead of relying on `net.ParseIP(host).To4()` side effects.

Signed-off-by: Vladimir Varankin <nek.narqo@gmail.com>
Upstream-commit: 38303597452719fe4942c45a03783a9299235e1b
Component: engine
2015-11-13 20:32:32 +03:00
85d3458e13 Fix panic in parsing /etc/os-release
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 7b102dc11486539bc661a4d858e2de3ce3f46493
Component: engine
2015-11-05 19:59:29 +01:00
2573eeaeb3 Fix docker status incorrectly reports containerized. Fixes #17037
Signed-off-by: Peter Malmgren <ptmalmgren@gmail.com>
Upstream-commit: f6896b61ff8142ce22d06ab447f0efdc0addc326
Component: engine
2015-11-04 00:08:46 +00:00
8be7ad093d Merge pull request #17573 from Microsoft/10662-parsersos
Windows: Fix unit tests parsers\os
Upstream-commit: 642a1f67b6ec449110c52e3b57f968c868e91950
Component: engine
2015-11-02 14:31:09 -08:00
761f97e89e Windows: Fix unit tests parsers\os
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: a40c82804038fdc8b7051aa0b4ba27974c895e36
Component: engine
2015-11-02 11:28:47 -08:00
fb773f89ff Windows: Fix parsers kernel test
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 670fd201dea0396d90127a30d96bb25ae757026f
Component: engine
2015-11-01 07:05:16 -08:00
99471f9ab2 update to binaries, fix parsers package, non-parallel test unit
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 9bcbb39fa8b91ceb54c3da7b245e79b56de1cb6b
Component: engine
2015-10-27 14:43:25 -07:00
f833d205f0 Make default tls host work
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: fbb01b816288c5cf3eb79358c035072766b6e0f0
Component: engine
2015-10-19 21:17:37 +08:00
23934b4c93 Allow API to bind to ipv6 addresses
Use `net.SplitHostPort` which supports ipv6 rather than relying on
splitting on `:`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: a82e3bc7043d4bd256cc6fee76307d6286f57f0d
Component: engine
2015-10-12 13:55:27 -04:00
360eb92f7d Validate --cpuset-cpus, --cpuset-mems
Before this patch libcontainer badly errored out with `invalid
argument` or `numerical result out of range` while trying to write
to cpuset.cpus or cpuset.mems with an invalid value provided.
This patch adds validation to --cpuset-cpus and --cpuset-mems flag along with
validation based on system's available cpus/mems before starting a container.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
Upstream-commit: 94464e3a5e1dce0f6b3e821f79fe193278f67dba
Component: engine
2015-09-27 16:38:58 +02:00
262b85d1ce Remove PortMapping from container NetworkSettings
Signed-off-by: Antonio Murdaca <runcom@linux.com>
Upstream-commit: db4f20404d2b8c4da5a15e447f52cd634445cfe3
Component: engine
2015-09-02 14:32:53 +02:00
5a287b0f3a Change ParseTCPAddr to use tcp://127.0.0.0:2375 format as default consistently
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
Upstream-commit: 3d510f15da32a98a22f84a0f1afa250cc277488d
Component: engine
2015-08-29 11:23:51 +00:00
d04df77c91 Exploring the code using unit tests - these 2 functions do not work consistently
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
Upstream-commit: e48a22282897c4755552fd79bf0d7af220116dc9
Component: engine
2015-08-28 10:29:52 +00:00
33a35ed586 change exportImage to top-level func
Signed-off-by: Kun Zhang <zkazure@gmail.com>

remove useless FIXME

Signed-off-by: Kun Zhang <zkazure@gmail.com>

fix

Signed-off-by: Kun Zhang <zkazure@gmail.com>
Upstream-commit: a7c00bc1a23571dbd5e0085aac22a0e5b0d5fe40
Component: engine
2015-08-10 22:18:57 +08:00
59df5a01ec make docker compile on freebsd
Signed-off-by: Alexey Guskov <lexag@mail.ru>
Upstream-commit: 26c03d561ab126287bb3034cc23477d18869a888
Component: engine
2015-07-29 21:25:56 +03:00
2db54e3ac2 Lint on pkg/* packages
- pkg/useragent
- pkg/units
- pkg/ulimit
- pkg/truncindex
- pkg/timeoutconn
- pkg/term
- pkg/tarsum
- pkg/tailfile
- pkg/systemd
- pkg/stringutils
- pkg/stringid
- pkg/streamformatter
- pkg/sockets
- pkg/signal
- pkg/proxy
- pkg/progressreader
- pkg/pools
- pkg/plugins
- pkg/pidfile
- pkg/parsers
- pkg/parsers/filters
- pkg/parsers/kernel
- pkg/parsers/operatingsystem

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 18c7c67308bd4a24a41028e63c2603bb74eac85e
Component: engine
2015-07-27 21:26:21 +02:00
acbea7273b Allow starting a container with an existing hostConfig which contains links
Signed-off-by: Antonio Murdaca <runcom@linux.com>
Upstream-commit: 65121e5fce3851d7d1e8c8cd5d77dd3c9591d773
Component: engine
2015-07-21 22:10:00 +02:00
22fa301a78 add support for base path in docker cli -H
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
Upstream-commit: 47a7f770f42bc0fd9b0a594b72a8f20fb4b874d1
Component: engine
2015-07-08 15:42:40 -07:00
bfd9d20e79 Add test coverage to pkg/parsers
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: b81472a6d861b335d968a1e970d9aebc314530f2
Component: engine
2015-06-29 22:30:11 +02:00
c55bc07730 Merge pull request #13099 from Microsoft/10662-pkgparsers
Windows: Implement parsers:kernel+os
Upstream-commit: df89008f0ce17a1ffdbde6a59ef0eade0e885ed8
Component: engine
2015-05-12 16:07:43 -07:00
00f07a55d3 Windows: Impl pkg\parsers kernel+os
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: f7ae2a372d6d845040cdf40b246f4eec62512398
Component: engine
2015-05-12 14:41:02 -07:00
60d5f903de Allow links to be specified with only the name if this matches the alias
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: c6e6223ed735b4ff6a15f5d5716376d765f60b09
Component: engine
2015-05-11 21:50:47 +02:00
e5f7f8da6f Replace json.Unmarshal with json.Decoder().Decode()
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 26543e03095eaa45d9afc12c029f07539323fee5
Component: engine
2015-04-26 15:02:01 +02:00
d6d379e87a Add ability to refer to image by name + digest
Add ability to refer to an image by repository name and digest using the
format repository@digest. Works for pull, push, run, build, and rmi.

Signed-off-by: Andy Goldstein <agoldste@redhat.com>
Upstream-commit: a2b0c9778feac970524b98ef7a91b5528fdeb9d5
Component: engine
2015-03-17 10:10:42 +00:00