Update of /cvsroot/leaf/src/bering-uclibc4/source/openvpn
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv29406
Added Files:
buildtool.cfg buildtool.mk openvpn-2.1.3.tar.gz
openvpn.default openvpn.ifdown openvpn.ifup openvpn.init
Log Message:
new upstream version 2.1.3
--- NEW FILE: openvpn.ifup ---
#!/bin/sh
OPENVPN=/etc/init.d/openvpn
if [ ! -x $OPENVPN ]; then
exit 0
fi
if [ -n "$IF_OPENVPN" ]; then
$OPENVPN start $IF_OPENVPN
fi
--- NEW FILE: openvpn.ifdown ---
#!/bin/sh
OPENVPN=/etc/init.d/openvpn
if [ ! -x $OPENVPN ]; then
exit 0
fi
if [ -n "$IF_OPENVPN" ]; then
$OPENVPN stop $IF_OPENVPN
fi
--- NEW FILE: openvpn.default ---
# This is the configuration file for /etc/init.d/openvpn
#
# Start only these VPNs automatically via init script.
# Allowed values are "all", "none" or space separated list of
# names of the VPNs. If empty, "all" is assumed.
#
#AUTOSTART="all"
#AUTOSTART="none"
#AUTOSTART="client server"
#
# Refresh interval (in seconds) of default status files
# located in /var/run/openvpn.$NAME.status
# Defaults to 10, 0 disables status file generation
#
#STATUSREFRESH=10
#STATUSREFRESH=0
--- NEW FILE: buildtool.mk ---
include $(MASTERMAKEFILE)
# setup for openvpn 2.0
# based on the setup for 1.6 with enhancements for 2.0
# and changes by Charles Duffy
OPENVPN_DIR:=openvpn-2.1.3
OPENVPN_TARGET_DIR:=$(BT_BUILD_DIR)/openvpn
$(OPENVPN_DIR)/.source:
zcat $(OPENVPN_SOURCE) | tar -xvf -
perl -i -p -e 's,#!/bin/bash,#!/bin/sh,'
$(OPENVPN_DIR)/easy-rsa/2.0/clean-all
perl -i -p -e 's,#!/bin/bash,#!/bin/sh,'
$(OPENVPN_DIR)/easy-rsa/2.0/list-crl
perl -i -p -e 's,#!/bin/bash,#!/bin/sh,'
$(OPENVPN_DIR)/easy-rsa/2.0/revoke-full
perl -i -p -e 's,#!/bin/bash,#!/bin/sh,'
$(OPENVPN_DIR)/easy-rsa/2.0/vars
perl -i -p -e 's,^export D=.*$$,export D=/etc/openvpn,'
$(OPENVPN_DIR)/easy-rsa/2.0/vars
perl -i -p -e 's,^export KEY_CONFIG.*$$,export
KEY_CONFIG=/etc/easyrsa/openssl.cnf,' $(OPENVPN_DIR)/easy-rsa/2.0/vars
perl -i -p -e 's,group nobody,group nogroup,'
$(OPENVPN_DIR)/sample-config-files/server.conf
perl -i -p -e 's,group nobody,group nogroup,'
$(OPENVPN_DIR)/sample-config-files/client.conf
perl -i -p -e 's,status openvpn-status.log,status
/var/log/openvpn-status.log,' $(OPENVPN_DIR)/sample-config-files/server.conf
perl -i -p -e 's,ifconfig-pool-persist ipp.txt,ifconfig-pool-persist
/var/lib/openvpn-ipp.txt,' $(OPENVPN_DIR)/sample-config-files/server.conf
touch $(OPENVPN_DIR)/.source
$(OPENVPN_DIR)/.build: $(OPENVPN_DIR)/.source
mkdir -p $(OPENVPN_TARGET_DIR)/etc/openvpn
mkdir -p $(OPENVPN_TARGET_DIR)/etc/init.d
mkdir -p $(OPENVPN_TARGET_DIR)/etc/default
mkdir -p $(OPENVPN_TARGET_DIR)/etc/network/if-up.d
mkdir -p $(OPENVPN_TARGET_DIR)/etc/network/if-down.d
mkdir -p $(OPENVPN_TARGET_DIR)/usr/sbin
# Build a version without lzo support
(cd $(OPENVPN_DIR); \
rm -rf config.cache; \
CFLAGS="$(BT_COPT_FLAGS)" \
CC=$(TARGET_CC) \
LD=$(TARGET_LD) \
./configure \
--with-ssl-headers=$(BT_STAGING_DIR)/usr/include \
--with-ssl-lib=$(BT_STAGING_DIR)/usr/lib \
--disable-dependency-tracking \
--enable-ssl \
--enable-iproute2 \
--with-iproute-path=/sbin/ip \
--includedir=$(BT_STAGING_DIR)/include \
--disable-lzo \
--disable-pthread \
--prefix=/usr \
--disable-socks \
--disable-http \
--disable-debug \
--enable-small \
--libdir=$(BT_STAGING_DIR)/lib );
make CC=$(TARGET_CC) -C $(OPENVPN_DIR)
$(BT_STRIP) $(BT_STRIP_BINOPS) $(OPENVPN_DIR)/openvpn
make DESTDIR=$(OPENVPN_TARGET_DIR) -C $(OPENVPN_DIR) install
cp $(OPENVPN_DIR)/sample-config-files/server.conf
$(OPENVPN_TARGET_DIR)/etc/openvpn/
cp $(OPENVPN_DIR)/sample-config-files/client.conf
$(OPENVPN_TARGET_DIR)/etc/openvpn/
cp openvpn.init $(OPENVPN_TARGET_DIR)/etc/init.d/openvpn
cp openvpn.default $(OPENVPN_TARGET_DIR)/etc/default/openvpn
cp openvpn.ifup
$(OPENVPN_TARGET_DIR)/etc/network/if-up.d/openvpn
cp openvpn.ifdown
$(OPENVPN_TARGET_DIR)/etc/network/if-down.d/openvpn
rm $(OPENVPN_DIR)/openvpn
# make sure lzo is disabled in the sample config
perl -i -p -e 's,^comp-lzo,;comp-lzo,'
$(OPENVPN_TARGET_DIR)/etc/openvpn/server.conf
perl -i -p -e 's,^comp-lzo,;comp-lzo,'
$(OPENVPN_TARGET_DIR)/etc/openvpn/client.conf
cp $(OPENVPN_DIR)/easy-rsa/2.0/clean-all
$(OPENVPN_TARGET_DIR)/usr/sbin/
cp $(OPENVPN_DIR)/easy-rsa/2.0/openssl.cnf
$(OPENVPN_TARGET_DIR)/usr/sbin/
cp $(OPENVPN_DIR)/easy-rsa/2.0/list-crl
$(OPENVPN_TARGET_DIR)/usr/sbin/
cp $(OPENVPN_DIR)/easy-rsa/2.0/inherit-inter
$(OPENVPN_TARGET_DIR)/usr/sbin/
cp $(OPENVPN_DIR)/easy-rsa/2.0/pkitool
$(OPENVPN_TARGET_DIR)/usr/sbin/
cp $(OPENVPN_DIR)/easy-rsa/2.0/sign-req
$(OPENVPN_TARGET_DIR)/usr/sbin/
cp $(OPENVPN_DIR)/easy-rsa/2.0/revoke-full
$(OPENVPN_TARGET_DIR)/usr/sbin/
cp $(OPENVPN_DIR)/easy-rsa/2.0/vars
$(OPENVPN_TARGET_DIR)/usr/sbin/
# clean up for the next round
make CC=$(TARGET_CC) -C $(OPENVPN_DIR) clean
# Build a version with lzo support
(cd $(OPENVPN_DIR); \
rm -rf config.cache; \
CFLAGS="$(BT_COPT_FLAGS)" \
CC=$(TARGET_CC) \
LD=$(TARGET_LD) \
./configure \
--with-ssl-headers=$(BT_STAGING_DIR)/usr/include \
--with-ssl-lib=$(BT_STAGING_DIR)/usr/lib \
--disable-dependency-tracking \
--enable-ssl \
--enable-iproute2 \
--with-iproute-path=/sbin/ip \
--with-lzo-headers=$(BT_STAGING_DIR)/usr/include \
--with-lzo-lib=$(BT_STAGING_DIR)/usr/lib \
--includedir=$(BT_STAGING_DIR)/include \
--disable-pthread \
--prefix=/usr \
--disable-socks \
--disable-http \
--disable-debug \
--enable-small \
--libdir=$(BT_STAGING_DIR)/lib );
make CC=$(TARGET_CC) -C $(OPENVPN_DIR)
$(BT_STRIP) $(BT_STRIP_BINOPTS) $(OPENVPN_DIR)/openvpn
cp $(OPENVPN_DIR)/sample-config-files/server.conf
$(OPENVPN_TARGET_DIR)/etc/openvpn/server.lzo.conf
cp $(OPENVPN_DIR)/sample-config-files/client.conf
$(OPENVPN_TARGET_DIR)/etc/openvpn/client.lzo.conf
mv $(OPENVPN_DIR)/openvpn
$(OPENVPN_TARGET_DIR)/usr/sbin/openvpn_lzo
cp -a $(OPENVPN_TARGET_DIR)/* $(BT_STAGING_DIR)
touch $(OPENVPN_DIR)/.build
source: $(OPENVPN_DIR)/.source
build: $(OPENVPN_DIR)/.build
clean:
-rm $(OPENVPN_DIR)/.build
make -C $(OPENVPN_DIR) clean
rm -rf $(OPENVPN_TARGET_DIR)
srcclean:
rm -rf $(OPENVPN_DIR)
rm -rf $(BT_STAGING_DIR)/etc/openvpn
rm -f $(BT_STAGING_DIR)/etc/init.d/openvpn
rm -f $(BT_STAGING_DIR)/etc/default/openvpn
rm -f $(BT_STAGING_DIR)/etc/network/if-up.d/openvpn
rm -f $(BT_STAGING_DIR)/etc/network/if-down.d/openvpn
rm -f $(BT_STAGING_DIR)/usr/sbin/openvpn
rm -f $(BT_STAGING_DIR)/usr/sbin/openvpn_lzo
--- NEW FILE: openvpn-2.1.3.tar.gz ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: buildtool.cfg ---
<File buildtool.mk>
Server = cvs4-sourceforge
directory = openvpn
revision = HEAD
</File>
<File openvpn-2.1.3.tar.gz>
Server = cvs4-sourceforge
envname = OPENVPN_SOURCE
directory = openvpn
revision = HEAD
</File>
<File openvpn.init>
Server = cvs4-sourceforge
directory = openvpn
revision = HEAD
</File>
<File openvpn.default>
Server = cvs4-sourceforge
directory = openvpn
revision = HEAD
</File>
<File openvpn.ifup>
Server = cvs4-sourceforge
directory = openvpn
revision = HEAD
</File>
<File openvpn.ifdown>
Server = cvs4-sourceforge
directory = openvpn
revision = HEAD
</File>
<Package>
<openvpn>
Version = 2.1.3
Revision = 1
Help <<EOF
Robust and highly flexible tunneling application
that uses all of the encryption, authentication, and
certification features
of the OpenSSL library to securely tunnel IP networks
over a single UDP port.
This version supports iproute2, so there is no need for
the route or ifconfig
binaries. Simply specify the "ifconfig" and "route"
options as described in
the OpenVPN docs, and the correct iproute2 commands
will be generated.
See: http://www.openvpn.net
Requires: libcrpto.lrp libssl.lrp
LEAF package by __PACKAGER__, __BUILDDATE__
EOF
<Permissions>
Files = 644
Directories = 755
</Permissions>
<Owner>
Files = root:root
Directories = root:root
</Owner>
<Contents>
<File>
Filename = etc/openvpn
Type = local
</File>
<File>
Filename = etc/openvpn/server.conf
Source = etc/openvpn/server.conf
Type = binary
</File>
<File>
Filename = etc/openvpn/client.conf
Source = etc/openvpn/client.conf
Type = binary
</File>
<File>
Filename = etc/default/openvpn
Source = etc/default/openvpn
Type = binary
Type = conf
Type = local
Description = openvpn daemon configuration
</File>
<File>
Filename = etc/openvpn/*.conf
Type = conf
</File>
<File>
Filename = usr/sbin/openvpn
Source = usr/sbin/openvpn
Type = binary
Permissions = 755
</File>
<File>
Filename = etc/init.d/openvpn
Source = etc/init.d/openvpn
Type = binary
Permissions = 755
</File>
<File>
Filename = etc/network/if-up.d/openvpn
Source = etc/network/if-up.d/openvpn
Type = binary
Permissions = 755
</File>
<File>
Filename = etc/network/if-down.d/openvpn
Source = etc/network/if-down.d/openvpn
Type = binary
Permissions = 755
</File>
<File>
Filename = usr/lib/openvpn
Type = directory
</File>
</Contents>
</openvpn>
<openvpnz>
Version = 2.1.3
Revision = 1
Help <<EOF
Robust and highly flexible tunneling application
that uses all of the encryption, authentication, and
certification features
of the OpenSSL library to securely tunnel IP networks
over a single UDP port.
It uses the Marcus Franz Xaver Johannes Oberhumer's LZO
library for
compression.
This version supports iproute2, so there is no need for
the route or ifconfig
binaries. Simply specify the "ifconfig" and "route"
options as described in
the OpenVPN docs, and the correct iproute2 commands
will be generated.
See: http://www.openvpn.net
Requires: libcrpto.lrp libssl.lrp liblzo.lrp
LEAF package by __PACKAGER__, __BUILDDATE__
EOF
<Permissions>
Files = 644
Directories = 755
</Permissions>
<Owner>
Files = root:root
Directories = root:root
</Owner>
<Contents>
<File>
Filename = etc/openvpn
Type = local
</File>
<File>
Filename = etc/openvpn/server.conf
Source = etc/openvpn/server.lzo.conf
Type = binary
</File>
<File>
Filename = etc/openvpn/client.conf
Source = etc/openvpn/client.lzo.conf
Type = binary
</File>
<File>
Filename = etc/default/openvpn
Source = etc/default/openvpn
Type = binary
Type = conf
Type = local
Description = openvpn daemon configuration
</File>
<File>
Filename = etc/openvpn/*.conf
Type = conf
</File>
<File>
Filename = usr/sbin/openvpn
Source = usr/sbin/openvpn_lzo
Type = binary
Permissions = 755
</File>
<File>
Filename = etc/init.d/openvpn
Source = etc/init.d/openvpn
Type = binary
Permissions = 755
</File>
<File>
Filename = etc/network/if-up.d/openvpn
Source = etc/network/if-up.d/openvpn
Type = binary
Permissions = 755
</File>
<File>
Filename = etc/network/if-down.d/openvpn
Source = etc/network/if-down.d/openvpn
Type = binary
Permissions = 755
</File>
<File>
Filename = usr/lib/openvpn
Type = directory
</File>
</Contents>
</openvpnz>
<easyrsa>
Version = 2.1.3
Revision = 1
Help <<EOF
This is a small RSA key management package, based on
the openssl command line
tool, that can be found in the easy-rsa subdirectory
See: http://www.openvpn.net
Requires: openssl.lrp
LEAF package by __PACKAGER__, __BUILDDATE__
INSTALL
1. Edit /etc/easyrsa/vars.
2. Set KEY_CONFIG to point to the openssl.cnf
file included in this distribution.
3. Set KEY_DIR to point to a directory which will
contain all keys, certificates, etc. This
directory need not exist, and if it does,
it will be deleted with rm -rf, so BE
CAREFUL how you set KEY_DIR.
4. (Optional) Edit other fields in vars
per your site data. You may want to
increase KEY_SIZE to 2048 if you are
paranoid and don't mind slower key
processing, but certainly 1024 is
fine for testing purposes. KEY_SIZE
must be compatible across both peers
participating in a secure SSL/TLS
connection.
5 . vars
6. ./clean-all
7. As you create certificates, keys, and
certificate signing requests, understand that
only .key files should be kept confidential.
.crt and .csr files can be sent over insecure
channels such as plaintext email.
IMPORTANT
To avoid a possible Man-in-the-Middle attack where an
authorized client tries to connect to another client by
impersonating the server, make sure to enforce some kind
of server certificate verification by clients. There are
currently four different ways of accomplishing this,
listed in the order of preference:
(1) Build your server certificates with the
using the --server option to pkitool.
This will designate the certificate as a
server-only certificate by setting
nsCertType=server.
Now add the following line to your
client configuration:
ns-cert-type server
This will block clients from connecting to any
server which lacks the nsCertType=server designation
in its certificate, even if the certificate has been
signed by the CA which is cited in the OpenVPN
configuration file (--ca directive).
(2) Use the --tls-remote directive on the client to
accept/reject the server connection based on the
common name of the server certificate.
(3) Use a --tls-verify script or plugin to accept/reject
the server connection based on a custom test of the
server certificate's embedded X509 subject details.
(4) Sign server certificates with one CA and client
certificates with a different CA. The client config
"ca" directive should reference the server-signing CA
while the server config "ca" directive should
reference the client-signing CA.
NOTES
Show certificate fields:
openssl x509 -in cert.crt -text
PKITOOL documentation
Typical usage for initial PKI setup. Build myserver,
client1, and client2 cert/keys.
Protect client2 key with a password. Build DH parms.
Generated files in ./keys :
[edit vars with your site-specific info]
source ./vars
./clean-all
./build-dh -> takes a long time, consider
backgrounding
./pkitool --initca
./pkitool --server myserver
./pkitool client1
./pkitool --pass client2
Typical usage for adding client cert to existing PKI:
source ./vars
./pkitool client-new
EOF
<Permissions>
Files = 644
Directories = 755
</Permissions>
<Owner>
Files = root:root
Directories = root:root
</Owner>
<Contents>
<File>
Filename = usr/sbin/clean-all
Source = usr/sbin/clean-all
Type = binary
Permissions = 755
</File>
<File>
Filename = usr/sbin/list-crl
Source = usr/sbin/list-crl
Type = binary
Permissions = 755
</File>
<File>
Filename = usr/sbin/revoke-full
Source = usr/sbin/revoke-full
Type = binary
Permissions = 755
</File>
<File>
Filename = etc/easyrsa/vars
Source = usr/sbin/vars
Type = binary
Type = local
Type = conf
Permissions = 644
</File>
<File>
Filename = etc/easyrsa/openssl.cnf
Source = usr/sbin/openssl.cnf
Type = binary
Type = local
Type = conf
Permissions = 644
</File>
<File>
Filename = usr/sbin/inherit-inter
Source = usr/sbin/inherit-inter
Type = binary
Permissions = 755
</File>
<File>
Filename = usr/sbin/pkitool
Source = usr/sbin/pkitool
Type = binary
Permissions = 755
</File>
<File>
Filename = usr/sbin/build-dh
Source = usr/sbin/build-dh
Type = binary
Permissions = 755
</File>
<File>
Filename = usr/sbin/sign-req
Source = usr/sbin/sign-req
Type = binary
Permissions = 755
</File>
</Contents>
</easyrsa>
</Package>
--- NEW FILE: openvpn.init ---
#!/bin/sh -e
#
# Original version by Robert Leslie
# <[email protected]>, edited by iwj and cs
# Modified for openvpn by Alberto Gonzalez Iniesta <[email protected]>
# Modified for restarting / starting / stopping single tunnels by Richard
Mueller <[email protected]>
RCDLINKS="0,K20 1,K20 2,S20 3,S20 4,S20 5,S20 6,K20"
DAEMON=/usr/sbin/openvpn
DESC="virtual private network daemon"
CONFIG_DIR=/etc/openvpn
test -x $DAEMON || exit 0
test -d $CONFIG_DIR || exit 0
# Source defaults file; edit that file to configure this script.
AUTOSTART="all"
STATUSREFRESH=10
if test -e /etc/default/openvpn ; then
. /etc/default/openvpn
fi
start_vpn () {
if grep -q '^[ ]*daemon' $CONFIG_DIR/$NAME.conf ; then
# daemon already given in config file
DAEMONARG=
else
# need to daemonize
DAEMONARG="--daemon ovpn-$NAME"
fi
if grep -q '^[ ]*status ' $CONFIG_DIR/$NAME.conf ; then
# status file already given in config file
STATUSARG=""
elif test $STATUSREFRESH -eq 0 ; then
# default status file disabled in /etc/default/openvpn
STATUSARG=""
else
# prepare default status file
STATUSARG="--status /var/run/openvpn.$NAME.status $STATUSREFRESH"
fi
echo -n " $NAME"
STATUS="OK"
$DAEMON --writepid /var/run/openvpn.$NAME.pid \
$DAEMONARG $STATUSARG --cd $CONFIG_DIR \
--config $CONFIG_DIR/$NAME.conf < /dev/null || STATUS="FAILED"
echo -n "($STATUS)"
}
stop_vpn () {
kill `cat $PIDFILE` || true
rm $PIDFILE
rm -f /var/run/openvpn.$NAME.status 2> /dev/null
}
case "$1" in
start)
echo -n "Starting $DESC:"
# autostart VPNs
if test -z "$2" ; then
# check if automatic startup is disabled by AUTOSTART=none
if test "x$AUTOSTART" = "xnone" -o -z "$AUTOSTART" ; then
echo " Autostart disabled."
exit 0
fi
if test -z "$AUTOSTART" -o "x$AUTOSTART" = "xall" ; then
# all VPNs shall be started automatically
for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
NAME=${CONFIG%%.conf}
start_vpn
done
else
# start only specified VPNs
for NAME in $AUTOSTART ; do
if test -e $CONFIG_DIR/$NAME.conf ; then
start_vpn
else
echo -n " (failure: No such VPN: $NAME)"
fi
done
fi
#start VPNs from command line
else
while shift ; do
[ -z "$1" ] && break
if test -e $CONFIG_DIR/$1.conf ; then
NAME=$1
start_vpn
else
echo -n " (failure: No such VPN: $1)"
fi
done
fi
echo "."
;;
stop)
echo -n "Stopping $DESC:"
if test -z "$2" ; then
for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
NAME=`echo $PIDFILE | cut -c18-`
NAME=${NAME%%.pid}
stop_vpn
echo -n " $NAME"
done
else
while shift ; do
[ -z "$1" ] && break
if test -e /var/run/openvpn.$1.pid ; then
PIDFILE=`ls /var/run/openvpn.$1.pid 2> /dev/null`
NAME=`echo $PIDFILE | cut -c18-`
NAME=${NAME%%.pid}
stop_vpn
echo -n " $NAME"
else
echo -n " (failure: No such VPN is running: $1)"
fi
done
fi
echo "."
;;
# We only 'reload' for running VPNs. New ones will only start with 'start' or
'restart'.
reload|force-reload)
echo -n "Reloading $DESC:"
for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
NAME=`echo $PIDFILE | cut -c18-`
NAME=${NAME%%.pid}
# If openvpn if running under a different user than root we'll need to restart
if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then
stop_vpn
sleep 1
start_vpn
echo -n "(restarted)"
else
kill -HUP `cat $PIDFILE` || true
echo -n " $NAME"
fi
done
echo "."
;;
restart)
shift
$0 stop $...@}
sleep 1
$0 start $...@}
;;
cond-restart)
echo -n "Restarting $DESC:"
for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
NAME=`echo $PIDFILE | cut -c18-`
NAME=${NAME%%.pid}
stop_vpn
sleep 1
start_vpn
done
echo "."
;;
*)
echo "Usage: $0 {start|stop|reload|restart|force-reload|cond-restart}" >&2
exit 1
;;
esac
exit 0
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
leaf-cvs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/leaf-cvs-commits