From 1a5801304432cebfa5c0086a41c8c8546a1437e2 Mon Sep 17 00:00:00 2001 From: Jani Taskinen Date: Wed, 16 Jul 2008 14:08:04 +0000 Subject: [PATCH] - Fixed bug #44127 (UNIX abstract namespace socket connect does not work) --- ext/phar/config.m4 | 2 +- ext/sockets/sockets.c | 4 ++-- ext/sockets/tests/ipv4loop.phpt | 2 +- ext/sockets/tests/ipv6loop.phpt | 2 +- main/streams/xp_socket.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/phar/config.m4 b/ext/phar/config.m4 index 78b4fa30c7..33dca2c9d0 100644 --- a/ext/phar/config.m4 +++ b/ext/phar/config.m4 @@ -2,7 +2,7 @@ dnl $Id$ dnl config.m4 for extension phar PHP_ARG_ENABLE(phar, for phar archive support, -[ --enable-phar Enable phar support]) +[ --disable-phar Disable phar support], yes) if test "$PHP_PHAR" != "no"; then PHP_NEW_EXTENSION(phar, util.c tar.c zip.c stream.c func_interceptors.c dirstream.c phar.c phar_object.c phar_path_check.c, $ext_shared) diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 2357214d5c..dd0ab79113 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -1318,8 +1318,8 @@ PHP_FUNCTION(socket_connect) memset(&s_un, 0, sizeof(struct sockaddr_un)); s_un.sun_family = AF_UNIX; - snprintf(s_un.sun_path, 108, "%s", addr); - retval = connect(php_sock->bsd_socket, (struct sockaddr *) &s_un, SUN_LEN(&s_un)); + memcpy(&s_un.sun_path, addr, addr_len); + retval = connect(php_sock->bsd_socket, (struct sockaddr *) &s_un, (socklen_t) XtOffsetOf(struct sockaddr_un, sun_path) + addr_len); break; default: diff --git a/ext/sockets/tests/ipv4loop.phpt b/ext/sockets/tests/ipv4loop.phpt index 7c6c0db31e..9fdcc17dad 100644 --- a/ext/sockets/tests/ipv4loop.phpt +++ b/ext/sockets/tests/ipv4loop.phpt @@ -3,7 +3,7 @@ IPv4 Loopback test --SKIPIF-- --FILE-- diff --git a/ext/sockets/tests/ipv6loop.phpt b/ext/sockets/tests/ipv6loop.phpt index 45d2a05fc0..6fb584045f 100644 --- a/ext/sockets/tests/ipv6loop.phpt +++ b/ext/sockets/tests/ipv6loop.phpt @@ -3,7 +3,7 @@ IPv6 Loopback test --SKIPIF-- socket, - (const struct sockaddr *)&unix_addr, (socklen_t)sizeof(unix_addr), + (const struct sockaddr *)&unix_addr, (socklen_t) XtOffsetOf(struct sockaddr_un, sun_path) + xparam->inputs.namelen, xparam->op == STREAM_XPORT_OP_CONNECT_ASYNC, xparam->inputs.timeout, xparam->want_errortext ? &xparam->outputs.error_text : NULL, &err); -- 2.50.1