mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-11-14 06:12:01 +01:00
Fix test for determining when RSVP is inactive in a router. (In this
case, multicast options are not passed to ip_mforward().) The previous version had a wrong test, thus causing RSVP mrouters to forward RSVP messages in violation of the spec.
This commit is contained in:
parent
1b9a801b93
commit
b124e4f284
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=9728
@ -9,7 +9,7 @@
|
||||
* Modified by Bill Fenner, PARC, April 1995
|
||||
*
|
||||
* MROUTING Revision: 3.5
|
||||
* $Id: ip_mroute.c,v 1.19 1995/06/26 16:15:49 wollman Exp $
|
||||
* $Id: ip_mroute.c,v 1.20 1995/07/24 18:15:13 wollman Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -52,8 +52,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern int rsvp_on;
|
||||
|
||||
#ifndef MROUTING
|
||||
/*
|
||||
* Dummy routines and globals used when multicast routing is not compiled in.
|
||||
@ -1126,6 +1124,8 @@ X_ip_mforward(ip, ifp, m, imo)
|
||||
if (rsvpdebug && ip->ip_p == IPPROTO_RSVP) {
|
||||
printf("Warning: IPPROTO_RSVP from %x to %x without vif option\n",
|
||||
ntohl(ip->ip_src.s_addr), ntohl(ip->ip_dst.s_addr));
|
||||
if(!imo)
|
||||
printf("In fact, no options were specified at all\n");
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -31,7 +31,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ip_output.c 8.3 (Berkeley) 1/21/94
|
||||
* $Id: ip_output.c,v 1.21 1995/07/01 19:09:40 joerg Exp $
|
||||
* $Id: ip_output.c,v 1.22 1995/07/02 16:45:07 joerg Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -247,7 +247,7 @@ ip_output(m0, opt, ro, flags, imo)
|
||||
* is multicast and not just sent down one link
|
||||
* as prescribed by rsvpd.
|
||||
*/
|
||||
if (ip_rsvpd == NULL)
|
||||
if (!rsvp_on)
|
||||
imo = NULL;
|
||||
if (ip_mforward(ip, ifp, m, imo) != 0) {
|
||||
m_freem(m);
|
||||
|
@ -31,7 +31,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ip_var.h 8.1 (Berkeley) 6/10/93
|
||||
* $Id: ip_var.h,v 1.11 1995/06/13 17:51:15 wollman Exp $
|
||||
* $Id: ip_var.h,v 1.12 1995/06/28 05:13:02 davidg Exp $
|
||||
*/
|
||||
|
||||
#ifndef _NETINET_IP_VAR_H_
|
||||
@ -161,6 +161,7 @@ extern struct socket *ip_rsvpd; /* reservation protocol daemon */
|
||||
extern struct socket *ip_mrouter; /* multicast routing daemon */
|
||||
extern int (*legal_vif_num) __P((int));
|
||||
extern u_long (*ip_mcast_src) __P((int));
|
||||
extern int rsvp_on;
|
||||
|
||||
int ip_ctloutput __P((int, struct socket *, int, int, struct mbuf **));
|
||||
void ip_deq __P((struct ipasfrag *));
|
||||
|
Loading…
Reference in New Issue
Block a user