@@ -94,10 +94,10 @@ static const int MDNS_PORT = 5353;
94
94
struct MDNSService {
95
95
MDNSService* _next;
96
96
char _name[32 ];
97
- char _proto[3 ];
97
+ char _proto[4 ];
98
98
uint16_t _port;
99
- struct MDNSTxt * _txts;
100
99
uint16_t _txtLen; // length of all txts
100
+ struct MDNSTxt * _txts;
101
101
};
102
102
103
103
struct MDNSTxt {
@@ -213,30 +213,31 @@ bool MDNSResponder::_listen() {
213
213
}
214
214
215
215
void MDNSResponder::update () {
216
- if (!_conn || !_conn->next ()) {
216
+ if (!_conn || !_conn->next ())
217
217
return ;
218
- }
219
218
_parsePacket ();
220
219
}
221
220
222
221
223
222
void MDNSResponder::setInstanceName (String name){
224
- if (name.length () > 63 ) return ;
225
- else _instanceName = name;
223
+ if (name.length () > 63 )
224
+ return ;
225
+ _instanceName = name;
226
226
}
227
227
228
228
229
229
bool MDNSResponder::addServiceTxt (char *name, char *proto, char *key, char *value){
230
230
MDNSService* servicePtr;
231
231
232
232
uint8_t txtLen = os_strlen (key) + os_strlen (value) + 1 ; // Add one for equals sign
233
- txtLen+= 1 ; // accounts for length byte added when building the txt responce
233
+ txtLen += 1 ; // accounts for length byte added when building the txt responce
234
234
// Find the service
235
235
for (servicePtr = _services; servicePtr; servicePtr = servicePtr->_next ) {
236
236
// Checking Service names
237
- if (strcmp (servicePtr->_name , name) == 0 && strcmp (servicePtr->_proto , proto) == 0 ){
237
+ if (strcmp (servicePtr->_name , name) == 0 && strcmp (servicePtr->_proto , proto) == 0 ) {
238
238
// found a service name match
239
- if (servicePtr->_txtLen + txtLen > 1300 ) return false ; // max txt record size
239
+ if (servicePtr->_txtLen + txtLen > 1300 )
240
+ return false ; // max txt record size
240
241
MDNSTxt *newtxt = new MDNSTxt;
241
242
newtxt->_txt = String (key) + " =" + String (value);
242
243
newtxt->_next = 0 ;
@@ -245,10 +246,9 @@ bool MDNSResponder::addServiceTxt(char *name, char *proto, char *key, char *valu
245
246
servicePtr->_txts = newtxt;
246
247
servicePtr->_txtLen += txtLen;
247
248
return true ;
248
- }
249
- else {
249
+ } else {
250
250
MDNSTxt * txtPtr = servicePtr->_txts ;
251
- while (txtPtr->_next !=0 ) {
251
+ while (txtPtr->_next != 0 ) {
252
252
txtPtr = txtPtr->_next ;
253
253
}
254
254
// adding another TXT to service
@@ -262,8 +262,10 @@ bool MDNSResponder::addServiceTxt(char *name, char *proto, char *key, char *valu
262
262
}
263
263
264
264
void MDNSResponder::addService (char *name, char *proto, uint16_t port){
265
- if (_getServicePort (name, proto) != 0 ) return ;
266
- if (os_strlen (name) > 32 || os_strlen (proto) != 3 ) return ; // bad arguments
265
+ if (_getServicePort (name, proto) != 0 )
266
+ return ;
267
+ if (os_strlen (name) > 32 || os_strlen (proto) != 3 )
268
+ return ; // bad arguments
267
269
struct MDNSService *srv = (struct MDNSService *)(os_malloc (sizeof (struct MDNSService )));
268
270
os_strcpy (srv->_name , name);
269
271
os_strcpy (srv->_proto , proto);
@@ -272,10 +274,12 @@ void MDNSResponder::addService(char *name, char *proto, uint16_t port){
272
274
srv->_txts = 0 ;
273
275
srv->_txtLen = 0 ;
274
276
275
- if (_services == 0 ) _services = srv;
276
- else {
277
+ if (_services == 0 ) {
278
+ _services = srv;
279
+ } else {
277
280
MDNSService* servicePtr = _services;
278
- while (servicePtr->_next !=0 ) servicePtr = servicePtr->_next ;
281
+ while (servicePtr->_next != 0 )
282
+ servicePtr = servicePtr->_next ;
279
283
servicePtr->_next = srv;
280
284
}
281
285
@@ -420,10 +424,9 @@ MDNSTxt * MDNSResponder::_getServiceTxt(char *name, char *proto){
420
424
MDNSService* servicePtr;
421
425
for (servicePtr = _services; servicePtr; servicePtr = servicePtr->_next ) {
422
426
if (servicePtr->_port > 0 && strcmp (servicePtr->_name , name) == 0 && strcmp (servicePtr->_proto , proto) == 0 ){
423
- if (servicePtr->_txts == 0 ) return false ;
424
- else {
425
- return servicePtr->_txts ;
426
- }
427
+ if (servicePtr->_txts == 0 )
428
+ return false ;
429
+ return servicePtr->_txts ;
427
430
}
428
431
}
429
432
return 0 ;
@@ -433,10 +436,9 @@ uint16_t MDNSResponder::_getServiceTxtLen(char *name, char *proto){
433
436
MDNSService* servicePtr;
434
437
for (servicePtr = _services; servicePtr; servicePtr = servicePtr->_next ) {
435
438
if (servicePtr->_port > 0 && strcmp (servicePtr->_name , name) == 0 && strcmp (servicePtr->_proto , proto) == 0 ){
436
- if (servicePtr->_txts == 0 ) return false ;
437
- else {
438
- return servicePtr->_txtLen ;
439
- }
439
+ if (servicePtr->_txts == 0 )
440
+ return false ;
441
+ return servicePtr->_txtLen ;
440
442
}
441
443
}
442
444
return 0 ;
@@ -487,7 +489,8 @@ void MDNSResponder::_parsePacket(){
487
489
488
490
uint16_t packetHeader[6 ];
489
491
490
- for (i=0 ; i<6 ; i++) packetHeader[i] = _conn_read16 ();
492
+ for (i=0 ; i<6 ; i++)
493
+ packetHeader[i] = _conn_read16 ();
491
494
492
495
if ((packetHeader[1 ] & 0x8000 ) != 0 ) { // Read answers
493
496
#ifdef DEBUG_ESP_MDNS_RX
@@ -644,6 +647,7 @@ void MDNSResponder::_parsePacket(){
644
647
#endif
645
648
tmp8 = _conn_read8 ();
646
649
}
650
+
647
651
else {
648
652
_conn_readS (answerHostName, tmp8);
649
653
answerHostName[tmp8] = ' \0 ' ;
@@ -671,7 +675,7 @@ void MDNSResponder::_parsePacket(){
671
675
DEBUG_ESP_PORT.printf (" Ignoring unsupported type %02x\n " , tmp8);
672
676
#endif
673
677
for (int n = 0 ; n < answerRdlength; n++)
674
- (void )_conn_read8 ();
678
+ (void )_conn_read8 ();
675
679
}
676
680
677
681
if ((partsCollected == 0x0F ) && serviceMatch) {
@@ -853,21 +857,33 @@ void MDNSResponder::_parsePacket(){
853
857
854
858
#ifdef DEBUG_ESP_MDNS_RX
855
859
DEBUG_ESP_PORT.printf (" REQ: " );
856
- if (hostNameLen > 0 ) DEBUG_ESP_PORT.printf (" %s." , hostName);
857
- if (serviceNameLen > 0 ) DEBUG_ESP_PORT.printf (" _%s." , serviceName);
858
- if (protoNameLen > 0 ) DEBUG_ESP_PORT.printf (" _%s." , protoName);
860
+ if (hostNameLen > 0 )
861
+ DEBUG_ESP_PORT.printf (" %s." , hostName);
862
+ if (serviceNameLen > 0 )
863
+ DEBUG_ESP_PORT.printf (" _%s." , serviceName);
864
+ if (protoNameLen > 0 )
865
+ DEBUG_ESP_PORT.printf (" _%s." , protoName);
859
866
DEBUG_ESP_PORT.printf (" local. " );
860
867
861
- if (currentType == MDNS_TYPE_AAAA) DEBUG_ESP_PORT.printf (" AAAA " );
862
- else if (currentType == MDNS_TYPE_A) DEBUG_ESP_PORT.printf (" A " );
863
- else if (currentType == MDNS_TYPE_PTR) DEBUG_ESP_PORT.printf (" PTR " );
864
- else if (currentType == MDNS_TYPE_SRV) DEBUG_ESP_PORT.printf (" SRV " );
865
- else if (currentType == MDNS_TYPE_TXT) DEBUG_ESP_PORT.printf (" TXT " );
866
- else DEBUG_ESP_PORT.printf (" 0x%04X " , currentType);
867
-
868
- if (currentClass == MDNS_CLASS_IN) DEBUG_ESP_PORT.printf (" IN " );
869
- else if (currentClass == MDNS_CLASS_IN_FLUSH_CACHE) DEBUG_ESP_PORT.printf (" IN[F] " );
870
- else DEBUG_ESP_PORT.printf (" 0x%04X " , currentClass);
868
+ if (currentType == MDNS_TYPE_AAAA)
869
+ DEBUG_ESP_PORT.printf (" AAAA " );
870
+ else if (currentType == MDNS_TYPE_A)
871
+ DEBUG_ESP_PORT.printf (" A " );
872
+ else if (currentType == MDNS_TYPE_PTR)
873
+ DEBUG_ESP_PORT.printf (" PTR " );
874
+ else if (currentType == MDNS_TYPE_SRV)
875
+ DEBUG_ESP_PORT.printf (" SRV " );
876
+ else if (currentType == MDNS_TYPE_TXT)
877
+ DEBUG_ESP_PORT.printf (" TXT " );
878
+ else
879
+ DEBUG_ESP_PORT.printf (" 0x%04X " , currentType);
880
+
881
+ if (currentClass == MDNS_CLASS_IN)
882
+ DEBUG_ESP_PORT.printf (" IN " );
883
+ else if (currentClass == MDNS_CLASS_IN_FLUSH_CACHE)
884
+ DEBUG_ESP_PORT.printf (" IN[F] " );
885
+ else
886
+ DEBUG_ESP_PORT.printf (" 0x%04X " , currentClass);
871
887
872
888
DEBUG_ESP_PORT.printf (" \n " );
873
889
#endif
@@ -1035,8 +1051,10 @@ void MDNSResponder::_replyToInstanceRequest(uint8_t questionMask, uint8_t respon
1035
1051
uint8_t additionalMask = responseMask & ~questionMask;
1036
1052
uint8_t additionalCount = 0 ;
1037
1053
for (i=0 ;i<4 ;i++){
1038
- if (answerMask & (1 << i)) answerCount++;
1039
- if (additionalMask & (1 << i)) additionalCount++;
1054
+ if (answerMask & (1 << i))
1055
+ answerCount++;
1056
+ if (additionalMask & (1 << i))
1057
+ additionalCount++;
1040
1058
}
1041
1059
1042
1060
0 commit comments