summaryrefslogtreecommitdiff
path: root/ext/socket
AgeCommit message (Collapse)Author
2013-03-02* ext/socket/tcpserver.c: Grammar for TCPServer.new from r39554zzak
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-02update doc.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-28* ext/socket/raddrinfo.c (inspect_sockaddr): don't show that Unixakr
domain socket filename is bigger than sizeof(sun_path). This limit is not rigid on some platforms such as Darwin and SunOS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-27* ext/socket/rubysocket.h (union_sockaddr): make it longer for SunOSakr
and Darwin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25* ext/socket/extconf.rb: don't test ss_family and ss_len member ofakr
struct sockaddr_storage. They are not used now except SunOS specific code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-24* ext/socket: define and use union_sockaddr instead of structakr
sockaddr_storage for less casts. * ext/socket/rubysocket.h (union_sockaddr): defined. * ext/socket/socket.c (sock_accept): use union_sockaddr. (sock_accept_nonblock): ditto. (sock_sysaccept): ditto. (sock_s_getnameinfo): ditto. * ext/socket/basicsocket.c (bsock_getsockname): ditto. (bsock_getpeername): ditto. (bsock_local_address): ditto. (bsock_remote_address): ditto. * ext/socket/ancdata.c (bsock_recvmsg_internal): ditto. * ext/socket/init.c (recvfrom_arg): ditto. (recvfrom_blocking): ditto. (rsock_s_recvfrom): ditto. (rsock_s_recvfrom_nonblock): ditto. (rsock_getfamily): ditto. * ext/socket/raddrinfo.c (rb_addrinfo_t): ditto. (ai_get_afamily): ditto. (inspect_sockaddr): ditto. (addrinfo_mdump): ditto. (addrinfo_mload): ditto. (addrinfo_getnameinfo): ditto. (addrinfo_ip_port): ditto. (extract_in_addr): ditto. (addrinfo_ipv6_to_ipv4): ditto. (addrinfo_unix_path): ditto. * ext/socket/tcpserver.c (tcp_accept): ditto. (tcp_accept_nonblock): ditto. (tcp_sysaccept): ditto. * ext/socket/ipsocket.c (ip_addr): ditto. (ip_peeraddr): ditto. (ip_s_getaddress): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16* ext/socket/ancdata.c (rsock_recvmsg): ignore truncated part ofakr
socket address returned from recvmsg(). * ext/socket/init.c (recvfrom_blocking): ignore truncated part of socket address returned from recvfrom(). (rsock_s_recvfrom_nonblock): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16* ext/socket/extconf.rb: don't test sys/feature_tests.h which is notakr
used now. It was included in r7901 as "bug of gcc 3.0 on Solaris 8 ?". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16* ext/socket/extconf.rb: reorder header tests to consider inclusionakr
order in rubysocket.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* configure.in, ext/socket/extconf.rb: test netinet/in_systm.h inakr
ext/socket/extconf.rb instead of configure.in. Originally, netinet/in_systm.h is included for NextStep, OpenStep, and Rhapsody. [ruby-core:1596] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* configure.in: don't test xti.h here.akr
* ext/socket/extconf.rb: test xti.h here. Originally, xti.h is included for IRIX [ruby-core:14447]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15preprocessor directives indented.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* ext/socket/extconf.rb: test struct sockaddr_un and its member,akr
sun_len. * ext/socket/sockport.h (INIT_SOCKADDR_UN): new macro defined. * ext/socket/socket.c (sock_s_pack_sockaddr_un): use INIT_SOCKADDR_UN. * ext/socket/unixsocket.c (rsock_init_unixsock): ditto. * ext/socket/raddrinfo.c (init_unix_addrinfo): ditto. (addrinfo_mload): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* ext/socket/sockport.h (INIT_SOCKADDR_IN): don't need familyakr
argument. it is always AF_INET. * ext/socket/raddrinfo.c (make_inetaddr): follow INIT_SOCKADDR_IN change. (addrinfo_ipv6_to_ipv4): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 * ext/socket/extconf.rb: workaround for mswin/mingw build problem.usa
sendmsg emulation in win32/win32.c is not enough. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* ext/socket/extconf.rb: use all all tested available headers forakr
have_func. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* ext/socket/sockport.h (SET_SIN_LEN): defined for strict-aliasingakr
rule. (INIT_SOCKADDR_IN): ditto. * ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR_IN. (addrinfo_ipv6_to_ipv4): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15socket: ai_addrlen is socklen_tnobu
* ext/socket/raddrinfo.c (rsock_make_hostent): ai_addrlen is not size_t but socklen_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* ext/socket/extconf.rb: test struct sockaddr_storage directly.akr
* ext/socket/rubysocket.h: use HAVE_TYPE_STRUCT_SOCKADDR_STORAGE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15* ext/socket/getaddrinfo.c (GET_AI): don't cast 1st argument forakr
INIT_SOCKADDR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14* ext/socket/sockport.h (SET_SS_LEN): removed.akr
(SET_SIN_LEN): removed. (INIT_SOCKADDR): new macro. * ext/socket/ancdata.c (extract_ipv6_pktinfo): use INIT_SOCKADDR. * ext/socket/raddrinfo.c (make_inetaddr): use INIT_SOCKADDR. (addrinfo_ipv6_to_ipv4): ditto. * ext/socket/getaddrinfo.c (GET_AI): use INIT_SOCKADDR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14* ext/socket/sockport.h (SA_LEN): removed because unused now.akr
(SS_LEN): ditto. (SIN_LEN): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14* ext/socket/sockport.h (VALIDATE_SOCKLEN): new macro to validateakr
sa_len member of 4.4BSD socket address. * ext/socket/getnameinfo.c (getnameinfo): use VALIDATE_SOCKLEN, instead of SA_LEN. * ext/socket/socket.c (sock_s_getnameinfo): use VALIDATE_SOCKLEN instead of SS_LEN. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14* ext/socket/socket.c (sockaddr_len): extracted from sockaddr_obj.akr
(sockaddr_obj): add an argument to length of socket address. (socket_s_ip_address_list): call sockaddr_obj with actual socket address length if given, use sockaddr_len otherwise. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14* ext/socket: always operate length of socket addess companion withakr
socket address. * ext/socket/rubysocket.h (rsock_make_ipaddr): add an argument for socket address length. (rsock_ipaddr): ditto. * ext/socket/ipsocket.c (ip_addr): pass length to rsock_ipaddr. (ip_peeraddr): ditto. (ip_s_getaddress): pass length to rsock_make_ipaddr. * ext/socket/socket.c (make_addrinfo): pass length to rsock_ipaddr. (sock_s_getnameinfo): pass actual address length to rb_getnameinfo. (sock_s_unpack_sockaddr_in): pass length to rsock_make_ipaddr. * ext/socket/init.c (rsock_s_recvfrom): pass length to rsock_ipaddr. (rsock_s_recvfrom_nonblock): ditto. * ext/socket/tcpsocket.c (tcp_sockaddr): pass length to rsock_make_ipaddr. * ext/socket/raddrinfo.c (make_ipaddr0): add an argument for socket address length. pass the length to rb_getnameinfo. (rsock_ipaddr): ditto. (rsock_make_ipaddr): add an argument for socket address length. pass the length to make_ipaddr0. (make_inetaddr): pass length to make_ipaddr0. a local variable renamed. (host_str): a local variable renamed. (port_str): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13* ext/socket/extconf.rb: don't define HAVE_SA_LEN and HAVE_SA_LEN.akr
use HAVE_STRUCT_SOCKADDR_SA_LEN and HAVE_STRUCT_SOCKADDR_IN_SIN_LEN instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13add comment.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13* ext/socket/extconf.rb: don't define socklen_t here, just test.akr
* ext/socket/rubysocket.h: define socklen_t if not available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-12* ext/socket/extconf.rb: test functions just after struct members.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10* ext/socket/extconf.rb: test structure members just after types test.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10* ext/socket/extconf.rb: test types just after headers test.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10add comments.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-10* ext/socket/extconf.rb: test headers at first.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04init.c: declaration-after-statementnobu
* ext/socket/init.c (cloexec_accept): fix declaration-after-statement. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-31* ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): returnshugo
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/trunk@38994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-30* ext/socket/basicsocket.c (bsock_getsockname): ignore truncatedakr
part of socket address. (bsock_getpeername): ditto. (bsock_local_address): ditto. (bsock_remote_address): ditto. * ext/socket/unixsocket.c (unix_path): ditto. (unix_addr): ditto. (unix_peeraddr): ditto. * ext/socket/init.c (cloexec_accept): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-30* ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect()shugo
because rb_sys_fail_str() fails if its argument contains NUL. * test/socket/test_unix.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-29* ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate theshugo
correct address length of an abstract socket. * test/socket/test_unix.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-26extconf.rb: fix warningsnobu
* ext/socket/extconf.rb: fix warnings from IN6_IS_ADDR_ macros in apple's netinet6/in6.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25* ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed fromshugo
rsock_unixpath_len, because it returns not the length of the path, but the length of a socket address for the path. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25* ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo),shugo
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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-23* ext/socket/ipsocket.c (IPSocket#peeraddr): Fix examplezzak
[ruby-core:46429] [Bug #6732] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-20fix indentkazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22Supress warnings: unused variablesnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20* include/ruby/ruby.h: add C APIs.nari
VALUE rb_newobj_of(VALUE klass, VALUE flags) #define NEWOBJ_OF(obj,type,klass,flags) These allow to change a allocation strategy depending on klass or flags. * gc.c: ditto * array.c: use new C API. * bignum.c: ditto * class.c: ditto * complex.c: ditto * ext/socket/ancdata.c: ditto * ext/socket/option.c: ditto * hash.c: ditto * io.c: ditto * marshal.c: ditto * numeric.c: ditto * object.c: ditto * random.c: ditto * range.c: ditto * rational.c: ditto * re.c: ditto * string.c: ditto * struct.c: ditto [Feature #7177][Feature #7047] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-20* ext/socket/socket.c: Documentation for Socketzzak
Based on a patch by David Albert [Bug #7105] [ruby-core:47828] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-10* ext/socket/{basicksocket,init,udpsocket}.c: revert some parts ofusa
r36944. it breaks mswin/mingw ruby and brought into many many crashes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-09* ext/socket/basicsocket.c (rsock_bsock_send):kosaki
avoid unnecessary select() calls before doing I/O Patch by Eric Wong. [Feature #4538] [ruby-core:35586] * ext/socket/init.c (rsock_s_recvfrom): ditto. * ext/socket/init.c (rsock_s_accept): ditto. * ext/socket/udpsocket.c (udp_send): ditto. * io.c (io_fflush): ditto. * io.c (io_binwrite): ditto. * io.c (rb_io_syswrite): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-29option.c: mingw64 onlynobu
* ext/socket/option.c (inet_ntop): something weird only on mingw64. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-29option.c: use rb_w32_inet_ntopnobu
* ext/socket/option.c (inet_ntop): use rb_w32_inet_ntop, instead of inet_ntop directly, which is unavailable on older version Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e