ports/57723: New port: net/openvmps (Open source VMPS server)
Craig Boston
craig at yekse.gank.org
Tue Oct 7 22:30:23 UTC 2003
>Number: 57723
>Category: ports
>Synopsis: New port: net/openvmps (Open source VMPS server)
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Oct 07 15:30:20 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Craig Boston
>Release: FreeBSD 5.1-CURRENT i386
>Organization:
N/A
>Environment:
System: FreeBSD xxxxx 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Wed Aug 27 00:38:33 CDT 2003 root at xxxxx:/usr/obj/usr/src/sys/XXXXX i386
>Description:
Provides a daemon for the VMPS (VLAN Management Policy Server)
protocol, which is used by many Cisco switches for automatic
VLAN assignment.
>How-To-Repeat:
N/A
>Fix:
--- openvmps.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# openvmps
# openvmps/pkg-plist
# openvmps/pkg-descr
# openvmps/distinfo
# openvmps/Makefile
# openvmps/files
# openvmps/files/patch-aa
# openvmps/files/patch-ab
# openvmps/files/vmpsd.sh
# openvmps/files/vmps.db
#
echo c - openvmps
mkdir -p openvmps > /dev/null 2>&1
echo x - openvmps/pkg-plist
sed 's/^X//' >openvmps/pkg-plist << 'END-of-openvmps/pkg-plist'
Xsbin/vmpsd
X at unexec if cmp -s %D/etc/vmps.db %D/etc/vmps.db.sample; then rm -f %D/etc/vmps.db; fi
Xetc/vmps.db.sample
Xetc/rc.d/vmpsd.sh
END-of-openvmps/pkg-plist
echo x - openvmps/pkg-descr
sed 's/^X//' >openvmps/pkg-descr << 'END-of-openvmps/pkg-descr'
XVMPS (VLAN Management Policy Server) is a way of assigning switch ports to
Xspecific VLANs based on the MAC address of connecting device. OpenVMPS is a
XGPL implementation of VMPS.
X
XWWW: http://vmps.sourceforge.net/
END-of-openvmps/pkg-descr
echo x - openvmps/distinfo
sed 's/^X//' >openvmps/distinfo << 'END-of-openvmps/distinfo'
XMD5 (vmpsd-1.0.tar.gz) = 801cef57df8be2db6536fd60e73a2a89
END-of-openvmps/distinfo
echo x - openvmps/Makefile
sed 's/^X//' >openvmps/Makefile << 'END-of-openvmps/Makefile'
X# New ports collection makefile for: openvmps
X# Date created: 6 October 2003
X# Whom: Craig Boston <craig at yekse.gank.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME= openvmps
XPORTVERSION= 1.0
XCATEGORIES= net
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= vmps
XDISTNAME= vmpsd-${PORTVERSION}
X
XMAINTAINER= craig at yekse.gank.org
XCOMMENT= A GPL implementation of the VMPS protocol
X
XUSE_RC_SUBR= yes
X
XGNU_CONFIGURE= yes
XUSE_GMAKE= yes
X
XCONFIGURE_ARGS=--bindir=${PREFIX}/sbin
X
XRC_SCRIPTS_SUB= PREFIX=${PREFIX} \
X RC_SUBR=${RC_SUBR}
X
Xpost-install:
X @${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
X ${FILESDIR}/vmpsd.sh > ${PREFIX}/etc/rc.d/vmpsd.sh
X @${CHMOD} 755 ${PREFIX}/etc/rc.d/vmpsd.sh
X ${INSTALL_DATA} -m 644 ${FILESDIR}/vmps.db \
X ${PREFIX}/etc/vmps.db.sample
X @if [ ! -f ${PREFIX}/etc/vmps.db ]; then \
X ${CP} -p ${PREFIX}/etc/vmps.db.sample ${PREFIX}/etc/vmps.db ; \
X fi
X
X.include <bsd.port.mk>
END-of-openvmps/Makefile
echo c - openvmps/files
mkdir -p openvmps/files > /dev/null 2>&1
echo x - openvmps/files/patch-aa
sed 's/^X//' >openvmps/files/patch-aa << 'END-of-openvmps/files/patch-aa'
X--- daemon.c.orig Mon Oct 6 16:32:28 2003
X+++ daemon.c Mon Oct 6 16:37:02 2003
X@@ -10,8 +10,10 @@
X #ifdef SETPGRP_VOID
X #define SYSV
X #else
X+#ifndef BSD
X #define BSD
X #endif
X+#endif
X
X extern int errno;
X
X@@ -30,7 +32,7 @@
X #ifdef BSD
X
X int pid;
X- union wait status;
X+ int status;
X while ( (pid = wait3(&status, WNOHANG, (struct rusage *) 0)) > 0 ) ;
X
X #endif
X@@ -105,7 +107,7 @@
X #ifdef BSD
X RETSIGTYPE sig_child();
X
X- signal(SIGCLD, sig_child);
X+ signal(SIGCHLD, sig_child);
X #else
X signal(SIGCLD,SIG_IGN);
X #endif
END-of-openvmps/files/patch-aa
echo x - openvmps/files/patch-ab
sed 's/^X//' >openvmps/files/patch-ab << 'END-of-openvmps/files/patch-ab'
X--- data.h.orig Mon Oct 6 16:38:37 2003
X+++ data.h Mon Oct 6 16:38:49 2003
X@@ -3,6 +3,7 @@
X #define __DATA__
X
X #include <search.h>
X+#include <unistd.h>
X
X #include <sys/socket.h>
X #include <netinet/in.h>
END-of-openvmps/files/patch-ab
echo x - openvmps/files/vmpsd.sh
sed 's/^X//' >openvmps/files/vmpsd.sh << 'END-of-openvmps/files/vmpsd.sh'
X#!/bin/sh
X
X# Start or stop vmpsd
X# $FreeBSD$
X
X# PROVIDE: vmpsd
X# REQUIRE: DAEMON
X# KEYWORD: FreeBSD shutdown
X#
X# NOTE for FreeBSD 5.0+:
X# If you want this script to start with the base rc scripts
X# move imapd.sh to /etc/rc.d/vmpsd
X
Xprefix=%%PREFIX%%
X
X# Define these vmpsd_* variables in one of these files:
X# /etc/rc.conf
X# /etc/rc.conf.local
X# /etc/rc.conf.d/vmpsd
X#
X# DO NOT CHANGE THESE DEFAULT VALUES HERE
X#
X[ -z "$vmpsd_enable" ] && vmpsd_enable="NO" # Enable vmpsd
X#vmpsd_program="${prefix}/sbin/vmpsd" # Location of vmpsd
X[ -z "$vmpsd_flags" ] && vmpsd_flags="-f /usr/local/etc/vmps.db" # Flags to vmpsd program
X
X. %%RC_SUBR%%
X
Xname="vmpsd"
Xrcvar=`set_rcvar`
Xcommand="${prefix}/sbin/${name}"
X
Xload_rc_config $name
Xrun_rc_command "$1"
END-of-openvmps/files/vmpsd.sh
echo x - openvmps/files/vmps.db
sed 's/^X//' >openvmps/files/vmps.db << 'END-of-openvmps/files/vmps.db'
X! $FreeBSD$
X!
X! Sample VLAN database file for OpenVMPS server
X!
X!vmps domain <domain-name>
X! The VMPS domain must be defined.
X!vmps mode { open | secure }
X! The default mode is open.
X!vmps fallback <vlan-name>
X!vmps no-domain-req { allow | deny }
X!
X! The default value is allow.
Xvmps domain CHANGE_THIS
Xvmps mode open
Xvmps fallback --NONE--
Xvmps no-domain-req deny
X!
X!
X!MAC Addresses
X!
X!vmps-mac-addrs
X!
X! address <addr> vlan-name <vlan_name>
X!
X! address 00a0.2460.c452 vlan-name ST
X! address 10a0.2460.c452 vlan-name ST
X! address 20a0.2460.c452 vlan-name ST
X! address 30a0.2460.c452 vlan-name ST
X! address 40a0.2460.c452 vlan-name ST
X! address 0090.278c.59d5 vlan-name ST
X!
X!Port Groups
X!
X!vmps-port-group <group-name>
X! device <device-id> { port <port-name> | all-ports }
X!
X!
X!
X!VLAN groups
X!
X!vmps-vlan-group <group-name>
X! vlan-name <vlan-name>
X!
X!
X!VLAN port Policies
X!
X!vmps-port-policies {vlan-name <vlan_name> | vlan-group <group-name> }
X! { port-group <group-name> | device <device-id> port <port-name> }
X!
END-of-openvmps/files/vmps.db
exit
--- openvmps.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list