an [abandoned] attempt to slice out the docker/docker/pkg package
Find a file
Aaron Lehmann 1fe4441875 Send push information to trust code out-of-band
The trust code used to parse the console output of `docker push` to
extract the digest, tag, and size information and determine what to
sign. This is fragile and might give an attacker control over what gets
signed if the attacker can find a way to influence what gets printed as
part of the push output.

This commit sends the push metadata out-of-band. It introduces an `Aux`
field in JSONMessage that can carry application-specific data alongside
progress updates. Instead of parsing formatted output, the client looks
in this field to get the digest, size, and tag from the push.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-01-08 10:57:50 -08:00
aaparser check version for docker-default aa profile 2015-11-30 10:18:12 -08:00
ansiescape Use notary library for trusted image fetch and signing 2015-07-24 14:08:20 -07:00
archive Fix typos found across repository 2015-12-13 18:04:12 +02:00
authorization Remove usage of pkg sockets and tlsconfig. 2015-12-29 19:27:12 -05:00
broadcaster Improved push and pull with upload manager and download manager 2015-12-09 19:13:35 -08:00
chrootarchive Merge pull request #17035 from estesp/fix-build-dir-perms 2015-10-20 08:57:19 -07:00
devicemapper loopback: separate loop logic from devicemapper 2015-12-18 10:57:43 -05:00
directory Add user namespace (mapping) support to the Docker engine 2015-10-09 17:47:37 -04:00
discovery Remove usage of pkg sockets and tlsconfig. 2015-12-29 19:27:12 -05:00
filenotify Fix typos found across repository 2015-12-13 18:04:12 +02:00
fileutils Fix typos found across repository 2015-12-13 18:04:12 +02:00
gitutils utils: move git functions to pkg/gitutils 2015-12-14 14:59:52 +01:00
graphdb Merge pull request #16054 from jfrazelle/update-sqlite3-dep 2015-09-03 19:20:57 -07:00
homedir Update libcontainer 2015-07-16 16:02:26 -07:00
httputils Update httputils tests 2015-09-09 14:59:25 +02:00
idtools Correct build-time directory creation with user namespaced daemon 2015-10-20 08:59:48 -04:00
integration Catch command pipeline error. 2015-12-22 15:17:15 -05:00
ioutils Fix typos found across repository 2015-12-13 18:04:12 +02:00
jsonlog Move timeutils functions to the only places where they are used. 2015-12-15 14:56:14 -05:00
jsonmessage Send push information to trust code out-of-band 2016-01-08 10:57:50 -08:00
locker Fix typos found across repository 2015-12-13 18:04:12 +02:00
longpath Windows: Fixing longpath hanlding of UNC paths. 2015-09-30 19:36:08 -07:00
loopback loopback: separate loop logic from devicemapper 2015-12-18 10:57:43 -05:00
mflag Merge pull request #18387 from wenchma/18385-improve_help_msg 2016-01-03 12:19:53 +01:00
mount No options to tmpfs is valid 2015-12-22 14:15:07 -05:00
namesgenerator Add Ian Murdock to the names generator. 2016-01-02 19:17:17 -05:00
parsers Remove unused parser functions that were replaced by go-connections/nat. 2015-12-22 19:06:49 -05:00
pidfile Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
platform Merge pull request #18090 from vdemeester/17478-follow-up-cleanup-pkg-platform 2015-11-19 14:00:23 -05:00
plugins Don't error out on plugin err with json 2016-01-06 11:34:14 -05:00
pools Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
progress Send push information to trust code out-of-band 2016-01-08 10:57:50 -08:00
promise Move Go() promise-like func from utils to pkg/promise 2014-09-29 23:16:27 -07:00
proxy Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
pubsub Add PubSub topics. 2015-12-02 16:43:49 -05:00
random Fix typos found across repository 2015-12-13 18:04:12 +02:00
reexec Fix typos found across repository 2015-12-13 18:04:12 +02:00
signal Define all of the signals defined by kill -l 2015-11-12 09:55:18 -05:00
stdcopy Added test coverage to StdCopy closes #11584 2015-09-25 11:15:45 +02:00
streamformatter Send push information to trust code out-of-band 2016-01-08 10:57:50 -08:00
stringid Fix typos found across repository 2015-12-13 18:04:12 +02:00
stringutils Move StrSlice to types. 2015-12-22 13:31:43 -05:00
symlink Update LICENSE date 2015-12-31 13:07:35 +00:00
sysinfo Add support for blkio read/write iops device 2015-12-21 09:14:49 +08:00
system Fix downstream client API build errors on Solaris 2015-12-30 18:25:42 -05:00
tailfile typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
tarsum Fix typos found across repository 2015-12-13 18:04:12 +02:00
term Implement configurable detach key 2016-01-03 23:03:39 +01:00
tlsconfig Fix golint warnings 2015-11-02 08:02:25 -08:00
truncindex Do not rely on string comparison in truncindex 2015-11-04 11:34:05 -08:00
urlutil Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
useragent Fix typos found across repository 2015-12-13 18:04:12 +02:00
version pkg: version: add String method 2015-12-17 11:52:23 +01:00
README.md Add README to pkg 2013-12-23 23:12:19 +00:00

pkg/ is a collection of utility packages used by the Docker project without being specific to its internals.

Utility packages are kept separate from the docker core codebase to keep it as small and concise as possible. If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the Docker organization, to facilitate re-use by other projects. However that is not the priority.

The directory pkg is named after the same directory in the camlistore project. Since Brad is a core Go maintainer, we thought it made sense to copy his methods for organizing Go code :) Thanks Brad!

Because utility packages are small and neatly separated from the rest of the codebase, they are a good place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!