Bruno Herrera
24767a0c66
Fixes for problems found by Coverity in the nuttx repository:
...
net/socket/recvfrom.c: Check fromlen integrity before using it.
net/socket/net_sockets.c: Always check for valid psock before using.
net/tcp/tcp_send_unbuffered.c: Avoid using psock beforing checking its integrity.
sched/timer/timer_create.c: Fix watchdog resource leak if cannot allocate a new timer.
2017-09-25 07:17:09 -06:00
Gregory Nutt
cca15891c9
Networking: Fix some errors found by Coverity
2017-09-13 13:04:26 -06:00
Jussi Kivilinna
7846381e09
net/socket: send: verify that sockfd is valid, fixes assert when using send on closed socket
2017-09-12 07:40:13 -06:00
Jussi Kivilinna
1fa854285d
net/socket: Do not enter cancellation point in psock_send() as this is already done in send()
2017-09-12 07:39:05 -06:00
Jussi Kivilinna
61878848ad
net/sock: recvfrom: Fix double leave_cancellation_point on error path
2017-09-12 07:17:53 -06:00
Jussi Kivilinna
547733cbb0
Update net_timedwait() and net_lockedwait() call sites to handle negated errno in return value
2017-09-04 07:56:51 -06:00
Gregory Nutt
606b7215fe
accept.c edited online with Bitbucket. Fix mismatched net_lock() and net_unlock()
2017-08-31 16:49:10 +00:00
Gregory Nutt
7ebef900fb
Networking: Fix a race condition. The accept() operation is performed with the network locked. However, the network is unlocked BEFORE the connected state is set. Therefore, a context switch may occur and the socket may no longer be connected when it is marked so. Noted by Pascal Speck.
2017-08-31 07:23:19 -06:00
Gregory Nutt
581db174b2
Networking: socket dup() conditional operation was missing the test for the condition.
2017-08-30 10:29:14 -06:00
Gregory Nutt
0f7a52bc28
Networking: Fix a runaway recursion problem introduced the previous fixe for shutting down dup'ed sockets.
2017-08-29 12:27:58 -06:00
Gregory Nutt
d40ee8e79d
Networking: Start the network monitor for a socket when a TCP socket is dup'ed.
2017-08-29 10:53:04 -06:00
Gregory Nutt
cff4ac6845
Squashed commit of the following:
...
commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Sat Aug 19 08:44:31 2017 -0600
PF_IEEE802154: Finish some missing bind() logic. Add configs/sim configuration for testing.
commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 19:30:04 2017 -0600
PF_IEEE802154: More renaming to decouple 6LoPAN from radios in general.
commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 19:21:11 2017 -0600
PF_IEEE802154: Missed a few renamings.
commit ff0af1bb25567720934cc1c2a721ccd92cc35f89
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 17:46:58 2017 -0600
PF_IEEE802154: A few bugfixes
commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 17:01:31 2017 -0600
PF_IEEE802154: A few bugfixes
commit dcef4056d1c1488c93151135f3b7106977faa903
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 16:31:05 2017 -0600
PF_IEEE802154: Bring in framework for sendto/recvfrom. Currently just a crude port of functions from net/pkt and do not provide the implemenation needed.
commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 15:18:31 2017 -0600
Trivial fix to typo in comment
commit fd0af534c089569ccdbd59f13b85453de0a653ad
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 15:07:20 2017 -0600
PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming.
commit 4fc80a1659f1c699b050775cefc7f6b631b46114
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 13:49:54 2017 -0600
PF_IEEE802154: Add driver poll logic.
commit d83f71992df8764faa93f9425f1a7602a758f730
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 13:28:59 2017 -0600
PF_IEEE802154: Add frame input function.
commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 12:46:29 2017 -0600
PF_IEEE802154: Socket type should be SOCK_DGRAM. Hook in socket interface.
commit c0f90350282e9905d7f26a1b30f04cc6d6794648
Merge: 8b518abfd0 169c55e546
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 09:36:32 2017 -0600
Merge remote-tracking branch 'origin/master' into pf_ieee802154
commit 8b518abfd07d492f5148f2c5fdf65604de9822da
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 09:35:39 2017 -0600
PF_IEEE802154: Add initialization and connection management logic.
commit 98b62620b3cb420041d8ad14204f9410a8aace8c
Author: Gregory Nutt <gnutt@nuttx.org>
Date: Fri Aug 18 07:52:51 2017 -0600
PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 08:48:52 -06:00
Gregory Nutt
962a9f8cf3
net/socket: Correct a typo in a macro definitions.
2017-08-18 07:51:16 -06:00
Gregory Nutt
3c6981534f
Networking: Move INET socket interface out of net/sockets to its own directory net/inet
2017-08-06 14:48:19 -06:00
Jussi Kivilinna
7dfb01dbce
network: Move USRSOCK specific code from from inet_sockif to usrsock_sockif
2017-07-31 09:33:59 -06:00
Jussi Kivilinna
86df036ff2
net/usrsock: fix USRSOCK to work with recent changes to networking layer
2017-07-31 07:38:24 -06:00
Gregory Nutt
d595e0efdf
Network poll: Remove logic conditioned on non-existent HAVE_NET_POLL.
2017-07-19 06:23:56 -06:00
Gregory Nutt
1db918d947
Network Socket I/F: Eliminate a warning when 6LoWPAN is enabled.
2017-07-16 13:05:41 -06:00
Gregory Nutt
6537e4ea20
Socket I/F: Misc. fixes for compile errors/warnings going back to dual IPv4+IPv6 configuration.
2017-07-14 15:52:37 -06:00
Gregory Nutt
24dd6d2905
Socket I/F: More fixes for USRSOCK. The good link fooled me because a critical file was not included in the link.
2017-07-14 15:24:18 -06:00
Gregory Nutt
ef796b2d9e
Socket I/F: Misc clean-up to get a clean USRSOCK build.
2017-07-14 14:41:46 -06:00
Gregory Nutt
7259ed58eb
Socket I/F: Cleanup for good CONFIG_NET_PKT build.
2017-07-14 13:42:31 -06:00
Gregory Nutt
79a09bfd6e
Socket I/F: Fix bad copy-past error. sendto() was called the address family's send() instead of sendto().
2017-07-14 12:48:53 -06:00
Gregory Nutt
8bf8c3fa86
Socket I/F: Add address family support for poll() and sendfile()
2017-07-14 10:57:38 -06:00
Gregory Nutt
0134d0fef7
Socket interfaces: Forgot add filess related to getsockname() in last commit.
2017-07-14 10:54:54 -06:00
Gregory Nutt
ac543648b8
Socket interface: Added getsockname[C() interfaces.
2017-07-14 09:04:19 -06:00
Simon Piriou
ac72978072
Networking: Fix typos introduced with network interface changes.
2017-07-14 06:02:49 -06:00
Gregory Nutt
5033a6def7
Socket interface: Added addref() and sockcaps() interfaces.
2017-07-13 13:36:18 -06:00
Gregory Nutt
833ee2275d
Socket interface: Added close() interface.
2017-07-13 12:15:15 -06:00
Gregory Nutt
0c840ed22f
Socket interface: Added listen() and accept() interfaces.
2017-07-13 11:15:00 -06:00
Gregory Nutt
85b1ae4cf0
Socket interface: Added bind() and connect() interfaces.
2017-07-13 09:28:18 -06:00
Gregory Nutt
a71c504142
Socket I/F: Add recvfrom() method to interface.
2017-07-12 17:36:05 -06:00
Gregory Nutt
1b9cb70828
Sockets: Initial steps to adde a socket interface to the networking. Each address family will have an interface that describes how to perform socket operations on that address family. Currently only a couple of methods are defined in the table as a proof of concept. More to come. Currently there are only tables for the INET/INET6 family, the Unix LOCAL family, and the raw PACKET family. Hopefully there will be AF_IEEE802154 and AF_BLUETOOTH comming down the pike.
2017-07-12 15:07:32 -06:00
Gregory Nutt
c966624719
sockets: Coding fix fix + minor structuring for forthcoming socket interface logic.
2017-07-11 16:25:04 -06:00
Gregory Nutt
8d81b35c44
network: Correct some issues that prevent TCP from working correctly when both IPv4 and IPv6 are enabled.
2017-07-07 08:50:01 -06:00
Gregory Nutt
2442a9872b
Logic of a353602aa9
only applies if CONFIG_NETDEV_MULTINIC
2017-06-22 07:03:37 -06:00
Roland Takacs
a353602aa9
Do not search net device when all-zeros address is used.
2017-06-22 09:14:59 +02:00
Gregory Nutt
25689d911c
Some changes from review of last PR
2017-06-19 07:48:26 -06:00
Roland Takacs
175a49a746
Merged in rtakacs/nuttx/fix_getsockname (pull request #410 )
...
Support listening sockets in the getsockname function
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-06-19 13:36:52 +00:00
Roland Takacs
bea5140156
Support listening sockets in the getsockname function
2017-06-19 13:17:05 +02:00
Roland Takacs
4c163cf43b
Throw error when error happens in the tcp_listen function
2017-06-19 12:23:35 +02:00
Gregory Nutt
cfea8adacb
L should be capitalized in 6LoWPAN
2017-06-18 16:00:08 -06:00
Gregory Nutt
0de294a586
Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they.
2017-05-11 13:35:56 -06:00
Gregory Nutt
2043e1a114
IOBs: Move from driver/iob to a better location in mm/iob
2017-05-09 07:35:30 -06:00
Jussi Kivilinna
d928b4271d
net/socket: fix cloning of local and raw sockets
2017-04-28 08:00:36 -06:00
Gregory Nutt
79256573e1
net: network drver now retains Ethernet MAC address in a union so that other link layer addresses may be used in a MULTILINK environment.
2017-04-22 11:10:30 -06:00
Gregory Nutt
d5207efb5a
Be consistent... Use Name: consistent in function headers vs Function:
2017-04-21 16:33:14 -06:00
Gregory Nutt
bcc6b61fc1
Move include/nuttx/net/iob.h to include/drivers/iob.h; rename CONFIG_NET_IOB to CONFIG_DRIVERS_IOB
2017-04-20 14:53:30 -06:00
Kivilinna
ee4a8336ce
net/socket/accept: fix building with CONFIG_NET_LOCAL_STREAM
2017-04-03 07:38:23 -06:00
Jussi Kivilinna
ae1265c01e
net/socket/send: fix building without CONFIG_NET_6LOWPAN
2017-04-03 07:36:29 -06:00
Gregory Nutt
76406af71b
6loWPAN: Add support for sendto()
2017-04-02 11:15:46 -06:00
Gregory Nutt
cccbb6c693
6loWPAN: Clean up some send logic; remove sniffer.
2017-03-31 16:33:21 -06:00
Gregory Nutt
755b05ff30
TCP/IPv6: Fix a compile issue when IPv6, but not IPv4 is enabled.
2017-03-31 10:45:39 -06:00
Jussi Kivilinna
cd3c9634c8
Add user-space networking stack API (usrsock)
...
User-space networking stack API allows user-space daemon to
provide TCP/IP stack implementation for NuttX network.
Main use for this is to allow use and seamless integration of
HW-provided TCP/IP stacks to NuttX.
For example, user-space daemon can translate /dev/usrsock
API requests to HW TCP/IP API requests while rest of the
user-space can access standard socket API, with socket
descriptors that can be used with NuttX system calls.
2017-03-31 08:58:14 -06:00
Gregory Nutt
c3c8f8ed31
6loWPAN: Simplify some logic in send() if there is only an IEEE802.15.4 MAC
2017-03-28 16:14:58 -06:00
Gregory Nutt
64933246c3
6loWPAN: Tie 6loWPAN send into common socket send logic.
2017-03-28 14:08:54 -06:00
Janne Rosberg
3331e9c49a
STM32 OTGHS host: stm32_in_transfer() fails and returns NAK if a short transfer is received. This causes problems from class drivers like CDC/ACM where short packets are expected. In those protocols, any transfer may be terminated by sending short or NUL packet.
2017-03-07 06:58:59 -06:00
Gregory Nutt
b52e4e5ecd
Move cancellation point definitions to their own header file.
2016-12-10 09:08:26 -06:00
Gregory Nutt
bc3ca25cc7
Cancellation points: Close up some logic to eliminte some race conditions.
2016-12-10 08:36:58 -06:00
Gregory Nutt
38b9ab09d9
Fix copy-and-paste gone wrong.
2016-12-09 17:28:03 -06:00
Gregory Nutt
64ffd89ee1
Another missing header file inclusion.
2016-12-09 17:25:00 -06:00
Gregory Nutt
16be9b332e
More cancellation points
2016-12-09 15:17:58 -06:00
Gregory Nutt
7467329a98
Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed.
2016-12-03 16:28:19 -06:00
Gregory Nutt
2d057c28c8
net: Disable priority inheritance on all semaphores used for signaling
2016-11-03 12:17:02 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
d40a473f72
Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn().
2016-06-20 09:37:08 -06:00
Gregory Nutt
f4fcdcdb4d
net/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition.
2016-06-11 17:37:21 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
86b79b33cf
Reserver the name 'err' for other purposes
2016-06-11 14:40:07 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
4f208600aa
Replace confusing references to uIP with just 'the network'
2016-05-30 09:31:44 -06:00
Gregory Nutt
3ca5a94515
VNC: Add basic message receipt logic
2016-04-17 09:17:37 -06:00
Gregory Nutt
39a37d6aa8
Separate out psock_listen() and psock_accept() for internal use by the OS
2016-04-14 08:39:48 -06:00
Gregory Nutt
2c95fef501
Remove some empty code section comments
2016-02-26 07:35:55 -06:00
Gregory Nutt
8db55f6493
Back out most of previous commit
2016-02-26 06:45:37 -06:00
Gregory Nutt
0b441ff1f4
net/: Add basic IEEE 802.15-4 socket support
2016-02-25 14:01:22 -06:00
Gregory Nutt
bcbd8ee964
Networking: Cosmetic change
2016-02-24 19:02:51 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Andrew Webster
4875c6bbe3
TCP: check for connection before deleting it
...
It is possible for a socket to have no connection, for example if a TCP
socket is waiting in accept. This checks for this condition in case the
socket is closed from a different thread.
2016-01-22 15:59:15 -06:00
Andrew Webster
f1ef2c6cde
TCP: attempt to flush the write buffers before closing
...
When a socket is closed, it should make sure that any pending write
data is sent before the FIN is sent. It already would wait for all
sent data to be acked, however it would discard any pending write
data that had not been sent at least once.
This change adds a check for pending write data in addition to unacked
data. However, to be able to actually send any new data, the send
callback must be left. The callback should be freed later when the socket
is actually destroyed.
2016-01-22 15:58:02 -06:00
Gregory Nutt
f348e68069
Update to use 64-bit timer when available
2016-01-21 11:54:26 -06:00
Gregory Nutt
6209c51206
net/: More clean-up of spacing/alignment issues
2015-10-08 15:10:04 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Gregory Nutt
fec3d2cf62
recvfrom: Fixes for compilation with only raw, packet sockets
2015-09-14 09:06:08 -06:00
Paul A. Patience
3b89eabd50
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
2015-09-01 13:52:29 -04:00
Gregory Nutt
63071a563a
Costmetic changes
2015-08-27 10:38:43 -06:00
Gregory Nutt
b1e09d4847
net/socket and net/tcp: Fix a problem in whent there are multiple network devices. Polls were being sent to all TCP sockets before. This is not good because it means that packets may sometimes be sent out on the wrong device. That is inefficient because it will cause retransmissions and bad performance. But, worse, when one of the devices is not Ethernet, it will have a different MSS and, as a result, incorrect data transfers can cause crashes. The fix is to lock into a single device once the MSS is locked locked down.
2015-08-27 09:06:46 -06:00
Gregory Nutt
3bcdb218ff
Networking: Get rid of the tcp_mss macro. It is confusing and only obfuscates what is really going on
2015-08-27 08:39:17 -06:00
Gregory Nutt
89b5ef8d35
wdogs: Fix counting of free, pre-allocated wdog timers. The could could get decremented below zero in some situations
2015-08-21 11:30:22 -06:00
Pavel Pisa
12b1c04508
recvfrom(): Correct wait for new data when NET_UDP_READAHEAD is enabled. Fix size accounting when recvfrom_udpreadahead() sets state.rf_recvlen == -1. I have not checked if data are accumulated to the right position in the buffer however.
...
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2015-08-21 09:15:06 -06:00
Gregory Nutt
530d229361
net/udp: Add support for send() with connected UDP sockets
2015-08-11 19:17:55 -06:00
Max Neklyudov
7d04104485
Networking: Allow receipt of empty UDP packets. From Max Neklyudov
2015-08-11 08:34:16 -06:00
Gregory Nutt
fca919f3d2
Networking: Fix some compilation issues noted with network is build with CONFIG_BUILD_KERNEL
2015-07-05 11:18:56 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
0ad53183e1
Networking: Fix a compile problem introduced in NuttX-7.6 when CONFIG_NET_SENDFILE=y
2015-06-24 14:52:57 -06:00
Gregory Nutt
ed9c45bcef
Networking: Fix compilation error if IPv6 is enabled
2015-06-17 15:00:04 -06:00