forked from microsoft/openvpn
-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog
5593 lines (4754 loc) · 231 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
OpenVPN Change Log
Copyright (C) 2002-2018 OpenVPN Inc <[email protected]>
2020.04.16 -- Version 2.4.9
Antonio Quartulli (1):
socks: use the right function when printing struct openvpn_sockaddr
Arne Schwabe (3):
Fetch OpenSSL versions via source/old links
Fix OpenSSL error stack handling of tls_ctx_add_extra_certs
Fix OpenSSL 1.1.1 not using auto elliptic curve selection
Lev Stipakov (4):
Fix broken fragmentation logic when using NCP
Fix building with --enable-async-push in FreeBSD
Fix broken async push with NCP is used
Fix illegal client float (CVE-2020-11810)
Maxim Plotnikov (1):
OpenSSL: Fix --crl-verify not loading multiple CRLs in one file
Santtu Lakkala (1):
Fix OpenSSL private key passphrase notices
Selva Nair (7):
Swap the order of checks for validating interactive service user
Move querying username/password from management interface to a function
When auth-user-pass file has no password query the management interface (if available).
Fix possibly uninitialized return value in GetOpenvpnSettings()
Fix possible access of uninitialized pipe handles
Skip expired certificates in Windows certificate store
Allow unicode search string in --cryptoapicert option
Tom van Leeuwen (1):
mbedTLS: Make sure TLS session survives move
WGH (1):
docs: Add reference to X509_LOOKUP_hash_dir(3)
2019.10.30 -- Version 2.4.8
Antonio Quartulli (1):
mbedtls: fix segfault by calling mbedtls_cipher_free() in cipher_ctx_free()
Arne Schwabe (1):
Remove -no-cpp-precomp flag from Darwin builds
David Sommerseth (3):
cleanup: Remove RPM openvpn.spec build approach
docs: Update INSTALL
build: Package missing mock_msg.h
Gert Doering (4):
repair windows builds (2.4)
Increase listen() backlog queue to 32
Force combinationation of --socks-proxy and --proto UDP to use IPv4.
Fix IPv6 routes on tap interfaces on OpenSolaris/OpenIndiana
Gisle Vanem (1):
Wrong FILETYPE in .rc files
Hilko Bengen (1):
Do not set pkcs11-helper 'safe fork mode'
Ilya Shipitsin (2):
travis-ci: add "linux-ppc64le" to build matrix, change trusty image to xenial, update osx to xcode9.4 and modernize brew management
travis-ci: fix osx builds
Kyle Evans (1):
tests/t_lpback.sh: Switch sed(1) to POSIX-compatible regex.
Lev Stipakov (1):
Fix various compiler warnings
Matthias Andree (1):
Fix regression, reinstate LibreSSL support.
Michal Soltys (1):
man: correct the description of --capath and --crl-verify regarding CRLs
Mykola Baibuz (1):
Fix typo in NTLM proxy debug message
Richard Bonhomme (1):
Ignore --pull-filter for --mode server
Rosen Penev (1):
openssl: Fix compilation without deprecated OpenSSL 1.1 APIs
Selva Nair (3):
Better error message when script fails due to script-security setting
Correct the return value of cryptoapi RSA signature callbacks
Handle PSS padding in cryptoapicert
Steffan Karger (1):
cmocka: use relative paths
Thomas Quinot (1):
Fix documentation of tls-verify script argument
2019.02.18 -- Version 2.4.7
Adam Ciarcin?ski (1):
Fix subnet topology on NetBSD (2.4).
Antonio Quartulli (3):
add support for %lu in argv_printf and prevent ASSERT
buffer_list: add functions documentation
ifconfig-ipv6(-push): allow using hostnames
Arne Schwabe (7):
Properly free tuntap struct on android when emulating persist-tun
Add OpenSSL compat definition for RSA_meth_set_sign
Add support for tls-ciphersuites for TLS 1.3
Add better support for showing TLS 1.3 ciphersuites in --show-tls
Use right function to set TLS1.3 restrictions in show-tls
Add message explaining early TLS client hello failure
Fallback to password authentication when auth-token fails
Christian Ehrhardt (1):
systemd: extend CapabilityBoundingSet for auth_pam
David Sommerseth (1):
plugin: Export base64 encode and decode functions
Gert Doering (3):
Add %d, %u and %lu tests to test_argv unit tests.
Fix combination of --dev tap and --topology subnet across multiple platforms.
Add 'printing of port number' to mroute_addr_print_ex() for v4-mapped v6.
Gert van Dijk (1):
Minor reliability layer documentation fixes
James Bekkema (1):
Resolves small IV_GUI_VER typo in the documentation.
Jonathan K. Bullard (1):
Clarify and expand management interface documentation
Lev Stipakov (5):
Refactor NCP-negotiable options handling
init.c: refine functions names and description
interactive.c: fix usage of potentially uninitialized variable
options.c: fix broken unary minus usage
Remove extra token after #endif
Richard van den Berg via Openvpn-devel (1):
Fix error message when using RHEL init script
Samy Mahmoudi (1):
man: correct a --redirection-gateway option flag
Selva Nair (7):
Replace M_DEBUG with D_LOW as the former is too verbose
Correct the declaration of handle in 'struct openvpn_plugin_args_open_return'
Bump version of openvpn plugin argument structs to 5
Move get system directory to a separate function
Enable dhcp on tap adapter using interactive service
Pass the hash without the DigestInfo header to NCryptSignHash()
White-list pull-filter and script-security in interactive service
Simon Rozman (2):
Add Interactive Service developer documentation
Detect TAP interfaces with root-enumerated hardware ID
Steffan Karger (7):
man: add security considerations to --compress section
mbedtls: print warning if random personalisation fails
Fix memory leak after sighup
travis: add OpenSSL 1.1 Windows build
Fix --disable-crypto build
Don't print OCC warnings about 'key-method', 'keydir' and 'tls-auth'
buffer_list_aggregate_separator(): simplify code
2018.04.19 -- Version 2.4.6
David Sommerseth (1):
management: Warn if TCP port is used without password
Gert Doering (2):
Correct version in ChangeLog - should be 2.4.5, was mistyped as 2.4.4
Fix potential double-free() in Interactive Service (CVE-2018-9336)
Gert van Dijk (1):
manpage: improve description of --status and --status-version
Joost Rijneveld (1):
Make return code external tls key match docs
Selva Nair (3):
Delete the IPv6 route to the "connected" network on tun close
Management: warn about password only when the option is in use
Avoid overflow in wakeup time computation
Simon Matter (1):
Add missing #ifdef SSL_OP_NO_TLSv1_1/2
Steffan Karger (1):
Check for more data in control channel
2018.02.28 -- Version 2.4.5
Antonio Quartulli (4):
reload HTTP proxy credentials when moving to the next connection profile
Allow learning iroutes with network made up of all 0s (only if netbits < 8)
mbedtls: fix typ0 in comment
manpage: fix simple typ0
Arne Schwabe (2):
Treat dhcp-option DNS6 and DNS identical
show the right string for key-direction
Bertrand Bonnefoy-Claudet (1):
Fix typo in error message: "optione" -> "option"
David Sommerseth (8):
lz4: Fix confused version check
lz4: Fix broken builds when pkg-config is not present but system library is
Remove references to keychain-mcd in Changes.rst
lz4: Rebase compat-lz4 against upstream v1.7.5
systemd: Add and ship README.systemd
Update copyright to include 2018 plus company name change
man: Add .TQ groff support macro
man: Reword --management to prefer unix sockets over TCP
Emmanuel Deloget (1):
OpenSSL: check EVP_PKEY key types before returning the pkey
Gert Doering (2):
Remove warning on pushed tun-ipv6 option.
Fix removal of on-link prefix on windows with netsh
Ilya Shipitsin (2):
travis-ci: add brew cache, remove ccache
travis-ci: modify openssl build script to support openssl-1.1.0
James Bottomley (1):
autoconf: Fix engine checks for openssl 1.1
Jeremie Courreges-Anglas (2):
Cast time_t to long long in order to print it.
Fix build with LibreSSL
Selva Nair (14):
Check whether in pull_mode before warning about previous connection blocks
Avoid illegal memory access when malformed data is read from the pipe
Fix missing check for return value of malloc'd buffer
Return NULL if GetAdaptersInfo fails
Use RSA_meth_free instead of free
Bring cryptoapi.c upto speed with openssl 1.1
Add SSL_CTX_get_max_proto_version() not in openssl 1.0
TLS v1.2 support for cryptoapicert -- RSA only
Refactor get_interface_metric to return metric and auto flag separately
Ensure strings read from registry are null-terminated
Make most registry values optional
Use lowest metric interface when multiple interfaces match a route
Adapt to RegGetValue brokenness in Windows 7
Fix format spec errors in Windows builds
Simon Rozman (11):
Local functions are not supported in MSVC. Bummer.
Mixing wide and regular strings in concatenations is not allowed in MSVC.
RtlIpv6AddressToStringW() and RtlIpv4AddressToStringW() require mstcpip.h
Simplify iphlpapi.dll API calls
Fix local #include to use quoted form
Document ">PASSWORD:Auth-Token" real-time message
Fix typo in "verb" command examples
Uniform swprintf() across MinGW and MSVC compilers
MSVC meta files added to .gitignore list
openvpnserv: Add support for multi-instances
Document missing OpenVPN states
Steffan Karger (21):
make struct key * argument of init_key_ctx const
buffer_list_aggregate_separator(): add unit tests
Add --tls-cert-profile option.
Use P_DATA_V2 for server->client packets too
Fix memory leak in buffer unit tests
buffer_list_aggregate_separator(): update list size after aggregating
buffer_list_aggregate_separator(): don't exceed max_len
buffer_list_aggregate_separator(): prevent 0-byte malloc
Fix types around buffer_list_push(_data)
ssl_openssl: fix compiler warning by removing getbio() wrapper
travis: use clang's -fsanitize=address to catch more bugs
Fix --tls-version-min and --tls-version-max for OpenSSL 1.1+
Add support for TLS 1.3 in --tls-version-{min, max}
Plug memory leak if push is interrupted
Fix format errors when cross-compiling for Windows
Log pre-handshake packet drops using D_MULTI_DROPPED
Enable stricter compiler warnings by default
Get rid of ax_check_compile_flag.m4
mbedtls: don't use API deprecated in mbed 2.7
Warn if tls-version-max < tls-version-min
Don't throw fatal errors from create_temp_file()
hashiz (1):
Fix '--bind ipv6only'
2017.09.25 -- Version 2.4.4
Antonio Quartulli (23):
crypto: correct typ0 in error message
use M_ERRNO instead of explicitly printing errno
don't print errno twice
ntlm: avoid useless cast
ntlm: unwrap multiple function calls
route: improve error message
management: preserve wait_for_push field when asking for user/pass
tls-crypt: avoid warnings when --disable-crypto is used
ntlm: convert binary buffers to uint8_t *
ntlm: restyle compressed multiple function calls
ntlm: improve code style and readability
OpenSSL: remove unreachable call to SSL_CTX_get0_privatekey()
make function declarations C99 compliant
remove unused functions
use NULL instead of 0 when assigning pointers
add missing static attribute to functions
ntlm: avoid breaking anti-aliasing rules
remove the --disable-multi config switch
rename mroute_extract_addr_ipv4 to mroute_extract_addr_ip
route: avoid definition of unused variables in certain configurations
fix a couple of typ0s in comments and strings
fragment.c: simplify boolean expression
tcp-server: ensure AF family is propagated to child context
Arne Schwabe (2):
Set tls-cipher restriction before loading certificates
Print ec bit details, refuse management-external-key if key is not RSA
Conrad Hoffmann (2):
Use provided env vars in up/down script.
Document down-root plugin usage in client.down
David Sommerseth (11):
doc: The CRL processing is not a deprecated feature
cleanup: Move write_pid() to where it is being used
contrib: Remove keychain-mcd code
cleanup: Move init_random_seed() to where it is being used
sample-plugins: fix ASN1_STRING_to_UTF8 return value checks
Highlight deprecated features
Use consistent version references
docs: Replace all PolarSSL references to mbed TLS
systemd: Ensure systemd shuts down OpenVPN in a proper way
systemd: Enable systemd's auto-restart feature for server profiles
lz4: Move towards a newer LZ4 API
Emmanuel Deloget (3):
OpenSSL: remove pre-1.1 function from the OpenSSL compat interface
OpenSSL: remove EVP_CIPHER_CTX_new() from the compat layer
OpenSSL: remove EVP_CIPHER_CTX_free() from the compat layer
Gert van Dijk (1):
Warn that DH config option is only meaningful in a tls-server context
Ilya Shipitsin (3):
travis-ci: add 3 missing patches from master to release/2.4
travis-ci: update openssl to 1.0.2l, update mbedtls to 2.5.1
travis-ci: update pkcs11-helper to 1.22
Richard Bonhomme (1):
man: Corrections to doc/openvpn.8
Steffan Karger (17):
Fix typo in extract_x509_extension() debug message
Move adjust_power_of_2() to integer.h
Undo cipher push in client options state if cipher is rejected
Remove strerror_ts()
Move openvpn_sleep() to manage.c
fixup: also change missed openvpn_sleep() occurrences
Always use default keysize for NCP'd ciphers
Move create_temp_file() out of #ifdef ENABLE_CRYPTO
Deprecate --keysize
Deprecate --no-replay
Move run_up_down() to init.c
tls-crypt: introduce tls_crypt_kt()
crypto: create function to initialize encrypt and decrypt key
Add coverity static analysis to Travis CI config
tls-crypt: don't leak memory for incorrect tls-crypt messages
travis: reorder matrix to speed up build
Fix bounds check in read_key()
Szilárd Pfeiffer (1):
OpenSSL: Always set SSL_OP_CIPHER_SERVER_PREFERENCE flag
Thomas Veerman via Openvpn-devel (1):
Fix socks_proxy_port pointing to invalid data
2017.06.21 -- Version 2.4.3
Antonio Quartulli (1):
Ignore auth-nocache for auth-user-pass if auth-token is pushed
David Sommerseth (3):
crypto: Enable SHA256 fingerprint checking in --verify-hash
copyright: Update GPLv2 license texts
auth-token with auth-nocache fix broke --disable-crypto builds
Emmanuel Deloget (8):
OpenSSL: don't use direct access to the internal of X509
OpenSSL: don't use direct access to the internal of EVP_PKEY
OpenSSL: don't use direct access to the internal of RSA
OpenSSL: don't use direct access to the internal of DSA
OpenSSL: force meth->name as non-const when we free() it
OpenSSL: don't use direct access to the internal of EVP_MD_CTX
OpenSSL: don't use direct access to the internal of EVP_CIPHER_CTX
OpenSSL: don't use direct access to the internal of HMAC_CTX
Gert Doering (6):
Fix NCP behaviour on TLS reconnect.
Remove erroneous limitation on max number of args for --plugin
Fix edge case with clients failing to set up cipher on empty PUSH_REPLY.
Fix potential 1-byte overread in TCP option parsing.
Fix remotely-triggerable ASSERT() on malformed IPv6 packet.
Update Changes.rst with relevant info for 2.4.3 release.
Guido Vranken (6):
refactor my_strupr
Fix 2 memory leaks in proxy authentication routine
Fix memory leak in add_option() for option 'connection'
Ensure option array p[] is always NULL-terminated
Fix a null-pointer dereference in establish_http_proxy_passthru()
Prevent two kinds of stack buffer OOB reads and a crash for invalid input data
Jérémie Courrèges-Anglas (2):
Fix an unaligned access on OpenBSD/sparc64
Missing include for socket-flags TCP_NODELAY on OpenBSD
Matthias Andree (1):
Make openvpn-plugin.h self-contained again.
Selva Nair (1):
Pass correct buffer size to GetModuleFileNameW()
Steffan Karger (11):
Log the negotiated (NCP) cipher
Avoid a 1 byte overcopy in x509_get_subject (ssl_verify_openssl.c)
Skip tls-crypt unit tests if required crypto mode not supported
openssl: fix overflow check for long --tls-cipher option
Add a DSA test key/cert pair to sample-keys
Fix mbedtls fingerprint calculation
mbedtls: fix --x509-track post-authentication remote DoS (CVE-2017-7522)
mbedtls: require C-string compatible types for --x509-username-field
Fix remote-triggerable memory leaks (CVE-2017-7521)
Restrict --x509-alt-username extension types
Fix potential double-free in --x509-alt-username (CVE-2017-7521)
Steven McDonald (1):
Fix gateway detection with OpenBSD routing domains
2017.05.11 -- Version 2.4.2
David Sommerseth (5):
auth-token: Ensure tokens are always wiped on de-auth
docs: Fixed man-page warnings discoverd by rpmlint
Make --cipher/--auth none more explicit on the risks
plugin: Fix documentation typo for type_mask
plugin: Export secure_memzero() to plug-ins
Hristo Venev (1):
Fix extract_x509_field_ssl for external objects, v2
Selva Nair (1):
In auth-pam plugin clear the password after use
Steffan Karger (10):
cleanup: merge packet_id_alloc_outgoing() into packet_id_write()
Don't run packet_id unit tests for --disable-crypto builds
Fix Changes.rst layout
Fix memory leak in x509_verify_cert_ku()
mbedtls: correctly check return value in pkcs11_certificate_dn()
Restore pre-NCP frame parameters for new sessions
Always clear username/password from memory on error
Document tls-crypt security considerations in man page
Don't assert out on receiving too-large control packets (CVE-2017-7478)
Drop packets instead of assert out if packet id rolls over (CVE-2017-7479)
ValdikSS (1):
Set a low interface metric for tap adapter when block-outside-dns is in use
2017.03.21 -- Version 2.4.1
Antonio Quartulli (4):
attempt to add IPv6 route even when no IPv6 address was configured
fix redirect-gateway behaviour when an IPv4 default route does not exist
CRL: use time_t instead of struct timespec to store last mtime
ignore remote-random-hostname if a numeric host is provided
Christian Hesse (7):
man: fix formatting for alternative option
systemd: Use automake tools to install unit files
systemd: Do not race on RuntimeDirectory
systemd: Add more security feature for systemd units
Clean up plugin path handling
plugin: Remove GNUism in openvpn-plugin.h generation
fix typo in notification message
David Sommerseth (6):
management: >REMOTE operation would overwrite ce change indicator
management: Remove a redundant #ifdef block
git: Merge .gitignore files into a single file
systemd: Move the READY=1 signalling to an earlier point
plugin: Improve the handling of default plug-in directory
cleanup: Remove faulty env processing functions
Emmanuel Deloget (8):
OpenSSL: check for the SSL reason, not the full error
OpenSSL: don't use direct access to the internal of X509_STORE_CTX
OpenSSL: don't use direct access to the internal of SSL_CTX
OpenSSL: don't use direct access to the internal of X509_STORE
OpenSSL: don't use direct access to the internal of X509_OBJECT
OpenSSL: don't use direct access to the internal of RSA_METHOD
OpenSSL: SSLeay symbols are no longer available in OpenSSL 1.1
OpenSSL: use EVP_CipherInit_ex() instead of EVP_CipherInit()
Eric Thorpe (1):
Fix Building Using MSVC
Gert Doering (4):
Add openssl_compat.h to openvpn_SOURCES
Fix '--dev null'
Fix installation of IPv6 host route to VPN server when using iservice.
Make ENABLE_OCC no longer depend on !ENABLE_SMALL
Gisle Vanem (1):
Crash in options.c
Ilya Shipitsin (2):
Resolve several travis-ci issues
travis-ci: remove unused files
Olivier Wahrenberger (1):
Fix building with LibreSSL 2.5.1 by cleaning a hack.
Selva Nair (4):
Fix push options digest update
Always release dhcp address in close_tun() on Windows.
Add a check for -Wl, --wrap support in linker
Fix user's group membership check in interactive service to work with domains
Simon Matter (1):
Fix segfault when using crypto lib without AES-256-CTR or SHA256
Steffan Karger (8):
More broadly enforce Allman style and braces-around-conditionals
Use SHA256 for the internal digest, instead of MD5
OpenSSL: 1.1 fallout - fix configure on old autoconf
Fix types in WIN32 socket_listen_accept()
Remove duplicate X509 env variables
Fix non-C99-compliant builds: don't use const size_t as array length
Deprecate --ns-cert-type
Be less picky about keyUsage extensions
2016.12.26 -- Version 2.4.0
David Sommerseth (5):
dev-tools: Added script for updating copyright years in files
Update copyrights
docs: Further enhance the documentation related to SWEET32
man: Remove references to no longer present IV_RGI6 peer-info
build: Ensure Changes.rst is shipped and installed as a doc file
Gert Doering (1):
Remove IV_RGI6=1 peer-info signalling.
Steffan Karger (3):
Document that RSA_SIGN can also request TLS 1.2 signatures
man: encourage user to read on about --tls-crypt
Textual fixes for Changes.rst
2016.12.16 -- Version 2.4_rc2
David Sommerseth (9):
Fix wrong configure.ac parsing of --enable-async-push
Changes: Further improve systemd unit file updates
systemd: Intermediate --chroot fix with the new sd_notify() implementation
Further enhance async-push feature description
Changes.rst: Mainatiner update on C99
dev-tools: Add reformat-all.sh for code style unification
The Great Reformatting - first phase
Merge 'reformatting' branch into master
auth-gen-token: Hardening memory cleanup on auth-token failuers
Gert Doering (1):
Refactor setting close-on-exec for socket FDs
Lev Stipakov (2):
Arm inotify only in server mode
Add "async push" feature to Changes.rst
Magnus Kroken (1):
mbedtls: include correct net/net_sockets header according to version
Selva Nair (2):
Correctly state the default dhcp server address in man page
Unhide a line in man page by fixing a typo
Steffan Karger (4):
Fix (and cleanup) crypto flags in combination with NCP
Deprecate --no-iv
man: mention that --ecdh-curve does not work on mbed TLS builds
Don't reopen tun if cipher changes
2016.12.01 -- Version 2.4_rc1
Antonio Quartulli (1):
reload CRL only if file was modified
Christian Hesse (3):
update year in copyright message
Use systemd service manager notification
Refuse to daemonize when running from systemd
Gert Doering (1):
Fix windows path in Changes.rst
Samuli Seppänen (1):
Mention that OpenVPN 2.4 requires Windows Vista or higher
Selva Nair (4):
Map restart signals from event loop to SIGTERM during exit-notification wait
When parsing '--setenv opt xx ..' make sure a third parameter is present
Force 'def1' method when --redirect-gateway is done through service
Do not restart dns client service as a part of --register-dns processing
Steffan Karger (4):
tls_process: don't set variable that's never read
Unconditionally enable TLS_AGGREGATE_ACK
Clean up format_hex_ex()
Introduce and use secure_memzero() to erase secrets
2016.11.24 -- Version 2.4_beta2
Arne Schwabe (5):
Document that tls-crypt also supports inline
Fix warning that RAND_bytes is undeclared
Remove compat-stdbool.h.
Fix various compiler warnings
Handle DNS6 option on Android
David Sommerseth (2):
Changes.rst: Fixing wrong formatting
Document the --auth-token option
Gert Doering (2):
Remove remaining traces of compat-stdbool.h
Stub implementation of "--dhcp-option DNS6 <v6addr>"
Selva Nair (3):
Do not set ipv6 address if '--ip-win32 manual' is used
Handle --dhcp-option DNS6 on Windows using netsh
Set IPv6 DNS servers using interactive service
Steffan Karger (6):
multi_process_float: revert part of c14c4a9e
--tls-crypt fixes
Change cmocka remote to use https in stead of git protocol
generate_key_expansion: make assumption explicit, use C99 features
Poor man's NCP for non-NCP peers
Refactor data channel key generation API
2016.11.17 -- Version 2.4_beta1
Arne Schwabe (1):
Make Changes.rst nicer for 2.4 release
David Sommerseth (16):
Update .mailmap to unify and clean up odd names and e-mail addresses
cleanup: Remove NOP code sections in ssl.c:tls_process()
Remove last rest of INSTALL-win32.txt references
auth-gen-token: Add --auth-gen-token option
auth-gen-token: Generate an auth-token per client
auth-gen-token: Push generated auth-tokens to the client
auth-gen-token: Authenticate generated auth-tokens when client re-authenticates
Fix builds with --disable-crypto
man: Improve the --keepalive section
console: Fix compiler warning
systemd: Improve the systemd unit files
tun: Fix compiler warnings
file checks: Merge warn_if_group_others_accessible() into check_file_access()
tun: Fix weird commit error causing a double assignment
options: Remove --tls-remote
Remove unused variable in argv_printf_arglist()
Gert Doering (10):
openvpn version line: remove [IPv6], add [AEAD] if available
clean up *sig_info handling in link_socket_init_phase2()
check c->c2.link_socket before calling do_init_route_ipv6_list()
Check previously-unchecked buf_alloc_write() call in crypto self-test.
Fix potential division by zero in shaper_reset()
Repair topology subnet on FreeBSD 11
Repair topology subnet on OpenBSD
Add in_port_t check to configure.ac
Fix compilation on MinGW with -std=c99
Replace WIN32 by _WIN32
Heiko Hund (4):
put argv_* functions into own file, add unit tests
Remove unused and unecessary argv interfaces
remove unused system_str from struct argv
Factor out %sc handling from argv_printf()
Lev Stipakov (1):
Drop recursively routed packets
Samuli Seppänen (6):
Remove INSTALL-win32.txt that is now hosted in openvpn-build
Fix update_t_client_ips.sh for out of tree builds
Make sure that all relevant files under test go to release tarballs
Allow passing extra arguments to fping/fping6 in t_client.rc
Prevent generation of duplicate EXPECT_IFCONFIG entries
Fix a logic problem in handling of --up scripts in t_client.sh
Selva Nair (2):
Support --block-outside-dns on multiple tunnels
Unbreak windows build
Steffan Karger (19):
Fix use-after-free bug in prepare_push_reply()
Remove verbose msg() from send_push_reply()
Limit --reneg-bytes to 64MB when using small block ciphers
Add a revoked cert to the sample keys
Fix --tls-version-max in mbed TLS builds
Don't deference type-punned pointers
Fix builds on compilers without anonymous union support
Refactor static/tls-auth key loading
Add missing includes in error.h
Make argv unit tests obey {MBEDTLS, OPENSSL}_{LIBS, CFLAGS}
Move private file access checks to options_postprocess_filechecks()
Deprecate key-method 1
Refactor CRL handling
Remove unneeded check for extra_certs_file_inline
Fix missing return value checks in multi_process_float()
Restore pre-NCP cipher options on SIGUSR1
Remove unused variables from do_init_crypto_static()
Add control channel encryption (--tls-crypt)
Add --tls-crypt unit tests
2016.10.19 -- Version 2.4_alpha2
David Sommerseth (1):
Update .mailmap to unify and clean up odd names and e-mail addresses
Steffan Karger (1):
Fix use-after-free bug in prepare_push_reply()
2016.10.17 -- Version 2.4_alpha1
Adriaan de Jong (2):
Fixed a bug where PolarSSL gave an error when using an inline file tag.
Fix --show-pkcs11-ids (Bug #239)
Alexander Pyhalov (1):
Default gateway can't be determined on illumos/Solaris platforms
Alon Bar-Lev (1):
pkcs11: use generic evp key instead of rsa
Andris Kalnozols (3):
Fix some typos in the man page.
Do not upcase x509-username-field for mixed-case arguments.
extract_x509_extension(): hide status message during normal operation.
Arne Schwabe (100):
Document man agent-external-key
Options parsing demands unnecessary configuration if PKCS11 is used
Error message if max-routes used incorrectly
Properly require --key even if defined(MANAGMENT_EXTERNAL_KEY)
Remove dnsflags_to_socktype, it is not used anywhere
Fix the proto is used inconsistently warning
Remove dead code path and putenv functionality
Remove unused function xor
Move static prototype definition from header into c file
Remove unused function no_tap_ifconfig
Add the client id (CID) to the output of the status command
Print client id only if compiled with man agent support. Otherwise print an empty string.
Allow routes to be set before opening tun, similar to ifconfig before opening tun
Add ability to send/receive file descriptors via management interface
Android platform specific changes.
Emulate persist-tun on Android
Document the Android implementation in OpenVPN
Only print script warnings when a script is used. Remove stray mention of script-security system.
Fix #ifdefs for P2MP_SERVER
Move settings of user script into set_user_script function
Move checking of script file access into set_user_script
Fix another #ifdef/#if P2MP_SERVER
PATCHv3 Remove unused variables or put them to the defines they are being used in
Add support of utun devices under Mac OS X
Add support to ignore specific options.
Add a note what setenv opt does for OpenVPN < 2.3.3
Implement custom HTTP header for http-proxy, and always send user-agent:
Add reporting of UI version to basic push-peer-info set.
Change the type of all ports in openvpn to const char* and let getaddrinfo resolve the port together with the hostname.
Fix compile error in ssl_openssl introduced by polar external-management patch
Simplify print_sockaddr_ex function, merge duplicate ipv4/ipv6 logic.
Split the PROTO_UDP_xx options into AF_INET/AF_INET6 and PROTO_TCP/PROTO_UDP part.
Fix two instances of asserting AF_INET
Fix assertion when SIGUSR1 is received while getaddrinfo is successful
Split link_socket_init_phase1 and link_socket_init_phase2 into smaller more managable/readable functions. No functional changes
Change proto_remote() function to return a constant string
Remove the ip-remote-hint option.
change the type of 'remote' to addrinfo*, and rename to 'remote_list'.
When resolving fails print the error message from socket layer
Implement dual stack client support for OpenVPN
Move ASSERT so external-key with OpenSSL works again
Implement listing on IPv4/IPv6 dual socket on all platform
Add warning for using connection block variables after connection blocks
Update IPv6 related readme files
Introduce safety check for http proxy options
Fix warning for max-routes: do not quit when parsing an old configuration. Format the message to be more like the other deprecated options
Fix connecting to localhost on Android
Move the initialization of the environment to the top so c2.es is initialized
Workaround broken Android 4.4 VpnService API for persist-tun mode
Implement an easy parsable log output that allows access to flags of the log message
Introduce an option to resolve dns names in advance for --remote, --local and --http-proxy
Fix for server selecting address family
Don't show the connection profile store in options->ce if there is a connection_list defined.
Add gateway and device to android control messages
Clean up of socket code.
Fix assert when using port-share
Work around Solaris getaddrinfo() returing ai_protocol=0
Fix man page and OSCP script: tls_serial_{n} is decimal
Remove ENABLE_BUFFER_LIST
Fix server routes not working in topology subnet with --server [v3]
Always enable http-proxy and socks-proxy
Remove deprecated --max-routes option from manual
Add documentation for PERSIST_TUN_ACTION (Android specific)
Remove possibility of using --tls-auth with non OpenVPN Static key files
Remove unused function sock_addr_set
Document the default for tls-cipher.
Report missing end-tags of inline files as errors
Fix commit e473b7c if an inline file happens to have a line break exactly at buffer limit
Show extra-certs in current parameters, fix clang warning and logic error in preresolve
Remove unused function h_errno_msg
Add support for requesting the fd again to rebind to the next interface.
Don't redirect the gateway on Android even if requested
Fix loglevel of protect socket message
Extend network-change command to allow reprotecting on the same network (for short connection losses)
Use pseudo gw as default gw on Android as a workaround for not being able to read /proc/net/route
Remove #ifdefs for client nat support.
Do not install a host route for the VPN on Android
Fix commit c67acea173dc9ee37220f5b9ff14ede081181992
Do not set the buffer size by default but rely on the operation system default.
Start Changes.rst that lists changes in 2.4.0
Remove --enable-password-save option
Reflect enable-password-save change in documentation
Also remove second instance of enable-password-save in the man page
Detect config lines that are too long and give a warning/error
Implement the compression V2 data format for stub and lz4.
Fix assert when comp is called with unknown algorithm, always call comp init method
Ignore stamp-h2 we generate during build process
Implement inlining of crl files
Complete push-peer-info documentation and allow IV_PLAT_VER for other platforms than Windows if the client UI supplies it.
Remove http-proxy-timeout, socks timeout and set default of server-poll-timeout to 120s
Add documentation for http-proxy-user-pass option
Remove http-proxy-retry and socks-proxy-retry.
Update android documentation to match source code
Use AES ciphers in our sample configuration files and add a few modern 2.4 examples
Fix ENABLE_CRYPTO_OPENSSL set to YES even with --disable-crypto set
Prefer RECVDSTADDR to PKTINFO for IPv4 in OS X since it actually works (unlike PKTINFO)
Incorporate the Debian typo fixes where appropriate and make show_opt default message clearer
Enable TCP non-linear packet ID
Change the hold command to communicate the time that OpenVPN would wait to the UI.
Remove tun-ipv6 Option. Instead assume that IPv6 is always supported.
Boris Lytochkin (1):
Log serial number of revoked certificate
Christian Hesse (1):
fix build with automake 1.13(.1)
Christian Niessner (1):
Fix corner case in NTLM authentication (trac #172)
Christos Trochalakis (1):
Adjust server-ipv6 documentation
Cristian Rodriguez (1):
Use SSL_MODE_RELEASE_BUFFERS if available
Daniel Hahler (1):
options: fix option check for "plugin"
Daniel Kubec (4):
Added support for TLS Keying Material Exporters [RFC-5705]
Added document for TLS Keying Material Exporters [RFC-5705]
sample-plugin: TLS Keying Material Exporter [RFC-5705] demonstration plug-in
Fix buffer size parameter for exported keying material.
David Sommerseth (44):
Make git ignore some more files
Remove the support for using system() when executing external programs or scripts
Fix double-free issue in pf_destroy_context()
Reset the version.m4 version for the master branch
Avoid recursion in virtual_output_callback_func()
The get_default_gateway() function uses warn() instead of msg()
Improve the git revision tracking
man page: Update man page about the tls_digest_{n} environment variable
Remove the --disable-eurephia configure option
plugin: Extend the plug-in v3 API to identify the SSL implementation used
autoconf: Fix typo
t_client.sh: Check for fping/fping6 availability
t_client.sh: Write errors to stderr and document requirements
t_client.sh: Add prepare/cleanup possibilties for each test case
Fix file checks when --chroot is being used
Adjusted autotools files to build more cleanly on newer autoconf/automake versions
Improve error reporting on file access to --client-config-dir and --ccd-exclusive
Don't let openvpn_popen() keep zombies around
Don't try to use systemd-ask-password if it is not available
Clean up the pipe closing in openvpn_popen()
Add systemd unit file for OpenVPN
systemd: Use systemd functions to consider systemd availability
systemd: Reworked the systemd unit file to handle server and client configs better
autotools: Fix wrong ./configure help screen default values
down-root plugin: Replaced system() calls with execve()
down-root: Improve error messages
plugin, down-root: Fix compiler warnings
sockets: Remove the limitation of --tcp-nodelay to be server-only
plugins, down-root: Code style clean-up
Provide compile time OpenVPN version information to plug-ins
Provide OpenVPN runtime version information to plug-ins
Avoid partial authentication state when using --disabled in CCD configs
Only build and run cmocka unit tests if its submodule is initialized
Another fix related to unit test framework
Remove NOP function and callers
Revert "Drop recursively routed packets"
Fix client connection instant timeout
t_client.sh: Make OpenVPN write PID file to avoid various sudo issues
t_client.sh: Add support for Kerberos/ksu
t_client.sh: Improve detection if the OpenVPN process did start during tests
Rework the user input interface to make it more modular
Re-implement the systemd support using the new query user API
systemd: Do not mask usernames when querying for it via systemd-ask-password
Move memcmp_constant_time() to crypto.h
David Woodhouse (2):
pkcs11: Load p11-kit-proxy.so module by default
Make 'provider' option to --show-pkcs11-ids optional where p11-kit is present
Davide Brini (2):
Provide more accurate warning message
Document authfile for socks server
Dmitrij Tejblum (1):
Fix is_ipv6 in case of tap interface.
Dorian Harmans (1):
Add CHACHA20-POLY1305 ciphersuite IANA name translations.
Felix Janda (1):
Use OPENVPN_ETH_P_* so that <netinet/if_ether.h> is unecessary
Fish (1):
Add lz4 support to MSVC.
Gert Doering (110):
Implement --mssfix handling for IPv6 packets.
Fix option inconsistency warnings about "proto" and "tun-ipv6"
Fix parameter type for IP_TOS setsockopt on non-Linux systems.
Fix client crash on double PUSH_REPLY.
Update README.IPv6 to match what is in 2.3.0
Repair "tcp server queue overflow" brokenness, more <stdbool.h> fallout.
Permit pool size of /64.../112 for ifconfig-ipv6-pool
Add MIN() compatibility macro
Fix directly connected routes for "topology subnet" on Solaris.
Print "Virtual IPv6 Address" on management interface queries [v4]
Use constrain_int() instead of MIN()+syshead.c compat definition - v2.
Fix NULL-pointer crash in route_list_add_vpn_gateway().
Fix usage of 'compression ...' from global config.
Make push-peer-info visible in "normal" per-instance environment.
Fix problem with UDP tunneling due to mishandled pktinfo structures.
Improve documentation and help text for --route-ipv6.
Fix argument type warning introduced by http extra proxy header patch.
Fix IPv6 examples in t_client.rc-sample
Fix slow memory drain on each client renegotiation.
t_client.sh: ignore fields from "ip -6 route show" output that distort results.
Fix IPv6_V6ONLY logic.
Implement LZ4 compression.
Provide LZ4 sources in src/compat/ and use if no system lz4 library found.
Document "lz4" argument to "compress" config option.
Make code and documentation for --remote-random-hostname consistent.
Reduce IV_OPENVPN_GUI_VERSION= to IV_GUI_VER=
remove some 'unused variable' warnings
Cleanup ir6->netbits handling.
Document issue with --chroot, /dev/urandom and PolarSSL.
Rename 'struct route' to 'struct route_ipv4'
Replace copied structure elements with including <net/route.h>
Add "test-driver" and "compile" to .gitignore
Fix crash when using --inetd.
IPv6 address/route delete fix for Win8
Add SSL library version reporting.
Minor t_client.sh cleanups
Repair --multihome on FreeBSD for IPv4 sockets.
Rewrite manpage section about --multihome
More IPv6-related updates to the openvpn man page.
Conditionalize calls to print_default_gateway on !ENABLE_SMALL
Merge get_default_gateway() implementation for all 4+1 BSD variants.
Drop incoming fe80:: packets silently now.
Recognize AIX, define TARGET_AIX
Add tap driver initialization and ifconfig for AIX.