Commit Graph

71 Commits

Author SHA1 Message Date
Masayuki Ishikawa
d393f43caa Merged in masayuki2009/nuttx.nuttx/network_test (pull request #617)
Fix some bugs in networking

* netdb: Fix boundary conditions in dns_recv_response()

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

* Fix typos in include/nuttx/net/dns.h

    Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-03-27 01:31:06 +00:00
Gregory Nutt
b901f08d90 Trivial changes from review of last PR. 2018-02-26 11:48:57 -06:00
Dmitriy Linikov
39ef04353c Merged in hardlulz/modem-3.0-nuttx/fix-parsing-dns-response (pull request #605)
Fixed parsing of DNS response packets having compressed names ending with pointer.

There were troubles parsing response packets which have compression of
QNAME/NAME field when only trailing part of the name (not the whole name)
is replaced with pointer to another part of the packet.
This commit fixes parsing of such packets.

Also I added checks to keep parsing only in bounds of the read part
of DNS response packet.

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-02-26 17:43:37 +00:00
Dmitriy Linikov
a8c58607e9 Merged in hardlulz/modem-3.0-nuttx/fix-sem-EINTR (pull request #603)
Added ECANCELED condition to DEBUGASSERT-s checking sem_wait result

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2018-02-20 18:24:53 +00:00
Gregory Nutt
1567b82429 Make sure that labeling is used consistently in all function headers (part 2). 2018-02-01 12:03:55 -06:00
Gregory Nutt
3521aaf944 Squashed commit of the following:
binfmt/, configs/, grahics/, libc/, mm/, net/, sched/:  OS references to the errno variable should always use the set_errno(), get_errno() macros
    arch/arm/src/stm32 and stm32f7:  Architecture-specific code is not permitted to modify the errno variable.  drivers/ and libc/:  OS references to the errno variable should always use the set_errno(), get_errno() macros
2018-01-30 17:57:36 -06:00
Gregory Nutt
a00d8e16a1 Adds OS internal function nx_write() which is functionally equivalent to write() except that it does not set the errno variable and do not cause cancellation points. 2017-10-11 10:18:30 -06:00
Gregory Nutt
af072d52bc Adds OS internal functions nx_send(), ns_recv(), and nx_recvfrom() which are functionally equivalent to send(), recv(), and recvfrom() except that they do not set the errno variable and do not cause cancellation points. 2017-10-11 09:25:43 -06:00
Gregory Nutt
69a57279a6 Fix a typo 2017-10-08 12:38:53 -06:00
Gregory Nutt
6642e20e05 libc and libnx: When the libraries are built into two libraries, a user space library and a OS space library (as in the PROTECTED and KERNEL build). Then the user space library must not use the OS internal interfaces; similarly, the OS must avoid using the userspace interfaces so that it does not muck the errno value or create spurious cancellation points. 2017-10-08 11:52:32 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
56e8f480f5 Remove dangling whitespace at the end of some lines. 2017-06-28 10:39:54 -06:00
Ritjaina
3e3729d35f netdb: Fixed buffer size used for sending DNS queries should depend on the configured DNS name size. 2017-06-23 06:30:33 -06:00
Gregory Nutt
ee7217be63 gethostbyname_r: Fix check for space in buffer. 2017-06-12 06:47:43 -06:00
Gregory Nutt
e6a8476382 Add some REVISIT comments. 2017-06-11 18:56:38 -06:00
Jim Paris
4504ca7c82 Whoops -- that #include <cxxabi.h> wasn't supposed to sneak in there. If present, it may already define a __cxxabiv1::__guard that we could use, but that file comes from libstdc++, and I don't think the NuttX buildroot-based toolchain would have that, which is why we need libxx in the first place. 2017-06-09 07:40:31 -06:00
Masayuki Ishikawa
6ccc01ad46 netdb: Fix bugs in lib_gethostbynamer.c
This fix sets h_name in struct hostent returned by gethostbyname()

Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2017-05-25 10:59:10 +09:00
Masayuki Ishikawa
2b028bc4e5 netdb: Fix time info in lib_dnscache.c
Signed-off-by: Masayuki Ishikawa <masayuki.ishikawa@gmail.com>
2017-05-23 16:02:41 +09: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
Ritajina
eab139a539 libc/netdb: in dns_query_callback, ret != -EADDRNOTAVAIL condition consumes error returns including EAGAIN in this case, dns query retransmission doesn't work 2017-04-12 06:41:08 -06:00
Gregory Nutt
1b6630ee75 6loWPAN: Fix compile errors and warnings when building the complete 6loWPAN configuration. 2017-04-02 17:46:22 -06:00
Gregory Nutt
67feda60b2 libc/Kconfig: Use menus vs. comments to better organize the C library menus 2017-02-10 10:04:56 -06:00
Gregory Nutt
de1b68dc4e libc/Kconfig: Break big Kconfig up into separate Kconfig files in each libc subdirectory. 2017-02-10 09:32:55 -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
4f97f15b5e graphics/, libc/: Change some err() ERRORS to warn() WARNINGS or info() 2016-06-12 11:11:57 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
5ef3e3e215 Replace confusing references to uIP with just 'the network' 2016-05-30 11:52:07 -06:00
Gregory Nutt
9008308b64 Remove some block comments before empty code sections 2016-04-11 18:16:04 -06:00
Gregory Nutt
6af9b23df5 libc/netdb: Fix some compile issues when IPv6 is enabled 2016-02-25 13:59:42 -06:00
Gregory Nutt
2a5c7e9a92 resolv.conf: Add support for OpenBSD style resolv.conf syntax where a non-standard DNS server port can be specified using a backet syntax. 2016-01-14 17:55:53 -06:00
Gregory Nutt
300d34f029 netdb: resolv.conf logic is functional 2016-01-14 15:12:42 -06:00
Gregory Nutt
1a8531c951 netdb: Extend dns_query so that it can handle multiple nameserver addresses 2016-01-14 14:18:19 -06:00
Gregory Nutt
9097425203 netdb: Separate lib_dnsclient.c into lib_dnsbind.c and lib_dnsquery.c 2016-01-14 10:30:47 -06:00
Gregory Nutt
62f04d98c1 netdb: Move DNS initialization and cache logic to separate files 2016-01-14 10:17:15 -06:00
Gregory Nutt
0889963b50 resolv.conf: Fix some basic compilation issues. Logic still not complete. 2016-01-14 08:32:20 -06:00
Gregory Nutt
a7acb45ca6 Add logic misssing from dns_add_server 2016-01-13 16:29:50 -06:00
Gregory Nutt
b112d8fddc DNS: A little more resolv.conf logic. Still not complete. 2016-01-13 16:02:23 -06:00
Gregory Nutt
8e9f884eb7 Step 1 in /etc/resolv.conf support 2016-01-13 15:06:44 -06:00
Gregory Nutt
1608b7c33f Some networking logic was used helpers from apps/netutils. Not good. Quick fix is to duplicate logic 2016-01-09 15:56:08 -06:00
Gregory Nutt
b682190f52 Rename all head files in main NuttX repository with names like *internal.h, removing the internal 2015-12-29 17:31:17 -06:00
Gregory Nutt
e9bd8bceb4 nuttx/libc: Fix some spacing and alignment issues 2015-10-12 07:45:02 -06:00
Gregory Nutt
0b12dbf95d Fix some spacing problems 2015-10-04 15:04:00 -06:00
OrbitalFox
381c587770 Fix typo but should be buf. From OrbitalFox 2015-09-03 07:35:32 -06:00
Gregory Nutt
6158086dd4 Update some comments 2015-08-24 15:41:45 -06:00
Gregory Nutt
933d74e5c1 Networking: With these changes, I can ping the local loopback device from the simulator 2015-08-24 13:49:12 -06:00
Gregory Nutt
0b012c7978 Fix some initial loop back device compilation errors; mark configuration as EXPERIMENTAL 2015-08-24 11:29:54 -06:00
Gregory Nutt
07bdff9ef7 Networking: Add NetDB support for the local loopback device 2015-08-24 10:08:26 -06:00
Pavel Pisa
23035ca68d [PATCH] gethostbyname(): correct returned address format when DNS is used. The hostent.h_addr_list should point to raw in_addr or in6_addr as defined in the standard. Original implementation used that
for numeric addresses but for DNS lookup returned pointer to whole sockaddr_in or sockaddr_in6.

getaddrinfo() should be preferred in a long term perspective. Return of complete addresses from the lookup would be better in such case but it requires significant changes anyway - multiple addresses support and most probably dynamic memory allocation which is bad for many RT applications. So gethostbyname() is sufficient for most applications now.

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2015-08-21 18:33:03 -06:00