-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
DNS should be case insensitive #189
Comments
Forgot to add the used version, we are using version 0.2.1 |
yikes, DNS is definitely not sensitive per the RFC. 👍 |
So an interesting mis-match we have is that Consul IS case-sensitive for tags + services. I'm not sure how to handle case-insensitive DNS without creating an ambiguity in the lookup. |
Similarly the "postgresql" and "POSTGRESQL" service are allowed to be distinct |
What is the use-case for having two tags/services of the same name with different casing? |
No good use case. On thinking about this further, Consul does not currently definite case sensitivity, so we wouldn't be breaking a backwards compatibility promise. Instead, we can define case-insensitive and both fix this bug and have more clearly defined semantics. This may not happen for 0.3 but maybe 0.4 |
I had a look at this yesterday and got all interfaces case-insensitive, still need some refactoring but I'm working on this. |
@tiwilliam Awesome. I'd love to talk more about this while you are working on it. I think that largely we can do this all in the state store by just doing a ToLower on all the indexes and corresponding read values. I think most of the changes can actually be localized to the MDBTable |
Yeah, that's basically what I have, and then ToLower in |
DNS resolving is now case sensitive which makes it impossible to ssh in to a server or container if there is a capital letter in the hostname.
example:
ping postgresql.node.consul
ping: unknown host postgresql.node.consul
but:
ping Postgresql.node.consul
PING Postgresql.node.consul (172.17.0.5) 56(84) bytes of data.
64 bytes from 172.17.0.5: icmp_seq=1 ttl=64 time=0.061 ms
64 bytes from 172.17.0.5: icmp_seq=2 ttl=64 time=0.078 ms
The text was updated successfully, but these errors were encountered: