mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2025-08-04 21:44:38 +08:00
mdns: fix compiler errors and coding style
This commit is contained in:
parent
b4be0d8808
commit
8e86555f93
@ -36,6 +36,15 @@
|
||||
#include "lwipopts_test.h"
|
||||
#else /* LWIP_OPTTEST_FILE */
|
||||
|
||||
//#define LWIP_HAVE_MBEDTLS
|
||||
#define ALTCP_MBEDTLS_USE_SESSION_TICKETS 1
|
||||
#define ALTCP_MBEDTLS_USE_SESSION_CACHE 1
|
||||
|
||||
/*
|
||||
* struct lwip_sock *tryget_socket_unconn_nouse(int fd);
|
||||
*/
|
||||
#define LWIP_SOCKET_EXTERNAL_ALLOC 0//1
|
||||
|
||||
#define LWIP_IPV4 1
|
||||
#define LWIP_IPV6 1
|
||||
|
||||
@ -47,7 +56,7 @@
|
||||
#define LWIP_IGMP LWIP_IPV4
|
||||
#define LWIP_ICMP LWIP_IPV4
|
||||
|
||||
#define LWIP_SNMP LWIP_UDP
|
||||
#define LWIP_SNMP 0//LWIP_UDP
|
||||
#define MIB2_STATS LWIP_SNMP
|
||||
#ifdef LWIP_HAVE_MBEDTLS
|
||||
#define LWIP_SNMP_V3 (LWIP_SNMP)
|
||||
|
@ -1800,6 +1800,8 @@ mdns_handle_response(struct mdns_packet *pkt, struct netif *netif)
|
||||
req = mdns_lookup_request(&ans.info);
|
||||
}
|
||||
if (req && req->result_fn) {
|
||||
u16_t offset;
|
||||
struct pbuf *p;
|
||||
int flags = (first ? MDNS_SEARCH_RESULT_FIRST : 0) |
|
||||
(!total_answers_left ? MDNS_SEARCH_RESULT_LAST : 0);
|
||||
if (req->only_ptr) {
|
||||
@ -1807,10 +1809,8 @@ mdns_handle_response(struct mdns_packet *pkt, struct netif *netif)
|
||||
continue; /* Ignore non matching answer type */
|
||||
flags = MDNS_SEARCH_RESULT_FIRST | MDNS_SEARCH_RESULT_LAST;
|
||||
}
|
||||
u16_t offset;
|
||||
struct pbuf *p = pbuf_skip(pkt->pbuf, ans.rd_offset, &offset);
|
||||
if (ans.info.type == DNS_RRTYPE_PTR || ans.info.type == DNS_RRTYPE_SRV)
|
||||
{
|
||||
p = pbuf_skip(pkt->pbuf, ans.rd_offset, &offset);
|
||||
if (ans.info.type == DNS_RRTYPE_PTR || ans.info.type == DNS_RRTYPE_SRV) {
|
||||
/* Those RR types have compressed domain name. Must uncompress here,
|
||||
since cannot be done without pbuf. */
|
||||
struct {
|
||||
@ -1825,21 +1825,16 @@ mdns_handle_response(struct mdns_packet *pkt, struct netif *netif)
|
||||
memcpy(&data.dom, (const char *)p->payload + offset + off, data.dom.length);
|
||||
}
|
||||
/* Adjust len/off according RR type */
|
||||
if (ans.info.type == DNS_RRTYPE_SRV)
|
||||
{
|
||||
if (ans.info.type == DNS_RRTYPE_SRV) {
|
||||
memcpy(&data, (const char *)p->payload + offset, 6);
|
||||
len = data.dom.length + 6;
|
||||
off = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
len = data.dom.length;
|
||||
off = 6;
|
||||
}
|
||||
req->result_fn(&ans, (const char *)&data + off, len, flags, req->arg);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
/* Direct call result_fn with varpart pointing in pbuf payload */
|
||||
req->result_fn(&ans, (const char *)p->payload + offset, ans.rd_length, flags, req->arg);
|
||||
}
|
||||
@ -2513,11 +2508,13 @@ mdns_resp_add_service_txtitem(struct mdns_service *service, const char *txt, u8_
|
||||
void
|
||||
mdns_search_stop(s8_t request_id)
|
||||
{
|
||||
struct mdns_request *req;
|
||||
LWIP_ASSERT("mdns_search_stop: bad request_id", (request_id >= 0) && (request_id < MDNS_MAX_REQUESTS));
|
||||
struct mdns_request *req = &mdns_requests[request_id];
|
||||
if (req && req->result_fn)
|
||||
req = &mdns_requests[request_id];
|
||||
if (req && req->result_fn) {
|
||||
req->result_fn = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup mdns
|
||||
@ -2538,11 +2535,11 @@ mdns_search_service(const char *name, const char *service, enum mdns_sd_proto pr
|
||||
struct netif *netif, search_result_fn_t result_fn, void *arg,
|
||||
s8_t *request_id)
|
||||
{
|
||||
int i;
|
||||
s8_t slot = -1;
|
||||
s8_t i, slot = -1;
|
||||
struct mdns_request *req;
|
||||
if (name)
|
||||
if (name) {
|
||||
LWIP_ERROR("mdns_search_service: Name too long", (strlen(name) <= MDNS_LABEL_MAXLEN), return ERR_VAL);
|
||||
}
|
||||
LWIP_ERROR("mdns_search_service: Service too long", (strlen(service) < MDNS_DOMAIN_MAXLEN), return ERR_VAL);
|
||||
LWIP_ERROR("mdns_search_service: Bad reqid pointer", request_id, return ERR_VAL);
|
||||
LWIP_ERROR("mdns_search_service: Bad proto (need TCP or UDP)", (proto == DNSSD_PROTO_TCP || proto == DNSSD_PROTO_UDP), return ERR_VAL);
|
||||
@ -2552,9 +2549,10 @@ mdns_search_service(const char *name, const char *service, enum mdns_sd_proto pr
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (slot < 0)
|
||||
if (slot < 0) {
|
||||
/* Don't assert if no more space in mdns_request table. Just return an error. */
|
||||
return ERR_MEM;
|
||||
}
|
||||
|
||||
req = &mdns_requests[slot];
|
||||
memset(req, 0, sizeof(struct mdns_request));
|
||||
@ -2562,11 +2560,13 @@ mdns_search_service(const char *name, const char *service, enum mdns_sd_proto pr
|
||||
req->arg = arg;
|
||||
req->proto = (u16_t)proto;
|
||||
req->qtype = DNS_RRTYPE_PTR;
|
||||
if (proto == DNSSD_PROTO_UDP && strcmp(service, "_services._dns-sd") == 0)
|
||||
if (proto == DNSSD_PROTO_UDP && strcmp(service, "_services._dns-sd") == 0) {
|
||||
req->only_ptr = 1; /* don't check other answers */
|
||||
}
|
||||
mdns_domain_add_string(&req->service, service);
|
||||
if (name)
|
||||
if (name) {
|
||||
MEMCPY(&req->name, name, LWIP_MIN(MDNS_LABEL_MAXLEN, strlen(name)));
|
||||
}
|
||||
/* save request id (slot) in pointer provided by caller */
|
||||
*request_id = slot;
|
||||
/* now prepare a MDNS request and send it (on specified interface) */
|
||||
|
@ -145,7 +145,7 @@ mdns_domain_add_label_pbuf(struct mdns_domain *domain, const struct pbuf *p, u16
|
||||
err_t
|
||||
mdns_domain_add_domain(struct mdns_domain *domain, struct mdns_domain *source)
|
||||
{
|
||||
u8_t len = source->length;
|
||||
u16_t len = source->length;
|
||||
if (len > 0 && (1 + len + domain->length >= MDNS_DOMAIN_MAXLEN)) {
|
||||
return ERR_VAL;
|
||||
}
|
||||
@ -157,10 +157,9 @@ mdns_domain_add_domain(struct mdns_domain *domain, struct mdns_domain *source)
|
||||
/* Copy partial domain */
|
||||
MEMCPY(&domain->name[domain->length], source->name, len);
|
||||
domain->length += len;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
/* Add zero marker */
|
||||
domain->name[domain->length] = len;
|
||||
domain->name[domain->length] = 0;
|
||||
domain->length++;
|
||||
}
|
||||
return ERR_OK;
|
||||
@ -184,15 +183,15 @@ mdns_domain_add_string(struct mdns_domain *domain, const char *source)
|
||||
len = start++;
|
||||
*len = 0;
|
||||
source++;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*start++ = *source++;
|
||||
*len = *len + 1;
|
||||
}
|
||||
}
|
||||
if (start == end)
|
||||
if (start == end) {
|
||||
return ERR_VAL;
|
||||
domain->length = start - &domain->name[0];
|
||||
}
|
||||
domain->length = (u16_t)(start - &domain->name[0]);
|
||||
return ERR_OK;
|
||||
}
|
||||
|
||||
|
@ -62,8 +62,7 @@ enum mdns_sd_proto {
|
||||
struct mdns_host;
|
||||
struct mdns_service;
|
||||
|
||||
/* Domain structs - also visible for unit tests */
|
||||
|
||||
/* Domain structs */
|
||||
struct mdns_domain {
|
||||
/* Encoded domain name */
|
||||
u8_t name[MDNS_DOMAIN_MAXLEN];
|
||||
|
Loading…
x
Reference in New Issue
Block a user