Comments (7)
Note that this service above ^ is properly recognized and used by other software (it's an airplay receiver).
from dnssd.
It looks like a dot "." in a host name is not recommended because it is used as a separator.
From RFC1033
The domain system allows a label to contain any 8-bit character.
Although the domain system has no restrictions, other protocols such
as SMTP do have name restrictions. Because of other protocol
restrictions, only the following characters are recommended for use
in a host name (besides the dot separator):"A-Z", "a-z", "0-9", dash and underscore
from dnssd.
I see. Thanks for the clarification.
Would you still welcome a PR that would handle that case (albeit not recommended)?
from dnssd.
Not sure if it is a good idea to allow hostnames, which are actually not valid.
from dnssd.
Mmm... "dots" do not appear in "labels" (as defined in the extract you quoted above), but a serie of dot separated labels form a valid domain name right?
SRV records do not seem to be limited to one level domain names, nor are A record, right? (https://en.wikipedia.org/wiki/SRV_record)
Specifically, Apple implementation (for Airplay), and other mDNS stacks seem to be happy with multi level domain names in SRV / A records.
Again I'm not exactly on top of my game with mDNS ;-), so, maybe I'm unaware of another RFC that would further limit this.
Either way, not opinionated one way or the other here, just curious about the bottom line :-).
from dnssd.
From wikipedia
The Internet standards (Requests for Comments) for protocols specify that labels may contain only the ASCII letters a through z (in a case-insensitive manner), the digits 0 through 9, and the hyphen-minus character ('-'). The original specification of hostnames in RFC 952 disallowed labels from starting with a digit or with a hyphen character, and could not end with a hyphen. However, a subsequent specification (RFC 1123) permitted hostname labels to start with digits. No other symbols, punctuation characters, or white space are permitted. Internationalized domain names are stored in the Domain Name System as ASCII strings using Punycode transcription.[4]
To me this sounds like dots should not be included in hostnames.
The accepted answer for Can I have dots in a hostname? states that as well.
Using a hostname with a dot in it will cause inconsistent results from any system that consumes DNS.
[...]
Don't use dotted name.
from dnssd.
To me this sounds like dots should not be included in hostnames.
This is where I'm struggling... From that same wikipedia page: "Hostnames are composed of a sequence of labels concatenated with dots. For example, "en.wikipedia.org" is a hostname."
To me, this reads as "a hostname may contain any number of labels separated by dots".
Either way, it's fine :-)
Thanks for taking the time to discuss this - I'll just rename these services.
from dnssd.
Related Issues (20)
- Rediscovery services and mdns HOT 5
- Question: Service on same IP (cmd/register) is not found by cmd/browse HOT 4
- Fix IP address of a service is published on all network interfaces
- Requested unicast responses are never received
- TXT record updates are not published on all network interfaces
- Publish service on loopback network interface
- Howto: query meta service _services._dns-sd._udp.local HOT 6
- panic (sigsegv) in dnssd.probeAtInterface() HOT 2
- by default listens on port 5353 HOT 3
- Question: Refactoring branch HOT 3
- G601: Implicit memory aliasing in for loop. (gosec) HOT 2
- Browse in refactoring branch is broken for windows HOT 3
- How to get hostname and port from a browse? HOT 2
- mdnsConn.readInto() high cpu usage HOT 1
- Publish service on provided interfaces only HOT 3
- Panic when request interfaces are nil HOT 6
- #35 fix code not int tag v1.2.3 HOT 1
- Trying to publish A record HOT 3
- Browse example only works with full service strings HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dnssd.