diff options
author | amdmi3 <amdmi3@FreeBSD.org> | 2016-12-28 13:56:45 +0000 |
---|---|---|
committer | amdmi3 <amdmi3@FreeBSD.org> | 2016-12-28 13:56:45 +0000 |
commit | 4f4ebd062cb4e735283eaba401dc8a434e18f678 (patch) | |
tree | 567db95a5713ba3f3af87eba7c102b55beb6170e | |
parent | 3ee2a6b4be7e94dfaf57dfb93bd9970eb387893d (diff) | |
download | FreeBSD-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/Makefile | 1 | ||||
-rw-r--r-- | multimedia/motion/files/patch-stream.c | 32 |
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; + } |