-
Type:
Spec Change
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Connection String & URI Options, SRV-based Cluster Discovery
-
None
-
Not Needed
-
None
-
None
-
None
-
None
-
None
-
None
Context
Consolidates the work from epic GODRIVER-3953 (DRIVERS-3329), this ticket (DRIVERS-3632), and GODRIVER-4173 (DRIVERS-3664) into one implementation.
Definition of Done
Spec sync
- DRIVERS-3329: https://github.com/mongodb/specifications/commit/6f64d0ee3ae49edbdb30eb995f3e29549e8cfa6a
and https://github.com/mongodb/specifications/commit/131ab56f64916380f959bb2423a4842bce519e79
(the latter also defines how to use and parse the public suffix list) - DRIVERS-3632: https://github.com/mongodb/specifications/commit/5036f26e816ed2c2f08f87726bd01f9f62087b3a
- DRIVERS-3664: https://github.com/mongodb/specifications/commit/3a0ed901fd95ab2dc17a2652c33ce8779b7fb4e1 (two new prose tests)
Implementation
- Support the srvAllowedHostsSuffix option (GODRIVER-3953 / DRIVERS-3329).
- The public suffix list as a deny list as a safeguard (GODRIVER-3953 / DRIVERS-3329).
- Add docs explaining the option and the security implications of using it (GODRIVER-3953 / DRIVERS-3329).
- Introduce custom srvHostValidator callbacks (GODRIVER-4130 / DRIVERS-3632).
- Prose tests:
Prose test Ticket PSL #1–5 DRIVERS-3568 PSL #6 GODRIVER-3953 / DRIVERS-3329 polling #14–15 GODRIVER-4130 / DRIVERS-3632 initial-dns #5–13 GODRIVER-4130 / DRIVERS-3632 initial-dns #14–15 GODRIVER-4173 / DRIVERS-3664
Documentation
- SetSRVAllowedHostsSuffix and SetSRVHostValidator godoc each carry the spec-mandated warning. The spec uses MUST: "drivers MUST document that this parameter is a dangerous option."
- is depended on by
-
GODRIVER-4173 Configurable DNS domain validation for SRV records: clarifications
-
- Blocked
-
- split from
-
DRIVERS-3632 Introduce Custom Callback logic in Configurable DNS
-
- Implementing
-