aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-09-18[socket-nif] Add support for socket (level ipv6) option authhdr & hopoptsMicael Karlberg
Added support for the IPv6 socket option(s) AUTHHDR and HOPOPTS. Its possible that the option is AUTHHDR is obsolete. It says so in the include files and when trying to get it (getsockopt) it returns with enoprotoopt. The option HOPOPTS returns with einval when calling setsockopt, so either you need to be a privileged user to update, or its not actually possible to update this option (even though it says nothing about that in the man page. It only talks about set). This is the same behaviour as with RTHDR and HOPLIMIT. On FreeBSD, it says that HOPOPTS requires superuser privileges. Needs furher checking. OTP-14831.
2018-09-18[socket-nif] Add support for socket (level ipv6) option rthdrMicael Karlberg
Added support for the IPv6 socket option RTHDR. On FreeBSD this option requires superuser privileges to update. There is no mention of this on linux, but its still not possible to update (einval), so I assume that its the same there. OTP-14831.
2018-09-18[socket-nif] Add support for socket (level ipv6) option recvpktinfoMicael Karlberg
Added support for the IPv6 socket option RECVPKTINFO. This option is called PKTINFO on FreeBSD, so that value will also be accepted. OTP-14831.
2018-09-18[socket-nif] Add support for socket (level ipv6) option multicast_loopMicael Karlberg
Added support for the IPv6 socket option MULTICAST_LOOP. OTP-14831.
2018-09-18[socket-nif] Add support for socket (level ipv6) option multicast_ifMicael Karlberg
Added support for the IPv6 socket option MULTICAST_IF. OTP-14831.
2018-09-18[socket-nif] Add support for socket (level ipv6) option multicast_hopsMicael Karlberg
Added support for the IPv6 socket option MULTICAST_HOPS. OTP-14831.
2018-09-18[socket-nif] Add support for socket (level ip) option recvoptsMicael Karlberg
Added support for ip level socket option RECVOPTS. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option freebindMicael Karlberg
Added support for ip level socket option FREEBIND. Note that there is an option available on FreeBSD called IP_BINDANY, which seems to have similar properties (FREEBIND is *not* available on FreeBSD). There are some restrictions for this option though (which is not mentioned in the Linux man page). OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option timestampMicael Karlberg
Added support for socket level socket option TIMESTAMP. OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option(s) [rcv|snd]lowatMicael Karlberg
Added support for socket level socket option RCVLOWAT and SNDLOWAT. These are both a little strange, at least on Linux. See the man pages for more info. For instance, sndlowat cannot be set on Linux. OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option(s) [rcv|snd]timeoMicael Karlberg
Added support for socket level socket option RCVTIMEO and SNDTIMEO. These are both a little strange, at least on linux. See the man pages for more info. OTP-14831
2018-09-18[socket-nif] Add support for socket (level sctp) option initmsgMicael Karlberg
Added support for the SCTP option INITMSG. OTP-14831
2018-09-18[socket-nif] Add support for socket (level sctp) option maxsegMicael Karlberg
Added support for the SCTP option MAXSEG. OTP-14831
2018-09-18[socket-nif] Add (partial) support for socket (level sctp) option rtoinfoMicael Karlberg
Added support for the SCTP option RTOINFO. We have the same questions for this option as for ASSOCINFO. Maybe the assoc field shall be made 'out' only (that is, it will be ignored for setopt). The assoc id used will be that which is stored in the descriptor (how do we get it to begin with?). Questions, questions... OTP-14831
2018-09-18[socket-nif] Add (partial) support for socket (level sctp) option associnfoMicael Karlberg
Added support for the SCTP option ASSOCINFO. This option is a bit tricky. As the underlying structure (sctp_assocparams) contains the assoc_id, it begs the question what happens if this option is fetched for: * The own assoc (which means that we might have the assoc id in the descriptor and can initiate that part of the struct accordningly). * Another assoc: From assoc A asks for info with assoc_id set to that of assoc B. * The "owning" endpoint. * Another endpoint (an endpoint to which the assoc does not belong). So, if the user calls socket:[getopt|setopt] for an association socket, shall we require that the assoc_id field is set to -1? Or not set at all and therefor filled in automatically by the nif-code? And, if the user calls socket:[getopt|setopt] for an endpoint socket, shall we require that the assoc_id field is set to a valid id? Or shall it not be allowed? Questions, questions... OTP-14831
2018-09-18[socket-nif] Add support for socket (level sctp) option disable_fragmentsMicael Karlberg
Added support for the SCTP option DISABLE_FRAGMENTS. OTP-14831
2018-09-18[socket-nif] Add support for socket (level sctp) option eventsMicael Karlberg
Added support for the SCTP option EVENTS. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ipv6) option mtuMicael Karlberg
Added support for the VPv6 socket option MTU. OTP-14831.
2018-09-18[socket-nif] Add support for multiple acceptor processesMicael Karlberg
Its now possible to have multiple (simultaneous) acceptor processes for the same listening socket. OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option reuseportMicael Karlberg
Added support for socket level socket option REUSEPORT. OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option bindtodeviceMicael Karlberg
Added support for socket level socket option BINDTODEVICE. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option recvttlMicael Karlberg
Added support for the IP option RECVTTL. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option nodefragMicael Karlberg
Added support for the IP option NODEFRAG. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option multicast_allMicael Karlberg
Added support for the IP option MULTICAST_ALL. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option mtu_discoverMicael Karlberg
Added support for the IP option MTU_DISCOVER. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option mtuMicael Karlberg
Added support for the IP option MTU. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option multicast_ifMicael Karlberg
Added support for the IP option MULTICAST_IF. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option multicast_ttlMicael Karlberg
Added support for the IP option MULTICAST_TTL. OTP-14831
2018-09-18[socket-nif] Add support for socket (level ip) option multicast_loopMicael Karlberg
Added support for the IP option MULTICAST_LOOP. OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option oobinlineMicael Karlberg
Added support for socket level socket option oobinline (both get and set). OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option peek_offMicael Karlberg
The socket option (level socket) peek_off is now supported. OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option debugMicael Karlberg
The socket option (level socket) debug is now supported. To actually set this option, the user must have the proper "authority" (CAP_NET_ADMIN capability or an effective user ID of 0). OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) option acceptconnMicael Karlberg
The socket (level socket) option acceptconn is now supported (for getopt). OTP-14831
2018-09-18[socket-nif] Add support for socket (level socket) options domain and protocolMicael Karlberg
Make it possible to *get* the socket options domain and protocol (in addition to type). OTP-14831
2018-09-18[socket-test-nif] Testing with the (recv/recvfrom) peek flagMicael Karlberg
2018-09-18[socket-nif] Fixed (dgram) recvMicael Karlberg
Fixed handling of recvfrom (used by dgram sockets). Had forgot to do select(read) when we got block from the call to recvfrom. Argh! Also updated the (simple) test server and client to to be able to use udp (dgram+udp). OTP-14831
2018-09-18[socket-nif] Restructure of the socket (test) serverMicael Karlberg
2018-09-18[socket-nif] Fixed (stream) recvMicael Karlberg
Fixed handling of closed in the recv function. We still need to properly handle when we get 0 bytes of data for other types ock sockets then stream (its valid for dgram for instance). OTP-14831
2018-09-18[socket-nit-test] Added some more test codeMicael Karlberg
Added some more features o the simple socket test server and client. OTP-14831
2018-09-18[test-socket-nif] Add *very primitive* test progsMicael Karlberg
2018-09-18[net-nif] Removed the old net moduleMicael Karlberg
The old net module (in kernel) (deprecated) was removed and its function(s) has been moved into the new module. Also a minor updated to the info function. OTP-14831
2018-09-18Merge branch 'maint'Hans Bolinder
* maint: stdlib: Allow lists with binaries in the Format argument
2018-09-18Merge branch 'hasse/stdlib/binary_in_format/OTP-15304' into maintHans Bolinder
* hasse/stdlib/binary_in_format/OTP-15304: stdlib: Allow lists with binaries in the Format argument
2018-09-18Merge branch 'maint'Sverker Eriksson
2018-09-18Merge pull request #1956 from erlang/sverker-ets-patch-1Sverker Eriksson
ets:new/2 doc update
2018-09-18Merge branch 'maint'Hans Nilsson
* maint: crypto: Fix bad return/exception for unsupported cipher crypto: Use aead functions for CHACHA20_POLY1305
2018-09-18crypto: Fix bad return/exception for unsupported cipherHans Nilsson
Accidently f11391139c4165e8541a52d45cd1525343a83927 merged by 0a218353e4360e36bac304b6a4e0effe78d95615 changed the return exception 'notsup' to 'badarg' for unsupported chipher names. This changes that back.
2018-09-18crypto: Use aead functions for CHACHA20_POLY1305Hans Nilsson
This previously implemented cipher is a block cipher despite using chacha. It also uses the EVP_CIPHER_CTX api which now unifies AES_GCM and AES_CCM into one pair of encrypt and decrypt functions. By integrating the existing chacha20_poly1305 code into aead_encrypt and aead_decrypt we could remove two C-functions and simplify both the C-code and the corresponding Erlang code in the CRYPTO application.
2018-09-18Merge branch 'maint'Hans Nilsson
* maint: crypto: Disable problematic RSA options in LibreSSL
2018-09-18crypto: Disable problematic RSA options in LibreSSLHans Nilsson