fix: opt out of the SSH hardening inherited from napalm-linux
CI / test (3.10) (pull_request) Failing after 20s
CI / test (3.11) (pull_request) Failing after 18s
CI / test (3.12) (pull_request) Failing after 19s
CI / test (3.10) (push) Successful in 28s
CI / test (3.11) (push) Successful in 27s
CI / test (3.12) (push) Successful in 29s

OpenMediaVault generates sshd_config from its own database; a drop-in
netOrk wrote would be dropped by the next apply of the SSH settings
without a word. harden_ssh_server = None makes netOrk's capability probe
answer no.

Requires napalm-linux 0.5.0; bumps to 0.1.1. NetOrk/netork#1027
This commit is contained in:
Christian Manivong committed 2026-10-11 23:12:34 +02:00
1 parent 5742349742
commit f68c758338
3 files changed
+23 -2

No files matched your search

+5
View File
@@ -65,6 +65,11 @@ class OpenMediaVaultDriver(StorageDriver, LinuxDriver):
FingerprintRule("openmediavault", weight=9.0, mandatory=True),
]
#: OMV generates sshd_config from its own database; a drop-in netOrk wrote
#: would be dropped on the next apply of the SSH settings. Inherited from
#: napalm-linux, so opted out here (NetOrk/netork#1027).
harden_ssh_server = None # type: ignore[assignment]
# ── Facts override ─────────────────────────────────────────────────────────
def get_facts(self) -> dict[str, Any]:
+2 -2
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "napalm-openmediavault"
version = "0.1.0"
version = "0.1.1"
description = "NAPALM driver for OpenMediaVault NAS (SSH)"
readme = "README.md"
requires-python = ">=3.9"
@@ -25,7 +25,7 @@ classifiers = [
dependencies = [
"napalm>=4.0",
"napalm-device-types>=0.3.0",
"napalm-linux>=0.1.0",
"napalm-linux>=0.5.0",
]
[project.optional-dependencies]
+16
View File
@@ -0,0 +1,16 @@
"""OpenMediaVault writes sshd_config itself, from its own database.
The Linux driver offers to harden the SSH server by writing a drop-in under
/etc/ssh/sshd_config.d (NetOrk/netork#1027). On OMV the next apply of the SSH
settings (``omv-salt deploy run ssh``) would regenerate the configuration and
take the change back without a word, so this driver opts out: netOrk's
capability probe asks ``callable(harden_ssh_server)``.
"""
from __future__ import annotations
from napalm_openmediavault.openmediavault import OpenMediaVaultDriver
def test_does_not_offer_ssh_hardening():
assert not callable(getattr(OpenMediaVaultDriver, "harden_ssh_server", None))