wangchen
693898d566
netdb/dns: fix dns wrong response ID error
...
In every dns query, we use the new socket to avoid receiving last response ID
Signed-off-by: wangchen <wangchen41@xiaomi.com>
2023-06-15 03:20:46 +08:00
chao an
589d4a9f8e
net/semantic/parser: fix compile warning found by sparse
...
Reference:
https://linux.die.net/man/1/sparse
Signed-off-by: chao an <anchao@xiaomi.com>
2023-05-30 23:00:00 +08:00
Zhe Weng
e7043828a7
netdb: Regard hosts file prior to DNS when resolving
...
- Linux: What inside /etc/hosts comes first.
- NuttX: Even if we write a domain in /etc/hosts, we still use DNS
result instead of hosts lines. This patch change this behavior.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-05-18 14:50:08 -03:00
Zhe Weng
d8da8dcc44
libc: Print error code for unknown errors in strerror/gai_strerror
...
Ref: Linux print unknown errors like "Unknown error nnn"
https://man7.org/linux/man-pages/man3/strerror.3.html#RETURN_VALUE
Note:
These interfaces are called at low freq, so a static buffer may be enough.
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-04-22 01:46:39 +08:00
chao an
fa63da22ae
libs/netdb: add sanity check to avoid null pointer reference
...
Signed-off-by: chao an <anchao@xiaomi.com>
2023-01-30 23:37:29 +08:00
zhanghongyu
4de0e626d0
Revert "netdb: fix access within misaligned address error"
...
This reverts commit 3f94828f6b
.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-01-29 14:35:01 +08:00
liangchaozhong
d8777fa77d
invalid dns cache entry after ttl expires
...
Log ttl after receive dns query and invalid dns cache entry when ttl expires.
Signed-off-by: liangchaozhong <liangchaozhong@xiaomi.com>
2023-01-29 14:32:33 +08:00
anjiahao
287467b81b
netdb: Add return check in rexec_af
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-01-27 15:31:28 -03:00
zhanghongyu
4de3387eb2
getaddrinfo: add AI_NUMERICHOST flag handle
...
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-01-12 01:40:11 +08:00
YAMAMOTO Takashi
bf7db14feb
Suppress -Wsign-compare warning on a few places
2022-12-26 18:23:41 +08:00
chao an
0c21bc4e53
netdb/dns: add support of send timeout
...
Signed-off-by: chao an <anchao@xiaomi.com>
2022-12-16 09:51:15 +08:00
Xu Xingliang
252c6a1844
libc/netdb: add proto.c
...
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2022-12-10 02:36:24 +08:00
zhanghongyu
db4840564d
dns: Reduce the dns_lock granularity
...
When a7 curl calls dns_query via usrsock, it will wait a usrsock
response with the dns lock held. If a7 rptun recv a dns_addnameserver
event from another core at this time, rptun waits the lock held by
curl in callback. Then curl will never get its usrsock response with
rptun blocked, so the deadlock occurs.
This change will break lock when do usrsock request.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-11-11 20:07:05 +08:00
Xiang Xiao
36abcda0d2
lib/netdb: Rename dns_sem[take|give] with dns_[lock|unlock]
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-09 21:38:10 +01:00
raiden00pl
00aa822546
libs/libc/netdb/Kconfig: allow to enable LIBC_NETDB directly from menuconfig
2022-10-02 22:29:41 +08:00
Xiang Xiao
e38248ee08
Return -EINVAL for the internal API
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-30 17:54:56 +02:00
Xiang Xiao
40ef5bc6db
libc: Move queue.h from include to include/nuttx
...
to avoid the conflict with libuv's queue.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-26 08:04:58 +02:00
Xiang Xiao
bdcd232c98
libc/netdb: Let LIBC_GAISTRERROR/NETDB_BUFSIZE/NETDB_MAX_IPADDR depends on LIBC_NETDB
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-22 17:41:05 +02:00
Huang Qi
e4e3208180
Replace all strncpy with strlcpy for safety
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2022-08-25 13:38:36 +08:00
zhanghongyu
daf39c03bd
dns_client: directly initialize g_dns_servers and remove dns_initialize directly
...
g_dns_servers need init before dns_query, Otherwise sim can not add default
dns server when use usrsock mode to share host network.
Avoid similar problems in the future, so directly initialize g_dns_servers.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-08-15 16:39:37 +03:00
Nathan Hartman
20bdd44e7b
Remove executable permission from source and build files.
2022-08-04 12:48:18 -03:00
liyi25
1141ee28e9
delay creating DNS bind socket
...
Signed-off-by: liyi <liyi25@xiaomi.com>
2022-08-03 23:43:48 +08:00
Gustavo Henrique Nihei
9b0e3ae9d2
libs: Convert DEBUGASSERT(false) into more intuitive DEBUGPANIC()
...
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-07-14 12:08:45 +08:00
Nathan Hartman
849f760b77
Fix various typos
2022-07-08 02:15:54 +08:00
anjiahao
b88a8cf39f
use rmutex inside of all repeated implementation
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-05-30 19:43:48 +08:00
anjiahao
c843cb8a52
libc/net:use strlcpy instead of strncpy
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2022-04-12 21:16:11 +08:00
songlinzhang
8dd5d0d510
netdb/lib_dnsaddserver.c: Do not insert the duplicate DNS address
...
Signed-off-by: songlinzhang <songlinzhang@xiaomi.com>
2022-04-11 20:31:15 +08:00
Petro Karashchenko
d08fbca679
nuttx: unify FAR attribute usage across the code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-04 21:32:58 +08:00
Xiang Xiao
499c450d36
libc/netdb: Hold dns lock when operating with resolv.conf
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-04 19:48:36 +09:00
Xiang Xiao
cd695cd0d9
libc/netdb: Remove the temporary unlock in dns_foreach_nameserver
...
since netdb support the recursive lock
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-04 19:48:36 +09:00
Xiang Xiao
a8cac59864
libc/netdb: Support the recursive lock
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-04-04 19:48:36 +09:00
ligd
a1eb3f66fa
rexec: fix free error in error handing
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-03-29 10:09:04 +08:00
chao.an
484b930fd1
netdb/getaddrinfo: fix NULL pointer reference
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-18 20:11:54 +02:00
chao.an
0f7ccf0c08
netdb/getaddrinfo: fix the compile warning
...
netdb/lib_getaddrinfo.c: In function ‘alloc_ai’:
netdb/lib_getaddrinfo.c:80:9: warning: ‘strncpy’ specified bound 108 equals destination size [-Wstringop-truncation]
80 | strncpy(ai->sa.sun.sun_path, addr, sizeof(ai->sa.sun.sun_path));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
netdb/lib_getaddrinfo.c: In function ‘alloc_ai’:
netdb/lib_getaddrinfo.c:103:9: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
103 | strncpy(ai->sa.srp.rp_cpu, addr, sizeof(ai->sa.srp.rp_cpu));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-03-19 00:34:26 +08:00
songlinzhang
e2114378b9
Add dn resolution function
...
Signed-off-by: songlinzhang <songlinzhang@xiaomi.com>
2022-03-17 09:37:15 +02:00
Xiang Xiao
f1ed349dd9
sched/clock: Remove CLOCK_MONOTONIC option from Kconfig
...
here is the reason:
1.clock_systime_timespec(core function) always exist regardless the setting
2.CLOCK_MONOTONIC is a foundamental clock type required by many places
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-23 01:21:26 +08:00
Petro Karashchenko
9551de7115
net: use HTONS, NTOHS, HTONL, NTOHL macro in kernel code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-18 10:59:47 +01:00
Petro Karashchenko
3ccb657dc2
nuttx: remove space befone newline in logs
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-27 21:01:19 -06:00
ligd
3f94828f6b
netdb: fix access within misaligned address error
...
netdb/lib_dnsquery.c:444:14: runtime error: member access within misaligned address 0xef2f5a1b for type 'struct dns_question_s', which requires 2 byte alignment
0xef2f5a1b: note: pointer points here
63 6f 6d 00 00 01 00 01 c0 0c 00 05 00 01 00 00 00 1c 00 1a 05 6d 75 73 69 63 06 6e 74 65 73 35
^
netdb/lib_dnsquery.c:445:14: runtime error: member access within misaligned address 0xef2f5a1b for type 'struct dns_question_s', which requires 2 byte alignment
0xef2f5a1b: note: pointer points here
63 6f 6d 00 00 01 00 01 c0 0c 00 05 00 01 00 00 00 1c 00 1a 05 6d 75 73 69 63 06 6e 74 65 73 35
^
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-11-08 21:57:27 -06:00
YAMAMOTO Takashi
3097f62511
Revert "lib/netdb: Change the default NETDB_DNSCLIENT_NAMESIZE to NAME_MAX"
...
This reverts commit 3724f6be55
.
Because there is no real correlation between DNS namesize and NAME_MAX
as far as I know. The former is about network and the latter is about
filesystem. While they might happen to be similar values for
some configurations, it's very confusing to use them this way.
2021-10-29 01:15:58 -05:00
Xiang Xiao
3724f6be55
lib/netdb: Change the default NETDB_DNSCLIENT_NAMESIZE to NAME_MAX
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-10-25 19:50:16 -03:00
Xiang Xiao
c4472b64cb
libc/netdb: Change default of NETDB_DNSCLIENT_MAXRESPONSE to NETDB_BUFSIZE
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-10-25 19:50:16 -03:00
Jiuzhu Dong
c68880c0d7
getaddrinfo: support AF_RPMSG
...
The hostname is as rp_cpu, the servname is as rp_name
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-13 08:57:44 +08:00
Jiuzhu Dong
352f636b38
getaddrinfo: support AF_LOCAL
...
the hostname is as sun_path.
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-13 08:57:44 +08:00
Jiuzhu Dong
2438403f23
libc/rexec/rexec_af: support remote execution
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-09-12 21:14:06 +08:00
YAMAMOTO Takashi
4666b39f9c
dns_recv_response: Fix IPv6 address in an ninfo()
2021-06-17 02:52:04 -05:00
chao.an
f3a5aee7d7
libs/libc/netdb: add dns clear interface
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-11 04:54:30 -05:00
Virus.V
317bd40fec
net/dns:fix unaligned access in dns query
2021-06-10 02:03:31 -05:00
Xiang Xiao
2e54df0f35
Don't include assert.h from public header file
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
YAMAMOTO Takashi
d6ed7464b3
Kconfig: Make NETDB_DNSCLIENT select NET_SOCKOPTS
...
Because it uses SO_RCVTIMEO.
2021-06-03 10:05:33 -05:00