Opened 10 years ago

Closed 10 years ago

#9001 closed defect (Invalid)

UPNP was using fully qualified domain names to devices that couldn'tt resolve them

Reported by: satz@… Owned by: beirdo
Priority: minor Milestone: unknown
Component: MythTV - UPnP Version: 0.23.1
Severity: medium Keywords: UPNP
Cc: Ticket locked: no

Description

I changed my server name in the mythtv-setup from an IP address to a host name while playing with multiple back-ends. This broke the ability to play via UPNP on some (WD TV Live Plus) players. The backend is using the FQDN instead of the IP address in the UPNP which the player cannot resolve.

The solution is to turn all host names into IP addresses. I have included a patch as a proof of concept which allows my WD device to begin to play again.

The patch is still deficient in the following areas: 1) It is possible the DNS resolver will not return any addresses. This isn't always handed. 2) The backend music UPNP handler doesn't cache the back end's IP address like the Video and TV handling. This will hammer the network with resolver requests for every song and will ultimately cause a crash due to the above case of not checking the return.

Attachments (1)

upnpdiff.txt (15.8 KB) - added by satz@… 10 years ago.
Patch to allow the backend to use IP addresses instead of hostsnames for UPNP

Download all attachments as: .zip

Change History (5)

Changed 10 years ago by satz@…

Attachment: upnpdiff.txt added

Patch to allow the backend to use IP addresses instead of hostsnames for UPNP

comment:1 Changed 10 years ago by beirdo

Owner: set to beirdo
Status: newaccepted

comment:2 Changed 10 years ago by beirdo

The other way to fix this is to use IP addresses, not names.

I will look into this after 0.24

comment:3 Changed 10 years ago by beirdo

Component: MythTV - GeneralMythTV - UPnP

comment:4 Changed 10 years ago by robertm

Resolution: Invalid
Status: acceptedclosed

Setting your backend to a hostname instead of an IP address is not supported. That's why mythtv-setup asks for an IP address, not a hostname.

Note: See TracTickets for help on using tickets.