mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
commit
680c7330d3
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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];
|
||||
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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<const char*>((_arduinoAuth)?"yes":"no"));
|
||||
os_sprintf(authUpload, "%s%s", authUploadExtra, reinterpret_cast<const char*>((_arduinoAuth)?"yes":"no"));
|
||||
uint8_t authUploadLen = os_strlen(authUpload);
|
||||
|
||||
uint16_t textDataLen = (1 + boardNameLen) + (1 + tcpCheckExtraLen) + (1 + sshUploadExtraLen) + (1 + authUploadLen);
|
||||
|
Loading…
x
Reference in New Issue
Block a user