diff options
author | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2016-12-28 13:56:45 +0000 |
---|---|---|
committer | Dmitry Marakasov <amdmi3@FreeBSD.org> | 2016-12-28 13:56:45 +0000 |
commit | cd69e4a20e972180c3636046fcb2b6a74b98e38c (patch) | |
tree | 567db95a5713ba3f3af87eba7c102b55beb6170e /multimedia/motion/files | |
parent | 130a10893e5f917e7060891c1bff6408e3d24b6b (diff) | |
download | ports-cd69e4a20e972180c3636046fcb2b6a74b98e38c.tar.gz ports-cd69e4a20e972180c3636046fcb2b6a74b98e38c.zip |
Notes
Diffstat (limited to 'multimedia/motion/files')
-rw-r--r-- | multimedia/motion/files/patch-stream.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/multimedia/motion/files/patch-stream.c b/multimedia/motion/files/patch-stream.c new file mode 100644 index 000000000000..e0d06048f6da --- /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; + } |