Skip to content

(SIMP-10740) Simplify server config - #90

Open
greatflyingsteve wants to merge 2 commits into
simp:masterfrom
greatflyingsteve:SIMP-10740-simplify-server-config
Open

(SIMP-10740) Simplify server config#90
greatflyingsteve wants to merge 2 commits into
simp:masterfrom
greatflyingsteve:SIMP-10740-simplify-server-config

Conversation

@greatflyingsteve

@greatflyingsteve greatflyingsteve commented Aug 12, 2022

Copy link
Copy Markdown

rsync::server and rsync::server::global were in kind of a nasty circular dependency relationship wherein neither could be invoked decisively by the other using resource-style includes, because a circular inclusion relationship arose that would at a minimum break unit tests.

Shifting tcpwrappers from global back into server untied most of this gordian knot, allowing data (e.g., address and port config) to be owned by one and passed to the other rather than circulated between them. This allows configuration to be passed authoritatively from the last point of user contact for server configuration out through the remainder of the module without the need for awkward data pathing to circumvent what should have been easy to do as a clean pass.

No parameters were removed from any directly user-callable class.

I still have additional contributions to make on this branch that will definitely break backwards-compatibility in several of the most common edge cases, but also further strengthen the module while still allowing for things like rsyncd and stunnel having different ports, bind-to addresses, and trusted nets. I stopped here because as far as I have been able to determine (including a thorough read of simplib::lookup() and less-thorough read of the simp_options module), nothing altered or added here is likely to break the majority of existing use cases.

SIMP-10740 #close

rsync::server and rsync::server::global were in kind of a nasty
circular dependency relationship wherein neither could by invoked
decisively by the other using resource-style includes, because a
circular inclusion relationship arose that would at a minimum break
unit tests.  Shifting tcpwrappers from global back into server untied
most of this gordian knot, allowing data (e.g., address and port config)
to be owned by one and passed to the other rather than circulated
between them.  This allows configuration to be passed authoritatively
from the last point of user contact for server configuration out
through the remainder of the module without the need for awkward data
pathing to circumvent what should have been easy to do as a clean pass.
No parameters were removed from any directly user-callable class.

SIMP-10740 #comment Port and Address are now passed cleanly
Updated the README.md file to reflect contributed changes to the module,
and updated the acceptance tests (which I cannot run, so gosh I hope
they work) to use the newer convention for port/address specification.
@greatflyingsteve
greatflyingsteve force-pushed the SIMP-10740-simplify-server-config branch from f0161d0 to 2d87e47 Compare August 12, 2022 03:21
@op-ct op-ct changed the title Simp 10740 simplify server config (SIMP-10740) Simplify server config Aug 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress
Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

2 participants