12 Commits
Author SHA1 Message Date
benzheng 4c5e192954 feat: verify DSM HTTPS certificate to prevent credential exposure
The DSM WebAPI client disabled TLS certificate verification for all
HTTPS connections (InsecureSkipVerify: true), then sent the configured
DSM account and password to the endpoint. An attacker able to intercept,
redirect, or impersonate the DSM HTTPS endpoint could therefore obtain
the DSM credentials stored in the CSI client config / Kubernetes secret
(CWE-295 Improper Certificate Validation, OWASP A3:2017 Sensitive Data Exposure)

TLS certificate verification is now enabled by default. The client trusts
the system CA pool, so certificates signed by a public CA work without
extra configuration. Three optional client-info fields are added:

  - tlsCACert:          PEM CA cert to trust (for DSM self-signed certs);
                        merged with the system CA pool.
  - tlsServerName:      override the name checked during verification,
                        e.g. when connecting by IP.
  - insecureSkipVerify: explicit opt-out that restores the old behavior;
                        logs a warning on every connection.

The new fields are propagated through all DSM construction sites
(service, synocli, and the HA GetAnotherController path).

BREAKING CHANGE: deployments using `https: true` against a DSM with a
self-signed certificate (the DSM default) will fail to connect after
upgrade until they set `tlsCACert`, `tlsServerName`, or (discouraged)
`insecureSkipVerify: true`.

Adds TLS tests covering default-reject, valid-CA accept, wrong-CA reject,
insecureSkipVerify opt-in, and the tlsServerName DNS-SAN scenarios.
2026-07-29 14:21:55 +08:00
chihyuwuandbenzheng cbe97aa18e Support NVMe/TCP protocol with namespace 2026-05-20 23:31:48 +08:00
chihyuwu 9a9ebd07d9 fix #29: Allow enabling space reclamation and FUA/Sync Cache SCSI commands for LUNs
Add enableSpaceReclamation and enableFuaSyncCache parameters to StorageClass
2025-07-30 14:25:19 +08:00
chihyuwu e2cc8de2fa Assign node addresses to NFS privileges instead of using the wildcard character.
Small refactor.
2024-08-28 00:19:46 +08:00
chihyuwu 575ea81976 Update to version 1.2.0 2024-08-27 10:00:29 +08:00
Chih Yu WuandGitHub f2f773dc9a Merge pull request #60 from rtim75/feature/populate-lun-description-with-pvc-info
Add pvc-namespace/pvc-name to lun descriptions
2023-11-08 18:44:49 +08:00
Ruslan Timofieiev f8161e9954 add lun description to createVolume 2023-08-22 17:43:16 +03:00
Jason Kincl b3908498a2 Add login retry for session timeout
Error code 106 is a session timeout error so we should retry login
before erroring out on the request
2023-07-15 20:59:23 -04:00
chihyuwu 5762d9f4f2 Support UC and multipath 2022-09-05 07:54:54 +00:00
chihyuwu ebe7c1d97c Update to version 1.1.0 2022-04-25 11:10:19 +00:00
chihyuwu 515bc7f0ed Update to version 1.0.1 2022-02-14 07:56:51 +00:00
haochengkuo dc05a795b7 Initial commit 2021-08-31 10:18:35 +08:00