sbyx / ohybridproxy

mDNS DNS-SD hybrid-proxy
Apache License 2.0
22 stars 4 forks source link

Query for .arpa not rewritten to .local #6

Open jannewmarch opened 5 years ago

jannewmarch commented 5 years ago

In b_query_start() in dns2mdns.c there are tests as to whether the request comes from a known domain or from ".arpa". If it is from a known domain, the domain is re-written to ".local" by TO_MDNS(). But it isn't re-written if it is ".arpa". This means that we can't do mDNS queries to ".local" from home domains ".home.arpa" which is now the recommended home domain name by RFC8375.

Looking back, the test seems to be introduced in https://github.com/sbyx/ohybridproxy/blob/9315f7b98b984e00977e4c7de5f572ed5ebc6c37/src/dns2mdns.c and some later revisions says it is done because of a bug in mdnsResponder.

Fail-Safe commented 4 years ago

I just stumbled upon this tool and ran into the same issue as I use “.home.arpa” for my local domain per RFC8375.

Is this project still being maintained?

fingon commented 4 years ago

Not really; while I still use it in my home network, I haven't done RFC8375 transition so I haven't seen the need. Possibly @Oryon who is the RFC8375 author will someday update this too.

In this case, the change itself is simple, but testing changes properly for the homenet stack is pretty painful ( at least using https://github.com/fingon/hnet-ttin ) and I am not sure if I even have the VMs around for it any more. I also do not have the physical test router setup set up anymore either, and I'm not going to touch setup which works :)

Fail-Safe commented 4 years ago

@jannewmarch If you're able to test and confirm if https://github.com/sbyx/ohybridproxy/pull/7 works for you, that would be great. Not sure if @sbyx is willing to accept the PR. Even if not, it may help others patch their code locally if desired.

fingon commented 4 years ago

I accepted the PR, as it looks good enough (I would have done it perhaps slightly differently, e.g. detect the IPv4/IPv6 reverse domains it is trying to avoid).