diff --git a/libraries/ArduinoOTA/ArduinoOTA.cpp b/libraries/ArduinoOTA/ArduinoOTA.cpp index 9b55733bb..39ce83663 100644 --- a/libraries/ArduinoOTA/ArduinoOTA.cpp +++ b/libraries/ArduinoOTA/ArduinoOTA.cpp @@ -22,15 +22,16 @@ extern "C" { ArduinoOTAClass::ArduinoOTAClass() : _port(0) +, _udp_ota(0) +, _initialized(false) , _state(OTA_IDLE) , _size(0) , _cmd(0) , _ota_port(0) , _start_callback(NULL) , _end_callback(NULL) -, _progress_callback(NULL) , _error_callback(NULL) -, _udp_ota(0) +, _progress_callback(NULL) { } diff --git a/libraries/ESP8266SSDP/ESP8266SSDP.cpp b/libraries/ESP8266SSDP/ESP8266SSDP.cpp index 24997eee8..ee1a78530 100644 --- a/libraries/ESP8266SSDP/ESP8266SSDP.cpp +++ b/libraries/ESP8266SSDP/ESP8266SSDP.cpp @@ -126,9 +126,13 @@ struct SSDPTimer { SSDPClass::SSDPClass() : _server(0), +_timer(new SSDPTimer), _port(80), +_respondToPort(0), _pending(false), -_timer(new SSDPTimer) +_delay(0), +_process_time(0), +_notify_time(0) { _uuid[0] = '\0'; _modelNumber[0] = '\0'; @@ -300,6 +304,8 @@ void SSDPClass::_update(){ case VALUE: if(cr == 2){ switch(header){ + case START: + break; case MAN: #ifdef DEBUG_SSDP DEBUG_SSDP.printf("MAN: %s\n", (char *)buffer); diff --git a/libraries/ESP8266SSDP/ESP8266SSDP.h b/libraries/ESP8266SSDP/ESP8266SSDP.h index 8f6e280f3..d931a8df4 100644 --- a/libraries/ESP8266SSDP/ESP8266SSDP.h +++ b/libraries/ESP8266SSDP/ESP8266SSDP.h @@ -92,6 +92,7 @@ class SSDPClass{ UdpContext* _server; SSDPTimer* _timer; + uint16_t _port; IPAddress _respondToAddr; uint16_t _respondToPort; @@ -101,7 +102,6 @@ class SSDPClass{ unsigned long _process_time; unsigned long _notify_time; - uint16_t _port; char _schemaURL[SSDP_SCHEMA_URL_SIZE]; char _uuid[SSDP_UUID_SIZE]; char _friendlyName[SSDP_FRIENDLY_NAME_SIZE]; diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp index de128d48e..fbc23016f 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp @@ -33,6 +33,7 @@ ESP8266WebServer::ESP8266WebServer(IPAddress addr, int port) : _server(addr, port) +, _currentMethod(HTTP_ANY) , _currentHandler(0) , _firstHandler(0) , _lastHandler(0) @@ -40,11 +41,13 @@ ESP8266WebServer::ESP8266WebServer(IPAddress addr, int port) , _currentArgs(0) , _headerKeysCount(0) , _currentHeaders(0) +, _contentLength(0) { } ESP8266WebServer::ESP8266WebServer(int port) : _server(port) +, _currentMethod(HTTP_ANY) , _currentHandler(0) , _firstHandler(0) , _lastHandler(0) @@ -52,6 +55,7 @@ ESP8266WebServer::ESP8266WebServer(int port) , _currentArgs(0) , _headerKeysCount(0) , _currentHeaders(0) +, _contentLength(0) { } diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.h b/libraries/ESP8266WebServer/src/ESP8266WebServer.h index d1b902236..35287f307 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.h @@ -146,23 +146,23 @@ protected: HTTPMethod _currentMethod; String _currentUri; - size_t _currentArgCount; - RequestArgument* _currentArgs; - HTTPUpload _currentUpload; - - RequestArgument* _currentHeaders; - size_t _headerKeysCount; - size_t _contentLength; - String _responseHeaders; - - String _hostHeader; - RequestHandler* _currentHandler; RequestHandler* _firstHandler; RequestHandler* _lastHandler; THandlerFunction _notFoundHandler; THandlerFunction _fileUploadHandler; + int _currentArgCount; + RequestArgument* _currentArgs; + HTTPUpload _currentUpload; + + int _headerKeysCount; + RequestArgument* _currentHeaders; + size_t _contentLength; + String _responseHeaders; + + String _hostHeader; + }; diff --git a/libraries/ESP8266WebServer/src/Parsing.cpp b/libraries/ESP8266WebServer/src/Parsing.cpp index a8f587495..26304946b 100644 --- a/libraries/ESP8266WebServer/src/Parsing.cpp +++ b/libraries/ESP8266WebServer/src/Parsing.cpp @@ -203,7 +203,7 @@ bool ESP8266WebServer::_parseRequest(WiFiClient& client) { } bool ESP8266WebServer::_collectHeader(const char* headerName, const char* headerValue) { - for (size_t i = 0; i < _headerKeysCount; i++) { + for (int i = 0; i < _headerKeysCount; i++) { if (_currentHeaders[i].key==headerName) { _currentHeaders[i].value=headerValue; return true; @@ -226,7 +226,7 @@ void ESP8266WebServer::_parseArguments(String data) { } _currentArgCount = 1; - for (int i = 0; i < data.length(); ) { + for (int i = 0; i < (int)data.length(); ) { i = data.indexOf('&', i); if (i == -1) break; diff --git a/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h b/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h index 4ff6a3a42..ae94b259f 100644 --- a/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h +++ b/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h @@ -44,10 +44,10 @@ public: } protected: - String _uri; - HTTPMethod _method; ESP8266WebServer::THandlerFunction _fn; ESP8266WebServer::THandlerFunction _ufn; + String _uri; + HTTPMethod _method; }; class StaticRequestHandler : public RequestHandler { @@ -67,7 +67,7 @@ public: if (requestMethod != HTTP_GET) return false; - if (_isFile && requestUri != _uri || !requestUri.startsWith(_uri)) + if ((_isFile && requestUri != _uri) || !requestUri.startsWith(_uri)) return false; return true; diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp index ef737c6d4..6d4365221 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp @@ -311,7 +311,7 @@ bool WiFiClientSecure::verify(const char* fp, const char* url) { uint8_t sha1[20]; int len = strlen(fp); int pos = 0; - for (int i = 0; i < sizeof(sha1); ++i) { + for (size_t i = 0; i < sizeof(sha1); ++i) { while (pos < len && fp[pos] == ' ') { ++pos; } diff --git a/libraries/ESP8266WiFi/src/include/ClientContext.h b/libraries/ESP8266WiFi/src/include/ClientContext.h index 283fa1057..2c26de832 100644 --- a/libraries/ESP8266WiFi/src/include/ClientContext.h +++ b/libraries/ESP8266WiFi/src/include/ClientContext.h @@ -309,9 +309,6 @@ class ClientContext { } private: - ClientContext* _next; - int _refcnt; - tcp_pcb* _pcb; pbuf* _rx_buf; @@ -320,6 +317,9 @@ class ClientContext { discard_cb_t _discard_cb; void* _discard_cb_arg; + int _refcnt; + ClientContext* _next; + size_t _size_sent; bool _send_waiting; }; diff --git a/libraries/ESP8266WiFi/src/include/UdpContext.h b/libraries/ESP8266WiFi/src/include/UdpContext.h index f7cebc86c..d9347fd34 100644 --- a/libraries/ESP8266WiFi/src/include/UdpContext.h +++ b/libraries/ESP8266WiFi/src/include/UdpContext.h @@ -365,22 +365,17 @@ private: } private: - int _refcnt; udp_pcb* _pcb; - - ip_addr_t _dest_addr; - uint16_t _dest_port; - - uint16_t _multicast_ttl; - - bool _first_buf_taken; pbuf* _rx_buf; + bool _first_buf_taken; size_t _rx_buf_offset; - + int _refcnt; pbuf* _tx_buf_head; pbuf* _tx_buf_cur; size_t _tx_buf_offset; - + uint16_t _multicast_ttl; + uint16_t _dest_port; + ip_addr_t _dest_addr; rxhandler_t _on_rx; }; diff --git a/libraries/ESP8266mDNS/ESP8266mDNS.cpp b/libraries/ESP8266mDNS/ESP8266mDNS.cpp index 92b041098..e11bae5b0 100644 --- a/libraries/ESP8266mDNS/ESP8266mDNS.cpp +++ b/libraries/ESP8266mDNS/ESP8266mDNS.cpp @@ -97,7 +97,7 @@ bool MDNSResponder::begin(const char* domain){ } // Copy in domain characters as lowercase - for (int i = 0; i < n; ++i) + for (size_t i = 0; i < n; ++i) _hostName[i] = tolower(domain[i]); _hostName[n] = '\0'; @@ -190,7 +190,7 @@ void MDNSResponder::_parsePacket(){ char serviceName[32]; uint8_t serviceNameLen; - uint16_t servicePort; + uint16_t servicePort = 0; char protoName[32]; uint8_t protoNameLen; @@ -367,7 +367,7 @@ void MDNSResponder::_parsePacket(){ else if(questions[i] == MDNS_TYPE_PTR) responseMask |= 0xF; } - return _reply(responseMask, (serviceName), (protoName), servicePort); + return _reply(responseMask, serviceName, protoName, servicePort); } void MDNSResponder::enableArduino(uint16_t port, bool auth){ @@ -461,12 +461,12 @@ void MDNSResponder::_reply(uint8_t replyMask, char * service, char *proto, uint1 char boardName[64]; const char *boardExtra = "board="; - os_sprintf(boardName, "%s%s\0", boardExtra, ARDUINO_BOARD); + os_sprintf(boardName, "%s%s", boardExtra, ARDUINO_BOARD); uint8_t boardNameLen = os_strlen(boardName); char authUpload[16]; const char *authUploadExtra = "auth_upload="; - os_sprintf(authUpload, "%s%s\0", authUploadExtra, reinterpret_cast((_arduinoAuth)?"yes":"no")); + os_sprintf(authUpload, "%s%s", authUploadExtra, reinterpret_cast((_arduinoAuth)?"yes":"no")); uint8_t authUploadLen = os_strlen(authUpload); uint16_t textDataLen = (1 + boardNameLen) + (1 + tcpCheckExtraLen) + (1 + sshUploadExtraLen) + (1 + authUploadLen);