ruby/ext
usa ee6e1db1b6 merge revision(s) 35474,35479,38939,38943,38963,38991,38994: [Backport #7786]
* ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest
	  path in sockaddr_un.
	  (inspect_sockaddr): ditto.
	  (addrinfo_mdump): ditto.
	  (addrinfo_mload): ditto.
	  (rsock_unixpath_str): new function.
	  (rsock_unixpath): removed.
	  (rsock_unixaddr): use rsock_unixpath_str.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
	  path in sockaddr_un.
	  (sock_s_unpack_sockaddr_un): ditto.
	  (sock_s_gethostbyaddr): unused variable removed.

	* ext/socket/unixsocket.c (rsock_init_unixsock): support the longest
	  path in sockaddr_un.

	* ext/socket/rubysocket.h (rsock_unixpath_str): declared.
	  (rsock_unixpath): removed.

	* test/socket/test_unix.rb: comment out test_nul because abstract unix
	  sockets may contain NULs.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest
	  path in sockaddr_un, really.
	  reported by nagachika.
	  http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476

	* ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),
	  ext/socket/unixsocket.c (unixsock_connect_internal,
	  rsock_init_unixsock): calculate the correct address length of
	  an abstract socket.  Without this fix, sizeof(struct sockaddr_un)
	  is specified as the length of an abstract socket for bind(2) or
	  connect(2), so the address of the socket is filled with extra NUL
	  characters.  See unix(7) for details.

	* ext/socket/lib/socket.rb (unix_server_socket): don't access the
	  file system if the platform is Linux and path starts with NUL,
	  which means that the socket is an abstract socket.

	* test/socket/test_unix.rb: related test.

	* ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from
	  rsock_unixpath_len, because it returns not the length of the path,
	  but the length of a socket address for the path.

	* ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the
	  correct address length of an abstract socket.

	* test/socket/test_unix.rb: related test.

	* ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()
	  because rb_sys_fail_str() fails if its argument contains NUL.

	* test/socket/test_unix.rb: related test.

	* ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return
	  sizeof(sa_familiy_t) if path is empty.  see "Autobind Feature" in
	  unix(7) for details.

	* ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an
	  empty path as an abstract name.

	* test/socket/test_unix.rb: related test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 05:30:55 +00:00
..
-test- merge revision(s) 32826,34732: [Backport #6681] 2012-10-26 03:01:41 +00:00
bigdecimal merge revision(s) 38801,38809,38810: [Backport #7404] 2013-01-15 07:22:50 +00:00
continuation * cont.c (ruby_Init_{Continuation_body,Fiber_as_Coroutine}): prefixed 2009-01-20 07:17:28 +00:00
coverage * ext/coverage/coverage.c: resurrect r32071 + add GC guard for 2011-07-04 15:55:06 +00:00
curses merge revision(s) 36455: [Backport #6772] 2012-07-29 02:23:21 +00:00
date merge revision(s) 35002: [Backport #6135] 2012-03-30 05:15:10 +00:00
dbm merge revision(s) 34644: 2012-02-17 01:16:19 +00:00
digest * ext/digest/md5/extconf.rb: use pkg_config for openssl so that 2012-05-15 16:10:46 +00:00
dl merge revision(s) 38202,38238,38324,38326: [Backport #7527] 2012-12-20 09:52:46 +00:00
etc * ext: remove trailing spaces. 2011-05-22 09:26:02 +00:00
fcntl .cvsignore: have not been used already. [Bug #3468] 2010-08-07 05:43:21 +00:00
fiber * cont.c (ruby_Init_{Continuation_body,Fiber_as_Coroutine}): prefixed 2009-01-20 07:17:28 +00:00
fiddle merge revision(s) 38073,38251,38252: [Backport #7552] 2012-12-20 09:45:19 +00:00
gdbm * enc/utf_16le.c: surpress warning: shorten-64-to-32. 2011-03-21 21:23:42 +00:00
iconv * ext/iconv/iconv.c (Init_iconv): no warnings if $VERBOSE is nil. 2010-12-03 23:50:13 +00:00
io merge revision(s) 34917: 2012-03-06 03:48:34 +00:00
json Merge eacb6564c05ff7428bcbb3c34f72655b1b5d6ca3. 2012-04-16 11:15:31 +00:00
mathn * complex.c (nucomp_canonicalization): renamed. 2008-12-12 23:40:55 +00:00
nkf merge revision(s) 33225: 2011-09-08 12:18:41 +00:00
objspace * backport r32876 from trunk. 2011-08-07 05:18:22 +00:00
openssl merge revision(s) 35685 2012-09-09 06:39:23 +00:00
pathname merge revision(s) 32826,34732: [Backport #6681] 2012-10-26 03:01:41 +00:00
psych merge revision(s) r36583, r36458, r36414, r36103, r35690, r35681, r35658, r35657, r35655, r35492: [Backport #6815] 2012-08-07 20:50:05 +00:00
pty merge revision(s) 33468: 2012-01-03 01:00:23 +00:00
racc/cparse .cvsignore: have not been used already. [Bug #3468] 2010-08-07 05:43:21 +00:00
readline merge revision(s) 35687:35691: 2012-09-09 06:44:20 +00:00
ripper * ext: remove trailing spaces. 2011-05-22 09:26:02 +00:00
sdbm * ext/sdbm/init.c: parenthesize macro arguments. 2011-03-25 12:56:34 +00:00
socket merge revision(s) 35474,35479,38939,38943,38963,38991,38994: [Backport #7786] 2013-02-06 05:30:55 +00:00
stringio merge revision(s) 34376: 2012-03-06 03:32:28 +00:00
strscan * ext/strscan/strscan.c: parenthesize macro arguments. 2011-03-31 11:42:23 +00:00
syck merge revision(s) 34908: 2012-03-06 02:43:21 +00:00
syslog merge revision(s) 35737: 2012-05-21 07:24:34 +00:00
tk * ex/tk/extconf.rb: support for the latest ActiveTcl with mingw. 2011-06-29 14:11:19 +00:00
win32ole * ext: remove trailing spaces. 2011-05-22 09:26:02 +00:00
zlib merge revision(s) 37527: [Backport #7293] 2012-11-08 08:34:18 +00:00
.document * backport r32981 and r32982 from trunk. 2011-08-16 00:51:58 +00:00
extmk.rb merge revision(s) 35685 2012-09-09 06:39:23 +00:00
Setup * sprintf.c (rb_str_format): allow %c to print one character 2006-06-09 21:20:17 +00:00
Setup.atheos * ext/Setup*: remove tcltklib. 2005-01-26 05:15:02 +00:00
Setup.emx * ext/Setup*: remove tcltklib. 2005-01-26 05:15:02 +00:00
Setup.nt * ext/Setup*: remove tcltklib. 2005-01-26 05:15:02 +00:00