Fixed IPv6 addrtpe initialization
authorAndreas Tonnesen <andreto@olsr.org>
Sat, 17 Sep 2005 20:48:50 +0000 (20:48 +0000)
committerAndreas Tonnesen <andreto@olsr.org>
Sat, 17 Sep 2005 20:48:50 +0000 (20:48 +0000)
CHANGELOG
src/cfgparser/olsrd_conf.c
src/linux/net.c

index 6d7822b..f34ab5c 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
 This file states changes as of version 0.2.4:
-$Id: CHANGELOG,v 1.48 2005/08/30 20:09:05 kattemat Exp $
+$Id: CHANGELOG,v 1.49 2005/09/17 20:48:49 kattemat Exp $
 
 0.4.10 --------------------------------------------------------------------
 
@@ -35,6 +35,8 @@ problems reported with systems still sending ICMP redirects.
 
 BUGFIXES
 
+- Fixed init of IPv6 addrtype variable. It used to be uninitialized,
+  causing it to default to site-local and have some weird side-effects.
 - Fixed crash when changing IPv6 address at run-time
 - Fixed a bug that prevented setting willingness 0 in the configfile
 - Did various updates to prevent assertion when a neighbor
index 0d31ad2..b5a090e 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsrd_conf.c,v 1.41 2005/06/03 20:11:28 spoggle Exp $
+ * $Id: olsrd_conf.c,v 1.42 2005/09/17 20:48:50 kattemat Exp $
  */
 
 
@@ -478,6 +478,8 @@ get_default_if_config()
   io->weight.fixed = OLSR_FALSE;
   io->weight.value = 0;
 
+  io->ipv6_addrtype = 0; /* global */
+
   io->hello_params.emission_interval = HELLO_INTERVAL;
   io->hello_params.validity_time = NEIGHB_HOLD_TIME;
   io->tc_params.emission_interval = TC_INTERVAL;
@@ -572,8 +574,7 @@ olsrd_print_cnf(struct olsrd_config *cnf)
              printf("\tIPv4 broadcast           : AUTO\n");
            }
          
-         if(in->cnf->ipv6_addrtype)
-           printf("\tIPv6 addrtype            : %s\n", in->cnf->ipv6_addrtype ? "site-local" : "global");
+         printf("\tIPv6 addrtype            : %s\n", in->cnf->ipv6_addrtype ? "site-local" : "global");
          
          //union olsr_ip_addr       ipv6_multi_site;
          //union olsr_ip_addr       ipv6_multi_glbl;
index aa9cbfd..30f37dc 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: net.c,v 1.28 2005/08/28 19:30:30 kattemat Exp $
+ * $Id: net.c,v 1.29 2005/09/17 20:48:50 kattemat Exp $
  */
 
 
@@ -740,10 +740,12 @@ get_ipv6_address(char *ifname, struct sockaddr_in6 *saddr6, int scope_in)
                      addr6p[0], addr6p[1], addr6p[2], addr6p[3],
                      addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
              OLSR_PRINTF(5, "\tinet6 addr: %s\n", addr6)
-             OLSR_PRINTF(5, "\tScope: %d", scope)
+             OLSR_PRINTF(5, "\tScope: %d\n", scope)
              if(scope == scope_in)
                {
-                 OLSR_PRINTF(4, "IPv6 addr:\n")
+                 OLSR_PRINTF(4, "Found addr: %s:%s:%s:%s:%s:%s:%s:%s\n",
+                             addr6p[0], addr6p[1], addr6p[2], addr6p[3],
+                             addr6p[4], addr6p[5], addr6p[6], addr6p[7])
                  inet_pton(AF_INET6,addr6,&tmp_sockaddr6);
                  memcpy(&saddr6->sin6_addr, &tmp_sockaddr6, sizeof(struct in6_addr));    
                  fclose(f);