ports/80505: Ports upgrade net/freevrrpd from 0.8.7 to 0.9

Sebastien Petit spe at phear.org
Sun May 1 15:10:03 UTC 2005


>Number:         80505
>Category:       ports
>Synopsis:       Ports upgrade net/freevrrpd from 0.8.7 to 0.9
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 01 15:10:01 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Sebastien Petit
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
b0l / phear
>Environment:
System: FreeBSD phear.org 5.3-STABLE FreeBSD 5.3-STABLE #4: Fri Feb 18 17:09:27 CET 2005


>Description:
Upgrade net/freevrrpd for FreeBSD & DragonFly. FreeVRRPd 0.9 now support FreeBSD
/NetBSD/OpenBSD
>How-To-Repeat:
>Fix:
diff -crN freevrrpd-old/Makefile freevrrpd/Makefile
*** freevrrpd-old/Makefile	2004-07-16 14:42:47.000000000 +0200
--- freevrrpd/Makefile	2005-01-20 15:12:14.000000000 +0100
***************
*** 6,15 ****
  #
  
  PORTNAME=	freevrrpd
! PORTVERSION=	0.8.7
  PORTREVISION=	1
  CATEGORIES=	net
! MASTER_SITES=	http://www.bsdshell.net/download/
  
  MAINTAINER=	spe at b0l.org
  COMMENT=	This a VRRP RFC2338 Compliant implementation under FreeBSD
--- 6,15 ----
  #
  
  PORTNAME=	freevrrpd
! PORTVERSION=	0.9
  PORTREVISION=	1
  CATEGORIES=	net
! MASTER_SITES=	http://www.b0l.org/download/
  
  MAINTAINER=	spe at b0l.org
  COMMENT=	This a VRRP RFC2338 Compliant implementation under FreeBSD
***************
*** 19,27 ****
  MAKE_ENV=	PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
  		PTHREAD_LIBS="${PTHREAD_LIBS}"
  
- post-patch:
- 	cd ${WRKSRC}; ${SED} -i.bak -e s/varargs/stdarg/ *.h
- 
  do-install:
  	@${INSTALL_PROGRAM} ${WRKSRC}/freevrrpd ${PREFIX}/sbin
  	@${INSTALL_DATA} ${WRKSRC}/freevrrpd.conf.sample ${PREFIX}/etc
--- 19,24 ----
diff -crN freevrrpd-old/distinfo freevrrpd/distinfo
*** freevrrpd-old/distinfo	2004-04-11 15:00:25.000000000 +0200
--- freevrrpd/distinfo	2005-01-20 15:14:33.000000000 +0100
***************
*** 1,2 ****
! MD5 (freevrrpd-0.8.7.tar.gz) = 709163a037df1d24b99019d7a50227e9
! SIZE (freevrrpd-0.8.7.tar.gz) = 20447
--- 1,2 ----
! MD5 (freevrrpd-0.9.tar.gz) = aa68fd148fb9b05458506fbb245af2b8
! SIZE (freevrrpd-0.9.tar.gz) = 38401
diff -crN freevrrpd-old/files/patch-aa freevrrpd/files/patch-aa
*** freevrrpd-old/files/patch-aa	2002-09-05 04:59:26.000000000 +0200
--- freevrrpd/files/patch-aa	1970-01-01 01:00:00.000000000 +0100
***************
*** 1,11 ****
- --- vrrp_define.h.orig	Wed Sep  4 19:56:56 2002
- +++ vrrp_define.h	Wed Sep  4 19:57:07 2002
- @@ -54,8 +54,3 @@
-  #define VRRP_CONF_FILE_NAME "/usr/local/etc/freevrrpd.conf"
-  #define IPPROTO_VRRP 112
-  #define MAX_IP_ALIAS 255
- -
- -/* In FreeBSD < 4.3 in_addr_t doesn't exist */
- -#ifndef in_addr_t
- -#define in_addr_t u_int32_t
- -#endif
--- 0 ----
diff -crN freevrrpd-old/files/patch-cvs-20040305 freevrrpd/files/patch-cvs-20040305
*** freevrrpd-old/files/patch-cvs-20040305	2004-05-27 00:20:17.000000000 +0200
--- freevrrpd/files/patch-cvs-20040305	1970-01-01 01:00:00.000000000 +0100
***************
*** 1,824 ****
- diff -urN LICENSE src/LICENSE
- --- LICENSE	Thu Jan 30 11:50:55 2003
- +++ src/LICENSE	Sun Feb 15 12:55:26 2004
- @@ -28,4 +28,4 @@
-  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-  SUCH DAMAGE.
-  
- -$Id: LICENSE,v 1.1.1.1 2002/05/23 15:46:06 spe Exp $
- +$Id: LICENSE,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
- diff -urN Makefile src/Makefile
- --- Makefile	Thu Jan 30 11:50:55 2003
- +++ src/Makefile	Tue Feb 24 11:55:51 2004
- @@ -1,4 +1,4 @@
- -# $Id: Makefile,v 1.3 2002/09/17 12:51:48 spe Exp $
- +# $Id: Makefile,v 1.2 2004/02/24 11:55:51 spe Exp $
-  
-  PROG=		freevrrpd
-  SRCS=		vrrp_misc.c vrrp_multicast.c vrrp_main.c vrrp_thread.c vrrp_state.c vrrp_network.c vrrp_interface.c vrrp_conf.c vrrp_signal.c vrrp_list.c vrrp_moncircuit.c
- @@ -9,7 +9,7 @@
-  MANDIR=		/usr/local/man/man
-  
-  # Must write a man page
- -# MAN=	freevrrpd.8
- +MAN=	freevrrpd.8
-  MAN8=	freevrrpd.8
-  
-  beforeinstall:
- diff -urN PORTS src/PORTS
- --- PORTS	Thu Jan  1 00:00:00 1970
- +++ src/PORTS	Tue Feb 24 11:55:51 2004
- @@ -0,0 +1,6 @@
- +# $Id: PORTS,v 1.1 2004/02/24 11:55:51 spe Exp $
- +
- +FreeVRRPd has been ported under:
- +
- +* FreeBSD (initial dev OS)
- +* NetBSD (must be tested)
- diff -urN README src/README
- --- README	Thu Jan 30 11:50:55 2003
- +++ src/README	Sun Feb 15 12:55:26 2004
- @@ -1,4 +1,4 @@
- -# $Id: README,v 1.1.1.1 2002/05/23 15:46:11 spe Exp $
- +# $Id: README,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-  
-  Hi,
-  
- diff -urN TODO src/TODO
- --- TODO	Sat May 24 21:18:33 2003
- +++ src/TODO	Sun Feb 15 12:55:26 2004
- @@ -1,3 +1,3 @@
- -# $Id: TODO,v 1.1.1.1 2002/05/23 15:46:06 spe Exp $
- +# $Id: TODO,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-  
-  * Cryptographic Authentification Data
- diff -urN freevrrpd.8 src/freevrrpd.8
- --- freevrrpd.8	Thu Jan 30 11:50:55 2003
- +++ src/freevrrpd.8	Tue Feb 24 11:55:51 2004
- @@ -37,6 +37,7 @@
-  Support of plain text authentication described in RFC2338
-  .It
-  Support netmask for virtual IP addresses
- +.El
-  .Sh IMPLEMENTATION NOTES
-  This utility doesn't quit properly if you use the -KILL signal. If you want to stop freevrrpd, you can use kill [PID] and not kill -9 [PID], then it can delete virtual IP addresses and routes properly on shutdown.
-  .Sh BUGS
- diff -urN vrrp_conf.c src/vrrp_conf.c
- --- vrrp_conf.c	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_conf.c	Wed Feb 18 08:56:43 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_conf.c,v 1.4 2002/09/17 13:09:29 spe Exp $
- + * $Id: vrrp_conf.c,v 1.2 2004/02/18 08:56:43 spe Exp $
-   */
-  
-  #include "vrrp_conf.h"
- @@ -141,12 +141,15 @@
-  	}
-  	if (lstat(name, &st) == -1) {
-  		syslog(LOG_ERR, "cannot call lstat(): %m");
- +		fclose(stream);
-  		return NULL;
-  	}
-  	if ((st.st_mode & S_IFMT) != S_IFREG) {
-  		syslog(LOG_ERR, "%s is not a regular file", name);
- +		fclose(stream);
-  		return NULL;
-  	}
- +
-  	return stream;
-  }
-  
- diff -urN vrrp_conf.h src/vrrp_conf.h
- --- vrrp_conf.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_conf.h	Tue Feb 24 11:55:51 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_conf.h,v 1.3 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_conf.h,v 1.3 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #ifndef _VRRP_CONF_H
- @@ -41,11 +41,13 @@
-  #include <netinet/in.h>
-  #include <arpa/inet.h>
-  #include <net/if.h>
- +#ifdef __FreeBSD__
-  #include <net/if_mib.h>
- +#endif
-  #include <stdio.h>
-  #include <fcntl.h>
-  #include <syslog.h>
- -#include <varargs.h>
- +#include <stdarg.h>
-  #include <ctype.h>
-  #include <string.h>
-  #include <stdlib.h>
- diff -urN vrrp_define.h src/vrrp_define.h
- --- vrrp_define.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_define.h	Mon Feb 23 16:17:12 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_define.h,v 1.2 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_define.h,v 1.2 2004/02/23 16:17:12 spe Exp $
-   */
-  
-  /*
- @@ -50,6 +50,7 @@
-  #define VRRP_USEC_COEFF 1000000
-  #define VRRP_CONF_MAX_ARGS 255
-  #define VRRP_DEFAULT_ADV_INT 1
- +#define VRRP_DEFAULT_CARRIER_TIMEOUT 10
-  #define VRRP_PROTOCOL_MAX_VRID 255
-  #define VRRP_CONF_FILE_NAME "/usr/local/etc/freevrrpd.conf"
-  #define VRRP_MONCIRCUIT_MONDELAY 1000000
- diff -urN vrrp_functions.h src/vrrp_functions.h
- --- vrrp_functions.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_functions.h	Tue Feb 24 11:55:51 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_functions.h,v 1.2 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_functions.h,v 1.3 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include <net/route.h>
- @@ -58,7 +58,7 @@
-  void            vrrp_network_close_bpf(struct vrrp_vr *);
-  void            vrrp_network_initialize(void);
-  char            vrrp_network_open_socket(struct vrrp_vr *);
- -int             vrrp_network_send_packet(char *, int, int, int);
- +ssize_t         vrrp_network_send_packet(char *, int, int, int);
-  u_int           vrrp_network_vrrphdr_len(struct vrrp_vr *);
-  void            vrrp_network_init_ethhdr(char *, struct vrrp_vr *);
-  void            vrrp_network_init_iphdr(char *, struct vrrp_vr *);
- @@ -114,6 +114,6 @@
-  void            vrrp_thread_mutex_unlock(void);
-  void            vrrp_thread_mutex_lock_bpf(void);
-  void            vrrp_thread_mutex_unlock_bpf(void);
- -void            vrrp_thread_launch_vrrprouter(int *);
- +void            vrrp_thread_launch_vrrprouter(void **);
-  char            vrrp_thread_initialize(void);
-  char            vrrp_thread_create_vrid(struct vrrp_vr *);
- diff -urN vrrp_interface.c src/vrrp_interface.c
- --- vrrp_interface.c	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_interface.c	Tue Feb 24 11:55:51 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_interface.c,v 1.1.1.1 2002/05/23 15:46:07 spe Exp $
- + * $Id: vrrp_interface.c,v 1.2 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include "vrrp_interface.h"
- @@ -50,10 +50,10 @@
-  char 
-  vrrp_interface_ethaddr_set(char *if_name, struct ether_addr * ethaddr)
-  {
- +#if defined(SIOCSIFLLADDR)
-  	int             sd;
-  	struct ifreq    ifr;
-  
- -#if defined(SIOCSIFLLADDR)
-  	bzero(&ifr, sizeof(ifr));
-  	sd = socket(AF_INET, SOCK_DGRAM, 0);
-  	if (sd == -1) {
- diff -urN vrrp_interface.h src/vrrp_interface.h
- --- vrrp_interface.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_interface.h	Tue Feb 24 11:55:51 2004
- @@ -29,15 +29,21 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_interface.h,v 1.1.1.1 2002/05/23 15:46:07 spe Exp $
- + * $Id: vrrp_interface.h,v 1.3 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include <sys/types.h>
-  #include <netinet/in.h>
-  #include <sys/socket.h>
-  #include <sys/sockio.h>
- -#include <net/ethernet.h>
- +#include <sys/ioctl.h>
-  #include <net/if.h>
- +#ifdef __FreeBSD__
- +#include <net/ethernet.h>
- +#endif
- +#ifdef __NetBSD__
- +#include <net/if_ether.h>
- +#endif
-  #include <arpa/inet.h>
-  #include <errno.h>
-  #include <math.h>
- @@ -45,7 +51,7 @@
-  #include <string.h>
-  #include <syslog.h>
-  #include <unistd.h>
- -#include <varargs.h>
- +#include <stdarg.h>
-  #include "vrrp_define.h"
-  #include "vrrp_proto.h"
-  #include "vrrp_functions.h"
- diff -urN vrrp_list.c src/vrrp_list.c
- --- vrrp_list.c	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_list.c	Sun Feb 15 12:55:26 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_list.c,v 1.2 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_list.c,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-   */
-  
-  #include "vrrp_list.h"
- diff -urN vrrp_list.h src/vrrp_list.h
- --- vrrp_list.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_list.h	Sun Feb 15 12:55:26 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_list.h,v 1.1.1.1 2002/05/23 15:46:08 spe Exp $
- + * $Id: vrrp_list.h,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-   */
-  
-  #include <stdio.h>
- diff -urN vrrp_main.c src/vrrp_main.c
- --- vrrp_main.c	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_main.c	Mon Feb 23 16:17:12 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_main.c,v 1.4 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_main.c,v 1.4 2004/02/23 16:17:12 spe Exp $
-   */
-  
-  #include <errno.h>
- @@ -76,6 +76,7 @@
-  		vr->vr_if->alive = 1;
-  		vr->vr_if->nberrors = 0;
-  		vr->vr_if->reportsyslog = 0;
- +		vr->vr_if->carrier_timeout = VRRP_DEFAULT_CARRIER_TIMEOUT;
-  	}
-  
-  	return;
- diff -urN vrrp_main.h src/vrrp_main.h
- --- vrrp_main.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_main.h	Tue Feb 24 11:55:51 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_main.h,v 1.4 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_main.h,v 1.2 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include <sys/types.h>
- @@ -45,3 +45,7 @@
-  #include "vrrp_define.h"
-  #include "vrrp_proto.h"
-  #include "vrrp_functions.h"
- +
- +#ifdef __NetBSD__
- +#define octet ether_addr_octet
- +#endif
- diff -urN vrrp_misc.c src/vrrp_misc.c
- --- vrrp_misc.c	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_misc.c	Sun Feb 15 12:55:26 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_misc.c,v 1.4 2002/09/17 23:30:57 spe Exp $
- + * $Id: vrrp_misc.c,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-   */
-  
-  #include "vrrp_misc.h"
- diff -urN vrrp_misc.h src/vrrp_misc.h
- --- vrrp_misc.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_misc.h	Sun Feb 15 12:55:26 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_misc.h,v 1.1.1.1 2002/05/23 15:46:09 spe Exp $
- + * $Id: vrrp_misc.h,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-   */
-  
-  #include <stdio.h>
- diff -urN vrrp_moncircuit.c src/vrrp_moncircuit.c
- --- vrrp_moncircuit.c	Thu Jan 30 11:50:56 2003
- +++ src/vrrp_moncircuit.c	Mon Feb 23 16:17:12 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_moncircuit.c,v 1.2 2002/09/20 11:44:54 spe Exp $
- + * $Id: vrrp_moncircuit.c,v 1.2 2004/02/23 16:17:12 spe Exp $
-   */
-  
-  #include <sys/types.h>
- @@ -90,6 +90,7 @@
-  	int numvrid, numvrid2;
-  	int cpt;
-  	int sd;
- +	int returnCode;
-  
-  	sd = socket(PF_INET, SOCK_DGRAM, 0);
-  	if (sd < 0) {
- @@ -100,7 +101,10 @@
-  	for (;;) {
-  		numvrid = 0;
-  		while (vr_ptr[numvrid]) {
- -			if ((vrrp_moncircuit_interface_status(sd, vr_ptr[numvrid]->vr_if->if_name) == 1) && (! vr_ptr[numvrid]->fault)) {
- +			vrrp_thread_mutex_lock_monitor();
- +			returnCode = vrrp_moncircuit_interface_status(sd, vr_ptr[numvrid]->vr_if->if_name);
- +			vrrp_thread_mutex_unlock_monitor();
- +			if ((returnCode == 1) && (! vr_ptr[numvrid]->fault)) {
-  				if (vr_ptr[numvrid]->vr_if->nberrors < VRRP_MONCIRCUIT_MAX_ERRORS) {
-  					if (! vr_ptr[numvrid]->vr_if->alive) {
-  						vr_ptr[numvrid]->vr_if->alive = 1;
- diff -urN vrrp_moncircuit.h src/vrrp_moncircuit.h
- --- vrrp_moncircuit.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_moncircuit.h	Mon Feb 23 16:17:12 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_moncircuit.h,v 1.1 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_moncircuit.h,v 1.2 2004/02/23 16:17:12 spe Exp $
-   */
-  
-  #ifndef _VRRP_MONCIRCUIT_H
- @@ -37,12 +37,14 @@
-  
-  #include "vrrp_proto.h"
-  #include "vrrp_define.h"
- +#include "vrrp_thread.h"
-  
-  /* externals */
-  extern struct vrrp_vr *vr_ptr[VRRP_PROTOCOL_MAX_VRID];
-  extern u_char   vr_ptr_pos;
-  
-  /* Functions */
- -void vrrp_moncircuit_monitor_thread(int **args);
- +void vrrp_moncircuit_monitor_thread(int **);
- +int vrrp_moncircuit_interface_status(int, char *);
-  
-  #endif
- diff -urN vrrp_multicast.c src/vrrp_multicast.c
- --- vrrp_multicast.c	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_multicast.c	Sun Feb 15 12:55:26 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_multicast.c,v 1.1.1.1 2002/05/23 15:46:09 spe Exp $
- + * $Id: vrrp_multicast.c,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-   */
-  
-  #include "vrrp_multicast.h"
- diff -urN vrrp_multicast.h src/vrrp_multicast.h
- --- vrrp_multicast.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_multicast.h	Mon Feb 23 16:20:14 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_multicast.h,v 1.1.1.1 2002/05/23 15:46:09 spe Exp $
- + * $Id: vrrp_multicast.h,v 1.2 2004/02/23 16:20:14 spe Exp $
-   */
-  
-  #include <sys/types.h>
- @@ -40,7 +40,7 @@
-  #include <string.h>
-  #include <syslog.h>
-  #include <unistd.h>
- -#include <varargs.h>
- +#include <stdarg.h>
-  #include "vrrp_define.h"
-  #include "vrrp_proto.h"
-  #include "vrrp_functions.h"
- diff -urN vrrp_network.c src/vrrp_network.c
- --- vrrp_network.c	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_network.c	Tue Feb 24 11:55:51 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_network.c,v 1.4 2002/09/17 13:05:16 spe Exp $
- + * $Id: vrrp_network.c,v 1.5 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include <errno.h>
- @@ -124,18 +124,18 @@
-  	return 0;
-  }
-  
- -int
- +ssize_t
-  vrrp_network_send_packet(char *buffer, int sizebuf, int sd_bpf, int log)
-  {
-  	/* struct sockaddr_in addr; */
- -	size_t          octets;
- +	ssize_t          octets;
-  
-  	vrrp_thread_mutex_lock_bpf();
-  	vrrp_network_flush_bpf(sd_bpf);
-  	octets = write(sd_bpf, buffer, sizebuf);
-  	vrrp_network_flush_bpf(sd_bpf);
-  	vrrp_thread_mutex_unlock_bpf();
- -	if (octets == -1) {
- +	if (octets < 0) {
-  		if (log)
-  			syslog(LOG_ERR, "can't write to bpf socket descriptor (pseudo_device bpf not activated in kernel ?)");
-  		return -1;
- @@ -221,7 +221,7 @@
-  {
-  	u_char         *buffer;
-  	u_int           len = ETHER_HDR_LEN + sizeof(struct ip) + vrrp_network_vrrphdr_len(vr);
- -	int		error;
- +	ssize_t		bytes = 0;
-  
-  	buffer = (u_char *) malloc(len);
-  	bzero(buffer, len);
- @@ -230,17 +230,17 @@
-  	vrrp_network_init_ethhdr(buffer, vr);
-  	vrrp_network_init_vrrphdr(buffer, vr);
-  
- -	error = vrrp_network_send_packet(buffer, len, vr->sd_bpf, ! vr->fault);
- -	if (error < 0) {
- +	if (vr->fault)
- +		bytes = vrrp_network_send_packet(buffer, len, vr->sd_bpf, 0);
- +	else
- +		bytes = vrrp_network_send_packet(buffer, len, vr->sd_bpf, 1);
- +	if (bytes < 0) {
- +		syslog(LOG_ERR, "There is a big problem here !");
-  		vr->fault = 1;
-  		free(buffer);
-  		return -1;
-  	}
- -	else {
- -		if (vr->fault)
- -			vr->fault = 0;
- -	}
- -
- +	vr->fault = 0;
-  	free(buffer);
-  
-  	return 0;
- @@ -335,7 +335,12 @@
-  	bzero(&rtmsg, sizeof(rtmsg));
-  	rtm.rtm_type = RTM_DELETE;
-  	rtm.rtm_version = RTM_VERSION;
- +#ifdef __FreeBSD__
-  	rtm.rtm_flags = RTF_UP | RTF_HOST | RTF_LOCAL | RTF_WASCLONED;
- +#endif
- +#ifdef __NetBSD__
- +	rtm.rtm_flags = RTF_UP | RTF_HOST | RTF_CLONED;
- +#endif
-  	rtm.rtm_addrs = RTA_DST;
-  	rtm.rtm_msglen = sizeof(rtmsg);
-  	rtmsg.addr.sin_len = sizeof(rtmsg.addr);
- diff -urN vrrp_network.h src/vrrp_network.h
- --- vrrp_network.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_network.h	Tue Feb 24 11:55:51 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_network.h,v 1.1.1.1 2002/05/23 15:46:09 spe Exp $
- + * $Id: vrrp_network.h,v 1.3 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include <sys/ioctl.h>
- @@ -38,8 +38,13 @@
-  #include <sys/socket.h>
-  #include <sys/uio.h>
-  #include <net/bpf.h>
- -#include <net/ethernet.h>
-  #include <net/if.h>
- +#ifdef __FreeBSD__
- +#include <net/ethernet.h>
- +#endif
- +#ifdef __NetBSD__
- +#include <net/if_ether.h>
- +#endif
-  #include <net/route.h>
-  #include <netinet/in_systm.h>
-  #include <netinet/in.h>
- @@ -52,10 +57,14 @@
-  #include <string.h>
-  #include <syslog.h>
-  #include <unistd.h>
- -#include <varargs.h>
- +#include <stdarg.h>
-  #include "vrrp_define.h"
-  #include "vrrp_proto.h"
-  #include "vrrp_functions.h"
- +
- +#ifdef __NetBSD__
- +#define octet ether_addr_octet
- +#endif
-  
-  struct arp_header {
-  	u_short         ar_hrd;	/* format of hardware address */
- diff -urN vrrp_proto.h src/vrrp_proto.h
- --- vrrp_proto.h	Thu Jan 30 11:50:55 2003
- +++ src/vrrp_proto.h	Tue Feb 24 11:55:51 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_proto.h,v 1.5 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_proto.h,v 1.3 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #ifndef _VRRP_PROTO_H
- @@ -38,7 +38,12 @@
-  #include <sys/types.h>
-  #include <sys/socket.h>
-  #include <net/if.h>
- +#ifdef __FreeBSD__
-  #include <net/ethernet.h>
- +#endif
- +#ifdef __NetBSD__
- +#include <net/if_ether.h>
- +#endif
-  #include <netinet/in.h>
-  #include "vrrp_define.h"
-  
- @@ -73,6 +78,7 @@
-  	struct ether_addr ethaddr;
-  	struct ether_addr actualethaddr;
-  	struct vrrp_ethaddr_list *p, *d;
- +	int		carrier_timeout;
-  };
-  
-  struct vrrp_vip {
- diff -urN vrrp_signal.c src/vrrp_signal.c
- --- vrrp_signal.c	Thu Jan 30 11:50:56 2003
- +++ src/vrrp_signal.c	Sun Feb 15 12:55:26 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_signal.c,v 1.3 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_signal.c,v 1.1.1.1 2004/02/15 12:55:26 spe Exp $
-   */
-  
-  #include <string.h>
- diff -urN vrrp_signal.h src/vrrp_signal.h
- --- vrrp_signal.h	Thu Jan 30 11:50:56 2003
- +++ src/vrrp_signal.h	Tue Feb 24 11:55:51 2004
- @@ -29,16 +29,20 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_signal.h,v 1.1.1.1 2002/05/23 15:46:10 spe Exp $
- + * $Id: vrrp_signal.h,v 1.3 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include <unistd.h>
-  #include <signal.h>
-  #include <stdlib.h>
-  #include <syslog.h>
- -#include <varargs.h>
- +#include <stdarg.h>
-  #include "vrrp_define.h"
-  #include "vrrp_proto.h"
-  #include "vrrp_functions.h"
- +
- +#ifdef __NetBSD__
- +#define octet ether_addr_octet
- +#endif
-  
-  extern struct vrrp_vr *vr_ptr[VRRP_PROTOCOL_MAX_VRID];
- diff -urN vrrp_state.c src/vrrp_state.c
- --- vrrp_state.c	Fri May  9 10:29:11 2003
- +++ src/vrrp_state.c	Mon Feb 23 16:17:12 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_state.c,v 1.6 2002/09/17 13:05:16 spe Exp $
- + * $Id: vrrp_state.c,v 1.2 2004/02/23 16:17:12 spe Exp $
-   */
-  
-  #include <stdlib.h>
- @@ -51,11 +51,15 @@
-  char 
-  vrrp_state_set_master(struct vrrp_vr * vr)
-  {
- +	int returnCode = 0;
- +	int counter = 0;
- +
-  	/* Tester si sd_bpf n'est pas egal a -1 */
-  
-  	vrrp_list_add(vr, &vr->ethaddr);
-  	vrrp_network_send_advertisement(vr);
-  	vrrp_thread_mutex_lock();
- +	vrrp_thread_mutex_lock_monitor();
-  	if (vrrp_interface_down(vr->vr_if->if_name) == -1) {
-  		vrrp_thread_mutex_unlock();
-  		return -1;
- @@ -73,9 +77,18 @@
-  		vrrp_thread_mutex_unlock();
-  		return -1;
-  	}
- -	vrrp_thread_mutex_unlock();
- +
- +	/* Some NICs will reset (eg: bge/em) and wait some seconds before becoming carrier again */
- +	/* So we must wait for carrier */
- +	for (counter = 0; (counter < vr->vr_if->carrier_timeout) && (returnCode != 1); counter++) {
- +		returnCode = vrrp_moncircuit_interface_status(vr->sd, vr->vr_if->if_name);
- +		sleep(1);
- +	}
- +
- +	vrrp_thread_mutex_unlock_monitor();
-  	if (vrrp_network_send_gratuitous_arp_ips(vr, &vr->ethaddr) == -1)
-  		return -1;
- +	vrrp_thread_mutex_unlock();
-  	if (vrrp_misc_calcul_tminterval(&vr->tm.adv_tm, vr->adv_int) == -1)
-  		return -1;
-  	vr->state = VRRP_STATE_MASTER;
- @@ -95,10 +108,13 @@
-  vrrp_state_set_backup(struct vrrp_vr * vr)
-  {
-  	struct ether_addr ethaddr;
- +	int returnCode = 0;
- +	int counter = 0;
-  
-  	vrrp_thread_mutex_lock();
-  	vrrp_interface_vripaddr_delete(vr);
-  	ethaddr = vrrp_list_get_last(vr);
- +	vrrp_thread_mutex_lock_monitor();
-  	if (vrrp_interface_down(vr->vr_if->if_name) == -1) {
-  		vrrp_thread_mutex_unlock();
-  		return -1;
- @@ -112,6 +128,15 @@
-  		vrrp_thread_mutex_unlock();
-  		return -1;
-  	}
- +
- +	/* Some NICs will reset (eg: bge/em) and wait some seconds before becoming carrier again */
- +	/* So we must wait for carrier */
- +	for (counter = 0; (counter < vr->vr_if->carrier_timeout) && (returnCode != 1); counter++) {
- +		returnCode = vrrp_moncircuit_interface_status(vr->sd, vr->vr_if->if_name);
- +		sleep(1);
- +	}
- +	vrrp_thread_mutex_unlock_monitor();
- +
-  	if (vrrp_network_send_gratuitous_arp_ips(vr, &ethaddr) == -1)
-  		return -1;
-  	vrrp_thread_mutex_unlock();
- diff -urN vrrp_state.h src/vrrp_state.h
- --- vrrp_state.h	Thu Jan 30 11:50:56 2003
- +++ src/vrrp_state.h	Mon Feb 23 16:20:14 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_state.h,v 1.1.1.1 2002/05/23 15:46:10 spe Exp $
- + * $Id: vrrp_state.h,v 1.3 2004/02/23 16:20:14 spe Exp $
-   */
-  
-  #include <sys/types.h>
- @@ -45,7 +45,9 @@
-  #include <string.h>
-  #include <syslog.h>
-  #include <unistd.h>
- -#include <varargs.h>
- +#include <stdarg.h>
-  #include "vrrp_define.h"
-  #include "vrrp_proto.h"
-  #include "vrrp_functions.h"
- +#include "vrrp_moncircuit.h"
- +#include "vrrp_thread.h"
- diff -urN vrrp_thread.c src/vrrp_thread.c
- --- vrrp_thread.c	Thu Jan 30 11:50:56 2003
- +++ src/vrrp_thread.c	Tue Feb 24 11:55:51 2004
- @@ -29,14 +29,14 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_thread.c,v 1.2 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_thread.c,v 1.3 2004/02/24 11:55:51 spe Exp $
-   */
-  
-  #include <stdlib.h>
-  #include "vrrp_thread.h"
-  #include "vrrp_moncircuit.h"
-  
- -pthread_mutex_t pth_mutex, pth_mutex_bpf;
- +pthread_mutex_t pth_mutex, pth_mutex_bpf, pth_mutex_monitor;
-  
-  void 
-  vrrp_thread_mutex_lock(void)
- @@ -70,8 +70,22 @@
-  	return;
-  }
-  
- +void vrrp_thread_mutex_lock_monitor(void)
- +{
- +	pthread_mutex_lock(&pth_mutex_monitor);
- +
- +	return;
- +}
- +
- +void vrrp_thread_mutex_unlock_monitor(void)
- +{
- +	pthread_mutex_unlock(&pth_mutex_monitor);
- +
- +	return;
- +}
- +
-  void 
- -vrrp_thread_launch_vrrprouter(int *args)
- +vrrp_thread_launch_vrrprouter(void *args[2])
-  {
-  	struct vrrp_vr *vr = (struct vrrp_vr *)args[0];
-  	sem_t *sem = (sem_t *)args[1];
- @@ -116,9 +130,9 @@
-  vrrp_thread_create_vrid(struct vrrp_vr * vr)
-  {
-  	pthread_t       pth;
- -	pthread_attr_t  pth_attr = NULL;
- +	pthread_attr_t  pth_attr;
-  	sem_t		sem;
- -	int		*args[2];
- +	void		*args[2];
-  
-          if (sem_init(&sem, 0, 0) == -1) {
-  		syslog(LOG_ERR, "can't initialize an unnamed semaphore [ SEM, 0, 0 ]");
- @@ -132,8 +146,8 @@
-  		syslog(LOG_ERR, "can't set thread attributes [ PTH_ATTR, PTHREAD_CREATE_DETACHED ]");
-  		return -1;
-  	}
- -	args[0] = (int *)vr;
- -	args[1] = (int *)&sem;
- +	args[0] = vr;
- +	args[1] = &sem;
-  	if (pthread_create(&pth, &pth_attr, (void *)&vrrp_thread_launch_vrrprouter, args) != 0) {
-  		syslog(LOG_ERR, "can't create new thread [ PTH, PTH_ATTR, VRRP_THREAD_READ_SOCKET ]");
-  		return -1;
- @@ -147,10 +161,10 @@
-  int vrrp_thread_create_moncircuit(void)
-  {
-  	pthread_t	pth;
- -	pthread_attr_t	pth_attr = NULL;
- +	pthread_attr_t	pth_attr;
-  	sem_t		sem;
-  	int		delay = VRRP_MONCIRCUIT_MONDELAY;
- -	int		*args[2];
- +	void		*args[2];
-  
-  	if (sem_init(&sem, 0, 0) == -1) {
-  		syslog(LOG_ERR, "can't initialize an unnamed semaphore [ SEM, 0, 0 ]");
- @@ -164,8 +178,8 @@
-  		syslog(LOG_ERR, "can't set thread attributes [ PTH_ATTR, PTHREAD_CREATE_DETACHED ]");
-  		return -1;
-  	}
- -	args[0] = (int *)&delay;
- -	args[1] = (int *)&sem;
- +	args[0] = &delay;
- +	args[1] = &sem;
-  	if (pthread_create(&pth, &pth_attr, (void *)&vrrp_moncircuit_monitor_thread, args) != 0) {
-  		syslog(LOG_ERR, "can't create new thread [ PTH, PTH_ATTR, VRRP_THREAD_READ_SOCKET ]");
-  		return -1;
- diff -urN vrrp_thread.h src/vrrp_thread.h
- --- vrrp_thread.h	Thu Jan 30 11:50:56 2003
- +++ src/vrrp_thread.h	Mon Feb 23 16:17:12 2004
- @@ -29,7 +29,7 @@
-   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-   * SUCH DAMAGE.
-   *
- - * $Id: vrrp_thread.h,v 1.2 2002/09/17 12:51:48 spe Exp $
- + * $Id: vrrp_thread.h,v 1.2 2004/02/23 16:17:12 spe Exp $
-   */
-  
-  #ifndef _VRRP_THREAD_H
- @@ -39,12 +39,13 @@
-  #include <semaphore.h>
-  #include <stdio.h>
-  #include <syslog.h>
- -#include <varargs.h>
-  #include "vrrp_define.h"
-  #include "vrrp_proto.h"
-  #include "vrrp_functions.h"
-  
-  /* Functions */
-  int vrrp_thread_create_moncircuit(void);
- +void vrrp_thread_mutex_lock_monitor(void);
- +void vrrp_thread_mutex_unlock_monitor(void);
-  
-  #endif
--- 0 ----
diff -crN freevrrpd-old/files/patch-freevrrpd.sh.sample freevrrpd/files/patch-freevrrpd.sh.sample
*** freevrrpd-old/files/patch-freevrrpd.sh.sample	2002-12-04 21:03:40.000000000 +0100
--- freevrrpd/files/patch-freevrrpd.sh.sample	1970-01-01 01:00:00.000000000 +0100
***************
*** 1,14 ****
- 
- $FreeBSD: ports/net/freevrrpd/files/patch-freevrrpd.sh.sample,v 1.1 2002/12/04 20:03:40 olgeni Exp $
- 
- --- freevrrpd.sh.sample.orig	Mon Nov 25 11:09:10 2002
- +++ freevrrpd.sh.sample	Mon Nov 25 11:09:18 2002
- @@ -5,7 +5,7 @@
-  		[ -x /usr/local/sbin/freevrrpd ] && /usr/local/sbin/freevrrpd && echo -n ' freevrrpd'
-  		;;
-  	stop)
- -		killall freevrrpd > /dev/null 2>&1 & && echo -n ' freevrrpd'
- +		killall freevrrpd > /dev/null 2>&1 && echo -n ' freevrrpd'
-  		;;
-  	*)
-  		echo ""
--- 0 ----
diff -crN freevrrpd-old/pkg-descr freevrrpd/pkg-descr
*** freevrrpd-old/pkg-descr	2004-07-16 14:42:47.000000000 +0200
--- freevrrpd/pkg-descr	2005-01-20 15:01:52.000000000 +0100
***************
*** 1,5 ****
  freevrrpd is a VRRP (Virtual Router Redundancy Protocol) implementation
! daemon under FreeBSD.  freevrrpd is part of the High UpTime project.
  This daemon has been rewritten from scratch and is not based on
  existing projects.  In this second public release, you can find:
  
--- 1,5 ----
  freevrrpd is a VRRP (Virtual Router Redundancy Protocol) implementation
! daemon under FreeBSD, NetBSD and OpenBSD.
  This daemon has been rewritten from scratch and is not based on
  existing projects.  In this second public release, you can find:
  
***************
*** 18,22 ****
--- 18,23 ----
         * Using now only one BPF device for all VRID
         * Support netmask for Virtual IP addresses
         * Support for monitored circuit and dependances between VRIDs
+        * Support for VLAN pseudo devices under *BSD
  
  WWW: http://www.b0l.org/?idcategory=3&idsection=1
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list