1
0
out-of-tree/CHANGELOG.md

201 lines
4.8 KiB
Markdown
Raw Normal View History

2019-08-16 20:33:56 +00:00
# Changelog
[ISO 8601](https://xkcd.com/1179/).
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Parameter `--docker-timeout` may also be set in the artifact
configuration file.
2020-05-30 14:26:12 +00:00
## [1.3.0] 2020-05-30
### Added
- Support for Ubuntu 20.04 and CentOS 8.
2019-12-25 14:38:30 +00:00
## [1.2.1] 2019-12-25
### Fixed
- macOS support.
2019-11-15 07:50:55 +00:00
## [1.2.0] 2019-11-15
2019-11-14 15:38:16 +00:00
### Added
- Flag for Verbose output. Right now only qemu status messages is
implemented.
### Fixed
- Kpti settings was not affected for regular runs.
2019-09-05 18:18:18 +00:00
## [1.1.2] 2019-09-05
### Added
- Added policykit-1 to rootfs for Ubuntu.
### Fixed
- Avoided slow mirrors with use of mirror://mirrors.ubuntu.com for
Ubuntu 16.04 and newer.
## [1.1.1] 2019-08-31
### Fixed
- macOS support.
2019-08-30 17:40:01 +00:00
## [1.1.0] 2019-08-30
2019-08-29 22:29:23 +00:00
### Added
- Global configuration file (~/.out-of-tree/out-of-tree.toml) allow to
set up default values for settings.
- rootfs generator for Ubuntu 14.04.
- Parameter for setting up docker registry server.
- Support for (distro-specific) custom docker commands that will be
executed before the base template.
2019-08-30 00:34:14 +00:00
- Parameter for setting up a reliability threshold for exit code.
- Parameter for setting up global timeout, after which no new tasks
will be started.
2019-08-29 22:29:23 +00:00
### Fixed
- Spelling in output.
- Now kernel generation will not fail if there are no directory
/lib/modules inside the container.
2019-08-20 21:58:42 +00:00
## [1.0.0] 2019-08-20
2019-08-16 20:33:56 +00:00
2019-08-17 01:30:29 +00:00
### Added
- New parameter `--max=X` is added for `autogen` (generate kernels
2019-08-17 09:12:49 +00:00
base on `.out-of-tree.toml` definitions) and `pew` (automated
runs) and allows to specify a maximum number of runs per each
supported kernel in module/exploit definition.
2019-08-17 01:30:29 +00:00
- New command `genall` -- generate all kernels for specified
distro/version.
2019-08-17 09:12:49 +00:00
2019-08-17 01:30:29 +00:00
- All logs stores in sqlite3 database. Implemented specific commands
for making simple queries and export data to markdown and json.
2019-08-17 09:12:49 +00:00
2019-08-17 01:30:29 +00:00
- Implemented success rate calculation for previous runs.
2019-08-17 09:12:49 +00:00
2019-08-17 01:30:29 +00:00
- Save of build results supported by parameter `--dist` for `pew`.
2019-08-17 09:12:49 +00:00
2019-08-17 01:30:29 +00:00
- Support for generating kernels info from host system.
2019-08-17 09:12:49 +00:00
2019-08-17 01:30:29 +00:00
- Support for build on host.
2019-08-17 09:12:49 +00:00
2019-08-17 01:30:29 +00:00
- Support for custom kernels.
2019-08-17 09:12:49 +00:00
- Now debugging environment is automatically looking for debug
kernel on the host system.
2019-08-20 00:05:19 +00:00
- Added ability to enable/disable kaslr/smep/smap/kpti for debugging
by command line flags.
2019-08-17 09:12:49 +00:00
- New parameter `--threads=N` is added for `pew` and allows to
specify maximum number of threads that will be used for parallel
2019-08-17 01:30:29 +00:00
build/run/test.
2019-08-17 09:12:49 +00:00
- Tagging for runs. Tags write to log and can be used for
statistics.
2019-08-17 01:30:29 +00:00
2019-08-17 15:13:21 +00:00
- Added non-regex way to set kernel version in .out-of-tree.toml (see
examples).
- New command `pack` that perform tests in subdirectories.
2019-08-20 00:05:19 +00:00
- Added ability to disable kaslr/smep/smap/kpti for in artifact
definition.
- Added ability to change amount of memory/CPUs and set qemu timeout
in artifact definition (`.out-of-tree.toml`).
- Now images downloading while `kernel autogen`, bootstrap is not
required anymore.
2019-08-20 19:22:47 +00:00
- Support CentOS kernels.
2019-08-17 01:30:29 +00:00
### Changed
2019-08-17 09:12:49 +00:00
- Now if there's no base image found — out-of-tree will try to use
an image from closest previous version, e.g. image from Ubuntu
18.04 for Ubuntu 18.10.
2019-08-17 01:30:29 +00:00
- Kernel modules tests will not be failed if there are no tests
exists.
2019-08-17 09:12:49 +00:00
- Now *out-of-tree* will return negative error code if at least one
of the stage was failed.
2019-08-17 01:30:29 +00:00
- Project is switch to use Go modules.
2019-08-18 15:04:24 +00:00
- Now test.sh is used by default if copying is not implemented in
Makefile.
2019-08-19 05:15:55 +00:00
- dmesg is not cleaned before the start of module/exploit anymore.
2019-08-19 05:16:17 +00:00
- qemu/kvm will use all host cpu features.
2019-08-17 01:30:29 +00:00
### Removed
- *Kernel factory* is removed completely in favor of incremental
Dockerfiles.
- `bootstrap` is not doing anything anymore. It'll be removed in next
release.
2019-08-17 01:30:29 +00:00
### Fixed
- Command `timeout` is not required anymore.
2019-08-17 09:12:49 +00:00
2019-08-17 01:30:29 +00:00
- Errors is more meaningful.
2019-08-17 09:12:49 +00:00
- Temporary files is moved to `~/.out-of-tree/tmp/` to avoid docker
mounting issues on some systems.
2019-08-16 20:33:56 +00:00
## [0.2.0] - 2019-12-01
The main purpose of the release is to simplify installation.
2019-08-17 01:30:29 +00:00
### Changes
2019-08-17 09:12:49 +00:00
2019-08-16 20:33:56 +00:00
- All configuration moved to `~/.out-of-tree`.
2019-08-17 09:12:49 +00:00
2019-08-16 20:33:56 +00:00
- Now prebuilt images can be downloaded with bootstrap.
2019-08-17 09:12:49 +00:00
- Ability to generate kernels specific to .out-of-tree.toml in
current directory. So now there's no need to wait for several
hours for start work on specific kernel with module/exploit.
2019-08-16 20:33:56 +00:00
- Now there's no need to keep source tree and _out-of-tree_ can be
distributed in binary form.
2019-08-17 09:12:49 +00:00
2019-08-16 20:33:56 +00:00
- New command: **debug**. Creates interactive environment for kernel
module/exploit development. Still work-in-progress.
- No warning anymore if test.sh is not exists.
2019-08-16 20:33:56 +00:00
## [0.1.0] - 2019-11-20
Initial release that was never tagged.
Refer to state after first public release on ZeroNights 2018
([video](https://youtu.be/2tL7bbCdIio),
2019-08-16 20:36:46 +00:00
[slides](https://2018.zeronights.ru/wp-content/uploads/materials/07-Ways-to-automate-testing-Linux-kernel-exploits.pdf)).