summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrenato <renato@openbsd.org>2013-10-15 20:27:40 +0000
committerrenato <renato@openbsd.org>2013-10-15 20:27:40 +0000
commit23695a608124520362d88d534f5552cc4aa58ce4 (patch)
treeb460e28b1439f1d04881d752c9d79b3e11fe6168
parentIf the fake target of a port installed an empty (0-byte) file as a (diff)
downloadwireguard-openbsd-23695a608124520362d88d534f5552cc4aa58ce4.tar.xz
wireguard-openbsd-23695a608124520362d88d534f5552cc4aa58ce4.zip
Generate the NBR_EVT_PDU_RCVD event in a single point.
OK claudio@
-rw-r--r--usr.sbin/ldpd/address.c4
-rw-r--r--usr.sbin/ldpd/keepalive.c4
-rw-r--r--usr.sbin/ldpd/labelmapping.c12
-rw-r--r--usr.sbin/ldpd/packet.c5
4 files changed, 7 insertions, 18 deletions
diff --git a/usr.sbin/ldpd/address.c b/usr.sbin/ldpd/address.c
index 7fa2d3ae4dc..52ec94e5cac 100644
--- a/usr.sbin/ldpd/address.c
+++ b/usr.sbin/ldpd/address.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: address.c,v 1.13 2013/06/04 02:34:48 claudio Exp $ */
+/* $OpenBSD: address.c,v 1.14 2013/10/15 20:27:40 renato Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -133,8 +133,6 @@ recv_address(struct nbr *nbr, char *buf, u_int16_t len)
return (-1);
}
- nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
-
return (ntohs(addr.length));
}
diff --git a/usr.sbin/ldpd/keepalive.c b/usr.sbin/ldpd/keepalive.c
index 443697991cc..35e0f87447d 100644
--- a/usr.sbin/ldpd/keepalive.c
+++ b/usr.sbin/ldpd/keepalive.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: keepalive.c,v 1.10 2013/06/04 02:34:48 claudio Exp $ */
+/* $OpenBSD: keepalive.c,v 1.11 2013/10/15 20:27:40 renato Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -71,8 +71,6 @@ recv_keepalive(struct nbr *nbr, char *buf, u_int16_t len)
if (nbr->state != NBR_STA_OPER)
nbr_fsm(nbr, NBR_EVT_KEEPALIVE_RCVD);
- else
- nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
return (ntohs(ka.length));
}
diff --git a/usr.sbin/ldpd/labelmapping.c b/usr.sbin/ldpd/labelmapping.c
index c69e123d658..170a1092b90 100644
--- a/usr.sbin/ldpd/labelmapping.c
+++ b/usr.sbin/ldpd/labelmapping.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: labelmapping.c,v 1.25 2013/10/15 19:59:53 renato Exp $ */
+/* $OpenBSD: labelmapping.c,v 1.26 2013/10/15 20:27:40 renato Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -150,8 +150,6 @@ recv_labelmapping(struct nbr *nbr, char *buf, u_int16_t len)
feclen -= tlen;
} while (feclen > 0);
- nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
-
return (ntohs(lm.length));
}
@@ -244,8 +242,6 @@ recv_labelrequest(struct nbr *nbr, char *buf, u_int16_t len)
feclen -= tlen;
} while (feclen > 0);
- nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
-
return (ntohs(lr.length));
}
@@ -380,8 +376,6 @@ recv_labelwithdraw(struct nbr *nbr, char *buf, u_int16_t len)
feclen -= tlen;
} while (feclen > 0);
- nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
-
return (ntohs(lw.length));
}
@@ -515,8 +509,6 @@ recv_labelrelease(struct nbr *nbr, char *buf, u_int16_t len)
feclen -= tlen;
} while (feclen > 0);
- nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
-
return (ntohs(lr.length));
}
@@ -611,8 +603,6 @@ recv_labelabortreq(struct nbr *nbr, char *buf, u_int16_t len)
feclen -= tlen;
} while (feclen > 0);
- nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
-
return (ntohs(la.length));
}
diff --git a/usr.sbin/ldpd/packet.c b/usr.sbin/ldpd/packet.c
index b8c6ca824ba..fe923aa5f8b 100644
--- a/usr.sbin/ldpd/packet.c
+++ b/usr.sbin/ldpd/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.30 2013/10/15 19:59:53 renato Exp $ */
+/* $OpenBSD: packet.c,v 1.31 2013/10/15 20:27:40 renato Exp $ */
/*
* Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
@@ -389,6 +389,9 @@ session_read(int fd, short event, void *arg)
pdu += LDP_HDR_SIZE;
len -= LDP_HDR_SIZE;
+ if (nbr->state == NBR_STA_OPER)
+ nbr_fsm(nbr, NBR_EVT_PDU_RCVD);
+
while (len >= LDP_MSG_LEN) {
u_int16_t type;