Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
644 commits
Select commit Hold shift + click to select a range
95bcf13
Remove unused variable in argv_printf_arglist()
dsommers Nov 16, 2016
8a1f535
Preparing for release v2.4_beta1 (ChangeLog, version.m4)
dsommers Nov 17, 2016
237fd7f
Changes.rst: Fixing wrong formatting
dsommers Nov 18, 2016
8025a62
Document that tls-crypt also supports inline
schwabe Nov 19, 2016
c593885
multi_process_float: revert part of c14c4a9e
syzzer Nov 19, 2016
6ede22c
Fix warning that RAND_bytes is undeclared
schwabe Nov 19, 2016
35be7e0
Remove compat-stdbool.h.
schwabe Nov 19, 2016
3212d0c
Fix various compiler warnings
schwabe Nov 19, 2016
e5fc56a
Remove remaining traces of compat-stdbool.h
cron2 Nov 20, 2016
d6ad8ca
Do not set ipv6 address if '--ip-win32 manual' is used
selvanair Nov 20, 2016
94bfc25
Stub implementation of "--dhcp-option DNS6 <v6addr>"
cron2 Nov 21, 2016
786e06a
Handle --dhcp-option DNS6 on Windows using netsh
selvanair Nov 22, 2016
39b7d4d
Handle DNS6 option on Android
schwabe Nov 22, 2016
418d2d9
--tls-crypt fixes
syzzer Nov 22, 2016
da94114
Change cmocka remote to use https in stead of git protocol
syzzer Nov 22, 2016
48d4141
generate_key_expansion: make assumption explicit, use C99 features
syzzer Nov 22, 2016
f8a367f
Document the --auth-token option
dsommers Sep 17, 2016
6e5ad2f
Poor man's NCP for non-NCP peers
syzzer Nov 23, 2016
e2ffdb7
Refactor data channel key generation API
syzzer Nov 23, 2016
c098016
Set IPv6 DNS servers using interactive service
selvanair Nov 24, 2016
9bc2be7
Preparing OpenVPN v2.4_beta2 release
dsommers Nov 24, 2016
06c5446
tls_process: don't set variable that's never read
syzzer Nov 28, 2016
7182578
Unconditionally enable TLS_AGGREGATE_ACK
syzzer Nov 28, 2016
2940401
Clean up format_hex_ex()
syzzer Nov 28, 2016
7f7d6b2
update year in copyright message
eworm-de Nov 28, 2016
6c6456f
Fix windows path in Changes.rst
cron2 Nov 28, 2016
f25a021
Map restart signals from event loop to SIGTERM during exit-notificati…
selvanair Nov 29, 2016
009521a
Introduce and use secure_memzero() to erase secrets
syzzer Nov 28, 2016
9977953
When parsing '--setenv opt xx ..' make sure a third parameter is present
selvanair Nov 30, 2016
788e5e4
Force 'def1' method when --redirect-gateway is done through service
selvanair Nov 30, 2016
fb56058
Do not restart dns client service as a part of --register-dns processing
selvanair Nov 30, 2016
ce91c18
reload CRL only if file was modified
ordex Dec 1, 2016
1c587a1
Mention that OpenVPN 2.4 requires Windows Vista or higher
mattock Dec 1, 2016
c593189
Use systemd service manager notification
eworm-de Dec 1, 2016
7660bba
Refuse to daemonize when running from systemd
eworm-de Dec 1, 2016
e739d7f
Preparing OpenVPN v2.4_rc1 release
dsommers Dec 1, 2016
251cc8f
Correctly state the default dhcp server address in man page
selvanair Dec 2, 2016
e62eccf
Fix wrong configure.ac parsing of --enable-async-push
dsommers Dec 6, 2016
7084a39
Arm inotify only in server mode
lstipakov Dec 6, 2016
212ef1a
Add "async push" feature to Changes.rst
Dec 7, 2016
e35a788
Refactor setting close-on-exec for socket FDs
cron2 Dec 6, 2016
84f88ca
Fix (and cleanup) crypto flags in combination with NCP
syzzer Dec 7, 2016
4969f0d
Deprecate --no-iv
syzzer Dec 7, 2016
c00919e
mbedtls: include correct net/net_sockets header according to version
mkrkn Dec 9, 2016
54e386b
Changes: Further improve systemd unit file updates
dsommers Dec 9, 2016
65140a3
systemd: Intermediate --chroot fix with the new sd_notify() implement…
dsommers Dec 7, 2016
c22428f
Unhide a line in man page by fixing a typo
selvanair Dec 13, 2016
07d0d73
man: mention that --ecdh-curve does not work on mbed TLS builds
syzzer Dec 13, 2016
1a8f6b9
Further enhance async-push feature description
dsommers Dec 14, 2016
a7acb6b
Changes.rst: Mainatiner update on C99
dsommers Dec 13, 2016
2417d55
dev-tools: Add reformat-all.sh for code style unification
dsommers Dec 14, 2016
81d882d
The Great Reformatting - first phase
dsommers Dec 14, 2016
1f004b2
Merge 'reformatting' branch into master
dsommers Dec 15, 2016
ec4dff3
Don't reopen tun if cipher changes
syzzer Dec 15, 2016
5d4cabf
auth-gen-token: Hardening memory cleanup on auth-token failuers
dsommers Dec 16, 2016
a5ae013
Preparing OpenVPN v2.4_rc2 release
dsommers Dec 16, 2016
0b159a6
dev-tools: Added script for updating copyright years in files
dsommers Dec 19, 2016
a0006fa
Update copyrights
dsommers Dec 21, 2016
203d7c8
docs: Further enhance the documentation related to SWEET32
dsommers Dec 23, 2016
9b42853
Document that RSA_SIGN can also request TLS 1.2 signatures
syzzer Dec 25, 2016
ebd2461
man: encourage user to read on about --tls-crypt
syzzer Dec 25, 2016
554504c
Remove IV_RGI6=1 peer-info signalling.
cron2 Dec 25, 2016
febeb48
man: Remove references to no longer present IV_RGI6 peer-info
dsommers Dec 26, 2016
1fd40c7
Textual fixes for Changes.rst
syzzer Dec 26, 2016
b83ff52
build: Ensure Changes.rst is shipped and installed as a doc file
dsommers Dec 27, 2016
307abe7
Preparing OpenVPN v2.4.0 release
dsommers Dec 26, 2016
bf72ae6
Fix push options digest update
selvanair Jan 3, 2017
6650911
Crash in options.c
gvanem Jan 2, 2017
139cd1b
Always release dhcp address in close_tun() on Windows.
selvanair Jan 3, 2017
6204fcc
man: fix formatting for alternative option
eworm-de Dec 28, 2016
a853cd0
management: >REMOTE operation would overwrite ce change indicator
dsommers Jan 10, 2017
977f0b9
management: Remove a redundant #ifdef block
dsommers Jan 10, 2017
9c2506d
More broadly enforce Allman style and braces-around-conditionals
syzzer Jan 14, 2017
2f5f1d8
Add a check for -Wl, --wrap support in linker
selvanair Jan 18, 2017
2a7c994
git: Merge .gitignore files into a single file
dsommers Jan 20, 2017
5cf585c
Use SHA256 for the internal digest, instead of MD5
syzzer Jan 22, 2017
041fd64
systemd: Move the READY=1 signalling to an earlier point
dsommers Jan 24, 2017
a125229
systemd: Use automake tools to install unit files
eworm-de Jan 24, 2017
e549222
systemd: Do not race on RuntimeDirectory
eworm-de Jan 24, 2017
ba3ccaf
systemd: Add more security feature for systemd units
eworm-de Dec 27, 2016
05baa0e
Clean up plugin path handling
eworm-de Jan 25, 2017
cb17255
plugin: Remove GNUism in openvpn-plugin.h generation
eworm-de Jan 27, 2017
31af45a
Resolve several travis-ci issues
chipitsine Jan 29, 2017
fb802b9
Fix building with LibreSSL 2.5.1 by cleaning a hack.
OlivierW1 Feb 13, 2017
c4c3597
OpenSSL: check for the SSL reason, not the full error
emmanuel-deloget Feb 17, 2017
a9743bf
Fix user's group membership check in interactive service to work with…
selvanair Jan 14, 2017
c74d574
attempt to add IPv6 route even when no IPv6 address was configured
ordex Jan 31, 2017
5340f56
fix redirect-gateway behaviour when an IPv4 default route does not exist
ordex Jan 19, 2017
58efba5
OpenSSL: don't use direct access to the internal of X509_STORE_CTX
emmanuel-deloget Feb 17, 2017
b936ddf
OpenSSL: don't use direct access to the internal of SSL_CTX
emmanuel-deloget Feb 17, 2017
24bca7b
OpenSSL: don't use direct access to the internal of X509_STORE
emmanuel-deloget Feb 17, 2017
d782597
OpenSSL: don't use direct access to the internal of X509_OBJECT
emmanuel-deloget Feb 17, 2017
c9b4313
Fix segfault when using crypto lib without AES-256-CTR or SHA256
realsimix Feb 21, 2017
bbc671c
Add openssl_compat.h to openvpn_SOURCES
cron2 Feb 23, 2017
b97a5cc
OpenSSL: 1.1 fallout - fix configure on old autoconf
syzzer Feb 23, 2017
4c241ac
fix typo in notification message
eworm-de Feb 24, 2017
2085c1f
Fix '--dev null'
cron2 Feb 24, 2017
44bac29
OpenSSL: don't use direct access to the internal of RSA_METHOD
emmanuel-deloget Feb 23, 2017
d702b25
OpenSSL: SSLeay symbols are no longer available in OpenSSL 1.1
emmanuel-deloget Feb 17, 2017
0fa3df5
OpenSSL: use EVP_CipherInit_ex() instead of EVP_CipherInit()
emmanuel-deloget Feb 20, 2017
39e847e
travis-ci: remove unused files
chipitsine Mar 5, 2017
8be20c2
Fix types in WIN32 socket_listen_accept()
syzzer Mar 9, 2017
19d6cd4
Remove duplicate X509 env variables
syzzer Mar 9, 2017
3fa8631
Fix Building Using MSVC
Mar 15, 2017
6331385
CRL: use time_t instead of struct timespec to store last mtime
ordex Mar 16, 2017
ce40258
Fix non-C99-compliant builds: don't use const size_t as array length
syzzer Mar 16, 2017
57637d0
Deprecate --ns-cert-type
syzzer Mar 4, 2017
60b2323
Be less picky about keyUsage extensions
syzzer Mar 15, 2017
d21bed9
plugin: Improve the handling of default plug-in directory
dsommers Jan 27, 2017
0dc7908
ignore remote-random-hostname if a numeric host is provided
ordex Jan 30, 2017
860d79b
cleanup: Remove faulty env processing functions
dsommers Feb 25, 2017
46e6549
Fix installation of IPv6 host route to VPN server when using iservice.
cron2 Mar 19, 2017
037669f
Make ENABLE_OCC no longer depend on !ENABLE_SMALL
cron2 Mar 19, 2017
bb9d4c9
Preparing for release v2.4.1 (ChangeLog, version.m4)
cron2 Mar 21, 2017
a52fd95
auth-token: Ensure tokens are always wiped on de-auth
dsommers Mar 28, 2017
8731dfa
docs: Fixed man-page warnings discoverd by rpmlint
dsommers Mar 29, 2017
1935729
Make --cipher/--auth none more explicit on the risks
dsommers Apr 10, 2017
653d391
cleanup: merge packet_id_alloc_outgoing() into packet_id_write()
syzzer May 5, 2017
4aaa29d
Don't run packet_id unit tests for --disable-crypto builds
syzzer May 5, 2017
de7ecce
Fix Changes.rst layout
syzzer May 5, 2017
f5d41cc
Fix extract_x509_field_ssl for external objects, v2
hvenev May 3, 2017
d7a13af
Fix memory leak in x509_verify_cert_ku()
syzzer May 7, 2017
1ebd3ad
mbedtls: correctly check return value in pkcs11_certificate_dn()
syzzer May 9, 2017
e9bb49b
plugin: Fix documentation typo for type_mask
dsommers May 8, 2017
03d01f4
Restore pre-NCP frame parameters for new sessions
syzzer May 8, 2017
174c27e
plugin: Export secure_memzero() to plug-ins
dsommers May 5, 2017
47d80b9
Always clear username/password from memory on error
syzzer May 9, 2017
4702cf5
In auth-pam plugin clear the password after use
selvanair May 9, 2017
9444506
Document tls-crypt security considerations in man page
syzzer May 9, 2017
66b99a0
Don't assert out on receiving too-large control packets (CVE-2017-7478)
syzzer May 9, 2017
591a4e5
Drop packets instead of assert out if packet id rolls over (CVE-2017-…
syzzer May 9, 2017
3c28855
Set a low interface metric for tap adapter when block-outside-dns is …
ValdikSS May 10, 2017
8516168
Preparing v2.4.2 release
dsommers May 11, 2017
9092397
Pass correct buffer size to GetModuleFileNameW()
selvanair May 12, 2017
4ae06ef
Log the negotiated (NCP) cipher
syzzer May 15, 2017
37b3409
Make openvpn-plugin.h self-contained again.
mandree May 15, 2017
5d54377
crypto: Enable SHA256 fingerprint checking in --verify-hash
dsommers May 4, 2017
13c05ca
Fix NCP behaviour on TLS reconnect.
cron2 May 18, 2017
a91c54d
Avoid a 1 byte overcopy in x509_get_subject (ssl_verify_openssl.c)
syzzer May 14, 2017
212e24d
Fix gateway detection with OpenBSD routing domains
stevenjm Apr 13, 2017
a4d200a
Remove erroneous limitation on max number of args for --plugin
cron2 May 18, 2017
69f00d8
refactor my_strupr
guidovranken Jun 7, 2017
ec204e1
Fix 2 memory leaks in proxy authentication routine
guidovranken Jun 8, 2017
42fc73b
Fix memory leak in add_option() for option 'connection'
guidovranken Jun 8, 2017
29ba477
Fix an unaligned access on OpenBSD/sparc64
jcourreges Jun 10, 2017
fc6b630
Missing include for socket-flags TCP_NODELAY on OpenBSD
jcourreges Jun 10, 2017
110f1e1
Ensure option array p[] is always NULL-terminated
guidovranken Jun 7, 2017
84372cb
Skip tls-crypt unit tests if required crypto mode not supported
syzzer May 15, 2017
b52c1ff
openssl: fix overflow check for long --tls-cipher option
syzzer May 22, 2017
bf547b8
Fix a null-pointer dereference in establish_http_proxy_passthru()
guidovranken Jun 16, 2017
b11f646
copyright: Update GPLv2 license texts
dsommers Mar 29, 2017
e82f700
Fix edge case with clients failing to set up cipher on empty PUSH_REPLY.
cron2 Jun 18, 2017
e78934a
OpenSSL: don't use direct access to the internal of X509
emmanuel-deloget Jun 12, 2017
cc7c912
OpenSSL: don't use direct access to the internal of EVP_PKEY
emmanuel-deloget Jun 12, 2017
dd1ae0e
OpenSSL: don't use direct access to the internal of RSA
emmanuel-deloget Jun 12, 2017
6f5aa04
OpenSSL: don't use direct access to the internal of DSA
emmanuel-deloget Jun 12, 2017
57eaf99
OpenSSL: force meth->name as non-const when we free() it
emmanuel-deloget Jun 12, 2017
d937bb7
Add a DSA test key/cert pair to sample-keys
syzzer Jun 18, 2017
d7b7f93
Fix mbedtls fingerprint calculation
syzzer May 20, 2017
87a3923
OpenSSL: don't use direct access to the internal of EVP_MD_CTX
emmanuel-deloget Jun 12, 2017
a5ac1ec
OpenSSL: don't use direct access to the internal of EVP_CIPHER_CTX
emmanuel-deloget Jun 12, 2017
2bf4aee
OpenSSL: don't use direct access to the internal of HMAC_CTX
emmanuel-deloget Jun 12, 2017
529de43
Fix potential 1-byte overread in TCP option parsing.
cron2 Jun 18, 2017
e4b0600
Ignore auth-nocache for auth-user-pass if auth-token is pushed
ordex Feb 25, 2017
df5efe7
auth-token with auth-nocache fix broke --disable-crypto builds
dsommers Jun 19, 2017
67edada
mbedtls: fix --x509-track post-authentication remote DoS (CVE-2017-7522)
syzzer Jun 19, 2017
20f1a47
mbedtls: require C-string compatible types for --x509-username-field
syzzer Jun 19, 2017
2341f71
Fix remote-triggerable memory leaks (CVE-2017-7521)
syzzer Jun 19, 2017
b72472b
Restrict --x509-alt-username extension types
syzzer Jun 19, 2017
0400840
Fix potential double-free in --x509-alt-username (CVE-2017-7521)
syzzer Jun 19, 2017
043fe32
Prevent two kinds of stack buffer OOB reads and a crash for invalid i…
guidovranken May 19, 2017
ed28cde
Fix remotely-triggerable ASSERT() on malformed IPv6 packet.
cron2 Jun 13, 2017
db34435
Preparing for release v2.4.3 (ChangeLog, version.m4, Changes.rst)
cron2 Jun 19, 2017
20884e5
OpenSSL: remove pre-1.1 function from the OpenSSL compat interface
emmanuel-deloget Jun 19, 2017
c3e6e68
Fix typo in extract_x509_extension() debug message
syzzer Jun 21, 2017
d3c0b2b
crypto: correct typ0 in error message
ordex Jun 27, 2017
95c07b1
Set tls-cipher restriction before loading certificates
schwabe Jun 26, 2017
8b55a44
Move adjust_power_of_2() to integer.h
syzzer Jun 21, 2017
5852a03
travis-ci: add 3 missing patches from master to release/2.4
chipitsine Feb 25, 2017
0f95758
OpenSSL: remove EVP_CIPHER_CTX_new() from the compat layer
emmanuel-deloget Jun 29, 2017
ebb5c70
OpenSSL: remove EVP_CIPHER_CTX_free() from the compat layer
emmanuel-deloget Jun 29, 2017
e050c76
Undo cipher push in client options state if cipher is rejected
syzzer Jun 27, 2017
67e3f02
doc: The CRL processing is not a deprecated feature
dsommers Jun 28, 2017
e80af83
use M_ERRNO instead of explicitly printing errno
ordex Jul 13, 2017
9a17c4c
don't print errno twice
ordex Jul 13, 2017
527bf0c
ntlm: avoid useless cast
ordex Jul 10, 2017
0bc107b
ntlm: unwrap multiple function calls
ordex Jul 12, 2017
5315193
Remove strerror_ts()
syzzer Jul 20, 2017
80ece42
Move openvpn_sleep() to manage.c
syzzer Jul 20, 2017
4a04be8
fixup: also change missed openvpn_sleep() occurrences
syzzer Jul 20, 2017
f627202
route: improve error message
ordex Jul 20, 2017
e7ae404
management: preserve wait_for_push field when asking for user/pass
ordex Jul 7, 2017
8295f62
tls-crypt: avoid warnings when --disable-crypto is used
ordex Jul 7, 2017
cb438b5
cleanup: Move write_pid() to where it is being used
dsommers Jul 25, 2017
3ace113
ntlm: convert binary buffers to uint8_t *
ordex Jul 10, 2017
90f2edc
ntlm: restyle compressed multiple function calls
ordex Jul 10, 2017
8eb2f57
ntlm: improve code style and readability
ordex Jul 10, 2017
4b8d654
Print ec bit details, refuse management-external-key if key is not RSA
schwabe Jul 23, 2017
b597ded
contrib: Remove keychain-mcd code
dsommers Jul 25, 2017
4bd2f4e
cleanup: Move init_random_seed() to where it is being used
dsommers Jul 25, 2017
14f67c3
travis-ci: update openssl to 1.0.2l, update mbedtls to 2.5.1
chipitsine Aug 7, 2017
9fffbfd
travis-ci: update pkcs11-helper to 1.22
chipitsine Aug 9, 2017
a0ee61b
OpenSSL: remove unreachable call to SSL_CTX_get0_privatekey()
ordex Aug 9, 2017
b5d7474
make function declarations C99 compliant
ordex Aug 11, 2017
e096613
remove unused functions
ordex Aug 11, 2017
a5c2cb6
use NULL instead of 0 when assigning pointers
ordex Aug 11, 2017
d1e18d8
add missing static attribute to functions
ordex Aug 11, 2017
6f616aa
Always use default keysize for NCP'd ciphers
syzzer Jul 20, 2017
a91c38f
Move create_temp_file() out of #ifdef ENABLE_CRYPTO
syzzer Jul 25, 2017
9f390f0
Use provided env vars in up/down script.
bitfehler Aug 2, 2017
597b622
Document down-root plugin usage in client.down
bitfehler Aug 2, 2017
5ed5030
sample-plugins: fix ASN1_STRING_to_UTF8 return value checks
dsommers Aug 14, 2017
e2ab495
Deprecate --keysize
syzzer Jul 1, 2017
e3da009
Deprecate --no-replay
syzzer Jul 1, 2017
76a61ca
Fix socks_proxy_port pointing to invalid data
Jul 7, 2017
30e0778
ntlm: avoid breaking anti-aliasing rules
ordex Aug 16, 2017
12df7c2
remove the --disable-multi config switch
ordex Aug 16, 2017
81b78cf
Move run_up_down() to init.c
syzzer Aug 15, 2017
d47228e
tls-crypt: introduce tls_crypt_kt()
syzzer Aug 12, 2017
e710d70
Highlight deprecated features
dsommers Aug 15, 2017
35e81e1
Use consistent version references
dsommers Aug 15, 2017
78b3291
rename mroute_extract_addr_ipv4 to mroute_extract_addr_ip
ordex Jul 24, 2017
9df6a9f
crypto: create function to initialize encrypt and decrypt key
syzzer Jul 7, 2017
e12d5e3
Add coverity static analysis to Travis CI config
syzzer Aug 8, 2017
3c4e2a3
route: avoid definition of unused variables in certain configurations
ordex Aug 16, 2017
db52b6d
tls-crypt: don't leak memory for incorrect tls-crypt messages
syzzer Aug 16, 2017
010ffbe
fix a couple of typ0s in comments and strings
ordex Aug 19, 2017
b437bf1
man: Corrections to doc/openvpn.8
Aug 19, 2017
cac73d4
travis: reorder matrix to speed up build
syzzer Aug 20, 2017
1bea2dc
docs: Replace all PolarSSL references to mbed TLS
dsommers Aug 22, 2017
14e4c58
fragment.c: simplify boolean expression
ordex Aug 24, 2017
b1298bb
Warn that DH config option is only meaningful in a tls-server context
gertvdijk Aug 27, 2017
a4c5c4b
OpenSSL: Always set SSL_OP_CIPHER_SERVER_PREFERENCE flag
c0r0n3r Sep 4, 2017
b49c1ca
systemd: Ensure systemd shuts down OpenVPN in a proper way
dsommers Sep 6, 2017
b3b7d07
tcp-server: ensure AF family is propagated to child context
ordex Sep 7, 2017
1c112c3
systemd: Enable systemd's auto-restart feature for server profiles
dsommers Sep 6, 2017
c7e2591
Fix bounds check in read_key()
syzzer Aug 15, 2017
38da61f
lz4: Move towards a newer LZ4 API
dsommers Sep 7, 2017
1f45832
Prepare the release of OpenVPN 2.4.4
dsommers Sep 25, 2017
ebbca63
client-connect: Split multi_connection_established into separate func…
fknittel Apr 13, 2010
ed4ff5f
client-connect: Properly indent all functions
fknittel Dec 9, 2011
189a38f
client-connect: Refactor multi_client_connect_source_ccd
fknittel Apr 29, 2010
b97f927
client-connect: Move multi_client_connect_setenv into early_setup
fknittel Apr 29, 2010
06a5816
client-connect: Refactor to use return values instead of modifying a …
fknittel Dec 9, 2011
0b2590e
client-connect: Refactor client-connect handling to calling a bunch o…
fknittel Apr 29, 2010
1867e95
client-connect: Add CC_RET_DEFERRED and cope with deferred client-con…
fknittel Dec 9, 2011
4462d47
client-connect: Add deferred support to the client-connect script han…
fknittel Apr 15, 2010
67406dc
client-connect: Add deferred support to the client-connect plugin v1 …
fknittel Apr 15, 2010
ced51c6
recover 2.3->2.4 changes in multi.c
Snawoot Nov 15, 2017
c2b3266
modificator fix
Snawoot Nov 15, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,21 @@ config-msvc-local.h
config-msvc-version.h
doc/openvpn.8.html
distro/rpm/openvpn.spec
distro/systemd/*.service
sample/sample-keys/sample-ca/
vendor/.build
vendor/dist

tests/t_client.sh
tests/t_client-*-20??????-??????/
t_client.rc
t_client_ips.rc
tests/unit_tests/**/*_testdriver

src/openvpn/openvpn
include/openvpn-plugin.h
config-version.h
nbproject
test-driver
compile
stamp-h2
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "vendor/cmocka"]
path = vendor/cmocka
url = https://git.cryptomilk.org/projects/cmocka.git
branch = master
14 changes: 13 additions & 1 deletion .mailmap
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
James Yonan <james@openvpn.net> james <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Adriaan de Jong <dejong@fox-it.com> <adriaan@adriaan-VirtualBox.(none)>
David Sommerseth <dazo@eurephia.net> <dazo@users.sourceforge.net>
Gert Doering <gert@greenie.muc.de> <gd@medat.de>
Gert Doering <gert@greenie.muc.de> <gert@fbsd74.ov.greenie.net>
Gert Doering <gert@greenie.muc.de> <gert@fbsd90.ov.greenie.net>
Gert Doering <gert@greenie.muc.de> <gert@mobile.greenie.muc.de>
James Yonan <james@openvpn.net> <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Jan Just Keijser <janjust@nikhef.nl> <janjust@nikhef.nl>
JuanJo Ciarlante <jjo@google.com> <jjo+ml@google.com>
Karl O. Pinc <kop@meme.com> <kop@mofo.meme.com>
Robert Fischer <ml-openvpn@trispace.org> <ml-openvpn@trispace.org>
Samuli Seppänen <samuli@openvpn.net> <samuli@openvpn.net>
Seth Mos <seth.mos@dds.nl> <seth.mos@dds.nl>
101 changes: 101 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
sudo: required
dist: trusty

os: linux

language: c

compiler:
- gcc

env:
global:
- JOBS=3
- PREFIX="${HOME}/opt"
- TAP_WINDOWS_VERSION=9.21.2
- LZO_VERSION=2.10
- PKCS11_HELPER_VERSION=1.22
- MBEDTLS_VERSION="2.5.1"
- MBEDTLS_CFLAGS="-I${PREFIX}/include"
- MBEDTLS_LIBS="-L${PREFIX}/lib -lmbedtls -lmbedx509 -lmbedcrypto"
- OPENSSL_VERSION="1.0.2l"
- OPENSSL_CFLAGS="-I${PREFIX}/include"
- OPENSSL_LIBS="-L${PREFIX}/lib -lssl -lcrypto"
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "l9mSnEW4LJqjxftH5i1NdDaYfGmQB1mPXnSB3DXnsjzkCWZ+yJLfBemfQ0tx/wS7chBYxqUaUIMT0hw4zJVp/LANFJo2vfh//ymTS6h0uApRY1ofg9Pp1BFcV1laG6/u8pwSZ2EBy/GhCd3DS436oE8sYBRaFM9FU62L/oeQBfJ7r4ID/0eB1b8bqlbD4paty9MHui2P8EZJwR+KAD84prtfpZOcrSMxPh9OUhJxzxUvvVoP4s4+lZ5Kgg1bBQ3yzKGDqe8VOgK2BWCEuezqhMMc8oeKmAe7CUkoz5gsGYH++k3I9XzP9Z4xeJKoQnC/82qi4xkJmlaOxdionej9bHIcjfRt7D8j1J0U+wOj4p8VrDy7yHaxuN2fi0K5MGa/CaXQSrkna8dePniCng+xQ2MY/zxuRX2gA6xPNLUyQLU9LqIug7wj4z84Hk9iWib4L20MoPjeEo+vAUNq8FtjOPxMuHNpv4iGGx6kgJm7RXl5vC5hxfK6MprrnYe2U5Mcd8jpzagKBaKHL3zV2FxX9k0jRO9Mccz7M2WnaV0MQ6zcngzTN4+s0kCjhfGKd2F2ANT2Gkhj3Me36eNHfuE0dBbvYCMh4b3Mgd7b/OuXwQWdJ8PjJ1WHXjSOw5sHw1suaV6cEO2Meyz5j1tOkyOi0M9QF+LFenQ9vLH4sBCww8U="

matrix:
include:
- env: SSLLIB="openssl" RUN_COVERITY="1"
os: linux
compiler: gcc
- env: SSLLIB="openssl" OPENSSL_VERSION="1.1.0f"
os: linux
compiler: gcc
- env: SSLLIB="openssl"
os: linux
compiler: clang
- env: SSLLIB="openssl" OPENSSL_VERSION="1.1.0f"
os: linux
compiler: clang
- env: SSLLIB="mbedtls"
os: linux
compiler: gcc
- env: SSLLIB="mbedtls"
os: linux
compiler: clang
- env: SSLLIB="openssl"
os: osx
osx_image: xcode7.3
compiler: clang
- env: SSLLIB="mbedtls"
os: osx
osx_image: xcode7.3
compiler: clang
- env: SSLLIB="openssl" CHOST=x86_64-w64-mingw32
os: linux
compiler: ": Win64 build only"
- env: SSLLIB="openssl" CHOST=i686-w64-mingw32
os: linux
compiler: ": Win32 build only"
- env: SSLLIB="openssl" EXTRA_CONFIG="--disable-crypto" EXTRA_SCRIPT="make distcheck"
os: linux
compiler: clang
- env: SSLLIB="openssl" EXTRA_CONFIG="--disable-lzo"
os: linux
compiler: clang
- env: SSLLIB="openssl" EXTRA_CONFIG="--enable-small"
os: linux
compiler: clang
exclude:
- compiler: gcc

addons:
apt:
packages:
- liblzo2-dev
- libpam0g-dev
- liblz4-dev
- linux-libc-dev
- man2html

cache:
ccache: true
directories:
- download-cache
- ${HOME}/opt

before_install:
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew update ; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew install lzo; fi

install:
- if [ ! -z "${CHOST}" ]; then unset CC; fi
- .travis/build-deps.sh > build-deps.log 2>&1 || (cat build-deps.log && exit 1)

before_script:
- .travis/coverity.sh

script:
- .travis/build-check.sh
30 changes: 30 additions & 0 deletions .travis/build-check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/sh
set -eux

if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
export LD_LIBRARY_PATH="${PREFIX}/lib:${LD_LIBRARY_PATH:-}"
fi

if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
export DYLD_LIBRARY_PATH="${PREFIX}/lib:${DYLD_LIBRARY_PATH:-}"
fi

autoreconf -vi

if [ -z ${CHOST+x} ]; then
./configure --with-crypto-library="${SSLLIB}" ${EXTRA_CONFIG:-} || (cat config.log && exit 1)
make -j$JOBS
src/openvpn/openvpn --version || true
if [ "${TRAVIS_OS_NAME}" = "linux" ]; then ldd src/openvpn/openvpn; fi
if [ "${TRAVIS_OS_NAME}" = "osx" ]; then otool -L src/openvpn/openvpn; fi
make check
${EXTRA_SCRIPT:-}
else
export TAP_CFLAGS="-I${PWD}/tap-windows-${TAP_WINDOWS_VERSION}/include"
export LZO_CFLAGS="-I${PREFIX}/include"
export LZO_LIBS="-L${PREFIX}/lib -llzo2"
export PKCS11_HELPER_LIBS="-L${PREFIX}/lib -lpkcs11-helper"
export PKCS11_HELPER_CFLAGS="-I${PREFIX}/include"
./configure --with-crypto-library="${SSLLIB}" --host=${CHOST} --build=x86_64-pc-linux-gnu --enable-pkcs11 --disable-plugins || (cat config.log && exit 1)
make -j${JOBS}
fi
175 changes: 175 additions & 0 deletions .travis/build-deps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
#!/bin/sh
set -eux

# Set defaults
PREFIX="${PREFIX:-${HOME}/opt}"

download_tap_windows () {
if [ ! -f "download-cache/tap-windows-${TAP_WINDOWS_VERSION}.zip" ]; then
wget -P download-cache/ \
"http://build.openvpn.net/downloads/releases/tap-windows-${TAP_WINDOWS_VERSION}.zip"
fi
}

download_lzo () {
if [ ! -f "download-cache/lzo-${LZO_VERSION}.tar.gz" ]; then
wget -P download-cache/ \
"http://www.oberhumer.com/opensource/lzo/download/lzo-${LZO_VERSION}.tar.gz"
fi
}

build_lzo () {
if [ "$(cat ${PREFIX}/.lzo-version)" != "${LZO_VERSION}" ]; then
tar zxf download-cache/lzo-${LZO_VERSION}.tar.gz
(
cd "lzo-${LZO_VERSION}"

./configure --host=${CHOST} --program-prefix='' \
--libdir=${PREFIX}/lib --prefix=${PREFIX} --build=x86_64-pc-linux-gnu
make all install
)
echo "${LZO_VERSION}" > "${PREFIX}/.lzo-version"
fi
}

download_pkcs11_helper () {
if [ ! -f "pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2" ]; then
wget -P download-cache/ \
"https://github.com/OpenSC/pkcs11-helper/releases/download/pkcs11-helper-${PKCS11_HELPER_VERSION}/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2"
fi
}

build_pkcs11_helper () {
if [ "$(cat ${PREFIX}/.pkcs11_helper-version)" != "${PKCS11_HELPER_VERSION}" ]; then
tar jxf download-cache/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2
(
cd "pkcs11-helper-${PKCS11_HELPER_VERSION}"

./configure --host=${CHOST} --program-prefix='' --libdir=${PREFIX}/lib \
--prefix=${PREFIX} --build=x86_64-pc-linux-gnu \
--disable-crypto-engine-gnutls \
--disable-crypto-engine-nss \
--disable-crypto-engine-polarssl \
--disable-crypto-engine-mbedtls
make all install
)
echo "${PKCS11_HELPER_VERSION}" > "${PREFIX}/.pkcs11_helper-version"
fi
}

download_mbedtls () {
if [ ! -f "download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz" ]; then
wget -P download-cache/ \
"https://tls.mbed.org/download/mbedtls-${MBEDTLS_VERSION}-apache.tgz"
fi
}

build_mbedtls () {
if [ "$(cat ${PREFIX}/.mbedtls-version)" != "${MBEDTLS_VERSION}" ]; then
tar zxf download-cache/mbedtls-${MBEDTLS_VERSION}-apache.tgz
(
cd "mbedtls-${MBEDTLS_VERSION}"
make
make install DESTDIR="${PREFIX}"
)
echo "${MBEDTLS_VERSION}" > "${PREFIX}/.mbedtls-version"
fi
}

download_openssl () {
if [ ! -f "download-cache/openssl-${OPENSSL_VERSION}.tar.gz" ]; then
wget -P download-cache/ \
"https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz"
fi
}

build_openssl_linux () {
(
cd "openssl-${OPENSSL_VERSION}/"
./config shared --prefix="${PREFIX}" --openssldir="${PREFIX}" -DPURIFY
make all install_sw
)
}

build_openssl_osx () {
(
cd "openssl-${OPENSSL_VERSION}/"
./Configure darwin64-x86_64-cc shared \
--prefix="${PREFIX}" --openssldir="${PREFIX}" -DPURIFY
make depend all install_sw
)
}

build_openssl_mingw () {
(
cd "openssl-${OPENSSL_VERSION}/"

if [ "${CHOST}" = "i686-w64-mingw32" ]; then
export TARGET=mingw
elif [ "${CHOST}" = "x86_64-w64-mingw32" ]; then
export TARGET=mingw64
fi

./Configure --cross-compile-prefix=${CHOST}- shared \
${TARGET} no-multilib no-capieng --prefix="${PREFIX}" --openssldir="${PREFIX}" -static-libgcc
make install
)
}

build_openssl () {
if [ "$(cat ${PREFIX}/.openssl-version)" != "${OPENSSL_VERSION}" ]; then
tar zxf "download-cache/openssl-${OPENSSL_VERSION}.tar.gz"
if [ ! -z ${CHOST+x} ]; then
build_openssl_mingw
elif [ "${TRAVIS_OS_NAME}" = "osx" ]; then
build_openssl_osx
elif [ "${TRAVIS_OS_NAME}" = "linux" ]; then
build_openssl_linux
fi
echo "${OPENSSL_VERSION}" > "${PREFIX}/.openssl-version"
fi
}

# Enable ccache
if [ "${TRAVIS_OS_NAME}" != "osx" ] && [ -z ${CHOST+x} ]; then
# ccache not available on osx, see:
# https://github.com/travis-ci/travis-ci/issues/5567
# also ccache not enabled for cross builds
mkdir -p "${HOME}/bin"
ln -s "$(which ccache)" "${HOME}/bin/${CC}"
PATH="${HOME}/bin:${PATH}"
fi

if [ ! -z ${CHOST+x} ]; then
#
# openvpn requires at least mingw-gcc-4.9, which is available at xenial repo
#
sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu xenial main universe"
sudo apt-get update
sudo apt-get -y install dpkg mingw-w64
fi

# Download and build crypto lib
if [ "${SSLLIB}" = "openssl" ]; then
download_openssl
build_openssl
elif [ "${SSLLIB}" = "mbedtls" ]; then
download_mbedtls
build_mbedtls
else
echo "Invalid crypto lib: ${SSLLIB}"
exit 1
fi

# Download and build dependencies for mingw cross build
# dependencies are the same as in regular windows installer build
if [ ! -z ${CHOST+x} ]; then
download_tap_windows
unzip download-cache/tap-windows-${TAP_WINDOWS_VERSION}.zip

download_lzo
build_lzo

download_pkcs11_helper
build_pkcs11_helper
fi
17 changes: 17 additions & 0 deletions .travis/coverity.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/sh
set -eu

RUN_COVERITY="${RUN_COVERITY:-0}"

export COVERITY_SCAN_PROJECT_NAME="OpenVPN/openvpn"
export COVERITY_SCAN_BRANCH_PATTERN="release\/2.4"
export COVERITY_SCAN_NOTIFICATION_EMAIL="scan-reports@openvpn.net"
export COVERITY_SCAN_BUILD_COMMAND_PREPEND="autoreconf -vi && ./configure --enable-iproute2 && make clean"
export COVERITY_SCAN_BUILD_COMMAND="make"

if [ "${RUN_COVERITY}" = "1" ]; then
# Ignore exit code, script exits with 1 if we're not on the right branch
curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
else
echo "Skipping coverity scan because \$RUN_COVERITY != \"1\""
fi
Loading