Skip to content

Commit 4dbc32e

Browse files
committed
release v3.18.99-rc1
1 parent 43d5e8e commit 4dbc32e

File tree

4 files changed

+75
-1
lines changed

4 files changed

+75
-1
lines changed

doc/CHANGELOG.md

+18
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
## v3.18.99-rc1 - 2025/01/03
2+
- feat: IPv6 support
3+
- chg: set ECDSA as default egress key algo for new installs
4+
- chg: ``groupInfo``: remove deprecated JSON fields
5+
- enh: 35% faster ``is_valid_ip()`` when fast=1
6+
- enh: ``accountInfo``: add osh-only information for accounts
7+
- enh: tests: add ``--skip-functional-tests`` and ``--skip-unit-tests``
8+
- fix: ``accountInfo``: don't attempt (and fail) to display info non-auditors don't have access to
9+
- fix: ``groupInfo``: don't attempt to (and fail) display the guest list when account doesn't have access to it
10+
- fix: deny subnets for ``nc``, ``mtr``, ``ping``, ``alive`` plugins
11+
- fix: is_in_any_net: support matching netblocks
12+
- chore: faster tests by removing grant/revoke command dance
13+
- chore: tests: no longer run consistency check by default
14+
- chore: update README
15+
- chore: use proper naming of 'subnet' instead of 'prefix' or 'slash'
16+
- chore: use ``TAP::Harness`` for unit tests
17+
- chore: factorize user@host:port display in ``machine_display()``
18+
119
## v3.18.00 - 2024/12/10
220
- feat: add assetForgetHostKey
321
- fix: scp: downloads would sometimes stall (fix #486)

doc/release-notes/v3.18.99-rc1.md

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# :zap: Security
2+
3+
- No security fixes since previous release
4+
- Oldest release with no known [security issue](https://github.com/ovh/the-bastion/security/advisories) is `v3.14.15` (2023-11-08)
5+
6+
# :bulb: Highlights
7+
8+
Will 2025 be the year of IPv6? Let's not try to answer this controversial question and just say that the main change of this pre-release is *drum roll* the official support of IPv6!
9+
Most of the code was already IPv6-aware, but in some places IPv4 was assumed so these all have been adjusted to work with both IP versions.
10+
Note that by default, IPv6 support is disabled, we've introduced the ``IPv6Allowed`` boolean option in ``bastion.conf`` that you must set to true to allow egress connections in IPv6. We've also taken this opportunity to add an ``IPv4Allowed`` option, which is enabled by default, you can set it to ``false`` should you want to have a strictly IPv6-only bastion!
11+
A lot of tests have been added to ensure everything works correctly with this change, but as this is still an important change, and only a few tests have been done in-the-field yet, this'll be a pre-release for a few weeks.
12+
13+
We've also taken this opportunity to make a few other changes, such as:
14+
- speeding up the ``is_valid_ip`` check (35% speedup, noticeable for groups with thousands of ACLs)
15+
- set ``ECDSA`` as the default algorithm for generated egress keys instead of RSA, for new installs only ([defaultAccountEgressKeyAlgorithm](https://ovh.github.io/the-bastion/administration/configuration/bastion_conf.html#defaultaccountegresskeyalgorithm))
16+
17+
Some work has also been done around the unit tests (using the more standard ``TAP::Harness``) and functional tests (speeding them up).
18+
19+
A more complete list of changes can be found below, for an exhaustive (and boring) list, please refer to the [commit log](https://github.com/ovh/the-bastion/compare/v3.18.00...v3.18.99-rc1).
20+
21+
# :pushpin: Changes
22+
- feat: IPv6 support
23+
- chg: set ECDSA as default egress key algo for new installs
24+
- chg: ``groupInfo``: remove deprecated JSON fields
25+
- enh: 35% faster ``is_valid_ip()`` when fast=1
26+
- enh: ``accountInfo``: add osh-only information for accounts
27+
- enh: tests: add ``--skip-functional-tests`` and ``--skip-unit-tests``
28+
- fix: ``accountInfo``: don't attempt (and fail) to display info non-auditors don't have access to
29+
- fix: ``groupInfo``: don't attempt to (and fail) display the guest list when account doesn't have access to it
30+
- fix: deny subnets for ``nc``, ``mtr``, ``ping``, ``alive`` plugins
31+
- fix: is_in_any_net: support matching subnets
32+
- chore: faster tests by removing grant/revoke command dance
33+
- chore: tests: no longer run consistency check by default
34+
- chore: use proper naming of 'subnet' instead of 'prefix' or 'slash'
35+
- chore: use ``TAP::Harness`` for unit tests
36+
37+
# :fast_forward: Upgrading
38+
39+
- [General upgrade instructions](https://ovh.github.io/the-bastion/installation/upgrading.html)
40+
- [Specific upgrade instructions for v3.18.99-rc1](https://ovh.github.io/the-bastion/installation/upgrading.html#v3-18-99-rc1-2025-01-03)

doc/sphinx/installation/upgrading.rst

+16
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,22 @@ See the ``--help`` for a more fine-grained upgrade path if needed.
2727
Version-specific upgrade instructions
2828
=====================================
2929

30+
v3.18.99-rc1 - 2025/01/03
31+
*************************
32+
33+
This release now supports IPv6, which is disabled by default unless you set ``IPv6Allowed`` to ``true``.
34+
35+
Note that some OS versions have an ancient version of ``Net::Netmask`` that doesn't support IPv6, these will
36+
behave as if ``IPv6Allowed`` is always set to ``false``, even if you set it to ``true``. A message will be logged
37+
in the syslog if this happens on your system. Of the currently supported list of OS versions, the two following
38+
versions are affected: Ubuntu 18.04 and OpenSUSE Leap 15.6.
39+
40+
Two deprecated JSON fields have been removed from the ``groupInfo`` plugin response, these were never documented
41+
and were duplicates of current fields, but with ancient names dating back to a version before the first public release.
42+
Those fields were named ``full_members`` (corresponding to the current ``members``) and
43+
``partial_members`` (corresponding to the current ``guests``).
44+
Ensure you don't happen to reference them in any system that consumes the :doc:`JSON API </using/api>`.
45+
3046
v3.18.00 - 2024/12/10
3147
*********************
3248

lib/perl/OVH/Bastion.pm

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use common::sense;
55
use Fcntl;
66
use POSIX qw(strftime);
77

8-
our $VERSION = '3.18.00';
8+
our $VERSION = '3.18.99-rc1';
99

1010
BEGIN {
1111
# only used by the handler below

0 commit comments

Comments
 (0)