Commit Graph

109 Commits

Author SHA1 Message Date
Petro Karashchenko
189d0c803f net/ip: print ip addresses using ip4_addrN macro
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-08-22 01:36:42 +08:00
chao an
4d79a5cbaf add initial cmake build system
Co-authored-by: Daniel Agar <daniel@agar.ca>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-08 13:52:02 +08:00
Zhe Weng
3e68694bdf netutils/dhcpc: Set BOOTP BROADCAST flag when IPFORWARD is enabled
Socket binded to INADDR_ANY is not intended to receive unicast traffic before being fully configured, at least dhclient configured with socket-only won't do so on Linux and BSDs (https://github.com/isc-projects/dhcp/blob/v4_4_3/common/socket.c#L1201).
We can sometimes receive unicast traffic before being fully configured, it's good, but not always, so we need to set the broadcast flag under some situations.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2023-06-15 10:10:05 +08:00
zhanghongyu
44e5a5ecd7 dhcpc: adds errno to the dhcpc internal error
add errno to help analyze possible causes of dhcp failures

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-05-12 22:30:38 +08:00
simbit18
5137e6f3db apps/netutils/dhcpc/Make.defs: fix nxstyle
Add missing first line header
2023-03-20 14:17:07 +01:00
zhanghongyu
96956ba83c dhcpc: under STATE_HAVE_OFFER, dont send DECLINE when offer from same server
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-02-11 14:37:19 +08:00
田昕
2b2c4805a4 netutils/dhcpc:fix dhcp hostname len error in dhcpc_sendmsg
Signed-off-by: 田昕 <tianxin7@xiaomi.com>
2023-01-10 21:52:31 +08:00
Xiang Xiao
37c0cdd1a6 dhcp: Make the option dependence work for usrsock case
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-21 01:02:14 +08:00
liangchaozhong
4c5406e225 dhcpc:disable broadcast flag in DHCP process
Issue:
DHCP server will send DHCP offer/ack via broadcast packet if broadcast
flag is enabled in DHCP discover/request.
There's no retransmition mechanism for broadcast frame in 802.11 MAC
layer, thus transmit fail rate might be very high. This will increase DHCP fail rate.

Solution:
Disable broadcast flag by default

Signed-off-by: liangchaozhong <liangchaozhong@xiaomi.com>
2022-11-14 19:00:39 +01:00
zhanghongyu
f6ab04addb dhcpc: codechecker issuse fix
presult->serverid.s_addr maybe is garbage or undefined

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-10-21 16:31:13 +08:00
田昕
e69a032f20 dhcpc:fix xid error clear bug.
Signed-off-by: 田昕 <tianxin7@xiaomi.com>
2022-10-20 22:12:33 +08:00
Xiang Xiao
4941182cc6 Make.defs: Change "ifeq ($(XXX),y)" to "ifneq ($(XXX),)
to support the tristate option correctly and unify the usage

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-16 14:59:08 +02:00
Fotis Panagiotopoulos
bcbf3ae89d Fixes in DHCPc. 2022-10-13 22:59:54 +02:00
SunJ
162dc0996c netutils/dhcpc: Add dhcp client id option
Signed-off-by: SunJ <jsun@bouffalolab.com>
2022-09-27 12:20:34 +08:00
chao an
09dfbdf4c7 netutls/dhcpc: treat EINTR as normal errno
A return code of EINTR is perfectly normal, and isn't an error as such.
It's an indication that your program may need to do something because
a signal occurred, but if not, should re-call recv().

Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-27 12:20:25 +08:00
chao an
cbcfe6be28 netutils/dhcpc: Set close-on-exec by default to avoid udp_conn leak
Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-27 12:20:25 +08:00
田昕
21e1ef11da netutils/dhcpc:receiving unexpected packet not leading to dhcp retry.
Signed-off-by: 田昕 <tianxin7@xiaomi.com>
2022-09-08 14:48:56 +08:00
田昕
37b77a78fa netutils/dhcpc:Make DHCP xid random
Signed-off-by: 田昕 <tianxin7@xiaomi.com>
2022-09-06 19:33:38 +08:00
chao.an
995aef9d99 net/sockopt: move BINDTODEVICE to socket level
rename the UDP_BINDTODEVICE to SO_BINDTODEVICE to follow the linux
style to be compatible with non-UDP protocol binding requirements

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-25 00:11:23 +08:00
YAMAMOTO Takashi
83505e217b dhcpc: Rename timeout Kconfig
NETUTILS_DHCPC_RECV_TIMEOUT -> NETUTILS_DHCPC_RECV_TIMEOUT_MS

Recently its unit has been changed from second to millisecond. [1]
Using the same Kconfig name for a different meaning is a pitfall
for an upgrade. I was using 3ms timeout because of this.

This commit renames it so that at least the default value
is used for a careless user like me.

[1]
```
commit 8fd4b6105b
Author: zrrong <zrrong@bouffalolab.com>
Date:   Fri May 27 11:35:23 2022 +0800

    netutils/dhcpc: Change the timeout unit to milliseconds
```
2022-07-07 21:42:58 +08:00
zrrong
8fd4b6105b netutils/dhcpc: Change the timeout unit to milliseconds 2022-05-31 11:01:19 +03:00
songlinzhang
04dd2d70fd netutils/dhcpc: Fix dhcpc lease bug
Signed-off-by: songlinzhang <songlinzhang@xiaomi.com>
2022-01-05 18:27:59 +08:00
songlinzhang
e0fc53b23c netutils/dhcpc: add non-blocking interface
Signed-off-by: songlinzhang <songlinzhang@xiaomi.com>
2021-11-29 02:04:49 -06:00
songlinzhang
98dfaa3eff dhcpc abnormal block
The logic changes are as follows:
1、Loop sending the DISCOVER up to CONFIG_NETUTILS_DHCPC_RETRIES times
   and exit if failure
2、Loop sending the REQUEST up to CONFIG_NETUTILS_DHCPC_RETRIES times
   and exit if failure

Signed-off-by: songlinzhang <songlinzhang@xiaomi.com>
2021-10-22 09:20:25 -03:00
Beat Küng
7fdd751b7a dhcpc: fix potential invalid memory reads
- check for minimum packet length (44 bytes, which includes the fields we
  read next)
- pass the correct remaining buffer length to dhcpc_parseoptions()
- dhcpc_parseoptions(): ensure we never read past the end of the buffer
2021-06-30 03:00:42 -05:00
Alin Jerpelea
e78ef68927 netutils: fix relative path CI error
error: Path relative to repository other than nuttx must begin with the root directory
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-06-16 09:03:06 -05:00
Alin Jerpelea
ec339bc49a Makefiles: Gregory Nutt: update licenses to Apache
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-06-07 21:35:33 -05:00
Masayuki Ishikawa
f902d900e1 netutils: dhcpc: Fix Kconfig for the usrsock
Summary:
- This commit fixes the renew command with the usrsock

Impact:
- None

Testing:
- Tested with spresense:wifi and esp32-devkitc:wapi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-04-29 01:27:47 -05:00
Gregory Nutt
844b193713 apps/netutils/dhcpc/Kconfig: Auto-select CONFIG_NET_UDP_BINDTODEVICE
DHCPC depends on CONFIG_NET_UDP_BINDTODEVICE in many cases.  Safest thing is to just auto-select it whenever DHCPC is selected.
2021-04-28 21:23:05 -05:00
chao.an
ebbf2fc072 netutils/dhcpc: configurable Bootstrap flags
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-02-11 21:38:43 -08:00
YAMAMOTO Takashi
37aa346da6 netutils/dhcpc/dhcpc.c: Fix syslog formats 2020-11-23 04:59:11 -08:00
Masayuki Ishikawa
e8a353af05 netutils: dhcpc: Fix dhcpc.c
Summary:
- dhcpc now uses gethostname() but the hostname might be empty
- This commit fixes this issue

Impact:
- All use cases which use dhcpc

Testing:
- Tested with spresense:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-20 08:19:38 -07:00
chao.an
77aa0e8908 netutils/dhcpc: try to get the host name via syscall first
Change-Id: I22aa8316f5c126bf3bafe9476a27a43c01da6129
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-09-19 01:13:05 -07:00
Xiang Xiao
deaa6c5b7b build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs
and move NUTTXLIB defintion to the common place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-09 15:17:37 -03:00
chao.an
24407f16f5 net/sockopt: change the socket option style from Linux to BSD
Linux Programmer's Manual
...
IP(7)
...
NOTES
...
    Using the SOL_IP socket options level isn't portable;
    BSD-based stacks use the IPPROTO_IP level.

Change-Id: I143477d8884dd44913c5685028ee62854e4c11ac
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-06-29 21:07:04 -05:00
YAMAMOTO Takashi
6b00c37a65 dhcpc.c: Fix an nxstyle complaint 2020-05-25 23:53:29 +08:00
YAMAMOTO Takashi
1cb82e58ac dhcpc: Don't use an uninitialized variable 2020-05-25 23:53:29 +08:00
Xiang Xiao
69f013e74e build: Remve the unnecessary .gitignore
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-23 15:56:35 +01:00
Xiang Xiao
ead498a788 build: Remove the workaround for the inexistence of .config/Make.defs
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-21 17:43:42 +01:00
chao.an
c6b678fa60 netutils/dhcpc: fix nxstyle warning
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-04-03 18:11:27 -06:00
chao.an
70bb13ce3b netutils/dhcpc: configurable timeout and retry count.
Change-Id: I92e77bd24ddd7ffff39de9215f4b7c05a7b55bee
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-04-03 18:11:27 -06:00
Xiang Xiao
1511403fdf Revert "Don't generate .depend anymore"
This reverts commit cc5ad09caa.
2020-03-22 23:09:40 -05:00
Xiang Xiao
cc5ad09caa
Don't generate .depend anymore 2020-03-22 18:15:21 +00:00
Xiang Xiao
e0dcfa0c55 Remove extra whitespace from files (#43)
* Remove multiple newlines at the end of file
* Remove the white space from the end of line
2020-01-31 08:29:24 -06:00
Xiang Xiao
857158451b Unify the void cast usage
1.Remove void cast for function because many place ignore the returned value witout cast
2.Replace void cast for variable with UNUSED macro

Change-Id: Ie644129a563244a6397036789c4c3ea83c4e9b09
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-01-02 23:21:01 +08:00
Xiang Xiao
7808eb62d2 apps/: In all Make.def files, append to CONFIGURED_APPS patch with the absolute path. 2019-10-17 11:33:59 -06:00
Gregory Nutt
3a23523147 Makefiles: This reverts part of commit cf0365ea9. It restores 'conditional' inclusion of TOPDIR/Make.defs. Otherwise all make targets fail if the board has not been configured. That is okay most of the time, but not for things like clean and distclean which should not depend on being configured. 2019-10-15 09:25:48 +08:00
Xiang Xiao
cf0365ea92 Clean up Makefile under apps folder no functional changes. 2019-10-04 08:35:46 -06:00
Masayuki Ishikawa
811086ff85 Merged in masayuki2009/nuttx.apps/dhcpc_host_name (pull request #197)
netutils/dhcpc: Add host name support to dhcp client

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

Approved-by: Gregory Nutt <gnutt@nuttx.org>
2019-08-14 11:29:18 +00:00
Kevin Liu
721bb64e52 apps/netutils/dhcpc/dhcpc.c: Fix an error for DHCP REQUEST receiving a NAK.In DHCP Request operation, no need to update ciaddr to the client address and keep it as 0. 2019-01-30 07:49:37 -06:00