Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ddclient: T5144,T5791: Consolidated backport for dynamic dns updates and fixes #2692

Merged
merged 7 commits into from
Dec 28, 2023

Conversation

indrajitr
Copy link
Contributor

@indrajitr indrajitr commented Dec 26, 2023

Change Summary

This is a consolidated update for recent updates and fixes to ddclient.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component
  • Other (please describe):

Related Task(s)

Related PR(s)

Component(s) name

dns dynamic

Proposed changes

How to test

Smoketest result

Checklist:

  • I have read the CONTRIBUTING document
  • I have linked this PR to one or more Phabricator Task(s)
  • I have run the components SMOKETESTS if applicable
  • My commit headlines contain a valid Task id
  • My change requires a change to the documentation
  • I have updated the documentation accordingly

@github-actions github-actions bot added the sagitta VyOS 1.4 LTS label Dec 26, 2023
@vyosbot vyosbot requested review from a team, dmbaturin, sarthurdev, zdc, jestabro, sever-sever and c-po and removed request for a team December 26, 2023 19:59
Enforce constraint on Dynamic DNS service name to be alphanumeric
(including hyphens and underscores).
Since `service dns dynamic address <address> service <service> ...`
changed to `service dns dynamic name <service> address <address> ...`,
the resulting service and address config flip can result in conflicting
`service` name.

Additionally, since dynamic DNS service name now have name constraint,
we need to normalize the service name to conform with the constraint.

We now migrate the service name to (service|rfc2136)-<service>-<address>
to avoid the conflict and optionally append an index if there is still a
name conflict after normalization.
When migrating from `service dns dynamic interface <interface> ...` to
`service dns dynamic address <address> ...`, the config name can
potentially have a conflict when `address == 'web'`.

Although the `/run/ddclient/ddclient.conf` that was generated earlier
was incorrect, one could still potentially have misconfigured VyOS
config without realizing it.

We now append the old <interface> name to the config name to avoid
conflict.
Legacy ddclient allowed arbitrary URLs in web-options, but the new
has stricter validations. Apply migration to the old URLs.

Also migrate checkip.dyndns.org to https://domains.google.com/checkip
for better TLS support.
…vice

We always enable HTTPS in ddclient configuration, however
`http://checkip.dyndns.org` is HTTP only and does not support HTTPS.
Warn the user if they are using this service.

Also, make `url` in `web-options` mandatory.
@indrajitr indrajitr force-pushed the sagitta-ddclient-backports-20231226 branch from ca152b1 to 047cbcf Compare December 26, 2023 21:23
@indrajitr indrajitr marked this pull request as ready for review December 26, 2023 21:23
@vyosbot vyosbot requested a review from a team December 26, 2023 21:24
@indrajitr indrajitr changed the title ddclient: T5791: Add smoketest for dynamic interface and cleanup ddclient: T5144,T5791: Consolidated backport for dynamic dns updates and fixes Dec 27, 2023
@c-po c-po merged commit db108da into vyos:sagitta Dec 28, 2023
5 checks passed
@indrajitr indrajitr deleted the sagitta-ddclient-backports-20231226 branch December 28, 2023 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sagitta VyOS 1.4 LTS
Development

Successfully merging this pull request may close these issues.

3 participants