1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-10 14:42:08 +03:00
Commit Graph

1014 Commits

Author SHA1 Message Date
ca25068733 initialize io_ctx to nullptr 2018-01-12 18:39:10 +08:00
02259a412c fixed support for psk in WiFiSTA, added support for psk to WiFiMulti, minor code cleanups (#4076) 2018-01-10 23:15:24 -03:00
332e059724 ESP8266HTTPClient: add digest authentication example (#4112) 2018-01-10 16:27:25 +08:00
bd1c7ce1dc Add SSL enabled WiFiServer, Updater, WebServer
Adds SSL server mode for WiFiServerSecure, for plain SSL connections,
ESP8266WebServerSecure, for HTTPS web serving, and SecureHTTPSUpdater for
encrypted OTA updates.

Example code is provided for all new options, as well as a BASH script for
generating their own, self-signed certificates.

Both ESP8266WebServerSecure and SecureHTTPSUpdater are important for secure
password-based authentication.  HTTP Basic Authentication, the only supported
model presently, sends the username and password in *cleartext* and therefore
should *never* be used in any un-SSL encrypted channel unless you don't mind
sharing your login and password with anyone else on the internet.  Even if the
ESP8266 is not safety critical, this cleartext broadcast could expose you should
you reuse this password elsewhere on your network or the internet.
2018-01-10 11:56:32 +08:00
8765da258b Added WifiServer::begin(uint16_t port) method, listening port can be changed at runtime (#4123) 2018-01-09 22:10:43 -03:00
89837fcea5 lib/Ticker: add bool active() (#2722)
* lib/Ticker: add bool active()

Makes it easier to self detach, and check if a timer is still operating.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>

* Code cleanup Ticker.cpp
2018-01-05 01:04:53 -03:00
9cfbbc7ad3 keepalive api (default 2h,75s,9 not enabled) (#3937) 2018-01-05 00:17:37 -03:00
fb7c519856 small fix to stop crash on unrecognized packets (#4092) 2018-01-04 20:10:46 -03:00
a19ff3517e Update ArduinoOTA.cpp to solve #4086 (#4090)
* Update ArduinoOTA.cpp

* Update ArduinoOTA.cpp
2018-01-04 18:48:56 -03:00
d9ef6b5f18 ArduinoOTA: don't crash on unrecognized packets (#4086)
* ArduinoOTA: handle end of packet in readStringUntil

fixes #3912

* ArduinoOTA: fix buffer overflow in parseInt

fixes #3912
2018-01-04 00:14:32 -03:00
b0bb1e144f Fix issue with UdpContext.h comment (#4068) 2018-01-02 10:16:06 -03:00
b4653f4d44 Fix URL parameter decoding in web server (#3313)
* Make HTTP server test data easier to examine

* Add HTTP server parameter tests containing & and =

* Fix URL parameter decoding in web server

The parameters string needs to be first split on & and =, and URL
decoding on parts done after that. Otherwise URL encoded & and = within
parameter names and values cause incorrect splitting.
2017-12-30 14:24:37 -03:00
4ab89d07fc ESP8266WiFiMulti: Add count function (#3073)
Return total number of AP added

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2017-12-30 13:16:47 -03:00
a2d16f38d4 Extern C blocks (#1352) (#4044)
* Add extern C guard blocks to SDK header files #1352

* fixed some extern C blocks in core and libraries
2017-12-30 02:03:26 -03:00
1cd4a00cff Remove compiler warnings (#4043) 2017-12-29 13:14:56 -03:00
a71118caeb Improve error messages (#2800)
I was having trouble understanding what some of the serial output meant so I changed it to the best of my ability
2017-12-29 11:49:29 -03:00
28803540a2 Added String hostname support to WiFiClient and WiFiClientSecure (#3349)
* Added String hostname support to WiFiClient and WiFiClientSecure

* Typo in WiFi
2017-12-29 01:58:36 -03:00
1540369c40 Set architecture=esp8266 for bundled SD and Ethernet libraries (#4035)
Fixes https://github.com/esp8266/Arduino/issues/3868.
2017-12-28 12:21:55 -03:00
7dd50360b9 Fix bug in WiFiClientBasic.ino (#3902) 2017-12-28 09:47:10 -03:00
3838e58f62 WiFiClientSecure: don't use the broken max_fragment_length extension (#4033)
axTLS does not correctly implement max_fragment_length extension. This
causes servers which understand this extension (currently GnuTLS- and
WolfSSL-based) to reject the client hello.

Until this is fixed in axTLS, remove the call to enable this extension
from WiFiClientSecure.

Fixes https://github.com/esp8266/Arduino/issues/3932.
2017-12-28 01:45:49 -03:00
237f7d9b18 ESP8266HTTPClient: allow changing connection timeout using setTimeout (#4038)
Call Client::setTimeout before connection to influence connection
timeout.

Closes https://github.com/esp8266/Arduino/issues/3451.
2017-12-27 23:53:31 -03:00
7fc23c6f7a WiFiUDP: fix crash when calling destinationIP with no packet available (#4036)
Fixes https://github.com/esp8266/Arduino/issues/3989.
2017-12-27 23:15:11 -03:00
db1cfc7772 handle empty uri
http.begin("http://www.google.com") yields an empty uri and makes a broken request "GET  HTTPi/1.1"
2017-12-26 19:14:14 +01:00
4c08389961 ESP8266WebServer: send empty chunk when done sending chunked response
Fixes https://github.com/esp8266/Arduino/issues/3225
2017-12-26 19:13:19 +01:00
9b3583d227 ESP8266WebServer: add CONTENT_LENGTH_UNKNOWN keyword 2017-12-26 19:13:19 +01:00
fac64900dd Configurable WiFiClientSecure connect timeout, better default value (#4027)
* WiFiClientSecure: use _timeout setting when connecting

This timeout value can be customized via a call to setTimeout function.

Closes https://github.com/esp8266/Arduino/issues/3944.

* WiFiClientSecure: increase default connection timeout to 15 sec
2017-12-26 14:01:28 -03:00
ddda374985 WiFiClientSecure: don't trash unread decrypted data when writing (#4024)
* WiFiClientSecure: don't decrypt when testing for 'connected'

* WiFiClientSecure: don't trash unread decrypted data when writing

When application requests to write data, check if there is any unread
decrypted data left. If there is, don't write immediately, but save the
data to be written. When all decrypted data has been consumed by the
application, send out the saved outgoing data.

Fixes https://github.com/esp8266/Arduino/issues/2256.
2017-12-26 11:28:18 -03:00
9913e52107 handle tv.tv_usec in settimeofday() (#4001)
optional settimeofday()'s callback
fix #1679
2017-12-24 17:48:25 -03:00
d5bb4a99f6 in example properly wait for NTP to be set (#4000)
fix #3905
2017-12-21 16:27:58 -03:00
d0a4900e2d * extra validation breaking POST/DELETE rest calls (#4003) 2017-12-20 22:28:37 -03:00
022ea5a872 consequence of ::flush() update: fix potential double free (#3990) 2017-12-18 08:56:18 -03:00
f8b577b6c3 fix WiFiClient::availableForWrite() with no connexion (#3985)
fix #3983
2017-12-18 00:47:56 -03:00
26980b39e3 fix #1002 ::Flush() wait for empty send buffer (#3967)
* fix #1002 ::Flush() wait for empty send buffer

* WiFiClient::Flush() guarantees that the data has been delivered
option 1 of https://github.com/esp8266/Arduino/pull/3967#discussion_r156901071
10ms max wait according to loaded tcp echo/reply scheme
2017-12-17 13:16:41 -03:00
89e5a481a7 increase HTTP SEND/POST timeout to 5s (#3971) 2017-12-16 00:01:43 -03:00
58937dd489 check nullptr in ESP8266WebServer (#3958) 2017-12-14 14:38:44 +08:00
7df2858285 Fix comment misnomer (#3939) 2017-12-08 15:58:46 -03:00
31abb6e5e1 [doc] update HTTPSRequest.ino (#3925)
add limitations of https connections
2017-12-08 03:38:19 -03:00
7b09ae5f69 Bug #3795 (#3858)
* fixes #3795

* adds beacon_interval and authmode to softap_config_equal
2017-11-22 19:01:22 -03:00
c40d8a990e adds WiFi.getPersistent() (#3857) 2017-11-22 18:08:28 -03:00
9dcc580aef Add compatibility check for ::config() method with arduino arg order (#3860) 2017-11-22 10:22:11 -03:00
03f1a540ca Added constant time string comparison to avoid possible time-based attacks. (#3836)
* Added constant time strings comparison to avoid possible time-based attacks

* Fixed data types

* Fixed indentation

* Moved string comnparison in constant time to String class; modified function body to assure constant time comparison despite compiler optimizations

* Removed wrong code

* Fixed error and prevented compiler optimization to delete u1 local variable

* Avoid timing attacks on string comparison

* Minor

* changed counter names, removed else
2017-11-21 01:56:05 -03:00
cbfbc1ad63 lwip2 fixes and time/ntp management
core: +settimeofday()
core: +coredecls.h +sntp-lwip2.c
core: fix clock_gettime() with micros64()
core: honor DST in configTime()
core: internal clock is automatically started
examples: +esp8266/NTP-TZ-DST.ino
lwip2: sntp client removed
lwip2: fix crashing with WiFi.softAPConfig(ip,ip,ip)
fix #3852
2017-11-21 10:50:48 +08:00
2f09ea7117 refactor of WiFiMulti::run to reduce complexity and remove dead code (#3847) 2017-11-20 21:46:12 -03:00
422f35938a Added length and operator[] methods, added some constness, missed dirty clear (#3855)
* Added length and operator[] methods, added some constness, missed _dirty clear

* Added forgotten const
2017-11-20 16:25:52 -03:00
1b76e9bf72 Clear dirty flag in begin and reallocate only if necessary, add getConstDataPtr method (#2217) (#3849) 2017-11-20 14:39:27 -03:00
78b0f44348 fixes #3795 (#3796)
don't ignore ret when handling AP enable/disable in softAPdisconnect
2017-11-17 20:28:34 -03:00
Luc
bec6a4d302 Fix ESP8266NetBIOS to compile with lwip V2 (#3823)
* Fix to compile with lwip V2

* Add changes suggested
2017-11-17 18:02:22 -03:00
397592fce7 fixes #3793 (#3794)
wifi_softap_set_config always fails, password cannot be 0 unless authmode is open, no documentation found, trial and error.
2017-11-17 15:20:40 -03:00
Luc
d1e8fe99a2 Fix compilation with LWIP v2 (#3822) 2017-11-17 00:33:19 -03:00
9f2dcd6892 Fix ESP8266LLMNR for build with lwip2 (#3821)
* Fix for build with lwip2

* Fix for lwip2: Removed unnecessary #ifdefs

* Remove duplicate define for BIT
2017-11-16 13:41:24 -03:00