mDNS: init ListOfFilteredHosts in the proper place and not at every received packet
authorSaverio Proto <zioproto@gmail.com>
Mon, 13 Aug 2012 19:27:39 +0000 (21:27 +0200)
committerSaverio Proto <zioproto@gmail.com>
Mon, 13 Aug 2012 22:46:08 +0000 (00:46 +0200)
lib/mdns/src/mdns.c
lib/mdns/src/mdns.h
lib/mdns/src/olsrd_plugin.c

index 3608952..953eb6a 100644 (file)
 #define IPH_HL(hdr) (((hdr)->ip_hl)*4)
 
 struct list_entity ListOfFilteredHosts;
-int FHListInit = 0;
 
+int
+PreInitMDNS(void) {
+listbackport_init_head(&ListOfFilteredHosts);
+return 0;
+}
 static uint16_t ip_checksum(char* data, int len)
 {
     uint sum = 0;
@@ -359,11 +363,6 @@ AddFilteredHost(const char *FilteredHost, void *data __attribute__ ((unused)),
   tmp = (struct FilteredHost *) malloc(sizeof(struct FilteredHost));
   listbackport_init_node(&tmp->list);
 
-  if(FHListInit == 0){
-    listbackport_init_head(&ListOfFilteredHosts);
-    FHListInit = 1;
-  }
-
   if(olsr_cnf->ip_version == AF_INET){
     res = inet_pton(AF_INET, FilteredHost, &tmp->host.v4);
     if(res > 0){
@@ -388,12 +387,6 @@ isInFilteredList(union olsr_ip_addr *src){//TODO: implement here check if IP is
 
   struct FilteredHost *tmp, *iterator;
   
-  if(FHListInit == 0){
-    listbackport_init_head(&ListOfFilteredHosts);
-    FHListInit = 1;
-  }
-
-
   if(listbackport_is_empty(&ListOfFilteredHosts))
     return 0;
 
index c81c677..39f9a60 100644 (file)
@@ -77,7 +77,7 @@ struct FilteredHost{
 
 //extern int FanOutLimit;
 //extern int BroadcastRetransmitCount;
-
+int PreInitMDNS(void);
 void DoMDNS(int sd, void *x, unsigned int y);
 void DoElection(int skfd, void *x, unsigned int y);
 void BmfPError(const char *format, ...) __attribute__ ((format(printf, 1, 2)));
index 941a910..3d85f58 100644 (file)
@@ -60,6 +60,7 @@ static void __attribute__ ((destructor)) my_fini(void);
 
 //static struct olsr_cookie_info *prune_packet_history_timer_cookie;
 
+
 void olsr_plugin_exit(void);
 
 /* -------------------------------------------------------------------------
@@ -104,6 +105,7 @@ olsrd_plugin_init(void)
   //                 &PrunePacketHistory, NULL, prune_packet_history_timer_cookie->ci_id);
 
 
+  PreInitMDNS();
   return InitMDNS(NULL);
 }