mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-08-06 07:00:05 +08:00
feat(lwip): update lwip component from idf
This commit is contained in:
@ -61,7 +61,7 @@ static void openssl_client_task(void* p)
|
||||
SSL_CTX* ctx;
|
||||
SSL* ssl;
|
||||
|
||||
int socket;
|
||||
int sockfd;
|
||||
struct sockaddr_in sock_addr;
|
||||
struct hostent* entry = NULL;
|
||||
int recv_bytes = 0;
|
||||
@ -108,9 +108,9 @@ static void openssl_client_task(void* p)
|
||||
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL);
|
||||
|
||||
printf("create socket ......");
|
||||
socket = socket(AF_INET, SOCK_STREAM, 0);
|
||||
sockfd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
|
||||
if (socket < 0) {
|
||||
if (sockfd < 0) {
|
||||
printf("failed\n");
|
||||
goto failed3;
|
||||
}
|
||||
@ -122,7 +122,7 @@ static void openssl_client_task(void* p)
|
||||
sock_addr.sin_family = AF_INET;
|
||||
sock_addr.sin_addr.s_addr = 0;
|
||||
sock_addr.sin_port = htons(OPENSSL_CLIENT_LOCAL_TCP_PORT);
|
||||
ret = bind(socket, (struct sockaddr*)&sock_addr, sizeof(sock_addr));
|
||||
ret = bind(sockfd, (struct sockaddr*)&sock_addr, sizeof(sock_addr));
|
||||
|
||||
if (ret) {
|
||||
printf("failed\n");
|
||||
@ -136,7 +136,7 @@ static void openssl_client_task(void* p)
|
||||
sock_addr.sin_family = AF_INET;
|
||||
sock_addr.sin_addr.s_addr = ((struct in_addr*)(entry->h_addr))->s_addr;
|
||||
sock_addr.sin_port = htons(CONFIG_TARGET_PORT_NUMBER);
|
||||
ret = connect(socket, (struct sockaddr*)&sock_addr, sizeof(sock_addr));
|
||||
ret = connect(sockfd, (struct sockaddr*)&sock_addr, sizeof(sock_addr));
|
||||
|
||||
if (ret) {
|
||||
printf("failed\n");
|
||||
@ -155,7 +155,7 @@ static void openssl_client_task(void* p)
|
||||
|
||||
printf("OK\n");
|
||||
|
||||
SSL_set_fd(ssl, socket);
|
||||
SSL_set_fd(ssl, sockfd);
|
||||
|
||||
printf("SSL connected to %s port %d ......", CONFIG_TARGET_DOMAIN, CONFIG_TARGET_PORT_NUMBER);
|
||||
ret = SSL_connect(ssl);
|
||||
@ -198,7 +198,7 @@ failed7:
|
||||
failed6:
|
||||
failed5:
|
||||
failed4:
|
||||
close(socket);
|
||||
close(sockfd);
|
||||
failed3:
|
||||
failed2:
|
||||
SSL_CTX_free(ctx);
|
||||
|
@ -46,7 +46,7 @@ static void openssl_task(void *p)
|
||||
SSL_CTX *ctx;
|
||||
SSL *ssl;
|
||||
|
||||
int socket;
|
||||
int sockfd;
|
||||
struct sockaddr_in sock_addr;
|
||||
struct hostent *entry = NULL;
|
||||
|
||||
@ -80,9 +80,9 @@ static void openssl_task(void *p)
|
||||
SSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, NULL);
|
||||
|
||||
ESP_LOGI(TAG, "create socket ......");
|
||||
socket = socket(AF_INET, SOCK_STREAM, 0);
|
||||
sockfd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
|
||||
if (socket < 0) {
|
||||
if (sockfd < 0) {
|
||||
ESP_LOGI(TAG, "failed");
|
||||
goto failed2;
|
||||
}
|
||||
@ -94,7 +94,7 @@ static void openssl_task(void *p)
|
||||
sock_addr.sin_family = AF_INET;
|
||||
sock_addr.sin_addr.s_addr = 0;
|
||||
sock_addr.sin_port = htons(OPENSSL_DEMO_LOCAL_TCP_PORT);
|
||||
ret = bind(socket, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
|
||||
ret = bind(sockfd, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
|
||||
|
||||
if (ret) {
|
||||
ESP_LOGI(TAG, "failed");
|
||||
@ -108,7 +108,7 @@ static void openssl_task(void *p)
|
||||
sock_addr.sin_family = AF_INET;
|
||||
sock_addr.sin_addr.s_addr = ((struct in_addr *)(entry->h_addr))->s_addr;
|
||||
sock_addr.sin_port = htons(OPENSSL_DEMO_TARGET_TCP_PORT);
|
||||
ret = connect(socket, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
|
||||
ret = connect(sockfd, (struct sockaddr *)&sock_addr, sizeof(sock_addr));
|
||||
|
||||
if (ret) {
|
||||
ESP_LOGI(TAG, "failed\n");
|
||||
@ -127,7 +127,7 @@ static void openssl_task(void *p)
|
||||
|
||||
ESP_LOGI(TAG, "OK");
|
||||
|
||||
SSL_set_fd(ssl, socket);
|
||||
SSL_set_fd(ssl, sockfd);
|
||||
|
||||
ESP_LOGI(TAG, "SSL connected to %s port %d ......", OPENSSL_DEMO_TARGET_NAME, OPENSSL_DEMO_TARGET_TCP_PORT);
|
||||
ret = SSL_connect(ssl);
|
||||
@ -169,7 +169,7 @@ failed6:
|
||||
failed5:
|
||||
failed4:
|
||||
failed3:
|
||||
close(socket);
|
||||
close(sockfd);
|
||||
failed2:
|
||||
SSL_CTX_free(ctx);
|
||||
failed1:
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "protocol_examples_common.h"
|
||||
#include "nvs.h"
|
||||
#include "nvs_flash.h"
|
||||
#include "tcpip_adapter.h"
|
||||
|
||||
#include "lwip/err.h"
|
||||
#include "lwip/sockets.h"
|
||||
@ -161,9 +162,10 @@ err:
|
||||
static int create_multicast_ipv6_socket()
|
||||
{
|
||||
struct sockaddr_in6 saddr = { 0 };
|
||||
int netif_index;
|
||||
struct in6_addr if_inaddr = { 0 };
|
||||
struct ip6_addr if_ipaddr = { 0 };
|
||||
struct ip6_mreq v6imreq = { 0 };
|
||||
struct ipv6_mreq v6imreq = { 0 };
|
||||
int sock = -1;
|
||||
int err = 0;
|
||||
|
||||
@ -201,9 +203,14 @@ static int create_multicast_ipv6_socket()
|
||||
}
|
||||
#endif
|
||||
|
||||
// search for netif index
|
||||
netif_index = tcpip_adapter_get_netif_index(TCPIP_ADAPTER_IF_STA);
|
||||
if(netif_index < 0) {
|
||||
ESP_LOGE(V6TAG, "Failed to get netif index");
|
||||
goto err;
|
||||
}
|
||||
// Assign the multicast source interface, via its IP
|
||||
err = setsockopt(sock, IPPROTO_IPV6, IPV6_MULTICAST_IF, &if_inaddr,
|
||||
sizeof(struct in6_addr));
|
||||
err = setsockopt(sock, IPPROTO_IPV6, IPV6_MULTICAST_IF, &netif_index,sizeof(uint8_t));
|
||||
if (err < 0) {
|
||||
ESP_LOGE(V6TAG, "Failed to set IPV6_MULTICAST_IF. Error %d", errno);
|
||||
goto err;
|
||||
@ -231,13 +238,6 @@ static int create_multicast_ipv6_socket()
|
||||
|
||||
// this is also a listening socket, so add it to the multicast
|
||||
// group for listening...
|
||||
|
||||
// Configure source interface
|
||||
#if USE_DEFAULT_IF
|
||||
v6imreq.imr_interface.s_addr = IPADDR_ANY;
|
||||
#else
|
||||
inet6_addr_from_ip6addr(&v6imreq.ipv6mr_interface, &if_ipaddr);
|
||||
#endif
|
||||
#ifdef CONFIG_EXAMPLE_IPV6
|
||||
// Configure multicast address to listen to
|
||||
err = inet6_aton(MULTICAST_IPV6_ADDR, &v6imreq.ipv6mr_multiaddr);
|
||||
@ -251,9 +251,10 @@ static int create_multicast_ipv6_socket()
|
||||
if (!ip6_addr_ismulticast(&multi_addr)) {
|
||||
ESP_LOGW(V6TAG, "Configured IPV6 multicast address '%s' is not a valid multicast address. This will probably not work.", MULTICAST_IPV6_ADDR);
|
||||
}
|
||||
|
||||
// Configure source interface
|
||||
v6imreq.ipv6mr_interface = (unsigned int)netif_index;
|
||||
err = setsockopt(sock, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP,
|
||||
&v6imreq, sizeof(struct ip6_mreq));
|
||||
&v6imreq, sizeof(struct ipv6_mreq));
|
||||
if (err < 0) {
|
||||
ESP_LOGE(V6TAG, "Failed to set IPV6_ADD_MEMBERSHIP. Error %d", errno);
|
||||
goto err;
|
||||
|
Reference in New Issue
Block a user