summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto')
-rw-r--r--proto/bfd/packets.c2
-rw-r--r--proto/ospf/dbdes.c1
-rw-r--r--proto/ospf/ospf.c1
-rw-r--r--proto/ospf/packet.c1
-rw-r--r--proto/radv/radv.c1
-rw-r--r--proto/rip/packets.c18
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 */