mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-12-24 08:53:46 +08:00
186f9a76fd
Run from "make check" if "t_client.rc" is found in workdir or srcdir (copy t_client.rc-sample, fill in specifics for your test server) How does it work? - you run "sudo make check" (needs root access to configure tun if!) - t_client.sh reads t_client.rc from current dir or ${srcdir} - t_client.rc defines a number of "test suffixes" to run (could be "1" "2" "3" or "p2m", "p2p", "special" or whatever you like), and for each suffix, there's config variables to specify - how to call OpenVPN - which hosts to ping for IPv4 and IPv6 when OpenVPN is up (and actually before starting OpenVPN - to make the test more meaningful, I have decided that the test hosts must not ping before the tests starts) - which addresses must show up in the output of "ifconfig" after OpenVPN has started - all variables except OPENVPN_CONF_<x> are optional (this should all be fairly obvious from looking at t_client.rc-sample) - the script wants to connect to a well-defined OpenVPN server that will assign well-known IPv4 (and IPv6) addresses, have well-defined pingable addresse, etc. - so you need to setup the test server before the script is useful for you. (Whether you use certificates or username/password is up to you, you could even mix and match - run one test with certs, and one with user/pass against different target ports... :-) ) [we *could* run a "reference server" somewhere and ship a sample t_client.rc + cert so that users could use this right away, but I do not currently have the resources to run such a public server] - whatever the script does is logged to a newly created directory below the current directory (openvpn output, ifconfig+route before starting OpenVPN, while running it, after ending it) - important: at least on NetBSD and OpenBSD, the script will print one failure, because the tun0 interface created is not destroyed after openvpn ends. For OpenBSD, I have changed close_tun() to do so ("ifconfig tun0 destroy"), for NetBSD I have not yet changed anything - but I strongly believe that the output of "ifconfig+route" should be reverted to exactly how it looked like before OpenVPN was started, so I consider this a bug in the NetBSD-specific bits of OpenVPN (and will look into this). - the test framework has been tested on Linux, NetBSD and OpenBSD. It *should* work fine on FreeBSD and Solaris. It works on MacOS X (but the output looks funny, because /bin/sh does not implement "echo -e" - need to add configure trickery) It will *not* work on Windows yet - I haven't looked into what's needed to make it work (background processes and signals in mingw bash?), maybe it's as easy as adding the necessary "ipconfig" and "netsh" commands to print interface + routing config... - I have only tested "connect via IPv4 transport, use IPv4+IPv6 payload", but the framework is generic enough that "connect via IPv6 transport" should work just fine (just setup OPENVPN_CONF_x accordingly in the t_client.rc). - this is neither finished nor pretty, but it helps me a *lot* in quickly testing whether I broke anything when fiddling system-dependent code (tun.c, route.c) across multiple build hosts - so I hope this is going to be fairly useful to Samuli and the buildbot :-) Signed-off-by: Gert Doering <gert@greenie.muc.de> Acked-by: David Sommerseth <dazo@users.sourceforge.net> Signed-off-by: David Sommerseth <dazo@users.sourceforge.net> |
||
---|---|---|
contrib | ||
debug | ||
easy-rsa | ||
images | ||
install-win32 | ||
management | ||
msvc | ||
plugin | ||
sample-config-files | ||
sample-keys | ||
sample-scripts | ||
service-win32 | ||
suse | ||
tap-win32 | ||
win | ||
.mailmap | ||
.svncommitters | ||
.svnignore | ||
acinclude.m4 | ||
AUTHORS | ||
base64.c | ||
base64.h | ||
basic.h | ||
buffer.c | ||
buffer.h | ||
ChangeLog | ||
circ_list.h | ||
common.h | ||
config-win32.h | ||
configure.ac | ||
COPYING | ||
COPYRIGHT.GPL | ||
crypto.c | ||
crypto.h | ||
cryptoapi.c | ||
cryptoapi.h | ||
dhcp.c | ||
dhcp.h | ||
doclean | ||
domake-win | ||
doval | ||
dovalns | ||
errlevel.h | ||
error.c | ||
error.h | ||
event.c | ||
event.h | ||
fdmisc.c | ||
fdmisc.h | ||
forward-inline.h | ||
forward.c | ||
forward.h | ||
fragment.c | ||
fragment.h | ||
gremlin.c | ||
gremlin.h | ||
helper.c | ||
helper.h | ||
httpdigest.c | ||
httpdigest.h | ||
ieproxy.c | ||
ieproxy.h | ||
init.c | ||
init.h | ||
INSTALL | ||
INSTALL-win32.txt | ||
integer.h | ||
interval.c | ||
interval.h | ||
list.c | ||
list.h | ||
lladdr.c | ||
lladdr.h | ||
lzo.c | ||
lzo.h | ||
Makefile.am | ||
manage.c | ||
manage.h | ||
mbuf.c | ||
mbuf.h | ||
memcmp.c | ||
memdbg.h | ||
misc.c | ||
misc.h | ||
mroute.c | ||
mroute.h | ||
mss.c | ||
mss.h | ||
mtcp.c | ||
mtcp.h | ||
mtu.c | ||
mtu.h | ||
mudp.c | ||
mudp.h | ||
multi.c | ||
multi.h | ||
NEWS | ||
ntlm.c | ||
ntlm.h | ||
occ-inline.h | ||
occ.c | ||
occ.h | ||
openvpn-plugin.h | ||
openvpn.8 | ||
openvpn.c | ||
openvpn.h | ||
openvpn.spec.in | ||
options.c | ||
options.h | ||
otime.c | ||
otime.h | ||
packet_id.c | ||
packet_id.h | ||
perf.c | ||
perf.h | ||
pf-inline.h | ||
pf.c | ||
pf.h | ||
ping-inline.h | ||
ping.c | ||
ping.h | ||
pkcs11.c | ||
pkcs11.h | ||
plugin.c | ||
plugin.h | ||
pool.c | ||
pool.h | ||
PORTS | ||
proto.c | ||
proto.h | ||
proxy.c | ||
proxy.h | ||
ps.c | ||
ps.h | ||
push.c | ||
push.h | ||
pushlist.h | ||
README | ||
reliable.c | ||
reliable.h | ||
route.c | ||
route.h | ||
schedule.c | ||
schedule.h | ||
session_id.c | ||
session_id.h | ||
shaper.c | ||
shaper.h | ||
sig.c | ||
sig.h | ||
socket.c | ||
socket.h | ||
socks.c | ||
socks.h | ||
sources | ||
ssl.c | ||
ssl.h | ||
status.c | ||
status.h | ||
syshead.h | ||
t_client.rc-sample | ||
t_client.sh | ||
t_cltsrv-down.sh | ||
t_cltsrv.sh | ||
t_lpback.sh | ||
thread.c | ||
thread.h | ||
tun.c | ||
tun.h | ||
version.m4 | ||
win32.c | ||
win32.h |
OpenVPN -- A Secure tunneling daemon Copyright (C) 2002-2010 OpenVPN Technologies, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. ************************************************************************* For the latest version of OpenVPN, go to: http://openvpn.net/ To Build and Install, ./configure make make install or see the file INSTALL for more info. ************************************************************************* For detailed information on OpenVPN, including examples, see the man page http://openvpn.net/man.html For a sample VPN configuration, see http://openvpn.net/howto.html For a description of OpenVPN's underlying protocol, see the file ssl.h included in the source distribution. ************************************************************************* Other Files & Directories: * INSTALL-win32.txt -- installation instructions for Windows * configure.ac -- script to rebuild our configure script and makefile. * openvpn.spec -- RPM Spec file To build an OpenVPN binary RPM, use the command: rpmbuild -tb [tarball] When you install the binary RPM, it will automatically install sample-scripts/openvpn.init (see below) * sample-scripts/openvpn.init A sample init script for OpenVPN. See the file for comments and additional information. * sample-scripts/verify-cn A sample perl script which can be used with OpenVPN's --tls-verify option to provide a customized authentication test on embedded X509 certificate fields. * sample-keys/ Sample RSA keys and certificates. DON'T USE THESE FILES FOR ANYTHING OTHER THAN TESTING BECAUSE THEY ARE TOTALLY INSECURE. * sample-config-files/ A collection of OpenVPN config files and scripts from the HOWTO at http://openvpn.net/howto.html * easy-rsa/ A simple guide to RSA key management, scripts included. Also see http://openvpn.net/easyrsa.html