dhcpv4: coding style fixes
[project/odhcpd.git] / src / router.h
index 8d74967..5b5f4d7 100644 (file)
 struct icmpv6_opt {
        uint8_t type;
        uint8_t len;
 struct icmpv6_opt {
        uint8_t type;
        uint8_t len;
+       uint8_t data[6];
 };
 
 };
 
-struct nd_opt_slla {
-       uint8_t type;
-       uint8_t len;
-       uint8_t addr[6];
-};
-
-struct nd_opt_recursive_dns {
-       uint8_t type;
-       uint8_t len;
-       uint8_t pad;
-       uint8_t pad2;
-       uint32_t lifetime;
-};
 
 #define icmpv6_for_each_option(opt, start, end)\
        for (opt = (struct icmpv6_opt*)(start);\
 
 #define icmpv6_for_each_option(opt, start, end)\
        for (opt = (struct icmpv6_opt*)(start);\
-       (void*)(opt + (opt->len << 3)) <= (void*)(end); opt += (opt->len << 3))
+       (void*)(opt + 1) <= (void*)(end) && opt->len > 0 &&\
+       (void*)(opt + opt->len) <= (void*)(end); opt += opt->len)
+
 
 
-#define MaxRtrAdvInterval 600
-#define MinRtrAdvInterval (MaxRtrAdvInterval / 3)
-#define MaxValidTime 7200
-#define MaxPreferredTime  (3 * MaxRtrAdvInterval)
+#define MaxValidTime 65535
+#define MaxRtrAdvInterval 1800
 
 #define ND_RA_FLAG_PROXY       0x4
 #define ND_RA_PREF_HIGH        (1 << 3)
 
 #define ND_RA_FLAG_PROXY       0x4
 #define ND_RA_PREF_HIGH        (1 << 3)