summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2006-09-12 23:50:11 +0000
committerRoy Marples <uberlord@gentoo.org>2006-09-12 23:50:11 +0000
commite51b817986a8599e51662a0b0cb6afbc156165a1 (patch)
tree6d8f4b2ebe4d61c951f7d8908978a906a430f764 /net-misc/openvpn
parentAdd ~amd64 keyword. (diff)
downloadgentoo-2-e51b817986a8599e51662a0b0cb6afbc156165a1.tar.gz
gentoo-2-e51b817986a8599e51662a0b0cb6afbc156165a1.tar.bz2
gentoo-2-e51b817986a8599e51662a0b0cb6afbc156165a1.zip
Version bump, #147308 thanks to Alon Bar-Lev.
(Portage version: 2.1.1)
Diffstat (limited to 'net-misc/openvpn')
-rw-r--r--net-misc/openvpn/ChangeLog9
-rw-r--r--net-misc/openvpn/files/digest-openvpn-2.1_beta153
-rwxr-xr-xnet-misc/openvpn/files/up.sh16
-rw-r--r--net-misc/openvpn/openvpn-2.1_beta15.ebuild140
4 files changed, 163 insertions, 5 deletions
diff --git a/net-misc/openvpn/ChangeLog b/net-misc/openvpn/ChangeLog
index 8c7cc5ee3c1b..e53cb1696b9b 100644
--- a/net-misc/openvpn/ChangeLog
+++ b/net-misc/openvpn/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-misc/openvpn
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/openvpn/ChangeLog,v 1.92 2006/09/10 03:08:27 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openvpn/ChangeLog,v 1.93 2006/09/12 23:50:11 uberlord Exp $
+
+*openvpn-2.1_beta15 (12 Sep 2006)
+
+ 12 Sep 2006; Roy Marples <uberlord@gentoo.org> files/up.sh,
+ +openvpn-2.1_beta15.ebuild:
+ Version bump, #147308 thanks to Alon Bar-Lev.
+ Fix up.sh for FreeBSD.
10 Sep 2006; Roy Marples <uberlord@gentoo.org> files/openvpn-2.1.init:
Add FreeBSD support
diff --git a/net-misc/openvpn/files/digest-openvpn-2.1_beta15 b/net-misc/openvpn/files/digest-openvpn-2.1_beta15
new file mode 100644
index 000000000000..3c069678b83b
--- /dev/null
+++ b/net-misc/openvpn/files/digest-openvpn-2.1_beta15
@@ -0,0 +1,3 @@
+MD5 2ddc1878c99ea3a9b348275338f7d502 openvpn-2.1_beta15.tar.gz 776778
+RMD160 514246341a9979f1aec4c28b203d8a8f2c64408b openvpn-2.1_beta15.tar.gz 776778
+SHA256 35daa28523095d637bc694d4e22f9a0e075f9e8b910998ca7bf2576fa9d8cc05 openvpn-2.1_beta15.tar.gz 776778
diff --git a/net-misc/openvpn/files/up.sh b/net-misc/openvpn/files/up.sh
index f950577532b7..0a18876aae93 100755
--- a/net-misc/openvpn/files/up.sh
+++ b/net-misc/openvpn/files/up.sh
@@ -11,11 +11,19 @@
# and will use the first one that responds - maybe the LAN ones?
# non resolvconf users just the the VPN resolv.conf
-DNS="$(set | sed -n "s/^foreign_option_.* DNS \(.*\)'/nameserver \1/; T next; p;
- :next; s/^foreign_option_.* DOMAIN \(.*\)'/domain \1/; T; p;")"
+NS=
+DOMAIN=
+for var in ${!foreign_option_*} ; do
+ opt="${!var}"
+ if [[ ${opt} =~ "dhcp-option DOMAIN (.*)" ]] ; then
+ DOMAIN="${DNS}domain ${BASH_REMATCH[1]}\n"
+ elif [[ ${opt} =~ "dhcp-option DNS (.*)" ]] ; then
+ NS="${DNS}nameserver ${BASH_REMATCH[1]}\n"
+ fi
+done
-if [[ -n ${DNS} ]] ; then
- DNS="# Generated by openvpn for interface ${dev}\n${DNS}"
+if [[ -n ${NS} ]] ; then
+ DNS="# Generated by openvpn for interface ${dev}\n${DOMAIN}${NS}"
if [[ -x /sbin/resolvconf ]] ; then
echo -e "${DNS}" | /sbin/resolvconf -a "${dev}"
else
diff --git a/net-misc/openvpn/openvpn-2.1_beta15.ebuild b/net-misc/openvpn/openvpn-2.1_beta15.ebuild
new file mode 100644
index 000000000000..13f07e521e9d
--- /dev/null
+++ b/net-misc/openvpn/openvpn-2.1_beta15.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openvpn/openvpn-2.1_beta15.ebuild,v 1.1 2006/09/12 23:50:11 uberlord Exp $
+
+inherit eutils gnuconfig multilib
+
+DESCRIPTION="OpenVPN is a robust and highly flexible tunneling application compatible with many OSes."
+SRC_URI="http://openvpn.net/release/openvpn-${PV}.tar.gz"
+HOMEPAGE="http://openvpn.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc-macos ~sparc ~x86 ~x86-fbsd"
+IUSE="examples iproute2 minimal pam passwordsave selinux ssl static threads"
+
+DEPEND=">=dev-libs/lzo-1.07
+ kernel_linux? (
+ iproute2? ( sys-apps/iproute2 ) !iproute2? ( sys-apps/net-tools )
+ )
+ !minimal? ( pam? ( virtual/pam ) )
+ selinux? ( sec-policy/selinux-openvpn )
+ ssl? ( >=dev-libs/openssl-0.9.6 )"
+
+src_unpack() {
+ unpack ${A}
+ gnuconfig_update
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}"-2.0.4-darwin.patch
+}
+
+src_compile() {
+ local myconf=""
+ # We cannot use use_enable with iproute2 as the Makefile stupidly
+ # enables it with --disable-iproute2
+ use iproute2 && myconf="${myconf} --enable-iproute2"
+ if use minimal ; then
+ myconf="${myconf} --disable-plugins"
+ myconf="${myconf} --disable-pkcs11"
+ fi
+
+ econf ${myconf} \
+ $(use_enable passwordsave password-save) \
+ $(use_enable ssl) \
+ $(use_enable ssl crypto) \
+ $(use_enable threads pthread) \
+ || die "configure failed"
+
+ use static && sed -e -i '/^LIBS/s/LIBS = /LIBS = -static /' Makefile
+
+ emake || die "make failed"
+
+ if ! use minimal ; then
+ cd plugin
+ for i in $( ls 2>/dev/null ); do
+ [[ ${i} == "README" || ${i} == "examples" ]] && continue
+ [[ ${i} == "auth-pam" ]] && ! use pam && continue
+ einfo "Building ${i} plugin"
+ cd "${i}"
+ emake || die "make failed"
+ cd ..
+ done
+ cd ..
+ fi
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+
+ # install documentation
+ dodoc AUTHORS ChangeLog PORTS README
+
+ # Empty dir
+ dodir /etc/openvpn
+ keepdir /etc/openvpn
+
+ # Install some helper scripts
+ exeinto /etc/openvpn
+ doexe "${FILESDIR}/up.sh"
+ doexe "${FILESDIR}/down.sh"
+
+ # Install the init script
+ newinitd "${FILESDIR}/openvpn-2.1.init" openvpn
+
+ # install examples, controlled by the respective useflag
+ if use examples ; then
+ # dodoc does not supportly support directory traversal, #15193
+ insinto /usr/share/doc/${PF}/examples
+ doins -r sample-{config-files,keys,scripts} contrib
+ prepalldocs
+ fi
+
+ # Install plugins and easy-rsa
+ if ! use minimal ; then
+ cd easy-rsa/2.0
+ make install "DESTDIR=${D}/usr/share/${PN}/easy-rsa"
+
+ exeinto "/usr/$(get_libdir)/${PN}"
+ doexe plugin/*/*.so
+ fi
+}
+
+pkg_postinst() {
+ # Add openvpn user so openvpn servers can drop privs
+ # Clients should run as root so they can change ip addresses,
+ # dns information and other such things.
+ enewgroup openvpn
+ enewuser openvpn "" "" "" openvpn
+
+ if [[ -n $(ls /etc/openvpn/*/local.conf 2>/dev/null) ]] ; then
+ ewarn "WARNING: The openvpn init script has changed"
+ ewarn ""
+ fi
+
+ einfo "The openvpn init script expects to find the configuration file"
+ einfo "openvpn.conf in /etc/openvpn along with any extra files it may need."
+ einfo ""
+ einfo "To create more VPNs, simply create a new .conf file for it and"
+ einfo "then create a symlink to the openvpn init script from a link called"
+ einfo "openvpn.newconfname - like so"
+ einfo " cd /etc/openvpn"
+ einfo " ${EDITOR##*/} foo.conf"
+ einfo " cd /etc/init.d"
+ einfo " ln -s openvpn openvpn.foo"
+ einfo ""
+ einfo "You can then treat openvpn.foo as any other service, so you can"
+ einfo "stop one vpn and start another if you need to."
+
+ if grep -Eq "^[ \t]*(up|down)[ \t].*" ${ROOT}/etc/openvpn/*.conf 2>/dev/null ; then
+ ewarn ""
+ ewarn "WARNING: If you use the remote keyword then you are deemed to be"
+ ewarn "a client by our init script and as such we force up,down scripts."
+ ewarn "These scripts call /etc/openvpn/\$SVCNAME-{up,down}.sh where you"
+ ewarn "can move your scripts to."
+ fi
+
+ if ! use minimal ; then
+ einfo ""
+ einfo "plugins have been installed into /usr/$(get_libdir)/${PN}"
+ fi
+}