Summary:
- During Wi-Fi stress test, I noticed ASSERT happens in gs2200m_main.c
- Actually, req->max_buflen was 0 but the case was not handled correctly
- This commit fixes this issue
Impact:
- Affects read/recvfrom with len=0 cases
Testing:
- Tested with spresense:wifi_smp
- Run nxplayer for audio streaming
- Run ps/free/ifconfig commands via telnet
- Run smp command via telnet
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Uses logic from apps/fsutils/ipcfg to obtain the IP address configuration from a file, if available. This only effects the behavior of netinit if CONFIG_FSUTILS_IPCFG is selected and if an IP configuration file is available on a file system. Otherwise, it reverts to the preceding behavior.
Also adds definitions to apps/include/fsutils/ipcfg.h to formalize a bit encoding of the prototype which was already in use, but not documented.
Also fixes some bad assertions (duplication of PR #420) and makes use of variable names consistent in ipcfg.h comments and in ipcfg_text implementation.
This commit adds structures, modifies function prototypes, and renames data to support the future addition of IPv6 support. This commit does NOT add that IPv6, only the hooks for backward compatible future support.
Highlights:
* TLS support (a hook to allow users to provide TLS implementation)
* ability to add extra request headers
* ability to use PUT method
* ability to report http status
* error handling improvements
Proposed on the ML while ago:
https://www.mail-archive.com/dev@nuttx.apache.org/msg03803.html
The original API is kept for now.
I plan to remove them after adapting the existing users.
(examples in this repo)
This commit adds support to access an IPv4 Configuration file similar to the Linux dhpc.client ipfcg file. This version, tailored for deeply embedded systems supports several options to tailor the file and file access to different environments. It supports:
- Writable as well as read-only configuration files.
- ASCII human readable files as well as smaller binary files.
- It supports using character driver access to constrained media (such as EEPROM).
- Add examples/ipcfg to exercise IPv4 Configuration File support
The rest of errors are about cJSON identifiers:
wgetjson_main.c:181:2: error: Mixed case identifier found
wgetjson_main.c:183:9: error: Mixed case identifier found
wgetjson_main.c:186:37: error: Mixed case identifier found
wgetjson_main.c:190:12: error: Mixed case identifier found
wgetjson_main.c:191:6: error: Mixed case identifier found
wgetjson_main.c:203:39: error: Mixed case identifier found
wgetjson_main.c:256:36: error: Mixed case identifier found
wgetjson_main.c:283:2: error: Mixed case identifier found
wgetjson_main.c:286:9: error: Mixed case identifier found
wgetjson_main.c:289:37: error: Mixed case identifier found
wgetjson_main.c:295:6: error: Mixed case identifier found
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>
fb_main.c: In function 'fb_main':
fb_main.c:473:15: warning: passing argument 1 of 'munmap' makes pointer from integer without a cast [-Wint-conversion]
473 | munmap(state.fd, state.fbmem);
| ~~~~~^~~
| |
| int
In file included from fb_main.c:43:
/home/archer/code/upload/incubator-nuttx/include/sys/mman.h:177:22: note: expected 'void *' but argument is of type 'int'
177 | int munmap(FAR void *start, size_t length);
| ~~~~~~^~~~~
fb_main.c:473:25: warning: passing argument 2 of 'munmap' makes integer from pointer without a cast [-Wint-conversion]
473 | munmap(state.fd, state.fbmem);
| ~~~~~^~~~~~
| |
| void *
In file included from fb_main.c:43:
/home/archer/code/upload/incubator-nuttx/include/sys/mman.h:177:36: note: expected 'size_t' {aka 'unsigned int'} but argument is of type 'void *'
177 | int munmap(FAR void *start, size_t length);
| ~~~~~~~^~~~~~
Signed-off-by: chao.an <anchao@xiaomi.com>
This is the corresponding change to the one on main NuttX repo. In this
case this involves splitting the build of libapps.a into: a) building
all applications (which is safely parallelizable), b) adding each
application's object files to the archive in turns (serial by nature).
This removes the need for the flock used to protect the parallel build.