-
Notifications
You must be signed in to change notification settings - Fork 35
Update sshprep #45
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
Update sshprep #45
Conversation
Co-Authored-By: William Stearns <3538265+william-stearns@users.noreply.github.com>
installer/install_scripts/sshprep
Outdated
ip4=$(dig +short ${2} A) | ||
ip6=$(dig +short ${2} AAAA) | ||
ip4=$(dig +nocomment +short ${2} A 2>/dev/null | sed -e 's/;;.*//' | grep -v '^$') | ||
ip6=$(dig +nocomment +short ${2} AAAA 2>/dev/null | sed -e 's/;;.*//' | grep -v '^$') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few things here:
- Should we handle cases where one hostname corresponds to multiple IP addresses? There are a few cases that I'm aware of in which this could happen and it might cause commands to fail. If for some reason we needed to treat each IP address as different, we could possibly handle it by iterating over the value of
ip4
andip6
variables. However, I think in most cases that this could happen, we would be better off just picking one IP address. - To my knowledge, adding
| sed -e 's/;;.*//' | grep -v '^$'
is made redundant by the combination of+nocomment
and+short
dig arguments. Unless I'm mistaken, we could probably cut those.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- You are correct - the Hostname field where $ipv4 and/or $ipv6 are used only supports a single address. I agree, limiting this to a single IP makes sense. Would you please add
| head -1
after the grep -v '^$' on both the ipv4 and ipv6 lines and before the right parenthesis? - I thought that was true as well and that's why the first version did not have the sed and grep commands. Unfortunately I was wrong and these have to be part of the lookup.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've updated the file in the update-sshprep branch (to include head -1 for both the ipv4 and ipv6 variable assignments. It's not clear whether the change propagated to the PR or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making that change. For future reference, any pushes you make to a branch after PR will be associated with that PR. Makes for easy response to change requests (meaning that you did it correctly here).
Just curious, can you provide a scenario that you found during testing where having +nocomment +short
still resulted in empty lines and comments (;;
)? From the looks of it, +nocomment
was added to the dig
command at the same time as the sed
and grep
commands.
Thanks!
Add Bradley's suggestion of using head -1 to limit to a single address.
Thanks for letting me know that!
Off the top of my head I can't. I can say that the change was
specifically required because a bunch of dns-style comments were getting
stuck in places that only expected an IP address.
…On Mon, May 5, 2025 at 4:50 PM moth ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In installer/install_scripts/sshprep
<#45 (comment)>:
> @@ -230,8 +230,8 @@ check_config_block() {
prepend_config_block "\nHost ${2} ${local_ip}\n\tHostname\t\t${local_ip}\n\tHostKeyAlias\t\t${2}\n${user_line}\n"
else
status "No user-supplied target IP or hostname for $2, look one up"
- ip4=$(dig +short ${2} A)
- ip6=$(dig +short ${2} AAAA)
+ ip4=$(dig +nocomment +short ${2} A 2>/dev/null | sed -e 's/;;.*//' | grep -v '^$')
+ ip6=$(dig +nocomment +short ${2} AAAA 2>/dev/null | sed -e 's/;;.*//' | grep -v '^$')
Thanks for making that change. For future reference, any pushes you make
to a branch after PR will be associated with that PR. Makes for easy
response to change requests.
Just curious, can you provide a scenario that you found during testing
where having +nocomment +short still resulted in empty lines and comments
(;;)? Thanks.
—
Reply to this email directly, view it on GitHub
<#45 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA272WJTBRRMAKURQ5HFOXL247FJRAVCNFSM6AAAAAB3XMR46CVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDQMJWGA2TOOBWGI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
No description provided.