-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
fix(issue-4448): aws route53 inconsistent domain name handling - octal escapes #4582
Conversation
Signed-off-by: ivan katliarchuk <[email protected]>
Hi @ivankatliarchuk. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
/lgtm |
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
chore(github-actions): added scorecard github action
When can we expect this to be released or added to the next release milestone? |
A small comment and please rebase, then I am happy to approve this PR. |
Signed-off-by: ivan katliarchuk <[email protected]>
* master: (78 commits) Update README.md with Efficient IP Provider feat(chart): Updated image to v0.15.0 fix(chart): Don't use unauthenticated webhook port for health probe Remove unused session logic after move to aws-sdk-go-v2 Refactor AWS provider to aws-sdk-go-v2 Refactor AWS Cloud Map provider to aws-sdk-go-v2 Refactor DynamoDB registry to aws-sdk-go-v2 Update docs/release.md update the docs to v0.15.0 bump kustomize version to v0.15.0 add deprecation notice on coredns tutorial docs: refactor title and organisation review with Raffo chore: remove unmaintained providers chore(deps): bump actions/setup-python in the dev-dependencies group Add RouterOS provider to README.md feat: add annotation and label filters to Ambassador Host Source (kubernetes-sigs#2633) chore(deps): bump GrantBirki/json-yaml-validate fix linter fix ordering ...
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Rebased and removed whitespace changes to licence block . Lost ltgm label, do you I need to request of |
/lgtm |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: szuecs The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Thank you! |
Description
External DNS doesn't fully decode domain names retrieved from AWS Route 53, potentially leading to issues with mismatched characters due to unhandled octal escape sequences.
Record actually created. Rollback does not help. External dns swallow this poison..... crashloopbackoffff....
The only way to recover
external-dns
is to remove records from Route53 with commandaws route53 change-resource-record-sets --hosted-zone-id $HOSTED_ZONE_ID --change-batch file:///delete.json
and from kubernetesThe issue arises from how the AWS Route 53 API handles domain names with special characters. According to the AWS Route 53 Developer Guide on Domain Name Format, the API escapes special characters into their ASCII representations using three-digit octal codes.
When the AWS Route 53 API returns domain names containing special characters, these characters are escaped into their octal ASCII format. However, the current implementation in the external-dns codebase does not correctly handle this conversion. As a result, the domain names returned by the API are not properly converted back to their original format, leading to discrepancies and potential issues in the functionality relying on these domain names.
For example, a domain name such as
wiremock-%!s(<nil>)
with a special character would be returned aswiremock-\\045\\041s\\050\\074nil\\076\\051
by the API. The current code does not decode octals\\050
back to)
, thus causing an incorrect representation of the domain name.To resolve this issue, the code needs to be updated to include a mechanism that correctly decodes these escaped special characters back into their original ASCII format.
Original name is
48
characters longx-wiremock-%!s(<nil>)-internal-eks--internal-eks
when encoded is
64
e.g.wiremock-\\045\\041s\\050\\074nil\\076\051-internal-eks--internal-eks
Fixes #4448
Expected behavior:
Checklist