summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2016-12-28 13:56:45 +0000
committeramdmi3 <amdmi3@FreeBSD.org>2016-12-28 13:56:45 +0000
commit4f4ebd062cb4e735283eaba401dc8a434e18f678 (patch)
tree567db95a5713ba3f3af87eba7c102b55beb6170e
parent3ee2a6b4be7e94dfaf57dfb93bd9970eb387893d (diff)
downloadFreeBSD-ports-4f4ebd062cb4e735283eaba401dc8a434e18f678.zip
FreeBSD-ports-4f4ebd062cb4e735283eaba401dc8a434e18f678.tar.gz
Fix daemon inability to bind to the sockey with the following error:
http_bindsock: error binding on 127.0.0.1 port 8081 this problem was already fixed upstream.
-rw-r--r--multimedia/motion/Makefile1
-rw-r--r--multimedia/motion/files/patch-stream.c32
2 files changed, 33 insertions, 0 deletions
diff --git a/multimedia/motion/Makefile b/multimedia/motion/Makefile
index 017db3d..e7a2de0 100644
--- a/multimedia/motion/Makefile
+++ b/multimedia/motion/Makefile
@@ -3,6 +3,7 @@
PORTNAME= motion
PORTVERSION= 4.0.1
+PORTREVISION= 1
DISTVERSIONPREFIX= release-
CATEGORIES= multimedia
diff --git a/multimedia/motion/files/patch-stream.c b/multimedia/motion/files/patch-stream.c
new file mode 100644
index 0000000..e0d0604
--- /dev/null
+++ b/multimedia/motion/files/patch-stream.c
@@ -0,0 +1,32 @@
+--- stream.c.orig 2016-10-25 01:39:24 UTC
++++ stream.c
+@@ -727,9 +727,9 @@ int http_bindsock(int port, int local, i
+ const char *addr_str;
+ struct sockaddr_storage sin;
+ bzero(&sin, sizeof(struct sockaddr_storage));
+- sin.ss_family = ipv6_enabled?AF_INET6:AF_INET;
+ if (ipv6_enabled) {
+ struct sockaddr_in6 *sin6 = (struct sockaddr_in6*)&sin;
++ sin6->sin6_len = sizeof(struct sockaddr_in6);
+ sin6->sin6_family = AF_INET6;
+ sin6->sin6_port = htons(port);
+ if(local) {
+@@ -741,6 +741,7 @@ int http_bindsock(int port, int local, i
+ }
+ } else {
+ struct sockaddr_in *sin4 = (struct sockaddr_in*)&sin;
++ sin4->sin_len = sizeof(struct sockaddr_in);
+ sin4->sin_family = AF_INET;
+ sin4->sin_port = htons(port);
+ if(local) {
+@@ -752,8 +753,8 @@ int http_bindsock(int port, int local, i
+ }
+ }
+
+- if (bind(sd, (struct sockaddr*)&sin, sizeof(sin)) != 0) {
+- MOTION_LOG(NTC, TYPE_STREAM, NO_ERRNO, "%s: error binding on %s port %d", addr_str, port);
++ if (bind(sd, (struct sockaddr*)&sin, sin.ss_len) != 0) {
++ MOTION_LOG(NTC, TYPE_STREAM, SHOW_ERRNO, "%s: error binding on %s port %d", addr_str, port);
+ close(sd);
+ return -1;
+ }
OpenPOWER on IntegriCloud