svn commit: r513445 - in head/multimedia/libhdhomerun: . files
Kubilay Kocak
koobs at FreeBSD.org
Tue Oct 1 03:23:18 UTC 2019
Author: koobs
Date: Tue Oct 1 03:23:17 2019
New Revision: 513445
URL: https://svnweb.freebsd.org/changeset/ports/513445
Log:
multimedia/libhdhomerun: Backport FreeBSD broadcast patch
Release 20190621 caused a regression in the ability to discover tuner
hardware, for example using: hdhomerun_config discover.
This change backports a commit [1] marked as "Release 20190625" which
doesn't (yet?) appear to be available/distributed.
[1] https://github.com/Silicondust/libhdhomerun/commit/b0e5d5f5c8e2bf37dea34beb014e08ebb598ebf6
PR: 240907
Reported by: Daniel Becker <razzfazz gmail com>
Submitted by: David O'Rourke <dor.bsd xm0 uk> (maintainer)
Added:
head/multimedia/libhdhomerun/files/patch-hdhomerun__discover.c (contents, props changed)
Modified:
head/multimedia/libhdhomerun/Makefile
Modified: head/multimedia/libhdhomerun/Makefile
==============================================================================
--- head/multimedia/libhdhomerun/Makefile Tue Oct 1 00:52:06 2019 (r513444)
+++ head/multimedia/libhdhomerun/Makefile Tue Oct 1 03:23:17 2019 (r513445)
@@ -2,6 +2,7 @@
PORTNAME= libhdhomerun
PORTVERSION= 20190621
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= https://download.silicondust.com/hdhomerun/
DISTNAME= ${PORTNAME}_${PORTVERSION}
Added: head/multimedia/libhdhomerun/files/patch-hdhomerun__discover.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/multimedia/libhdhomerun/files/patch-hdhomerun__discover.c Tue Oct 1 03:23:17 2019 (r513445)
@@ -0,0 +1,35 @@
+# Backport FreeBSD broadcast patch
+# https://github.com/Silicondust/libhdhomerun/commit/b0e5d5f5c8e2bf37dea34beb014e08ebb598ebf6
+
+--- hdhomerun_discover.c.orig 2019-09-30 16:45:23 UTC
++++ hdhomerun_discover.c
+@@ -183,7 +183,8 @@ static bool hdhomerun_discover_send(struct hdhomerun_d
+ unsigned int i;
+ for (i = 1; i < ds->sock_count; i++) {
+ struct hdhomerun_discover_sock_t *dss = &ds->socks[i];
+-
++ uint32_t send_ip = target_ip;
++
+ if (target_ip != 0xFFFFFFFF) {
+ if (dss->subnet_mask == 0) {
+ continue;
+@@ -193,7 +194,18 @@ static bool hdhomerun_discover_send(struct hdhomerun_d
+ }
+ }
+
+- result |= hdhomerun_discover_send_internal(ds, dss, target_ip, device_type, device_id);
++#if defined(IP_ONESBCAST)
++ /* FreeBSD special handling - send subnet broadcast */
++ if (target_ip == 0xFFFFFFFF) {
++ send_ip = dss->local_ip | ~dss->subnet_mask;
++
++ if ((send_ip == 0x00000000) || (send_ip == 0xFFFFFFFF)) {
++ continue;
++ }
++ }
++#endif
++
++ result |= hdhomerun_discover_send_internal(ds, dss, send_ip, device_type, device_id);
+ }
+
+ /*
More information about the svn-ports-all
mailing list