[mythtv-commits] Ticket #13024: Networking Improvements

MythTV noreply at mythtv.org
Tue Apr 4 19:56:53 UTC 2017


#13024: Networking Improvements
----------------------------------+-------------------------
     Reporter:  pbennett          |      Owner:  pbennett
         Type:  Patch - Feature   |     Status:  new
     Priority:  minor             |  Milestone:  29.0
    Component:  MythTV - General  |    Version:  Unspecified
     Severity:  medium            |   Keywords:
Ticket locked:  0                 |
----------------------------------+-------------------------
 If anybody has any reservations or problems with this please let me know.
 See the proposed changes here:

 https://github.com/bennettpeter/mythtv/commit/f9c8ad8c

 Summary
 * Improved reliability by listening on wildcard ip addresses, so that if
 an interface starts after mythtv, it will listen on that interface as
 well.
 * Improved security by rejecting messages from outside your subnets.
 * Above improvements can be overridden if desired.
 * Simplified backend setup, only need to select one ip address or dns name
 instead of three.

 Networking changes
 * Listen on all ip addresses (IPV4 and IPV6). This can be disabled to
 restore the previous selection of an IPV4 and an IPV6 address.
 * Restrict incoming connections and UDP datagrams to subnets your server
 is on (IPV4 and IPV6), plus link-local addresses. This can be disabled to
 allow connections from everywhere.
 * Use a new method of determining the master backend, via a new setting
 called !MasterServerName, instead of having to compare ip addresses of the
 backend against a master server address.

 Backend Setup first page changed as follows:
 * Added checkboxes for "Allow Connections from all Subnets" (default
 false), "Listen on All IP Addresses" (default true).
 * Selection of IPV4 and IPV6 addresses is hidden unless you uncheck the
 "Listen on All IP Addresses".
 * Add a "Primary IP address / DNS name" entry which is a combo box of all
 local ip addresses, which also allows typing a DNS name. This is the
 address that will be used to contact this backend. This replaces the
 "Master backend IP address", "IPV4 address" and "IPV6 address".
 * Add a "This server is the master backend" checkbox, which sets the new
 setting for master backend. This replaces the "Master server ip address"
 and "master server port"

 Settings changes:
 * Global - !MasterServerName (new, required)
 * Global - MasterServerIP - deprecate
 * Global - !MasterServerPort - deprecate
 * Host - !ListenOnAllIps (new, not required)
 * Host - !BackendServerAddr (new, required)
 * Host - BackendServerIP  - not entered when Listen on all
 * Host - BackendServerIP6 - not entered when Listen on all
 * Host - !AllowConnFromAll (new, not required)

 The deprecated settings are no longer referenced in the mythtv code, perl
 bindings or php bindings. They are still being updated by setup so are
 still available for code which uses them. The python bindings are still
 using them

 The BackendServerIP and BackendServerIP6 are not used by the code if
 listen on all is selected. The setup page is still putting in valid values
 in that case for code which may be using them.

 Database schema version is increasing from 1346 to 1347 to add the new
 required settings.

 Removed checks for QT_NO_IPV6.
 * #if !defined(QT_NO_IPV6) - remove this, remove #else code
 * #if defined(QT_NO_IPV6) - remove this plus code.Leave else code present.

--
Ticket URL: <https://code.mythtv.org/trac/ticket/13024>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list