keybase / keybase-issues

A single repo for managing publicly recognized issues with the keybase client, installer, and website.
902 stars 37 forks source link

Unable to prove my keybase.pub site. (Underscore used in username/domain) #2493

Open Spice-King opened 8 years ago

Spice-King commented 8 years ago

Errors when ever I add an underscore into the domain name, which prevents me from proving that I have control of https://spice_king.keybase.pub. Was just following along with @malgorithms did with his public folder, ended up finding this issue for my self. Effects both the linux keybase cli tool and the keybase.io website.

The keybase cli tool errors with ▶ ERROR Invalid hostname: spice_king.keybase.pub while the site errors with a far less useful error: Keybase.io errors with INPUT_ERROR when domain name contains an underscore

Maybe as part of some kind of intro/initial profile setup you can get a new user to prove the ownership of their keybase.pub site. Just to help show how to get the ball rolling on things.

oconnor663 commented 8 years ago

@malgorithms, should we be converting underscores to dashes or something in the subdomains of keybase.pub? Underscores in a hostname are illegal I think.

malgorithms commented 8 years ago

yeah, we should do that. I'll make a ticket. probably will be a couple weeks before I can get to it

Spice-King commented 8 years ago

Actually, according to RFC 2181: Clarifications to the DNS Specification, section 11. Name syntax, there is no restriction for having just case-insensitive alphanumeric plus hyphen. Only has a maximum length.

The DNS itself places only one restriction on the particular labels that can be used to identify resource records. That one restriction relates to the length of the label and the full name. The length of any one label is limited to between 1 and 63 octets. A full domain name is limited to 255 octets (including the separators).

This updates the ambiguity within RFC 1034: Domain Names - Concepts and Facilites, section 3.5. Preferred name syntax where is suggests that one should follow this old hostname rules for compatibility with old software in 1987, but is worded as optional, then says labels must follow said rules for ARPANET host names (which are not domain names).

This has been interesting to look into for my self, but I will say that https://spice_king.keybase.pub is resolvable and there are other DNS entries that also work and have an underscore or two in them.

nelix commented 7 years ago

I also have this issue, perhaps instead of validating the domain keybase could just try connecting to it?

cjb commented 7 years ago

Ah, I see.

We're probably unlikely to get to this soon, because proving a keybase.pub domain doesn't seem like it adds any additional trust, it's kind of a no-op proof.

nelix commented 7 years ago

but you can imagine I have other sites with my valid and common underscore containing username yes? Its an issue with the field validation and being able to sign sub domains with underscores in them doesnt seem like a low priority or like it would be hard to fix. (or at least acknowledge)

11mb commented 7 years ago

This may be related: My username has a trailing underscore, therefor my keybase url results in username_with_trailingunderscore.keybase.pub.

On Linux: "ping username_with_trailingunderscore.keybase.pub" results in a "ping: unkown host"

b- commented 5 years ago

I feel the need to bump this, as I just encountered it myself with the username "bri_".

The site works, the DNS returns a record and my browser has no complaints, but the Keybase client isn't willing to even try.

nelix commented 4 years ago

So annoying

3geek14 commented 3 years ago

I had a similar (though perhaps more predictable) issue today, when trying to prove ownership of a non-Keybase website. My website is 🚣🎣.ml, but the desktop client gives the error message

Invalid hostname: 🚣🎣.ml

despite this being a valid domain name. While I'm able to convert it to a punycode and then prove ownership, I'd much prefer to use my domain name as it really is.