aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/drivers
AgeCommit message (Collapse)Author
2011-09-28Merge branch 'raimo/sctp-getsetopts-dev/OTP-9544' into devRaimo Niskanen
* raimo/sctp-getsetopts-dev/OTP-9544: erts,kernel: Bugfix - read SCTP socket options from right protocol layer erts: Fix bug SCTP send can only be called from controlling process
2011-09-20Merge branch 'ta/docs-fixes' into devHenrik Nord
* ta/docs-fixes: Fix misspelling of intermediate Fix typos in erts/preloaded/src Fix more misspellings of compatibility Fix misspelling of kept Fix misspelling of compatibility in ssl_basic_SUITE Fix misspelling of compatibility Fix misspelling of accommodate Fix misspelling of exceed Fix misspelling of accidentally Fix misspelling of erroneous in xmerl_xsd Fix misspelling of erroneous Fix misspelling of successful Fix typos in instrument(3) Fix typos in dbg(3) dialyzer: fix a small typo in list_to_bitstring test Fix typos in cover.erl Fix typos (variable name) in erl_nif(3) Fix typos in mod_esi(3) Fix trivial typos in erlang(3) OTP-9555
2011-09-19Merge branch 'raimo/sctp-getsetopts/OTP-9544' into ↵Raimo Niskanen
raimo/sctp-getsetopts-dev/OTP-9544 Conflicts: erts/emulator/drivers/common/inet_drv.c lib/kernel/test/gen_sctp_SUITE.erl
2011-09-19erts,kernel: Bugfix - read SCTP socket options from right protocol layerRaimo Niskanen
Socket options 'sndbuf', 'recbuf' and 'linger were read from the SCTP protocol layer instead of from the socket protocol layer. Conflicts: lib/kernel/test/gen_sctp_SUITE.erl
2011-09-19erts: Fix bug SCTP send can only be called from controlling processRaimo Niskanen
Conflicts: lib/kernel/test/gen_sctp_SUITE.erl
2011-09-16Merge branch 'pan/win_symbolic_link_fixes/OTP-9279' into devBjörn-Egil Dahlberg
* pan/win_symbolic_link_fixes/OTP-9279: Add error code for cyclic symbolic links and make directory links readable
2011-09-15Fix misspelling of successfulTuncer Ayaz
2011-05-24inet: error if fd does not match socket domainMichael Santos
If an IPv4 fd is opened as an IPv6 socket, unexpected behaviour can occur. For example, if an IPv4 UDP socket is opened and passed into Erlang as an IPv6 socket, the first 3 bytes (corresponding to 1 byte representing the protocol family, 2 bytes set to the port) are stripped from the payload. The cause of the UDP payload truncation happens in inet_drv.c:packet_inet_input when a call to inet_get_address fails silently because the family is set to PF_INET6 but the buffer len is the size of an IPv4 struct sockaddr_in. Prevent this behaviour by checking that the protocol family of the file descriptor matches the family of the requested Erlang socket. {ok, S1} = gen_udp:open(0, [binary, inet]), {ok, FD} = inet:getfd(S1), {ok, Port} = inet:port(S1), {ok, S} = gen_udp:open(Port, [binary, {fd, FD}, inet6]), {ok, C} = gen_udp:open(0, [binary]), Msg = <<1,2,3,4,5>>, gen_udp:send(C, "127.0.0.1", Port, Msg), receive {udp, S, _, _, Msg} -> ok; {udp, S, _, _, NewMsg} -> {error, Msg, NewMsg} end. This test results in: {error,<<1,2,3,4,5>>,<<4,5>>} Thanks to Andrew Tunnell-Jones for finding the bug and the test case!
2011-05-17Remove compiler warnings in inet_drvBjörn-Egil Dahlberg
2011-05-10Add error code for cyclic symbolic links and make directory links readablePatrik Nyblom
2011-05-02inet_drv: remove unused tcp request idTuncer Ayaz
2011-05-02inet_drv: remove gratuitous assignmentTuncer Ayaz
2011-04-29Merge branch 'ms/unsigned-integer-overflow-in-error' into devHenrik Nord
* ms/unsigned-integer-overflow-in-error: Unsigned integer may overflow in error message OTP-9251
2011-04-07file: fix hang reading compressed filesMichael Santos
The gzio driver goes into an infinite loop when reading past the end of a compressed file. Reported-By: Alex Morarash
2011-04-07Unsigned integer may overflow in error messageMichael Santos
2011-03-21Teach tcp_recv not to cancel send timerPatrik Nyblom
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-02-21Add patch from Per HedelandPatrik Nyblom
Per H @ Tail-f: The original code here had problems that possibly only occur if you abuse it for non-INET sockets, but anyway: a) If the getsockopt for SO_PRIORITY or IP_TOS failed, the actual requested setsockopt was never even attempted. b) If {get,set}sockopt for one of IP_TOS and SO_PRIORITY failed, but ditto for the other worked and that was actually the requested option, failure was still reported to erlang.
2011-02-21Ignore permission error when implicitly setting SO_PRIORITYPatrik Nyblom
2011-02-09Fix win32 file drivers atime/mtimeBjörn-Egil Dahlberg
When setting file_info it will now correctly set access and modified time. Previously these entities were swapped.
2011-01-12Remove strange name field in efile_drv.c as it upsets -D_FORTIFY_SOURCEPatrik Nyblom
2010-12-20Merge branch 'pan/r14b01-file-driver-fix' into devPatrik Nyblom
* pan/r14b01-file-driver-fix: Correct usage of pointer-to-size in unix_efile
2010-12-20Merge branch 'pan/werl-scrollwheel/OTP-8985' into devPatrik Nyblom
* pan/werl-scrollwheel/OTP-8985: Teach win_con.c about scroll wheels
2010-12-17Correct usage of pointer-to-size in unix_efilePatrik Nyblom
2010-12-14Fix segfault for NULL return value fields from getifaddrs()Raimo Niskanen
2010-12-09Teach win_con.c about scroll wheelsPatrik Nyblom
2010-12-03Merge branch 'pan/inet6_corrections/OTP-8969' into devRaimo Niskanen
* pan/inet6_corrections/OTP-8969: Stop using uncertain flags for getaddrinfo() Teach inet_test_lib to understand enetunreach Make windows inet_gethost work for ipv6
2010-12-02Stop using uncertain flags for getaddrinfo()Raimo Niskanen
The AI_V4MAPPED flag is falling out of grace in modern IPv6 stacks, for security reasons, e.g. FreeBSD do not document it any longer. The AI_ADDRCONFIG flag have got unclear semantics on the same OS.
2010-11-30Teach filelib to use re in unicode mode when filenames are not rawPatrik Nyblom
2010-11-30Adapt new soft and hard link routines on Windos to UnicodePatrik Nyblom
Also close find-handles in altname and other minor corrections to patch
2010-11-30Adapt inet_drv to Visual Studio 2008Patrik Nyblom
2010-11-30Teach spawn_executable about UnicodePatrik Nyblom
Also corrected compressed files on Windows
2010-11-30Make Unicode filenames work on WindowsPatrik Nyblom
2010-11-30Handle binary file names and conversion of unicode stringsPatrik Nyblom
2010-11-29Merge branch 'jr/windows-file-append' into devPatrik Nyblom
* jr/windows-file-append: Fix appending to large files (>4GB) on Windows OTP-8958
2010-11-29Merge branch 'bw/win32-file-linking' into devPatrik Nyblom
* bw/win32-file-linking: Add Win32 support for hard and symbolic file system links OTP-8955
2010-11-22Merge branch 'rickard/thr-spec-inet-buf/OTP-8916' into devRickard Green
* rickard/thr-spec-inet-buf/OTP-8916: Remove tight restrictions on some options Thread specific inet driver buffer stack
2010-11-18Remove tight restrictions on some optionsRickard Green
Remove tight restrictions on the high_watermark, low_watermark, and buffer options.
2010-11-18Thread specific inet driver buffer stackRickard Green
The inet driver internal buffer stack implementation has been rewritten in order to reduce lock contention.
2010-11-09Delete decommented codeRaimo Niskanen
2010-11-09Implement inet:getifaddrs/0 on WindowsRaimo Niskanen
2010-11-09Implement basic inet:getifaddrs/0Raimo Niskanen
2010-11-09Fix building error of SCTP in FreeBSD 7.1 and laterKenji Rikitake
This patch fixes building error of SCTP in FreeBSD 7.1 and later. See http://www.erlang.org/cgi-bin/ezmlm-cgi?2:mss:1257:200904:hppnfialjjdlgecdiehe for the details. R13A patch for solving a compilation error when building erts/emulator/drivers/common/inet_drv.c by Kenji Rikitake 12-APR-2009 Symptom solved by this patch: When building R13A in FreeBSD 7.1-RELEASE, the compiler flag HAVE_STRUCT_SCTP_PADDRPARAMS_SPP_SACKDELAY is NOT enabled. Some code in erts/emulator/drivers/common/inet_drv.c incorrectly assumes HAVE_STRUCT_SCTP_PADDRPARAMS_SPP_SACKDELAY is always true when HAVE_STRUCT_SCTP_PADDRPARAMS_SPP_FLAGS is true in config.h. This assumption causes a compilation error.
2010-10-14Add Win32 support for hard and symbolic file system linksBlaine Whittle
Hard linking requires XP or later and a NTFS formatted drive. Symbolic linking requires Windows Vista, Windows Server 2008, Windows 7 or later. Symbolic linking on earlier versions of Windows will return {error, enotsup}. file:make_link/2, file:make_sym_link/2 and file:read_link/1 are all implemented. file:read_file_info/1 does NOT return the number of hard links on the file as this results in performance problems for read_file_info/1, however this can be enabled by uncommenting a few lines of code. The original path was submitted on 9/2/2009 by Alex Tearse-Doyle.
2010-09-30Fix appending to large files (>4GB) on WindowsJuhani Rankimies
Append mode doesn't work for files larger that 4GB on Windows. Caused by incorrect usage of SetFilePointer in win_efile.c. Fix uses OVERLAPPED structure to specify write position (EOF). http://msdn.microsoft.com/en-us/library/aa365747.aspx Opening file in append mode was also considered, but rejected, because it might cause backwards incompatibility by limiting applicable operations on the descriptor. SetFilePointerEx was not used because it would caused more system calls than using OVERLAPPED structure.
2010-09-09Make gen_tcp:recv/2 consistent with ssl:recv/2Björn Gustavsson
When the HTTP packet mode has been enabled for a socket, the ssl and gen_tcp modules have different error indications when there is an error while parsing the HTTP header: ssl:recv(SSLSocket, 0) -> {ok, {http_error, _Str}} gen_tcp:recv(Socket, 0) -> {error, {http_error, _Str}} We have decided to change gen_tcp:recv/2 to behave the same way as ssl:recv/2. That means that there will be always be an ok tuple if data could be succefully read from the socket, and an error tuple if there was a read error at the socket level.
2010-09-06Merge branch 'ms/inet-bug-fixes' into devBjörn Gustavsson
* ms/inet-bug-fixes: inet: support retrieving MAC address on BSD inet: fix getservbyname buffer overflow inet: fix ifr_name buffer overflow inet: null terminate ifr_name buffer OTP-8816
2010-09-03inet: support retrieving MAC address on BSDMichael Santos
On systems supporting getaddrinfo(), support looking up the MAC address from inet:ifget/2. The results have the same quirks as with Linux: if the MAC address is longer than 6 bytes (e.g., fw0 under Mac OS X), the address is truncated; if the interface does not have a MAC address (e.g., lo0), an address consisting of 0's is returned.
2010-09-02Merge branch 'rani/sctp-sndrcvinfo/OTP-8795' into devRaimo Niskanen
* rani/sctp-sndrcvinfo/OTP-8795: Fix xfer_active close expection for Solaris behaviour Keep default #sctp_sndrcvinfo{} fields on gen_sctp:send/4 Fill in sinfo_assoc_id in struct sctp_sndrcvinfo for getopt() Conflicts: lib/kernel/test/gen_sctp_SUITE.erl
2010-08-31Fill in sinfo_assoc_id in struct sctp_sndrcvinfo for getopt()Raimo Niskanen
The assoc_id field was uninitialized causing random answers.