{"push_id":544600555,"size":15,"distinct_size":15,"ref":"refs/heads/network-base","head":"a4dec0aded19dfb38ff5c0034093df11d4ea81d9","before":"dda29ccb108349b9f8e72562dab09504e1780dd7","commits":[{"sha":"8553ea1649d4de3bde4b860d08110b2985762b2a","author":{"email":"f09eaae3593d4e9e732cdbf62a73c189ff7949e6@coreos.com","name":"Vito Caputo"},"message":"stage1/diagexec: use execvp() to facilitate `rkt enter`\n\nIn `rkt enter` usage, users are likely to specify a filename rather than a\npath expecting $PATH lookup resolution to occur.","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/8553ea1649d4de3bde4b860d08110b2985762b2a"},{"sha":"486c811761f0da79effc4851c9f876a8b2f9e3d1","author":{"email":"f09eaae3593d4e9e732cdbf62a73c189ff7949e6@coreos.com","name":"Vito Caputo"},"message":"stage1/rootfs: add missing license headings","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/486c811761f0da79effc4851c9f876a8b2f9e3d1"},{"sha":"265731eb587244a53025596ecd7daaac539de4af","author":{"email":"f09eaae3593d4e9e732cdbf62a73c189ff7949e6@coreos.com","name":"Vito Caputo"},"message":"rkt enter: implement entering app namespaces\n\nThis introduces a stage1 /enter entrypoint which expects:\n * the CWD to be the container root (/var/lib/rkt/containers/$cuuid)\n * argv[1] to be the shorthash app imageid to enter\n * argv[2] to be the command for executing via execvp\n * argv[3+] any additional arguments for the command\n\nAn example manual /enter shell invocation would be:\n cd /var/lib/rkt/containers/9793daa1-e064-49a6-9d52-261a992bddd8 && \\\n ./enter sha512-9e6a3ab113ed783c1ffdcbbaa7d16f3b /bin/bash -i\n\n\"rkt enter\" effectively does this after some simple argv parsing/checks and\nverification of the container being presently active.\n\nWhat must occur within /enter is stage1-implementation specific, hence its\ninclusion within the stage1 rootfs.\n\nThe /enter implemented here consists of a statically-linked minimal C\nprogram which:\n   * reads the container's PID from ./pid\n   * enters the namespaces of the container's PID 1\n   * forks to realize CLONE_NEWPID\n   * execs /diagexec in the child using the argv[] /enter received\n   * waits for the child to exit\n\nThe UX side looks like:\n rkt enter [--imageid IMAGEID] UUID [CMD [ARGS ...]]\n\n If no IMAGEID is specified, and the container is a singleton then its lone\n app is entered.  Otherwise a list of apps and their ids is printed and the\n user must specify which app to enter in a separate invocation via --imageid.\n\n If no cmd is specified, /bin/bash is assumed.\n\n Examples:\n\n  Multiple images, ambiguous enter:\n   $ rkt enter 7324849e-80b7-4874-a14b-79de35291485\n   Container \"7324849e-80b7-4874-a14b-79de35291485\" contains multiple apps:\n           sha512-8a4a96dac7216ca311962d19ffa00b6c: pauser\n           sha512-2893e1a4714bea23ee9f21c7dd6561a4: sleeper\n   Unable to determine image id: specify app using \"rkt enter --imageid ...\"\n\n  Multiple images, specified \"pauser\":\n   $ rkt enter --imageid sha512-8a4a96dac7216ca311962d19ffa00b6c 7324849e-80b7-4874-a14b-79de35291485\n   No command specified, assuming \"/bin/bash\"\n   bash-4.3#\n\n  Multiple images, enter \"pauser\", run /pause:\n   $ rkt enter --imageid sha512-8a4a96dac7216ca311962d19ffa00b6c 7324849e-80b7-4874-a14b-79de35291485 /pause\n   paused...^C\n   $\n\n  Single image:\n   $ rkt enter 98d688dc-5665-496c-8556-f553020ccd57\n   No command specified, assuming \"/bin/bash\"\n   bash-4.3#","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/265731eb587244a53025596ecd7daaac539de4af"},{"sha":"ab3a7ff5f0770dcf86056ec89d09d066e9827bef","author":{"email":"492bbd9949cb08d095ba79b9bfaafdf77dc93f28@gmail.com","name":"Simone Gotti"},"message":"pkg/tar: add an ExtractFileFromTar function to extract a single file to a byte slice.","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/ab3a7ff5f0770dcf86056ec89d09d066e9827bef"},{"sha":"5c989ccb31b867229ce52eaa5fe0db3960c79e79","author":{"email":"492bbd9949cb08d095ba79b9bfaafdf77dc93f28@gmail.com","name":"Simone Gotti"},"message":"pkg/tar: add PathWhitelistMap to whitelist files for tar extraction.","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/5c989ccb31b867229ce52eaa5fe0db3960c79e79"},{"sha":"4381112dfc23117f976ccb711ca9bb6e93aa0f98","author":{"email":"0d47477beef1d882e8812885f3dcf66c4a47c346@gmail.com","name":"Jonathan Boulle"},"message":"Merge pull request #350 from sgotti/extracttarfiletobuf\n\npkg/tar: add ExtractFileFromTar function to extract a single file to a byte slice.","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/4381112dfc23117f976ccb711ca9bb6e93aa0f98"},{"sha":"798f3d11af639c36fcb1066404163024dd14e043","author":{"email":"0d47477beef1d882e8812885f3dcf66c4a47c346@gmail.com","name":"Jonathan Boulle"},"message":"pkg/tar: fix typos in docstrings","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/798f3d11af639c36fcb1066404163024dd14e043"},{"sha":"621976a8cfde73ea8d641e0aafcbaf4055fd160f","author":{"email":"0d47477beef1d882e8812885f3dcf66c4a47c346@gmail.com","name":"Jonathan Boulle"},"message":"Merge pull request #360 from vcaputo/license\n\nstage1/rootfs: add missing license headings","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/621976a8cfde73ea8d641e0aafcbaf4055fd160f"},{"sha":"73ad65ae6d194f07264820e2d96f8a75a17b479a","author":{"email":"0d47477beef1d882e8812885f3dcf66c4a47c346@gmail.com","name":"Jonathan Boulle"},"message":"Merge pull request #349 from sgotti/tarpathwhitelist\n\npkg/tar: add PathWhitelistMap to whitelist files for tar extraction.","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/73ad65ae6d194f07264820e2d96f8a75a17b479a"},{"sha":"0c50c5bffea6ea7f550b34f7a809d876f1546045","author":{"email":"27c24459b5ba4724e54142a5ec5c41135e2587f6@gnugeneration.com","name":"Vito Caputo"},"message":"Merge pull request #330 from vcaputo/enter_post_make\n\nrkt enter","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/0c50c5bffea6ea7f550b34f7a809d876f1546045"},{"sha":"2a5abe00d29c48fcf96894c3b72b2663b701d3c1","author":{"email":"f92b368882cd2572f758088f2681ade9129a01f8@coreos.com","name":"Eugene Yakubovich"},"message":"vendor netlink library","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/2a5abe00d29c48fcf96894c3b72b2663b701d3c1"},{"sha":"39ac3a2edf7c91a3d9848ef71ae2574a0c7d4381","author":{"email":"f92b368882cd2572f758088f2681ade9129a01f8@coreos.com","name":"Eugene Yakubovich"},"message":"added proposed network plumbing","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/39ac3a2edf7c91a3d9848ef71ae2574a0c7d4381"},{"sha":"ce149c53256886aac5e7b75a2e58a11c1c698510","author":{"email":"f92b368882cd2572f758088f2681ade9129a01f8@coreos.com","name":"Eugene Yakubovich"},"message":"added bridge net plugin","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/ce149c53256886aac5e7b75a2e58a11c1c698510"},{"sha":"cda3e4255579b440f246484cd9c6f00225b71e8a","author":{"email":"f92b368882cd2572f758088f2681ade9129a01f8@coreos.com","name":"Eugene Yakubovich"},"message":"incorporating code review feedback","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/cda3e4255579b440f246484cd9c6f00225b71e8a"},{"sha":"a4dec0aded19dfb38ff5c0034093df11d4ea81d9","author":{"email":"f92b368882cd2572f758088f2681ade9129a01f8@coreos.com","name":"Eugene Yakubovich"},"message":"add copyright notice and rename module","distinct":true,"url":"https://api.github.com/repos/eyakubovich/rocket/commits/a4dec0aded19dfb38ff5c0034093df11d4ea81d9"}]}