CI / test (3.10) (push) Successful in 26s
CI / test (3.11) (push) Successful in 24s
CI / test (3.12) (push) Successful in 26s
CI / test (3.10) (pull_request) Successful in 25s
CI / test (3.11) (pull_request) Successful in 24s
CI / test (3.12) (pull_request) Successful in 25s
The write side NetOrk/netork#799 needs, on both drivers. - Packages: get_packages (FreeBSD `pkg query` with the repository as source, nothing on a classic system without pkg; OpenBSD `pkg_info`), install_package / uninstall_package as root (`pkg install`/`pkg delete`, `pkg_add -I`/`pkg_delete`), names checked before anything is sent, a failure raised with what the tool printed. - Updates: get_available_updates. FreeBSD `pkg upgrade -n`, with `security` from VuXML (`pkg audit`: True for a listed package, False for any other, None when the audit could not run); OpenBSD `pkg_add -u -n -v` (no security verdict). Base-system patches are one `base-system` entry, as decided in #799: OpenBSD's `syspatch -c`, and on a classic FreeBSD what `freebsd-update` has fetched; on pkgbase the base system is packages from FreeBSD-base. - Services: get_services lists the enabled ones (FreeBSD `service ... status` as root, as root-only pidfiles hide daemons otherwise, without root when sudo refuses; OpenBSD `rcctl check`), manage_service runs start/stop/restart/enable/disable as root and returns success and output. Fixtures recorded on the FreeBSD 15.1 and OpenBSD 7.9 VMs with genuinely outdated packages (FreeBSD pointed at the latest branch, an OpenBSD package taken back to its release build). Checked live on both, including a service restart and installing and removing a package.
30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- Packages: `get_packages`, `install_package`, `uninstall_package`.
|
|
- Updates: `get_available_updates`, with VuXML's verdict as `security` on
|
|
FreeBSD and base-system patches as one `base-system` entry (OpenBSD
|
|
`syspatch`, classic FreeBSD `freebsd-update`).
|
|
- Services: `get_services` and `manage_service` (start, stop, restart,
|
|
enable, disable) through `service` and `rcctl`.
|
|
- `get_listening_sockets()` in the shape of `ListeningSocketsMixin`: FreeBSD
|
|
through `sockstat`, OpenBSD through `fstat` as root and `netstat -an`
|
|
without, which the reading reports as `attributed: False`.
|
|
- `FreeBSDDriver` (`freebsd`) and `OpenBSDDriver` (`openbsd`) on a shared
|
|
`BsdDriver`: SSH over exec channels (no PTY, real exit codes), root through
|
|
`sudo -S` with the password on stdin.
|
|
- Read side (NetOrk/netork#798): facts (SMBIOS through `kenv` on FreeBSD,
|
|
`hw.*` sysctls on OpenBSD; uptime from `kern.boottime`), interfaces and
|
|
their addresses (`ifconfig -a`), routes (`netstat -rn`), ARP (`arp -an`),
|
|
users and groups, processes (`ps … lstart`), cron jobs (system crontab and
|
|
the login user's).
|
|
- Parsers tested on output recorded from FreeBSD 15.1 (hand-installed and
|
|
cloud image) and OpenBSD 7.9 (NetOrk/netork#793).
|