[mythtv-commits] mythtv branch devel/027candidates updated by jyavenard. v0.27.1-33-ga5e27e9

Git Repo Owner noreply at mythtv.org
Sun Jun 8 06:03:11 UTC 2014


The branch, devel/027candidates has been updated on the
mythtv repository by gitolite user jyavenard.
       via  a5e27e95e6477d750bfe1a82bde56c3971ff10e5 (commit)
       via  cc23f113f571220d716724af966c5601a36fc1f3 (commit)
       via  280146e23c2a1d04f880ac8229fe85b9f4d4f109 (commit)
       via  815978b64ad065884782123b3ffe098cd4cb075a (commit)
       via  2bbaf31d25b7f4e39db45c8d091e3e40f64d52e6 (commit)
       via  9516b81e702849e6f91f544b67f6a33ac7bbb8a2 (commit)
       via  81b57392346369c021c64a26647e81fec8165da2 (commit)
       via  700e5be1a09cae23a161ccd7d655c0672a46fa03 (commit)
       via  192e8181025032abf0ee4cb71e6c5b7a7575b9a9 (commit)
      from  0527db0f1e6a80950d0b78a5e94a28fb91a796da (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a5e27e95e6477d750bfe1a82bde56c3971ff10e5
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 15:58:47 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 16:02:41 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=a5e27e95e6477d750bfe1a82bde56c3971ff10e5

Make MythCoreContext::GetMasterServerIP returns localhost when none are defined
(cherry picked from commit c0223f9ffa35b4d16768e96aa989b7f1998b5610)



commit cc23f113f571220d716724af966c5601a36fc1f3
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Sat, 7 Jun 2014 17:32:34 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 15:36:04 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=cc23f113f571220d716724af966c5601a36fc1f3

Tidy-up code.
C++y casts

(cherry picked from commit 0b64f62773aeaa58b1be37c5751c6e5275afdcca)



commit 280146e23c2a1d04f880ac8229fe85b9f4d4f109
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 01:39:25 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 13:40:00 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=280146e23c2a1d04f880ac8229fe85b9f4d4f109

Have server pool and mythbackend use new MythCoreContext::resolveSettingAddress API
this allows to set a hostname in the mythtv-setup BackendServerIP/6 settings

(cherry picked from commit 0e119c9a5e8f088d88e4a58646865c8ed5a4de7d)



commit 815978b64ad065884782123b3ffe098cd4cb075a
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Sat, 7 Jun 2014 23:45:09 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 13:39:45 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=815978b64ad065884782123b3ffe098cd4cb075a

Allow IPv6 use in backend service
(cherry picked from commit 574b2d376d69d2fcd1245fbe2ba40fe02ce08c80)



commit 2bbaf31d25b7f4e39db45c8d091e3e40f64d52e6
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 02:02:10 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 13:38:36 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=2bbaf31d25b7f4e39db45c8d091e3e40f64d52e6

Allow MasterServerIP, BackendServerIP and BackendServerIP6 to be a hostname
This became a requirement following 5594a6f32e73b0519b556b63983786a01a0f2228.
It was assumed in that commit that MasterServerIP was always an IP address as it’s the only thing mythtv-setup will allow.
However, pre-0.25 it was possible to set a hostname. Breaking grand-fathered network configuration

Add MythCoreContext::resolveSettingAddress and resolveAddress utility method to resolve hostnames

(cherry picked from commit d56fef8807fea73357d0d4e29e9856c7770e6b15)



commit 9516b81e702849e6f91f544b67f6a33ac7bbb8a2
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Sat, 7 Jun 2014 22:42:59 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 13:38:24 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=9516b81e702849e6f91f544b67f6a33ac7bbb8a2

Fix GetBackendServerIP6 from returning IPv4 address
(cherry picked from commit f93822a8cadc7e0687ee97a207a16525776467fd)



commit 81b57392346369c021c64a26647e81fec8165da2
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Tue, 3 Jun 2014 23:39:47 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 13:38:13 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=81b57392346369c021c64a26647e81fec8165da2

Don’t add port number to myth URL if it’s the default port, makes for cleaner URLs
Also put IPv6 URL in lower-case, I find it prettier

(cherry picked from commit 890a9867b54dd3d1543c79c150fa9fcbbe997adf)



commit 700e5be1a09cae23a161ccd7d655c0672a46fa03
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Tue, 3 Jun 2014 17:59:34 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 13:37:02 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=700e5be1a09cae23a161ccd7d655c0672a46fa03

Fix connection to Master Backend where the master IP address is an IPv6 address
Similar problems as fixed in 5594a6f32e73b0519b556b63983786a01a0f2228, if MasterServerIP is an IPv6 address or contains a scope Id, it will prevent frontend and slave backend to connect.

Several fixes:
* the master backend detects that it is the master by comparing its IP address with the value stored in the MasterServerIP setting. The comparison is made using strings.
So if MasterServerIP is set to something like 192.168.000.001 it will fail (as we would be comparing with 192.168.0.1). IPv6 can also contains upper or lower case characters.
* In some cases, like gCoreContext control server socket, or connection between slave backends and master backend  would only ever used the IPv4 address. Use IPV6 if available

Add convenience methods:
    QString GetBackendServerIP4(void);
    QString GetBackendServerIP4(const QString &host);
    QString GetBackendServerIP6(void);
    QString GetBackendServerIP6(const QString &host);
    QString GetMasterServerIP(void);
    int GetMasterServerPort(void);
    int GetMasterServerStatusPort(void);
    int GetBackendServerPort(void);
    int GetBackendServerPort(const QString &host);
    int GetBackendStatusPort(void);
    int GetBackendStatusPort(const QString &host);

And use them thorough the code, they will ensure the value read is always correct and usable

Ref #10921

(cherry picked from commit 520ea17ef86e5b85006d58d95a777d0b15056045)

Conflicts:
	mythtv/programs/mythbackend/mainserver.cpp



commit 192e8181025032abf0ee4cb71e6c5b7a7575b9a9
Author:    Jean-Yves Avenard <jyavenard at mythtv.org> at Mon, 2 Jun 2014 01:35:46 +1000
Committer: Jean-Yves Avenard <jyavenard at mythtv.org> at Sun, 8 Jun 2014 13:10:49 +1000
URL:       http://code.mythtv.org/cgit/mythtv/commit/?id=192e8181025032abf0ee4cb71e6c5b7a7575b9a9

Make Frontend/Backend connection works when BE is set to use IPv6 link-local address
BackendServerIP6 has created by mythtv-setup will contain the scope Id. That scope id is only valid on the machine mythtv-setup was run on.
We must remove that scope id before attempting to use it, as otherwise the connection would fail.

IPv6 link-local addresses do cause a problem has all network interfaces have one. We attempt to determine the scope id by trying to connect to the backend using each active interfaces. Once the scope Id is found, we cache it for later use.

This fixes #10921

(cherry picked from commit 5594a6f32e73b0519b556b63983786a01a0f2228)



-----------------------------------------------------------------------

Summary of changes:
 mythplugins/mytharchive/mytharchivehelper/main.cpp |    4 +-
 .../mythnetvision/mythnetvision/netcommon.cpp      |   22 +--
 mythtv/libs/libmyth/programinfo.cpp                |    8 +-
 mythtv/libs/libmyth/remoteutil.cpp                 |    3 +-
 mythtv/libs/libmythbase/logging.cpp                |   10 +-
 mythtv/libs/libmythbase/mythcorecontext.cpp        |  351 +++++++++++++++++--
 mythtv/libs/libmythbase/mythcorecontext.h          |   23 ++
 mythtv/libs/libmythbase/mythsocket.cpp             |   68 ++++-
 mythtv/libs/libmythbase/remotefile.cpp             |    6 +-
 mythtv/libs/libmythbase/serverpool.cpp             |   11 +-
 .../libs/libmythmetadata/metadataimagedownload.cpp |    5 +-
 mythtv/libs/libmythmetadata/videoutils.h           |    3 +-
 .../requesthandler/outboundhandler.cpp             |    4 +-
 mythtv/libs/libmythtv/HLS/httplivestream.cpp       |    4 +-
 mythtv/libs/libmythtv/metadataimagehelper.h        |    3 +-
 mythtv/libs/libmythtv/tv_rec.cpp                   |    2 +-
 mythtv/programs/mythbackend/httpstatus.cpp         |    4 +-
 mythtv/programs/mythbackend/main_helpers.cpp       |    9 +-
 mythtv/programs/mythbackend/mainserver.cpp         |   70 +++--
 mythtv/programs/mythbackend/services/myth.cpp      |    4 +-
 mythtv/programs/mythbackend/upnpcdsmusic.cpp       |    4 +-
 mythtv/programs/mythbackend/upnpcdstv.cpp          |    4 +-
 mythtv/programs/mythbackend/upnpcdsvideo.cpp       |    8 +-
 mythtv/programs/mythfrontend/mediarenderer.cpp     |    5 +-
 mythtv/programs/mythfrontend/themechooser.cpp      |    8 +-
 mythtv/programs/mythfrontend/upnpscanner.cpp       |   10 +-
 mythtv/programs/mythmediaserver/main.cpp           |    5 +-
 mythtv/programs/mythtranscode/main.cpp             |    9 +-
 28 files changed, 504 insertions(+), 163 deletions(-)

-- 



More information about the mythtv-commits mailing list