Commit Graph

134 Commits

Author SHA1 Message Date
YAMAMOTO Takashi
f613da4f92 webclient.c: Remove a space after a negative sign
from:

    return - ECONNABORTED;

to:

    return -ECONNABORTED;

The latter style is more commonly used within NuttX code base.

Note: nxstyle doesn't complain on either of them.
2021-02-12 08:51:23 +00:00
YAMAMOTO Takashi
412cf2b955 webclient: Fix a use of uninitialized variable
Detected by clang static analyzer.
2021-01-19 19:06:24 -08:00
YAMAMOTO Takashi
ee1f4fdcdb webclient: Don't call the sink callback if no data is available
This happened frequently for me with Docker Desktop's
/var/run/docker.sock on macOS.
But I believe it can happen on other environments, even with TCP.

Alternatively, this case can be handled by the callback
implementations.  But it's simpler to handle the corner case here.
2021-01-17 18:44:17 -08:00
YAMAMOTO Takashi
1131cbe14d webclient: Implement AF_LOCAL 2021-01-17 18:44:17 -08:00
YAMAMOTO Takashi
ebe3b0d302 webclient: Report unexpected connection loss as an explicit error
Otherwise, it can end up with mysterious results in user apps.
2021-01-13 20:51:06 -06:00
YAMAMOTO Takashi
73fb7baa05 webclient: Distinguish request size and buffer size in body callback
This fixes the case when webclient_set_static_body is used
for data larger than webclient_context::buflen.

Note: as of writing this, webclient_set_static_body is the
only user of body_callback in NuttX apps tree.
2020-11-19 18:46:38 -08:00
YAMAMOTO Takashi
a1db71fa43 webclient improvements
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)
2020-10-01 15:32:25 +08:00
YAMAMOTO Takashi
b78370dbf2 webclient: move WGET_USE_URLENCODE definiton to the header
Because it's used by the header.

This fixes warnings while building wgetjson.
2020-09-30 08:22:16 +02:00
SPRESENSE
78e8090842 examples: wget: Fix nxstyle issues 2020-08-18 10:07:47 -05:00
SPRESENSE
7a1d626504 netutils/webclient: Enable to send long HTTP request
Call send() repeatedly until whole buffer to be sent.
2020-08-18 10:07:47 -05: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
YAMAMOTO Takashi
83324b68f9 webclient: Fix errno in case of recv failure
When recv() failed, the current code assumes the return value
of recv() is a negative errno. It's wrong. Actually the return value
in case of error is -1. The wrong assumption ends up with reporting
EPERM, as EPERM happens to be -(-1).

This commit changes the code to leave the errno set by the failed
recv() as it is. It should be fine as wget_base() has the same
error returning convention as recv(). That is, return -1 (ERROR)
and set errno in the case of failure.

NOTE: the close() after the errout label can also fail and overwrite
the errno. I don't feel it's a big problem as wget_base() doesn't have
any promise about which error should be reported.
2020-06-12 05:22:45 -07:00
YAMAMOTO Takashi
a455f13ec1 webclient: Check the return value of netlib_parseurl correctly 2020-05-28 19:58:53 +08:00
YAMAMOTO Takashi
415010b7fd webclient: include string.h for strlen
Instead of relying on indirect namespace pollutions.
2020-05-28 11:15:18 +02:00
YAMAMOTO Takashi
276bf42e0d webclient: Fix http -> https redirection
http -> https redirection is rather common. The old code was
just broken in that case.

Also, this commit is a step towards https support.

* Switch to netlib_parseurl
* Fix error propagation in wget_parseheaders
* Bail out on a redirect to a URL with unsupported scheme
2020-05-26 15:38:12 +08:00
YAMAMOTO Takashi
e939e55a50 webclient.c: Limit the number of redirections 2020-05-25 23:54:38 +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
Gregory Nutt
b2d8c501f6 Remove use of set_errno() from application code.
The normal assignment errno = errcode should work fine now.
2020-05-07 22:23:19 +01:00
Juha Niskanen
2aabd1c9a7 webclient: run through nxstyle
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-04-23 09:29:36 -06:00
Juha Niskanen
f8f16975a9 webclient: use getaddrinfo to get IPv4 addresses on dual stack systems
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-04-23 09:29:36 -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
Gregory Nutt
9e1cda95fb Cosmetic fixes to spacing. 2019-07-27 08:49:34 -06:00
Alan Carvalho de Assis
5492fcdafa apps//netutils/webclient/Kconfig: NET_SOCKOPTS is needed to get webclient compiled. 2019-02-24 13:55:19 -06:00
anchao
b5cfd93444 apps/: Modification to build system: Unified application compilation rules 2018-09-03 09:29:56 -06:00
Gregory Nutt
7a8561728c The last change added .PRECIOUS: $(BIN) to everyway Makefile in hopes the libapps.a will not be deleted on Control-C (unproven so far). However, $(BIN) may contain back slashes in some build platforms and that causes problems for make: It can't handle the backslashes in the .PRECIOUS dependency list. $(BIN) replaced with ../../libapp.a, where the number of ../ depends on the depth of the Makefile in the apps/ source tree. 2017-08-13 11:03:17 -06:00
Gregory Nutt
a66da34f18 All Makefiles: Add .PRECIOUS: apps/libapps.a to every Makefile. Hopefully this will end awkward problems when you Control-C out of a build and libapps.a is deleted. 2017-08-13 09:35:14 -06:00
Gregory Nutt
81645fe18f strcasecmp, strncasecmp, bzero, bcmp, and bcopy should be defined in strings.h, not string.h. bzero, bcmp, and bcopy are legacy functions; the contemporary counterparts should be used instead. 2017-02-16 15:58:15 -06:00
Sebastien Lorquet
2cbad44f1d This is the Pokemon patch to change all includes fronm <apps/bla/bla.h> to "bla/bla.h" 2016-07-11 10:11:18 -06:00
Gregory Nutt
a50383db3d apps/graphics and netutils: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition. 2016-06-14 17:53:47 -06:00
Gregory Nutt
586b0aa7e0 Change names of *dbg() * *err() 2016-06-11 15:51:27 -06:00
Gregory Nutt
344c92e2a4 Replace all occurrences of vdbg with vinfo 2016-06-11 11:55:38 -06:00
Sebastien Lorquet
bfff5e7179 Add empty preconfig rules to 'leaf' makefiles 2016-06-02 16:24:30 +02:00
Sebastien Lorquet
9a406515d7 make the full tree use wildcards make.defs 2016-06-02 16:21:21 +02:00
Gregory Nutt
e9447c6058 Standardize nameing of the pre-processor definitiongs group header 2015-10-02 14:06:11 -06:00
Gregory Nutt
812450ebe6 If NSH or Webclient is selected, make sure that CONFIG_LIBC_NETDB is enabled; reanem dnsclient.h to dns.h 2015-07-12 09:25:39 -06:00
Gregory Nutt
c7bd1f4186 Replaces calls to non-standard dns_hostip() with calls to the standard gethostbyname() 2015-07-11 08:15:29 -06:00
Gregory Nutt
5e8928d009 Remove bogus references to CONFIG_HAVE_GETHOSTBYNAME 2015-07-10 14:03:28 -06:00
Gregory Nutt
48c36800f5 apps/netuils/dnsclient and include/netutils/dnsclient.h: Move the DNS client logic into the NuttX C library. It is a necessary part for the full implementation of the netdb logic and provides more flexibility in that location. 2015-07-10 11:31:13 -06:00
Gregory Nutt
d5b6949c9f Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation 2015-06-28 08:14:53 -06:00
Gregory Nutt
5ca324cad8 Add some missing dependencies in Kconfig files 2015-03-29 15:52:46 -06:00
Gregory Nutt
23dfce6275 Suffer the consequences of moving struct timeval to its correct location 2015-02-15 15:18:35 -06:00
Gregory Nutt
ff8338b5c2 Add implementation of timeouts for the apps/netutils/webclient. From Brennan Ashton 2014-09-29 17:10:49 -06:00
Gregory Nutt
d6bcd1a93a Add an install target to all makefiles. For the import build, the top-level Makefile now does two passes: (1) builds libapp.a, then (2) installs the programs (not yet finished) 2014-09-06 08:00:47 -06:00
Gregory Nutt
aa48010271 WGET: Fix from Rony Xln 2014-07-08 07:29:38 -06:00
Gregory Nutt
e7fedfa4a5 NET: Rename functions in apps/netutils/netlib to begin with netlib_ vs uip_ 2014-07-02 16:52:02 -06:00
Gregory Nutt
2ee5041477 NET: Rename uiplib/UIPLIB to netlib/NETLIB 2014-07-02 16:04:25 -06:00
Gregory Nutt
b9cf7acb1a More trailing whilespace removal 2014-04-13 16:24:28 -06:00
Gregory Nutt
171db56b69 Make sure that there is one space after for 2014-04-12 13:28:22 -06:00
Gregory Nutt
8b386385ab The rest of the resolv->DNS client naming change: Renamed directories and header files 2014-04-11 12:41:13 -06:00
Gregory Nutt
3669b6799a More changes to reduce complaints from CppCheck. Some latent bugs fixes, but probably some new typos introduced 2014-02-10 19:11:56 -06:00
Gregory Nutt
424fbe6583 .dSYM only needs to be in the same .gitignore files as .exe 2013-05-30 15:02:04 -06:00
Gregory Nutt
f9ab52bb5a Upate .gitignore files. Add .dSYM. Make sure / is present where needed. Add some missing .gitignore files 2013-05-30 14:45:31 -06:00
Gregory Nutt
470a04b8f9 Clone svn:ignore directory atributed to .gitignore files 2013-04-04 14:27:29 -06:00
patacongo
08f0823241 Missing comma in EVERY DELFILE/DELDIR macro call in every Makefile
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5373 42af7a65-404d-4744-a932-0658087f49c3
2012-11-20 15:47:41 +00:00
patacongo
1d7bb0fa07 Most of the changes needed to support Windows native clean; distclean is has a problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5367 42af7a65-404d-4744-a932-0658087f49c3
2012-11-17 18:54:53 +00:00
patacongo
c729930c69 Move some (hopefully) un-necessary quotes in Makefiles for Mike
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5356 42af7a65-404d-4744-a932-0658087f49c3
2012-11-15 17:43:29 +00:00
patacongo
fdb8f8a0de Changes to get a clean ez80 build using the ZDS 5.1.1 toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5341 42af7a65-404d-4744-a932-0658087f49c3
2012-11-12 15:22:27 +00:00
patacongo
3e25d82213 Correct some issues with last check-in; ez80 still does not build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5339 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 23:44:31 +00:00
patacongo
ffe4fc1c0c Partial change: Removing bash ARCHIVE loop
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5336 42af7a65-404d-4744-a932-0658087f49c3
2012-11-11 16:24:40 +00:00
patacongo
ddc2a64224 Fix apps/netutils/webclient build problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5317 42af7a65-404d-4744-a932-0658087f49c3
2012-11-06 16:59:45 +00:00
patacongo
416434f834 Add interfaces flags, extend ifconfig, add ifup and ifdown commands (Darcy Gong
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5308 42af7a65-404d-4744-a932-0658087f49c3
2012-11-04 18:54:04 +00:00
patacongo
93870670fa Add support for wget POST interface; from Darcy Gong
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5301 42af7a65-404d-4744-a932-0658087f49c3
2012-11-03 00:00:56 +00:00
patacongo
9db7c9aadc DNS fixes from Darcy Gong (part 1 of 2)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5235 42af7a65-404d-4744-a932-0658087f49c3
2012-10-20 13:47:30 +00:00
patacongo
f90c8836c0 Several bugfixes, mostly from Darcy Gong
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5217 42af7a65-404d-4744-a932-0658087f49c3
2012-10-06 14:50:37 +00:00
patacongo
f8e08440f7 Email address change in apps/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5143 42af7a65-404d-4744-a932-0658087f49c3
2012-09-13 16:58:49 +00:00
patacongo
3766aebbb4 Developing a new way to handle application configurations
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4609 42af7a65-404d-4744-a932-0658087f49c3
2012-04-14 20:01:08 +00:00
patacongo
fd496ea42f Add kconfig documentation
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4567 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 16:45:52 +00:00
patacongo
3fe79ff511 Adding skeleton Kconfig files (part 3 of 2)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4566 42af7a65-404d-4744-a932-0658087f49c3
2012-04-06 16:33:17 +00:00
patacongo
ba73620d39 Correct and error in recv() and recvfrom() return value
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4402 42af7a65-404d-4744-a932-0658087f49c3
2012-02-18 18:13:30 +00:00
patacongo
b4e43e4c63 tools/mkdep.sh should not report an error if there are no files on the command line
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3588 42af7a65-404d-4744-a932-0658087f49c3
2011-05-11 01:27:04 +00:00
patacongo
9e4d576dd0 Changes for clean build of app/ directory with Windows toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3488 42af7a65-404d-4744-a932-0658087f49c3
2011-04-10 16:08:08 +00:00
patacongo
893d4dbbfe Pass __KERNEL__ define (or not) to all makes to handle small differences in user-/kernel-builds
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3459 42af7a65-404d-4744-a932-0658087f49c3
2011-04-03 18:42:33 +00:00
patacongo
9116f1964e Update apps/ Makefiles to fix environmental bug
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3450 42af7a65-404d-4744-a932-0658087f49c3
2011-04-01 15:18:02 +00:00
patacongo
40174767c9 Add lpc17xx GPIO interrupts + fixes needed by last apps-build check-in
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3413 42af7a65-404d-4744-a932-0658087f49c3
2011-03-24 02:26:25 +00:00
patacongo
a30185e702 More build fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3407 42af7a65-404d-4744-a932-0658087f49c3
2011-03-20 22:07:56 +00:00
patacongo
f8442bad71 More build fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3403 42af7a65-404d-4744-a932-0658087f49c3
2011-03-19 23:03:25 +00:00
patacongo
5b96d86bfb Move nuttx/netutils to apps/netutils
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3401 42af7a65-404d-4744-a932-0658087f49c3
2011-03-19 21:04:13 +00:00