View | Details | Raw Unified | Return to bug 115343
Collapse All | Expand All

(-)/usr/ports/net/quagga.new/Makefile (-2 / +1 lines)
Lines 6-13 Link Here
6
#
6
#
7
7
8
PORTNAME=	quagga
8
PORTNAME=	quagga
9
PORTVERSION=	0.99.7
9
PORTVERSION=	0.99.8
10
PORTREVISION=	2
11
CATEGORIES=	net ipv6
10
CATEGORIES=	net ipv6
12
MASTER_SITES=	http://quagga.net/download/ \
11
MASTER_SITES=	http://quagga.net/download/ \
13
		http://www.ru.quagga.net/download/ \
12
		http://www.ru.quagga.net/download/ \
(-)/usr/ports/net/quagga.new/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
MD5 (quagga-0.99.7.tar.gz) = f448281c50007408ce92c5d8e2107abc
1
MD5 (quagga-0.99.8.tar.gz) = 0a53fb579033fa57ca0e5c3ff0b52105
2
SHA256 (quagga-0.99.7.tar.gz) = fd258e4503646129ca77f6fe9c16b69f36f320256768b84dbabd2e4915ab8eb4
2
SHA256 (quagga-0.99.8.tar.gz) = 7e745118921982ad7f67a6733161f74c88ba71c587158ab335f0581124be551d
3
SIZE (quagga-0.99.7.tar.gz) = 2350372
3
SIZE (quagga-0.99.8.tar.gz) = 2322571
(-)/usr/ports/net/quagga.new/files/patch-configure (+10 lines)
Line 0 Link Here
1
--- configure.orig	Fri Jul 27 22:59:02 2007
2
+++ configure	Thu Aug  2 09:58:32 2007
3
@@ -23025,6 +23025,7 @@
4
 #endif
5
 
6
 
7
+#include <security/pam_types.h>
8
 #include <security/openpam.h>
9
 _ACEOF
10
 rm -f conftest.$ac_objext
(-)/usr/ports/net/quagga.new/files/patch-zebra-kernel_socket.c (-132 lines)
Lines 1-132 Link Here
1
--- zebra/kernel_socket.c	2007/05/10 02:38:52	1.43
2
+++ zebra/kernel_socket.c	2007/05/17 15:00:41	1.44
3
@@ -494,6 +494,8 @@
4
 		short *ifnlen)
5
 {
6
   caddr_t pnt, end;
7
+  union sockunion dst;
8
+  union sockunion gateway;
9
 
10
   pnt = (caddr_t)(ifm + 1);
11
   end = ((caddr_t)ifm) + ifm->ifam_msglen;
12
@@ -502,10 +504,12 @@
13
   memset (mask, 0, sizeof (union sockunion));
14
   memset (addr, 0, sizeof (union sockunion));
15
   memset (brd, 0, sizeof (union sockunion));
16
+  memset (&dst, 0, sizeof (union sockunion));
17
+  memset (&gateway, 0, sizeof (union sockunion));
18
 
19
   /* We fetch each socket variable into sockunion. */
20
-  RTA_ADDR_GET (NULL, RTA_DST, ifm->ifam_addrs, pnt);
21
-  RTA_ADDR_GET (NULL, RTA_GATEWAY, ifm->ifam_addrs, pnt);
22
+  RTA_ADDR_GET (&dst, RTA_DST, ifm->ifam_addrs, pnt);
23
+  RTA_ADDR_GET (&gateway, RTA_GATEWAY, ifm->ifam_addrs, pnt);
24
   RTA_ATTR_GET (mask, RTA_NETMASK, ifm->ifam_addrs, pnt);
25
   RTA_ADDR_GET (NULL, RTA_GENMASK, ifm->ifam_addrs, pnt);
26
   RTA_NAME_GET (ifname, RTA_IFP, ifm->ifam_addrs, pnt, *ifnlen);
27
@@ -519,31 +523,43 @@
28
         {
29
 	case AF_INET:
30
 	  {
31
-	    char buf[2][INET_ADDRSTRLEN];
32
+	    char buf[4][INET_ADDRSTRLEN];
33
 	    zlog_debug ("%s: ifindex %d, ifname %s, ifam_addrs 0x%x, "
34
-			"addr %s/%d broad %s", 
35
-			__func__, ifm->ifam_index, 
36
+			"ifam_flags 0x%x, addr %s/%d broad %s dst %s "
37
+			"gateway %s",
38
+			__func__, ifm->ifam_index,
39
 			(ifnlen ? ifname : "(nil)"), ifm->ifam_addrs,
40
+			ifm->ifam_flags,
41
 			inet_ntop(AF_INET,&addr->sin.sin_addr,
42
 			          buf[0],sizeof(buf[0])),
43
 			ip_masklen(mask->sin.sin_addr),
44
 			inet_ntop(AF_INET,&brd->sin.sin_addr,
45
-			          buf[1],sizeof(buf[1])));
46
+			          buf[1],sizeof(buf[1])),
47
+			inet_ntop(AF_INET,&dst.sin.sin_addr,
48
+			          buf[2],sizeof(buf[2])),
49
+			inet_ntop(AF_INET,&gateway.sin.sin_addr,
50
+			          buf[3],sizeof(buf[3])));
51
 	  }
52
 	  break;
53
 #ifdef HAVE_IPV6
54
 	case AF_INET6:
55
 	  {
56
-	    char buf[2][INET6_ADDRSTRLEN];
57
+	    char buf[4][INET6_ADDRSTRLEN];
58
 	    zlog_debug ("%s: ifindex %d, ifname %s, ifam_addrs 0x%x, "
59
-			"addr %s/%d broad %s", 
60
+			"ifam_flags 0x%x, addr %s/%d broad %s dst %s "
61
+			"gateway %s",
62
 			__func__, ifm->ifam_index, 
63
 			(ifnlen ? ifname : "(nil)"), ifm->ifam_addrs,
64
+			ifm->ifam_flags,
65
 			inet_ntop(AF_INET6,&addr->sin6.sin6_addr,
66
 			          buf[0],sizeof(buf[0])),
67
 			ip6_masklen(mask->sin6.sin6_addr),
68
 			inet_ntop(AF_INET6,&brd->sin6.sin6_addr,
69
-			          buf[1],sizeof(buf[1])));
70
+			          buf[1],sizeof(buf[1])),
71
+			inet_ntop(AF_INET6,&dst.sin6.sin6_addr,
72
+			          buf[2],sizeof(buf[2])),
73
+			inet_ntop(AF_INET6,&gateway.sin6.sin6_addr,
74
+			          buf[3],sizeof(buf[3])));
75
 	  }
76
 	  break;
77
 #endif /* HAVE_IPV6 */
78
@@ -554,7 +570,7 @@
79
 	  break;
80
         }
81
     }
82
-  
83
+
84
   /* Assert read up end point matches to end point */
85
   if (pnt != end)
86
     zlog_warn ("ifam_read() does't read all socket data");
87
@@ -569,6 +585,7 @@
88
   char ifname[INTERFACE_NAMSIZ];
89
   short ifnlen = 0;
90
   char isalias = 0;
91
+  int flags = 0;
92
   
93
   ifname[0] = ifname[INTERFACE_NAMSIZ - 1] = '\0';
94
   
95
@@ -585,6 +602,12 @@
96
   if (ifnlen && strncmp (ifp->name, ifname, INTERFACE_NAMSIZ))
97
     isalias = 1;
98
   
99
+  /* N.B. The info in ifa_msghdr does not tell us whether the RTA_BRD
100
+     field contains a broadcast address or a peer address, so we are forced to
101
+     rely upon the interface type. */
102
+  if (if_is_pointopoint(ifp))
103
+    SET_FLAG(flags, ZEBRA_IFA_PEER);
104
+
105
 #if 0
106
   /* it might seem cute to grab the interface metric here, however
107
    * we're processing an address update message, and so some systems
108
@@ -599,12 +622,12 @@
109
     {
110
     case AF_INET:
111
       if (ifam->ifam_type == RTM_NEWADDR)
112
-	connected_add_ipv4 (ifp, 0, &addr.sin.sin_addr, 
113
+	connected_add_ipv4 (ifp, flags, &addr.sin.sin_addr, 
114
 			    ip_masklen (mask.sin.sin_addr),
115
 			    &brd.sin.sin_addr,
116
 			    (isalias ? ifname : NULL));
117
       else
118
-	connected_delete_ipv4 (ifp, 0, &addr.sin.sin_addr, 
119
+	connected_delete_ipv4 (ifp, flags, &addr.sin.sin_addr, 
120
 			       ip_masklen (mask.sin.sin_addr),
121
 			       &brd.sin.sin_addr);
122
       break;
123
@@ -616,8 +639,7 @@
124
 	SET_IN6_LINKLOCAL_IFINDEX (addr.sin6.sin6_addr, 0);
125
 
126
       if (ifam->ifam_type == RTM_NEWADDR)
127
-	connected_add_ipv6 (ifp, 0,
128
-			    &addr.sin6.sin6_addr, 
129
+	connected_add_ipv6 (ifp, flags, &addr.sin6.sin6_addr, 
130
 			    ip6_masklen (mask.sin6.sin6_addr),
131
 			    &brd.sin6.sin6_addr,
132
 			    (isalias ? ifname : NULL));
(-)/usr/ports/net/quagga.new/files/quagga.sh.in (-1 / +5 lines)
Lines 64-70 Link Here
64
	    /sbin/ldconfig -m ${quagga_extralibs_path}
64
	    /sbin/ldconfig -m ${quagga_extralibs_path}
65
	fi
65
	fi
66
	;;
66
	;;
67
    stop)
67
    stop|restart)
68
	quagga_daemons=$(reverse_list ${quagga_daemons})
68
	quagga_daemons=$(reverse_list ${quagga_daemons})
69
	;;
69
	;;
70
esac
70
esac
Lines 79-86 Link Here
79
    if [ ${quagga_cmd} = "stop" -a -z $(check_process ${command}) ]; then
79
    if [ ${quagga_cmd} = "stop" -a -z $(check_process ${command}) ]; then
80
		continue
80
		continue
81
    fi
81
    fi
82
    if [ ${quagga_cmd} = "restart" -a -z $(check_process ${command}) ]; then
83
		continue
84
    fi
82
    eval flags=\$\{${daemon}_flags:-\"${quagga_flags}\"\}
85
    eval flags=\$\{${daemon}_flags:-\"${quagga_flags}\"\}
83
    run_rc_command "$1"
86
    run_rc_command "$1"
87
    _rc_restart_done=false
84
done
88
done
85
89
86
if [ "${quagga_delay}" != "0" ]; then
90
if [ "${quagga_delay}" != "0" ]; then

Return to bug 115343