diff options
Diffstat (limited to 'proto')
-rw-r--r-- | proto/bfd/packets.c | 2 | ||||
-rw-r--r-- | proto/ospf/dbdes.c | 1 | ||||
-rw-r--r-- | proto/ospf/ospf.c | 1 | ||||
-rw-r--r-- | proto/ospf/packet.c | 1 | ||||
-rw-r--r-- | proto/radv/radv.c | 1 | ||||
-rw-r--r-- | proto/rip/packets.c | 18 |
6 files changed, 17 insertions, 7 deletions
diff --git a/proto/bfd/packets.c b/proto/bfd/packets.c index b76efda6..6d5151ea 100644 --- a/proto/bfd/packets.c +++ b/proto/bfd/packets.c @@ -141,6 +141,7 @@ bfd_fill_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_c case BFD_AUTH_METICULOUS_KEYED_MD5: case BFD_AUTH_METICULOUS_KEYED_SHA1: meticulous = 1; + /* fallthrough */ case BFD_AUTH_KEYED_MD5: case BFD_AUTH_KEYED_SHA1: @@ -230,6 +231,7 @@ bfd_check_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_ case BFD_AUTH_METICULOUS_KEYED_MD5: case BFD_AUTH_METICULOUS_KEYED_SHA1: meticulous = 1; + /* fallthrough */ case BFD_AUTH_KEYED_MD5: case BFD_AUTH_KEYED_SHA1: diff --git a/proto/ospf/dbdes.c b/proto/ospf/dbdes.c index 2626a24c..019aff04 100644 --- a/proto/ospf/dbdes.c +++ b/proto/ospf/dbdes.c @@ -353,6 +353,7 @@ ospf_receive_dbdes(struct ospf_packet *pkt, struct ospf_iface *ifa, ospf_neigh_sm(n, INM_2WAYREC); if (n->state != NEIGHBOR_EXSTART) return; + /* fallthrough */ case NEIGHBOR_EXSTART: if ((ifa->type != OSPF_IT_VLINK) && diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c index 150f519f..327ad0a4 100644 --- a/proto/ospf/ospf.c +++ b/proto/ospf/ospf.c @@ -1200,6 +1200,7 @@ ospf_sh_state(struct proto *P, int verbose, int reachable) he->domain = 1; /* Abuse domain field to mark the LSA */ hex[jx++] = he; } + /* fallthrough */ default: accept = 0; } diff --git a/proto/ospf/packet.c b/proto/ospf/packet.c index db387661..599f3094 100644 --- a/proto/ospf/packet.c +++ b/proto/ospf/packet.c @@ -57,6 +57,7 @@ ospf_pkt_finalize2(struct ospf_iface *ifa, struct ospf_packet *pkt, uint *plen) return; } strncpy(auth->password, pass->password, sizeof(auth->password)); + /* fallthrough */ case OSPF_AUTH_NONE: { diff --git a/proto/radv/radv.c b/proto/radv/radv.c index 389f598c..a381f737 100644 --- a/proto/radv/radv.c +++ b/proto/radv/radv.c @@ -230,6 +230,7 @@ radv_iface_notify(struct radv_iface *ifa, int event) { case RA_EV_CHANGE: radv_invalidate(ifa); + /* fallthrough */ case RA_EV_INIT: ifa->initial = MAX_INITIAL_RTR_ADVERTISEMENTS; radv_prepare_prefixes(ifa); diff --git a/proto/rip/packets.c b/proto/rip/packets.c index 1b65362f..59ffd7c2 100644 --- a/proto/rip/packets.c +++ b/proto/rip/packets.c @@ -58,13 +58,17 @@ struct rip_block_auth { u16 must_be_ffff; u16 auth_type; - char password[0]; - u16 packet_len; - u8 key_id; - u8 auth_len; - u32 seq_num; - u32 unused1; - u32 unused2; + union { + char password[16]; + struct { + u16 packet_len; + u8 key_id; + u8 auth_len; + u32 seq_num; + u32 unused1; + u32 unused2; + }; + }; }; /* Authentication tail, RFC 4822 */ |