Commit Graph

309 Commits (f949ee538887fb5723294e9d2b8d990c1ce86e43)

Author SHA1 Message Date
Anna Bridge 4d07bcbd6e
Merge pull request #8579 from jarvte/cellular_context
Major refactoring: changing Network inheritance from CellularNetwork to new class CellularContext
2018-11-14 14:37:19 +00:00
Mahesh Mahadevan 12c6b1bd88 MIMXRT1050EVK: Add ENET support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-11-14 07:13:07 -06:00
Cruz Monrreal II 4a5ba7f156 Merge branch 'getpeername' of ssh://github.com/SeppoTakalo/mbed-os into rollup 2018-11-13 17:26:49 -06:00
Seppo Takalo 619bcb5b4e Implement Socket::getpeername() API
This is equivalent of POSIX getpeername() function. It allows to
get remote address associated with the socket.
For example:
socket *s = server.accept();
SocketAddress remote;
s->getpeername(&remote);
2018-11-13 11:02:51 +02:00
Kevin Bracey 913103c34d TLSSocketWrapper: decouple error requirements
* Don't pull in mbedtls_strerror() if trace is not enabled.
* Output error trace even if mbedtls_strerror() is not available.
2018-11-12 13:12:34 +02:00
Teppo Järvelin 3f6e088782 Cellular: Fixed backward compatibility with OnBoardCellularInterface and set default values in NetworkInterfaceDefaults.cpp. 2018-11-11 14:13:05 +02:00
Teppo Järvelin 1a047efade Cellular: review fixes, added missing fixes from master. 2018-11-11 14:13:05 +02:00
Teppo Järvelin 9fb83024ea Changed CellularContext to inherit from CellularBase instead of NetworkInterface. \n Changed Device constructor to take Filehandle instead of eventqueue. 2018-11-11 14:13:05 +02:00
Teppo Järvelin ad2abbe887 Cellular: major refactoring while introducing new CellularContext class. 2018-11-11 14:12:49 +02:00
Teppo Järvelin 8880538eba Cellular: Introduced new state machine to replace old CellularConnectionFSM
CellularDevice class own new state machine. Now we don't have to expose state machine
which may change and so we don't have to make API changes if that happens.
EasyCellularConnection uses now CellularDevice instead of old state machine.
2018-11-11 14:11:21 +02:00
Cruz Monrreal 9d95d46d6c
Merge pull request #8591 from 0xc0170/fix_coding_style_features
features: fix coding style
2018-11-09 09:40:56 -06:00
Brian Daniels da6ce029ea Removing cellular references to COMMON_PAL 2018-11-08 16:55:59 -06:00
Cruz Monrreal II e40c357cb2 Merge branch 'internetsocket' of ssh://github.com/marcemmers/mbed-os into rollup 2018-11-08 13:24:14 -06:00
Martin Kojtal 0217f69511 Merge branch 'cm3ds_emac' of git://github.com/kapi90/mbed-os into dev_rollup 2018-11-08 09:21:38 +00:00
Martin Kojtal 63160d8c5b netsocket: fix astyle coding style 2018-11-08 08:54:17 +00:00
Marc Emmers dcb97f9f74 InternetSocket: Fixed missing unlock before return 2018-11-06 15:02:42 +01:00
Martin Kojtal 4cbcd64ca3 Merge branch 'doxy_refactor' of https://github.com/jamesbeyond/mbed-os into dev_rollup 2018-11-06 12:10:10 +00:00
Martin Kojtal cb4924151e
Merge pull request #8621 from marcuschangarm/fix_include
Add missing include for TLSSocket
2018-11-05 17:18:52 +01:00
Marcus Chang 07eb6bd159 Add missing include for TLSSocket
TCP and UDP sockets are automatically available when mbed.h is
included in an application.

This change lets the TLSSocket be used in the same way.
2018-11-01 13:32:37 -07:00
Seppo Takalo f92108c0f3 Make sure that close() is called before the transport is destroyed.
Transport is a member of TLSSocket which is derived from TLSSocketWrapper.
Make sure that TLSSocketWrapper::close() is called before the transport is
destroyed.
2018-11-01 15:30:27 +02:00
Qinghao Shi 60cc0c295d fixed NetworkInterface Class missing in doxy 2018-10-31 14:50:59 +00:00
Martin Kojtal 2015a61b37
Merge pull request #8580 from tz-arm/fix_incorrect_comment_in_socket_h
Fix the incorrect comment for set_blocking()
2018-10-31 13:10:35 +01:00
Terence Zhang 2c56bd8151 Fix the incorrect comment for set_blocking() 2018-10-30 15:41:32 +08:00
Amanda Butler eae570ef08 Edit EMAC.h
Change Latin abbreviation to English phrase and fix capitalization of EMAC while I'm at it.
2018-10-29 15:14:07 -05:00
kegilbert 4bc7bf3b1e Fix typos in Features/Netsocket 2018-10-29 15:14:07 -05:00
Bence Kaposzta 9e6b1246a4 This commit adds EMAC driver for CM3DS that uses an SMSC LAN 9220
Ethernet controller. To ensure proper operation, some methods
needed to be updated in the SMSC9220's native driver as well.
It passes all related Greentea tests, however when supervised by
the Python environment it tends to fail because of Timeout.

The current timeout is set to 1200s that seems to be a little bit short
to finish all test cases, the timeout happens towards the end of the
last test case.

Change-Id: I914608c34828b493a80e133cd132537a297bfc84
Signed-off-by: Bence Kaposzta <bence.kaposzta@arm.com>
2018-10-29 15:30:47 +01:00
Cruz Monrreal 9403a2f16c
Merge pull request #8499 from michalpasztamobica/master
Socket closing improvements and tests adjustments
2018-10-29 08:47:25 -05:00
Cruz Monrreal II e8728148ac Merge branch 'docs-fix-networkiface' of ssh://github.com/paul-szczepanek-arm/mbed-os into rollup 2018-10-26 11:48:45 -05:00
Mel W 2bab24ffc5
Commas 2018-10-26 17:32:47 +03:00
Mel W ae75dfcf92
Capitalization, formatting of true and false, punctuation. 2018-10-26 17:32:10 +03:00
Mel W b165fc0f93
Articles and capitalization 2018-10-26 16:18:57 +03:00
Mel W 25b1625fff
Sentence restructuring, punctuation 2018-10-26 15:42:26 +03:00
Michal Paszta 0da0f16d60 TCPSocket accept refactored to close cleanly and icetea test added
Private constructor called in TCPSocket accept, when creating a new Socket.
Close() method calls moved "up" to InternetSocket.
InternetSocket::close() returns proper error code when no socket available.
Add TcpSocket::accept icetea tests.
Deleting sockets moved to teardown.
2018-10-26 12:02:25 +03:00
Cruz Monrreal II e021ec4d08 Merge branch 'docs-fix-internetsocket' of ssh://github.com/paul-szczepanek-arm/mbed-os into rollup 2018-10-25 21:49:41 -05:00
Cruz Monrreal II 05a69de5b4 Merge branch 'docs-fix-udpsocket' of ssh://github.com/paul-szczepanek-arm/mbed-os into rollup 2018-10-25 21:49:36 -05:00
Amanda Butler 6db0f67690
Edit InternetSocket.h
Edit file, mostly for branding, commas and U.S. spelling.
2018-10-25 14:49:48 -05:00
Amanda Butler c02f2164d5
Edit UDPSocket.h
Edit file, mostly for minor spelling to existing text.
2018-10-25 11:02:48 -05:00
paul-szczepanek-arm 446ab5d592 review fixes 2018-10-25 16:28:19 +01:00
Paul Szczepanek 85b9b23711
capitalisation 2018-10-25 11:30:59 +01:00
Paul Szczepanek 5241c3b38d
Update WiFiInterface.h 2018-10-25 11:24:11 +01:00
Paul Szczepanek de261a4673
Update CellularBase.h 2018-10-25 11:22:13 +01:00
paul-szczepanek-arm 4f2645b3fc incorrect doc was copy pasted
replaced with copydoc instead
2018-10-24 20:57:25 +01:00
paul-szczepanek-arm 3929f5630b missing doxy 2018-10-24 20:54:08 +01:00
paul-szczepanek-arm e31337dab7 remove redundancy and maintainance overhead 2018-10-24 20:49:28 +01:00
paul-szczepanek-arm 5837e3771e return codes 2018-10-24 20:35:53 +01:00
paul-szczepanek-arm 6cdda58cec doxygen fixes 2018-10-24 20:24:33 +01:00
paul-szczepanek-arm 8a7d96c75f doxy cleanup 2018-10-24 17:45:52 +01:00
paul-szczepanek-arm fd0612b763 update internetsocket docs 2018-10-24 16:50:35 +01:00
Cruz Monrreal b18c819837
Merge pull request #8519 from cmonr/rollup
Rollup PR - UK Docathon pt1
2018-10-24 09:32:46 -05:00
Martin Kojtal 7cd1478147
Merge pull request #8003 from Taiki-San/patch-2
Leverage the simplification of the IPv6 parsing primitive
2018-10-24 14:13:16 +01:00
Amanda Butler 0a82253cf5
Add comma to SocketAddress.h
Add comma to existing text.
2018-10-23 11:27:25 -05:00
Conrad Braam e919511d98 Explain default port number, and construction 2018-10-23 15:01:28 +01:00
Taiki 3bc33f6c3e Use the parsing status as a way to detect if the IP string represent a valid IPv6 address 2018-10-23 11:25:52 +02:00
Seppo Takalo c7643ea9c8 Flag certificate verification functions with MBEDTLS_X509_CRT_PARSE_C.
If Mbed TLS support for X509 is not compiled in, this class would
not compile anymore. However, there might be other uses for it, even
if certificates are not used. Therefore add flagging for X509 only
on specific functions.
2018-10-19 12:32:12 +03:00
Cruz Monrreal fc41c3d8e3
Merge pull request #8311 from SeppoTakalo/secure_socket
Implement TLSSocket
2018-10-17 12:24:09 -05:00
Seppo Takalo 5d1cd2552b Check that MBEDTLS_ERROR_C is defined before using mbedtls_strerror().
If MBEDTLS_ERROR_C is not defined, that strerror function does not
exist, or is just dummy definition if MBEDTLS_ERROR_STRERROR_DUMMY is
defined.
2018-10-17 11:45:31 +03:00
Deepika f58e103758 Netsocket: Add required header file and namespace element instead add all 2018-10-15 10:57:21 -05:00
Cruz Monrreal 00f8ecfb7a
Merge pull request #8336 from sentinelt/socket-closed
Fix hard-fault when socket created using accept() is closed
2018-10-15 10:22:17 -05:00
Seppo Takalo 7f39bb4453 Implement TLSSocket
Provide TLSSocket implementation. This implementation allows TLSSocket
to wrap around any existing socket. Currently only TLS supported. DTLS
not yet implemented.

Design document also provided with the implementation.

Documentation submitted to Mbed OS handbook.
2018-10-15 13:31:36 +03:00
Kevin Bracey 1ef213ec89 Clean up Thread deprecation warnings
Static Thread methods and signal methods have been deprecated. Remove
all references in the main code, and most of the tests. Some tests of
the deprecated APIs themselves remain.
2018-10-12 14:57:13 +03:00
Cruz Monrreal 2a91a91313
Merge pull request #8219 from jeromecoutant/PR_EMAC_SLEEP
STM32 EMAC : lock deep sleep
2018-10-11 10:10:32 -05:00
Cruz Monrreal 21b4ecad1a
Merge pull request #8316 from michalpasztamobica/master
unittests: Add tests for netsocket classes
2018-10-10 10:11:12 -05:00
Cruz Monrreal b2f00fb416
Merge pull request #8179 from kivaisan/add_default_cellular_sim_pin
Add missing SIM PIN configuration item
2018-10-08 10:12:41 -05:00
Michal Paszta 5b4634a1fe unittests: Added tests for netsocket classes
New classes covered with unit tests: SocketAddress, EthernetInterface, EMACInterface, WiFiAccessPoint.
Also added missing namespace in front of mbed::Callback usages.
EMACInterface is covered by the EthernetInterface unit tests.
2018-10-08 14:21:01 +02:00
Sławek Piotrowski 9b89ad2fa9 Fix hard-fault when socket created using accept() is closed
When socket created  using accept() is closed by calling the close()
method, "delete this" is executed which triggers the destructor call
on TCPSocket which in turn calls close() once again. Because _stack
is already 0 this results in a hard-fault.

Add a check that skips the rest of the close() method is the _stack
is already 0.
2018-10-06 21:15:29 +02:00
jeromecoutant 79bef6e2c8 STM32 EMAC : lock deep sleep 2018-09-21 15:14:38 +02:00
Steven 9a0fc98bdc Hotfix for PR #7778
TB_SENSE_12 would have been left behind by the changes in #7778. This commit implements the changes in mbed to allow targets to provide a default network interface for Silicon Labs targets.
2018-09-19 12:30:21 +02:00
Kimmo Vaisanen 95114fe8ed Add missing SIM PIN configuration item 2018-09-19 12:24:46 +03:00
Cruz Monrreal c356f1f9d4
Merge pull request #7883 from juhaylinen/fix-netsocket-warning
netsocket: Fix compiler warning
2018-09-18 11:42:21 -05:00
Cruz Monrreal 8475477ca7
Merge pull request #7992 from SeppoTakalo/fix-tcpsocket-accept
Fix TCPSocket::accept()
2018-09-14 11:49:06 -05:00
Juha Ylinen 4ea49f5580 Fix TCPServer::accept()
Missing lock caused Mutex unlock failure
2018-09-07 10:46:25 +03:00
Cruz Monrreal 06106297a4
Merge pull request #6293 from Taiki-San/patch-1
Reduce .text footprint of the network stack
2018-09-05 10:16:04 -05:00
Seppo Takalo 451852d19f Fix TCPSocket::accept()
This one was actually always return NULL, and unsted because we only
have tests with one device.

We will add the testcase for this soon
2018-09-05 12:00:59 +03:00
Martin Kojtal 44925d8527
Merge pull request #7579 from u-blox/ublox_odin_driver_os_5_v3.0.0_rc1
Updated ODIN drivers to v3.0.0 RC1
2018-09-03 09:25:32 +02:00
Seppo Takalo 1ef04796ee On KW24D and NCS36510 default to smaller Nanostack configuration
These boards do not fit the full Nanostack, so we need to select
6LoWPAN-ND as a default.
2018-09-01 12:37:46 -05:00
Ammad Rehmat b934632653 Access Point API 2018-08-31 11:33:30 +05:00
Taiki 758f6d2e83 Switch the IPv4 parser to the one recently introduced in libservice. Return a bool value on wether parsing of the IPv4 address string was successful 2018-08-28 14:00:54 +02:00
Seppo Takalo c5064a8e33 Fix *MeshInterface::get_default_instance()
This was returning object, instead of pointer.
Also it was trying to call lowpan(reference), instad of lowpan(ptr).
2018-08-28 11:02:58 +03:00
Juha Ylinen b8b39ac3ab netsocket: Fix compiler warning
[Warning] InternetSocket.h@237,10: 'InternetSocket::_factory_allocated' will be initialized after [-Wreorder]
[Warning] InternetSocket.h@236,23:   'volatile unsigned int InternetSocket::_pending' [-Wreorder]
[Warning] InternetSocket.cpp@22,1:   when initialized here [-Wreorder]
2018-08-24 13:26:53 +03:00
Steven 1cfddb73b7 Fix stack size for LwIP on EFM32GG11
Typo in the config file made the LwIP stack way too small on EFM32GG11 STK3701 target. Additionally, the EMAC thread stack was slightly too small when debug printing is on.
2018-08-19 14:39:58 +02:00
Martin Kojtal 88a7416941 nsapi: astyle block fix 2018-08-06 09:59:08 +01:00
Martin Kojtal b46aa6108d netsocket: astyle fix 2018-08-03 13:34:33 +01:00
Cruz Monrreal 63f62165d8
Merge pull request #7565 from OpenNuvoton/nuc472_emac_rst
Nuvoton: Fix NUC472 SD-Host HW IP reset definition
2018-07-31 11:44:01 -05:00
cyliangtw 2fcbcf1789
Initialized return value of numaker_emac link-out 2018-07-31 12:01:43 +08:00
Seppo Takalo 96a90c2f2f Allow legacy TCPServer::accept() to override inherited Socket::accept() 2018-07-24 18:06:04 +03:00
cyliangtw 7ea02d95a3 Add error handling for getting null tx buffer 2018-07-20 18:23:54 +08:00
Steven Cooreman da377c6ed3 Add EFM32GG11 Ethernet driver 2018-07-11 18:13:04 +02:00
Cruz Monrreal 93233c4f5d
Merge pull request #7364 from 0xc0170/fix_storage_rtos
Fix storage rtos types - remove including internal header file
2018-07-05 14:29:46 -05:00
Tero Jääskö 2e89fa22a5 netsocket: dns: make dns-cache-size:0 remove whole DNS cache code
Setting ""nsapi.dns-cache-size": 0" still left some of the DNS
caching code in. Add crude #if to remove all of it.
This allows one to save 429 bytes of flash and 48 bytes of RAM on
ARMC5 builds.
2018-06-29 18:17:19 +03:00
Martin Kojtal 4d8baa7451 emac targets: fix thread cb type 2018-06-29 08:35:20 +01:00
Cruz Monrreal cb000ceeab
Merge pull request #7336 from SeppoTakalo/fix_udp_filtering
Fix connected UDPSocket filtering
2018-06-28 10:06:52 -05:00
Martin Kojtal 82b490b0cf kinetis: fix rtos storage type for thread 2018-06-28 15:11:00 +01:00
jeromecoutant 6391b7f2fa TARGET_STM_EMAC astyle 2018-06-27 15:00:51 +02:00
Seppo Takalo f2c0c4e248 Fix connected UDPSocket filtering
Was dropping all packets from connected peer
2018-06-26 17:01:19 +03:00
Seppo Takalo 1ca9ccda73 Filter incoming UDP packets based on connected peer address. 2018-06-20 12:38:07 +03:00
Seppo Takalo e7cb4752fa Fix small issues from the review 2018-06-20 12:38:07 +03:00
Seppo Takalo 2b60e42756 Close Doxygen group at the end of file 2018-06-20 12:38:07 +03:00
Seppo Takalo 96ef8e345d Move string allocation to a point where get_ip_address() is called
This saves RAM/stack on typical socket usage where human readable
format is not exchanged so often.
2018-06-20 12:38:07 +03:00
Seppo Takalo 407b2f275d Move accept() to abstract socket class and implement in TCPSocket
Deprecate TCPServer in favor of just TCPSocket::accept()
2018-06-20 12:38:07 +03:00
Seppo Takalo cdbe43c0d5 Refactor Sockets by moving functions up into common base.
* Move IP Socket stuff to InternetSocket class which is inherited by TCP/UDP
* Implement sendto() and recvfrom() on TCP socket
* Implement connect() call on UDP
* Implement send() and recv() calls on UDP socket
2018-06-20 12:38:06 +03:00