Merge ~lvoytek/ubuntu/+source/openvpn:update-2.6.10-oracular into ubuntu/+source/openvpn:ubuntu/devel
- Git
- lp:~lvoytek/ubuntu/+source/openvpn
- update-2.6.10-oracular
- Merge into ubuntu/devel
Proposed by
Lena Voytek
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | git-ubuntu bot | ||||
Approved revision: | not available | ||||
Merge reported by: | Andreas Hasenack | ||||
Merged at revision: | 626c51111b6ea32e78017385711e98e6e9200b3a | ||||
Proposed branch: | ~lvoytek/ubuntu/+source/openvpn:update-2.6.10-oracular | ||||
Merge into: | ubuntu/+source/openvpn:ubuntu/devel | ||||
Diff against target: |
10151 lines (+2204/-1313) 307 files modified
COPYING (+1/-1) ChangeLog (+33/-1) Changes.rst (+52/-1) Makefile.am (+2/-2) Makefile.in (+3/-2) PORTS (+1/-1) README.mbedtls (+0/-16) build/Makefile.in (+1/-0) config.guess (+5/-11) config.sub (+7/-13) configure (+251/-128) configure.ac (+1/-1) contrib/OCSP_check/OCSP_check.sh (+1/-1) contrib/cmake/git-version.py (+1/-1) contrib/cmake/parse-version.m4.py (+1/-1) debian/changelog (+20/-0) debian/patches/series (+0/-1) dev/null (+0/-86) distro/Makefile.am (+1/-1) distro/Makefile.in (+2/-1) distro/systemd/Makefile.am (+5/-2) distro/systemd/Makefile.in (+6/-2) distro/systemd/openvpn-client@.service.in (+2/-2) distro/systemd/openvpn-server@.service.in (+2/-2) doc/Makefile.am (+1/-1) doc/Makefile.in (+2/-1) doc/doxygen/Makefile.in (+1/-0) doc/man-sections/cipher-negotiation.rst (+1/-1) doc/man-sections/client-options.rst (+11/-0) doc/man-sections/generic-options.rst (+1/-1) doc/man-sections/inline-files.rst (+1/-1) doc/man-sections/vpn-network-options.rst (+2/-2) doc/openvpn-examples.5 (+5/-5) doc/openvpn-examples.5.html (+4/-4) doc/openvpn.8 (+131/-113) doc/openvpn.8.html (+18/-9) include/Makefile.am (+1/-1) include/Makefile.in (+2/-1) include/openvpn-msg.h (+1/-1) include/openvpn-plugin.h (+2/-2) include/openvpn-plugin.h.in (+1/-1) ltmain.sh (+523/-338) m4/libtool.m4 (+141/-135) m4/ltoptions.m4 (+2/-2) m4/ltsugar.m4 (+1/-1) m4/ltversion.m4 (+7/-6) m4/lt~obsolete.m4 (+2/-2) sample/Makefile.am (+1/-1) sample/Makefile.in (+2/-1) sample/sample-config-files/server.conf (+1/-1) sample/sample-keys/gen-sample-keys.sh (+1/-1) sample/sample-plugins/Makefile (+60/-59) sample/sample-plugins/Makefile.am (+1/-1) sample/sample-plugins/Makefile.in (+3/-2) sample/sample-plugins/Makefile.plugins (+1/-1) sample/sample-plugins/client-connect/sample-client-connect.c (+1/-1) sample/sample-plugins/defer/multi-auth.c (+1/-1) sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c (+1/-1) sample/sample-plugins/log/log.c (+1/-1) sample/sample-plugins/log/log_v3.c (+2/-2) sample/sample-plugins/simple/base64.c (+1/-1) sample/sample-plugins/simple/simple.c (+1/-1) src/Makefile.am (+1/-1) src/Makefile.in (+2/-1) src/compat/Makefile.am (+1/-1) src/compat/Makefile.in (+2/-1) src/compat/compat-gettimeofday.c (+1/-1) src/compat/compat-strsep.c (+1/-1) src/openvpn/Makefile.am (+1/-1) src/openvpn/Makefile.in (+2/-1) src/openvpn/argv.c (+1/-1) src/openvpn/argv.h (+1/-1) src/openvpn/auth_token.h (+1/-1) src/openvpn/basic.h (+1/-1) src/openvpn/block_dns.c (+1/-1) src/openvpn/block_dns.h (+1/-1) src/openvpn/buffer.c (+1/-1) src/openvpn/buffer.h (+1/-1) src/openvpn/circ_list.h (+1/-1) src/openvpn/clinat.c (+1/-1) src/openvpn/clinat.h (+1/-1) src/openvpn/common.h (+1/-1) src/openvpn/comp-lz4.c (+2/-2) src/openvpn/comp-lz4.h (+2/-2) src/openvpn/comp.c (+2/-2) src/openvpn/comp.h (+1/-1) src/openvpn/compstub.c (+1/-1) src/openvpn/console.c (+2/-2) src/openvpn/console.h (+2/-2) src/openvpn/console_builtin.c (+2/-2) src/openvpn/crypto.c (+1/-1) src/openvpn/crypto.h (+1/-1) src/openvpn/crypto_backend.h (+1/-1) src/openvpn/crypto_mbedtls.c (+1/-1) src/openvpn/crypto_mbedtls.h (+1/-1) src/openvpn/crypto_openssl.c (+1/-1) src/openvpn/crypto_openssl.h (+1/-1) src/openvpn/dco.c (+10/-4) src/openvpn/dco.h (+3/-3) src/openvpn/dco_internal.h (+2/-2) src/openvpn/dco_linux.c (+3/-3) src/openvpn/dco_linux.h (+3/-3) src/openvpn/dco_win.c (+2/-2) src/openvpn/dco_win.h (+2/-2) src/openvpn/dhcp.c (+1/-1) src/openvpn/dhcp.h (+1/-1) src/openvpn/dns.c (+1/-1) src/openvpn/dns.h (+1/-1) src/openvpn/env_set.c (+2/-2) src/openvpn/env_set.h (+1/-1) src/openvpn/errlevel.h (+1/-1) src/openvpn/error.c (+1/-1) src/openvpn/error.h (+2/-8) src/openvpn/event.c (+1/-1) src/openvpn/event.h (+1/-1) src/openvpn/fdmisc.c (+1/-1) src/openvpn/fdmisc.h (+1/-1) src/openvpn/forward.c (+1/-1) src/openvpn/forward.h (+1/-1) src/openvpn/fragment.c (+1/-1) src/openvpn/fragment.h (+2/-2) src/openvpn/gremlin.c (+1/-1) src/openvpn/gremlin.h (+1/-1) src/openvpn/helper.c (+1/-1) src/openvpn/helper.h (+1/-1) src/openvpn/httpdigest.c (+1/-1) src/openvpn/httpdigest.h (+1/-1) src/openvpn/init.c (+1/-7) src/openvpn/init.h (+1/-1) src/openvpn/integer.h (+1/-1) src/openvpn/interval.c (+1/-1) src/openvpn/interval.h (+1/-1) src/openvpn/list.c (+1/-1) src/openvpn/list.h (+1/-1) src/openvpn/lzo.c (+1/-1) src/openvpn/lzo.h (+1/-1) src/openvpn/manage.c (+1/-1) src/openvpn/manage.h (+1/-1) src/openvpn/mbuf.c (+1/-1) src/openvpn/mbuf.h (+1/-1) src/openvpn/memdbg.h (+1/-1) src/openvpn/misc.c (+2/-2) src/openvpn/misc.h (+1/-1) src/openvpn/mroute.c (+1/-1) src/openvpn/mroute.h (+1/-1) src/openvpn/mss.c (+1/-1) src/openvpn/mss.h (+1/-1) src/openvpn/mstats.c (+1/-1) src/openvpn/mstats.h (+1/-1) src/openvpn/mtcp.c (+1/-1) src/openvpn/mtcp.h (+1/-1) src/openvpn/mtu.c (+1/-1) src/openvpn/mtu.h (+1/-1) src/openvpn/mudp.c (+1/-1) src/openvpn/mudp.h (+1/-1) src/openvpn/multi.c (+1/-1) src/openvpn/multi.h (+1/-1) src/openvpn/networking.h (+1/-1) src/openvpn/networking_iproute2.c (+1/-1) src/openvpn/networking_iproute2.h (+1/-1) src/openvpn/networking_sitnl.c (+1/-1) src/openvpn/networking_sitnl.h (+1/-1) src/openvpn/occ.c (+1/-1) src/openvpn/occ.h (+1/-1) src/openvpn/openssl_compat.h (+1/-1) src/openvpn/openvpn.c (+1/-1) src/openvpn/openvpn.h (+1/-1) src/openvpn/options.c (+3/-3) src/openvpn/options.h (+1/-1) src/openvpn/options_util.c (+1/-1) src/openvpn/options_util.h (+1/-1) src/openvpn/otime.c (+1/-1) src/openvpn/otime.h (+1/-1) src/openvpn/packet_id.c (+1/-1) src/openvpn/packet_id.h (+1/-1) src/openvpn/perf.c (+1/-1) src/openvpn/perf.h (+1/-1) src/openvpn/ping.c (+1/-1) src/openvpn/ping.h (+1/-1) src/openvpn/pkcs11.c (+1/-1) src/openvpn/pkcs11.h (+1/-1) src/openvpn/pkcs11_backend.h (+1/-1) src/openvpn/pkcs11_mbedtls.c (+1/-1) src/openvpn/pkcs11_openssl.c (+1/-1) src/openvpn/platform.c (+1/-1) src/openvpn/platform.h (+1/-1) src/openvpn/plugin.c (+16/-4) src/openvpn/plugin.h (+1/-1) src/openvpn/pool.c (+1/-1) src/openvpn/pool.h (+1/-1) src/openvpn/proto.c (+1/-1) src/openvpn/proto.h (+1/-1) src/openvpn/proxy.c (+1/-1) src/openvpn/proxy.h (+1/-1) src/openvpn/ps.c (+1/-1) src/openvpn/ps.h (+1/-1) src/openvpn/push.c (+1/-1) src/openvpn/push.h (+1/-1) src/openvpn/pushlist.h (+1/-1) src/openvpn/reflect_filter.c (+1/-1) src/openvpn/reflect_filter.h (+1/-1) src/openvpn/reliable.c (+1/-1) src/openvpn/reliable.h (+1/-1) src/openvpn/ring_buffer.h (+1/-1) src/openvpn/route.c (+1/-1) src/openvpn/route.h (+1/-1) src/openvpn/run_command.c (+1/-1) src/openvpn/run_command.h (+1/-1) src/openvpn/schedule.c (+1/-1) src/openvpn/schedule.h (+1/-1) src/openvpn/session_id.c (+1/-1) src/openvpn/session_id.h (+1/-1) src/openvpn/shaper.c (+1/-1) src/openvpn/shaper.h (+1/-1) src/openvpn/sig.c (+1/-1) src/openvpn/sig.h (+1/-1) src/openvpn/socket.c (+1/-1) src/openvpn/socket.h (+1/-1) src/openvpn/socks.c (+1/-1) src/openvpn/socks.h (+1/-1) src/openvpn/ssl.c (+2/-2) src/openvpn/ssl.h (+1/-1) src/openvpn/ssl_backend.h (+1/-1) src/openvpn/ssl_common.h (+1/-1) src/openvpn/ssl_mbedtls.c (+1/-1) src/openvpn/ssl_mbedtls.h (+1/-1) src/openvpn/ssl_ncp.c (+2/-2) src/openvpn/ssl_ncp.h (+1/-1) src/openvpn/ssl_openssl.c (+1/-1) src/openvpn/ssl_openssl.h (+1/-1) src/openvpn/ssl_pkt.c (+1/-1) src/openvpn/ssl_pkt.h (+1/-1) src/openvpn/ssl_util.c (+1/-1) src/openvpn/ssl_util.h (+1/-1) src/openvpn/ssl_verify.c (+1/-1) src/openvpn/ssl_verify.h (+1/-1) src/openvpn/ssl_verify_backend.h (+1/-1) src/openvpn/ssl_verify_mbedtls.c (+1/-1) src/openvpn/ssl_verify_mbedtls.h (+1/-1) src/openvpn/ssl_verify_openssl.c (+1/-1) src/openvpn/ssl_verify_openssl.h (+1/-1) src/openvpn/status.c (+1/-1) src/openvpn/status.h (+1/-1) src/openvpn/syshead.h (+1/-1) src/openvpn/tun.c (+1/-1) src/openvpn/tun.h (+1/-1) src/openvpn/vlan.c (+1/-1) src/openvpn/vlan.h (+1/-1) src/openvpn/win32-util.c (+1/-1) src/openvpn/win32-util.h (+1/-1) src/openvpn/win32.c (+66/-13) src/openvpn/win32.h (+28/-1) src/openvpn/xkey_common.h (+1/-1) src/openvpn/xkey_helper.c (+1/-1) src/openvpn/xkey_provider.c (+1/-1) src/openvpnmsica/Makefile.am (+2/-2) src/openvpnmsica/Makefile.in (+3/-2) src/openvpnmsica/dllmain.c (+1/-1) src/openvpnmsica/msica_arg.c (+1/-1) src/openvpnmsica/msica_arg.h (+1/-1) src/openvpnmsica/msiex.c (+1/-1) src/openvpnmsica/msiex.h (+1/-1) src/openvpnmsica/openvpnmsica.c (+1/-1) src/openvpnmsica/openvpnmsica.h (+1/-1) src/openvpnmsica/openvpnmsica_resources.rc (+1/-1) src/openvpnserv/Makefile.am (+1/-1) src/openvpnserv/Makefile.in (+2/-1) src/openvpnserv/common.c (+1/-1) src/openvpnserv/interactive.c (+24/-17) src/openvpnserv/service.h (+1/-1) src/openvpnserv/validate.c (+1/-1) src/openvpnserv/validate.h (+1/-1) src/plugins/Makefile.am (+1/-1) src/plugins/Makefile.in (+2/-1) src/plugins/auth-pam/Makefile.in (+1/-0) src/plugins/auth-pam/auth-pam.c (+2/-2) src/plugins/auth-pam/utils.c (+1/-1) src/plugins/auth-pam/utils.h (+1/-1) src/plugins/down-root/Makefile.in (+1/-0) src/plugins/down-root/down-root.c (+1/-1) src/tapctl/Makefile.am (+2/-2) src/tapctl/Makefile.in (+3/-2) src/tapctl/basic.h (+2/-2) src/tapctl/error.c (+2/-2) src/tapctl/error.h (+2/-2) src/tapctl/main.c (+2/-2) src/tapctl/tap.c (+1/-1) src/tapctl/tap.h (+1/-1) src/tapctl/tapctl_resources.rc (+1/-1) tests/Makefile.am (+15/-1) tests/Makefile.in (+330/-13) tests/ntlm_support.c (+52/-0) tests/t_client.rc-sample (+25/-7) tests/t_client.sh.in (+14/-0) tests/unit_tests/Makefile.in (+1/-0) tests/unit_tests/example_test/Makefile.in (+1/-0) tests/unit_tests/openvpn/Makefile.in (+1/-0) tests/unit_tests/openvpn/cert_data.h (+1/-1) tests/unit_tests/openvpn/mock_msg.c (+13/-1) tests/unit_tests/openvpn/mock_win32_execve.c (+2/-2) tests/unit_tests/openvpn/test_cryptoapi.c (+1/-1) tests/unit_tests/openvpn/test_misc.c (+1/-1) tests/unit_tests/openvpn/test_ncp.c (+1/-1) tests/unit_tests/openvpn/test_provider.c (+1/-1) tests/unit_tests/plugins/Makefile.in (+1/-0) tests/unit_tests/plugins/auth-pam/Makefile.in (+1/-0) version.m4 (+1/-1) |
||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
git-ubuntu bot | Approve | ||
Andreas Hasenack | Approve | ||
Canonical Server Reporter | Pending | ||
Review via email:
|
Commit message
Description of the change
Update oracular to 2.6.10 to prepare for MRE of noble + mantic
PPA: https:/
To post a comment you must log in.
- 626c511... by Lena Voytek
-
changelog
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
git-ubuntu bot (git-ubuntu-bot) wrote : | # |
Approvers: lvoytek, ahasenack
Uploaders: lvoytek, ahasenack
MP auto-approved
review:
Approve
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Lena Voytek (lvoytek) wrote : | # |
Thanks! Uploaded
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Andreas Hasenack (ahasenack) wrote : | # |
This is in oracular proposed[1] already, marking MP as merged.
1. https:/
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/COPYING b/COPYING |
2 | index 28525d7..00ecc27 100644 |
3 | --- a/COPYING |
4 | +++ b/COPYING |
5 | @@ -1,6 +1,6 @@ |
6 | OpenVPN (TM) -- An Open Source VPN daemon |
7 | |
8 | -Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
9 | +Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
10 | |
11 | This distribution contains multiple components, some |
12 | of which fall under different licenses. By using OpenVPN |
13 | diff --git a/ChangeLog b/ChangeLog |
14 | index 3cf6b50..c0c06ff 100644 |
15 | --- a/ChangeLog |
16 | +++ b/ChangeLog |
17 | @@ -1,5 +1,37 @@ |
18 | OpenVPN ChangeLog |
19 | -Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
20 | +Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
21 | + |
22 | +2024.03.20 -- Version 2.6.10 |
23 | + |
24 | +Christoph Schug (1): |
25 | + Update documentation references in systemd unit files |
26 | + |
27 | +Frank Lichtenheld (6): |
28 | + Fix typo --data-cipher-fallback |
29 | + samples: Remove tls-*.conf |
30 | + check_compression_settings_valid: Do not test for LZ4 in LZO check |
31 | + t_client.sh: Allow to skip tests |
32 | + Update Copyright statements to 2024 |
33 | + GHA: general update March 2024 |
34 | + |
35 | +Lev Stipakov (4): |
36 | + win32: Enforce loading of plugins from a trusted directory |
37 | + interactive.c: disable remote access to the service pipe |
38 | + interactive.c: Fix potential stack overflow issue |
39 | + Disable DCO if proxy is set via management |
40 | + |
41 | +Martin Rys (1): |
42 | + openvpn-[client|server].service: Remove syslog.target |
43 | + |
44 | +Max Fillinger (1): |
45 | + Remove license warning from README.mbedtls |
46 | + |
47 | +Selva Nair (1): |
48 | + Document that auth-user-pass may be inlined |
49 | + |
50 | +wellweek (1): |
51 | + remove repetitive words in documentation and comments |
52 | + |
53 | |
54 | 2024.02.11 -- Version 2.6.9 |
55 | |
56 | diff --git a/Changes.rst b/Changes.rst |
57 | index 2b8e6f5..029c807 100644 |
58 | --- a/Changes.rst |
59 | +++ b/Changes.rst |
60 | @@ -1,3 +1,54 @@ |
61 | +Overview of changes in 2.6.10 |
62 | +============================= |
63 | +Security fixes |
64 | +-------------- |
65 | +- CVE-2024-27459: Windows: fix a possible stack overflow in the |
66 | + interactive service component which might lead to a local privilege |
67 | + escalation. |
68 | + Reported-by: Vladimir Tokarev <vtokarev@microsoft.com> |
69 | + |
70 | +- CVE-2024-24974: Windows: disallow access to the interactive service |
71 | + pipe from remote computers. |
72 | + Reported-by: Vladimir Tokarev <vtokarev@microsoft.com> |
73 | + |
74 | +- CVE-2024-27903: Windows: disallow loading of plugins from untrusted |
75 | + installation paths, which could be used to attack openvpn.exe via |
76 | + a malicious plugin. Plugins can now only be loaded from the OpenVPN |
77 | + install directory, the Windows system directory, and possibly from |
78 | + a directory specified by HKLM\SOFTWARE\OpenVPN\plugin_dir. |
79 | + Reported-by: Vladimir Tokarev <vtokarev@microsoft.com> |
80 | + |
81 | +Bug fixes |
82 | +--------- |
83 | +- Windows: if the win-dco driver is used (default) and the GUI requests |
84 | + use of a proxy server, the connection would fail. Disable DCO in |
85 | + this case. (Github: #522) |
86 | + |
87 | +- Compression: minor bugfix in checking option consistency vs. compiled-in |
88 | + algorithm support |
89 | + |
90 | +- systemd unit files: remove obsolete syslog.target |
91 | + |
92 | +User visible changes |
93 | +-------------------- |
94 | +- Update copyright notices to 2024 |
95 | + |
96 | +New features |
97 | +------------ |
98 | +- t_client.sh can now run pre-tests and skip a test block if needed |
99 | + (e.g. skip NTLM proxy tests if SSL library does not support MD4) |
100 | + |
101 | +Documentation |
102 | +------------- |
103 | +- remove license warnings about mbedTLS linking (README.mbedtls) |
104 | + |
105 | +- update documentation references in systemd unit files |
106 | + |
107 | +- sample config files: remove obsolete tls-*.conf files |
108 | + |
109 | +- document that auth-user-pass may be inlined |
110 | + |
111 | + |
112 | Overview of changes in 2.6.9 |
113 | ============================ |
114 | |
115 | @@ -1453,7 +1504,7 @@ Control channel encryption (``--tls-crypt``) |
116 | Asynchronous push reply |
117 | Plug-ins providing support for deferred authentication can benefit from a more |
118 | responsive authentication where the server sends PUSH_REPLY immediately once |
119 | - the authentication result is ready, instead of waiting for the the client to |
120 | + the authentication result is ready, instead of waiting for the client to |
121 | to send PUSH_REQUEST once more. This requires OpenVPN to be built with |
122 | ``./configure --enable-async-push``. This is a compile-time only switch. |
123 | |
124 | diff --git a/Makefile.am b/Makefile.am |
125 | index 7478cc5..e4203aa 100644 |
126 | --- a/Makefile.am |
127 | +++ b/Makefile.am |
128 | @@ -5,8 +5,8 @@ |
129 | # packet encryption, packet authentication, and |
130 | # packet compression. |
131 | # |
132 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
133 | -# Copyright (C) 2010-2023 David Sommerseth <dazo@eurephia.org> |
134 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
135 | +# Copyright (C) 2010-2024 David Sommerseth <dazo@eurephia.org> |
136 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
137 | # |
138 | # This program is free software; you can redistribute it and/or modify |
139 | diff --git a/Makefile.in b/Makefile.in |
140 | index fb26773..a1e9ed8 100644 |
141 | --- a/Makefile.in |
142 | +++ b/Makefile.in |
143 | @@ -21,8 +21,8 @@ |
144 | # packet encryption, packet authentication, and |
145 | # packet compression. |
146 | # |
147 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
148 | -# Copyright (C) 2010-2023 David Sommerseth <dazo@eurephia.org> |
149 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
150 | +# Copyright (C) 2010-2024 David Sommerseth <dazo@eurephia.org> |
151 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
152 | # |
153 | # This program is free software; you can redistribute it and/or modify |
154 | @@ -296,6 +296,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ |
155 | ETAGS = @ETAGS@ |
156 | EXEEXT = @EXEEXT@ |
157 | FGREP = @FGREP@ |
158 | +FILECMD = @FILECMD@ |
159 | GIT = @GIT@ |
160 | GREP = @GREP@ |
161 | IFCONFIG = @IFCONFIG@ |
162 | diff --git a/PORTS b/PORTS |
163 | index dd156d0..dadc6f8 100644 |
164 | --- a/PORTS |
165 | +++ b/PORTS |
166 | @@ -1,5 +1,5 @@ |
167 | OpenVPN |
168 | -Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
169 | +Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
170 | |
171 | OpenVPN has been written to try to avoid features |
172 | that are not standardized well across different |
173 | diff --git a/README.mbedtls b/README.mbedtls |
174 | index 124eaa2..c4f3924 100644 |
175 | --- a/README.mbedtls |
176 | +++ b/README.mbedtls |
177 | @@ -11,22 +11,6 @@ This version requires mbed TLS version >= 2.0.0 or >= 3.2.1. |
178 | |
179 | ************************************************************************* |
180 | |
181 | -Warning: |
182 | - |
183 | -As of mbed TLS 2.17, it can be licensed *only* under the Apache v2.0 license. |
184 | -That license is incompatible with OpenVPN's GPLv2. |
185 | - |
186 | -We are currently in the process of resolving this problem, but for now, if you |
187 | -wish to distribute OpenVPN linked with mbed TLS, there are two options: |
188 | - |
189 | - * Ensure that your case falls under the system library exception in GPLv2, or |
190 | - |
191 | - * Use an earlier version of mbed TLS. Version 2.16.12 is the last release |
192 | - that may be licensed under GPLv2. Unfortunately, this version is |
193 | - unsupported and won't receive any more updates. |
194 | - |
195 | -************************************************************************* |
196 | - |
197 | Due to limitations in the mbed TLS library, the following features are missing |
198 | in the mbed TLS version of OpenVPN: |
199 | |
200 | diff --git a/build/Makefile.in b/build/Makefile.in |
201 | index a9a992e..70a4aa5 100644 |
202 | --- a/build/Makefile.in |
203 | +++ b/build/Makefile.in |
204 | @@ -168,6 +168,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ |
205 | ETAGS = @ETAGS@ |
206 | EXEEXT = @EXEEXT@ |
207 | FGREP = @FGREP@ |
208 | +FILECMD = @FILECMD@ |
209 | GIT = @GIT@ |
210 | GREP = @GREP@ |
211 | IFCONFIG = @IFCONFIG@ |
212 | diff --git a/config.guess b/config.guess |
213 | index 7f76b62..e81d3ae 100755 |
214 | --- a/config.guess |
215 | +++ b/config.guess |
216 | @@ -1,14 +1,14 @@ |
217 | #! /bin/sh |
218 | # Attempt to guess a canonical system name. |
219 | -# Copyright 1992-2022 Free Software Foundation, Inc. |
220 | +# Copyright 1992-2021 Free Software Foundation, Inc. |
221 | |
222 | # shellcheck disable=SC2006,SC2268 # see below for rationale |
223 | |
224 | -timestamp='2022-01-09' |
225 | +timestamp='2021-06-03' |
226 | |
227 | # This file is free software; you can redistribute it and/or modify it |
228 | # under the terms of the GNU General Public License as published by |
229 | -# the Free Software Foundation, either version 3 of the License, or |
230 | +# the Free Software Foundation; either version 3 of the License, or |
231 | # (at your option) any later version. |
232 | # |
233 | # This program is distributed in the hope that it will be useful, but |
234 | @@ -60,7 +60,7 @@ version="\ |
235 | GNU config.guess ($timestamp) |
236 | |
237 | Originally written by Per Bothner. |
238 | -Copyright 1992-2022 Free Software Foundation, Inc. |
239 | +Copyright 1992-2021 Free Software Foundation, Inc. |
240 | |
241 | This is free software; see the source for copying conditions. There is NO |
242 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
243 | @@ -437,7 +437,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in |
244 | # This test works for both compilers. |
245 | if test "$CC_FOR_BUILD" != no_compiler_found; then |
246 | if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ |
247 | - (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ |
248 | + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ |
249 | grep IS_64BIT_ARCH >/dev/null |
250 | then |
251 | SUN_ARCH=x86_64 |
252 | @@ -929,9 +929,6 @@ EOF |
253 | i*:PW*:*) |
254 | GUESS=$UNAME_MACHINE-pc-pw32 |
255 | ;; |
256 | - *:SerenityOS:*:*) |
257 | - GUESS=$UNAME_MACHINE-pc-serenity |
258 | - ;; |
259 | *:Interix*:*) |
260 | case $UNAME_MACHINE in |
261 | x86) |
262 | @@ -1525,9 +1522,6 @@ EOF |
263 | i*86:rdos:*:*) |
264 | GUESS=$UNAME_MACHINE-pc-rdos |
265 | ;; |
266 | - i*86:Fiwix:*:*) |
267 | - GUESS=$UNAME_MACHINE-pc-fiwix |
268 | - ;; |
269 | *:AROS:*:*) |
270 | GUESS=$UNAME_MACHINE-unknown-aros |
271 | ;; |
272 | diff --git a/config.sub b/config.sub |
273 | index dba16e8..d74fb6d 100755 |
274 | --- a/config.sub |
275 | +++ b/config.sub |
276 | @@ -1,14 +1,14 @@ |
277 | #! /bin/sh |
278 | # Configuration validation subroutine script. |
279 | -# Copyright 1992-2022 Free Software Foundation, Inc. |
280 | +# Copyright 1992-2021 Free Software Foundation, Inc. |
281 | |
282 | # shellcheck disable=SC2006,SC2268 # see below for rationale |
283 | |
284 | -timestamp='2022-01-03' |
285 | +timestamp='2021-08-14' |
286 | |
287 | # This file is free software; you can redistribute it and/or modify it |
288 | # under the terms of the GNU General Public License as published by |
289 | -# the Free Software Foundation, either version 3 of the License, or |
290 | +# the Free Software Foundation; either version 3 of the License, or |
291 | # (at your option) any later version. |
292 | # |
293 | # This program is distributed in the hope that it will be useful, but |
294 | @@ -76,7 +76,7 @@ Report bugs and patches to <config-patches@gnu.org>." |
295 | version="\ |
296 | GNU config.sub ($timestamp) |
297 | |
298 | -Copyright 1992-2022 Free Software Foundation, Inc. |
299 | +Copyright 1992-2021 Free Software Foundation, Inc. |
300 | |
301 | This is free software; see the source for copying conditions. There is NO |
302 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
303 | @@ -1020,11 +1020,6 @@ case $cpu-$vendor in |
304 | ;; |
305 | |
306 | # Here we normalize CPU types with a missing or matching vendor |
307 | - armh-unknown | armh-alt) |
308 | - cpu=armv7l |
309 | - vendor=alt |
310 | - basic_os=${basic_os:-linux-gnueabihf} |
311 | - ;; |
312 | dpx20-unknown | dpx20-bull) |
313 | cpu=rs6000 |
314 | vendor=bull |
315 | @@ -1126,7 +1121,7 @@ case $cpu-$vendor in |
316 | xscale-* | xscalee[bl]-*) |
317 | cpu=`echo "$cpu" | sed 's/^xscale/arm/'` |
318 | ;; |
319 | - arm64-* | aarch64le-*) |
320 | + arm64-*) |
321 | cpu=aarch64 |
322 | ;; |
323 | |
324 | @@ -1309,7 +1304,7 @@ esac |
325 | if test x$basic_os != x |
326 | then |
327 | |
328 | -# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just |
329 | +# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just |
330 | # set os. |
331 | case $basic_os in |
332 | gnu/linux*) |
333 | @@ -1753,8 +1748,7 @@ case $os in |
334 | | skyos* | haiku* | rdos* | toppers* | drops* | es* \ |
335 | | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ |
336 | | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ |
337 | - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ |
338 | - | fiwix* ) |
339 | + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) |
340 | ;; |
341 | # This one is extra strict with allowed versions |
342 | sco3.2v2 | sco3.2v[4-9]* | sco5v6*) |
343 | diff --git a/configure b/configure |
344 | index 44d422f..8484a51 100755 |
345 | --- a/configure |
346 | +++ b/configure |
347 | @@ -1,6 +1,6 @@ |
348 | #! /bin/sh |
349 | # Guess values for system-dependent variables and create Makefiles. |
350 | -# Generated by GNU Autoconf 2.71 for OpenVPN 2.6.9. |
351 | +# Generated by GNU Autoconf 2.71 for OpenVPN 2.6.10. |
352 | # |
353 | # Report bugs to <openvpn-users@lists.sourceforge.net>. |
354 | # |
355 | @@ -621,8 +621,8 @@ MAKEFLAGS= |
356 | # Identity of this package. |
357 | PACKAGE_NAME='OpenVPN' |
358 | PACKAGE_TARNAME='openvpn' |
359 | -PACKAGE_VERSION='2.6.9' |
360 | -PACKAGE_STRING='OpenVPN 2.6.9' |
361 | +PACKAGE_VERSION='2.6.10' |
362 | +PACKAGE_STRING='OpenVPN 2.6.10' |
363 | PACKAGE_BUGREPORT='openvpn-users@lists.sourceforge.net' |
364 | PACKAGE_URL='' |
365 | |
366 | @@ -747,6 +747,7 @@ MANIFEST_TOOL |
367 | RANLIB |
368 | ac_ct_AR |
369 | AR |
370 | +FILECMD |
371 | NM |
372 | ac_ct_DUMPBIN |
373 | DUMPBIN |
374 | @@ -1522,7 +1523,7 @@ if test "$ac_init_help" = "long"; then |
375 | # Omit some internal or obsolete options to make the list less imposing. |
376 | # This message is too long to be a string in the A/UX 3.1 sh. |
377 | cat <<_ACEOF |
378 | -\`configure' configures OpenVPN 2.6.9 to adapt to many kinds of systems. |
379 | +\`configure' configures OpenVPN 2.6.10 to adapt to many kinds of systems. |
380 | |
381 | Usage: $0 [OPTION]... [VAR=VALUE]... |
382 | |
383 | @@ -1593,7 +1594,7 @@ fi |
384 | |
385 | if test -n "$ac_init_help"; then |
386 | case $ac_init_help in |
387 | - short | recursive ) echo "Configuration of OpenVPN 2.6.9:";; |
388 | + short | recursive ) echo "Configuration of OpenVPN 2.6.10:";; |
389 | esac |
390 | cat <<\_ACEOF |
391 | |
392 | @@ -1830,7 +1831,7 @@ fi |
393 | test -n "$ac_init_help" && exit $ac_status |
394 | if $ac_init_version; then |
395 | cat <<\_ACEOF |
396 | -OpenVPN configure 2.6.9 |
397 | +OpenVPN configure 2.6.10 |
398 | generated by GNU Autoconf 2.71 |
399 | |
400 | Copyright (C) 2021 Free Software Foundation, Inc. |
401 | @@ -2487,7 +2488,7 @@ cat >config.log <<_ACEOF |
402 | This file contains any messages produced by compilers while |
403 | running configure, to aid debugging if configure makes a mistake. |
404 | |
405 | -It was created by OpenVPN $as_me 2.6.9, which was |
406 | +It was created by OpenVPN $as_me 2.6.10, which was |
407 | generated by GNU Autoconf 2.71. Invocation command line was |
408 | |
409 | $ $0$ac_configure_args_raw |
410 | @@ -3273,7 +3274,7 @@ OPENVPN_VERSION_MAJOR=2 |
411 | |
412 | OPENVPN_VERSION_MINOR=6 |
413 | |
414 | -OPENVPN_VERSION_PATCH=.9 |
415 | +OPENVPN_VERSION_PATCH=.10 |
416 | |
417 | |
418 | printf "%s\n" "#define OPENVPN_VERSION_MAJOR 2" >>confdefs.h |
419 | @@ -3282,7 +3283,7 @@ printf "%s\n" "#define OPENVPN_VERSION_MAJOR 2" >>confdefs.h |
420 | printf "%s\n" "#define OPENVPN_VERSION_MINOR 6" >>confdefs.h |
421 | |
422 | |
423 | -printf "%s\n" "#define OPENVPN_VERSION_PATCH \".9\"" >>confdefs.h |
424 | +printf "%s\n" "#define OPENVPN_VERSION_PATCH \".10\"" >>confdefs.h |
425 | |
426 | |
427 | |
428 | @@ -3811,7 +3812,7 @@ fi |
429 | |
430 | # Define the identity of the package. |
431 | PACKAGE='openvpn' |
432 | - VERSION='2.6.9' |
433 | + VERSION='2.6.10' |
434 | |
435 | |
436 | printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h |
437 | @@ -6712,8 +6713,8 @@ esac |
438 | |
439 | |
440 | |
441 | -macro_version='2.4.6' |
442 | -macro_revision='2.4.6' |
443 | +macro_version='2.4.7' |
444 | +macro_revision='2.4.7' |
445 | |
446 | |
447 | |
448 | @@ -7266,13 +7267,13 @@ else |
449 | mingw*) lt_bad_file=conftest.nm/nofile ;; |
450 | *) lt_bad_file=/dev/null ;; |
451 | esac |
452 | - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in |
453 | + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in |
454 | *$lt_bad_file* | *'Invalid file or object type'*) |
455 | lt_cv_path_NM="$tmp_nm -B" |
456 | break 2 |
457 | ;; |
458 | *) |
459 | - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in |
460 | + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in |
461 | */dev/null*) |
462 | lt_cv_path_NM="$tmp_nm -p" |
463 | break 2 |
464 | @@ -7410,7 +7411,7 @@ esac |
465 | fi |
466 | fi |
467 | |
468 | - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in |
469 | + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in |
470 | *COFF*) |
471 | DUMPBIN="$DUMPBIN -symbols -headers" |
472 | ;; |
473 | @@ -7503,7 +7504,7 @@ else $as_nop |
474 | lt_cv_sys_max_cmd_len=8192; |
475 | ;; |
476 | |
477 | - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) |
478 | + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) |
479 | # This has been around since 386BSD, at least. Likely further. |
480 | if test -x /sbin/sysctl; then |
481 | lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` |
482 | @@ -7546,7 +7547,7 @@ else $as_nop |
483 | sysv5* | sco5v6* | sysv4.2uw2*) |
484 | kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` |
485 | if test -n "$kargmax"; then |
486 | - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` |
487 | + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` |
488 | else |
489 | lt_cv_sys_max_cmd_len=32768 |
490 | fi |
491 | @@ -7752,6 +7753,114 @@ esac |
492 | |
493 | |
494 | if test -n "$ac_tool_prefix"; then |
495 | + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. |
496 | +set dummy ${ac_tool_prefix}file; ac_word=$2 |
497 | +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
498 | +printf %s "checking for $ac_word... " >&6; } |
499 | +if test ${ac_cv_prog_FILECMD+y} |
500 | +then : |
501 | + printf %s "(cached) " >&6 |
502 | +else $as_nop |
503 | + if test -n "$FILECMD"; then |
504 | + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. |
505 | +else |
506 | +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
507 | +for as_dir in $PATH |
508 | +do |
509 | + IFS=$as_save_IFS |
510 | + case $as_dir in #((( |
511 | + '') as_dir=./ ;; |
512 | + */) ;; |
513 | + *) as_dir=$as_dir/ ;; |
514 | + esac |
515 | + for ac_exec_ext in '' $ac_executable_extensions; do |
516 | + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then |
517 | + ac_cv_prog_FILECMD="${ac_tool_prefix}file" |
518 | + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 |
519 | + break 2 |
520 | + fi |
521 | +done |
522 | + done |
523 | +IFS=$as_save_IFS |
524 | + |
525 | +fi |
526 | +fi |
527 | +FILECMD=$ac_cv_prog_FILECMD |
528 | +if test -n "$FILECMD"; then |
529 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 |
530 | +printf "%s\n" "$FILECMD" >&6; } |
531 | +else |
532 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
533 | +printf "%s\n" "no" >&6; } |
534 | +fi |
535 | + |
536 | + |
537 | +fi |
538 | +if test -z "$ac_cv_prog_FILECMD"; then |
539 | + ac_ct_FILECMD=$FILECMD |
540 | + # Extract the first word of "file", so it can be a program name with args. |
541 | +set dummy file; ac_word=$2 |
542 | +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
543 | +printf %s "checking for $ac_word... " >&6; } |
544 | +if test ${ac_cv_prog_ac_ct_FILECMD+y} |
545 | +then : |
546 | + printf %s "(cached) " >&6 |
547 | +else $as_nop |
548 | + if test -n "$ac_ct_FILECMD"; then |
549 | + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. |
550 | +else |
551 | +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
552 | +for as_dir in $PATH |
553 | +do |
554 | + IFS=$as_save_IFS |
555 | + case $as_dir in #((( |
556 | + '') as_dir=./ ;; |
557 | + */) ;; |
558 | + *) as_dir=$as_dir/ ;; |
559 | + esac |
560 | + for ac_exec_ext in '' $ac_executable_extensions; do |
561 | + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then |
562 | + ac_cv_prog_ac_ct_FILECMD="file" |
563 | + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 |
564 | + break 2 |
565 | + fi |
566 | +done |
567 | + done |
568 | +IFS=$as_save_IFS |
569 | + |
570 | +fi |
571 | +fi |
572 | +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD |
573 | +if test -n "$ac_ct_FILECMD"; then |
574 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 |
575 | +printf "%s\n" "$ac_ct_FILECMD" >&6; } |
576 | +else |
577 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
578 | +printf "%s\n" "no" >&6; } |
579 | +fi |
580 | + |
581 | + if test "x$ac_ct_FILECMD" = x; then |
582 | + FILECMD=":" |
583 | + else |
584 | + case $cross_compiling:$ac_tool_warned in |
585 | +yes:) |
586 | +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 |
587 | +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} |
588 | +ac_tool_warned=yes ;; |
589 | +esac |
590 | + FILECMD=$ac_ct_FILECMD |
591 | + fi |
592 | +else |
593 | + FILECMD="$ac_cv_prog_FILECMD" |
594 | +fi |
595 | + |
596 | + |
597 | + |
598 | + |
599 | + |
600 | + |
601 | + |
602 | +if test -n "$ac_tool_prefix"; then |
603 | # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. |
604 | set dummy ${ac_tool_prefix}objdump; ac_word=$2 |
605 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
606 | @@ -7891,7 +8000,7 @@ beos*) |
607 | |
608 | bsdi[45]*) |
609 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' |
610 | - lt_cv_file_magic_cmd='/usr/bin/file -L' |
611 | + lt_cv_file_magic_cmd='$FILECMD -L' |
612 | lt_cv_file_magic_test_file=/shlib/libc.so |
613 | ;; |
614 | |
615 | @@ -7925,14 +8034,14 @@ darwin* | rhapsody*) |
616 | lt_cv_deplibs_check_method=pass_all |
617 | ;; |
618 | |
619 | -freebsd* | dragonfly*) |
620 | +freebsd* | dragonfly* | midnightbsd*) |
621 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
622 | case $host_cpu in |
623 | i*86 ) |
624 | # Not sure whether the presence of OpenBSD here was a mistake. |
625 | # Let's accept both of them until this is cleared up. |
626 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' |
627 | - lt_cv_file_magic_cmd=/usr/bin/file |
628 | + lt_cv_file_magic_cmd=$FILECMD |
629 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` |
630 | ;; |
631 | esac |
632 | @@ -7946,7 +8055,7 @@ haiku*) |
633 | ;; |
634 | |
635 | hpux10.20* | hpux11*) |
636 | - lt_cv_file_magic_cmd=/usr/bin/file |
637 | + lt_cv_file_magic_cmd=$FILECMD |
638 | case $host_cpu in |
639 | ia64*) |
640 | lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' |
641 | @@ -7983,7 +8092,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) |
642 | lt_cv_deplibs_check_method=pass_all |
643 | ;; |
644 | |
645 | -netbsd* | netbsdelf*-gnu) |
646 | +netbsd*) |
647 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
648 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' |
649 | else |
650 | @@ -7993,7 +8102,7 @@ netbsd* | netbsdelf*-gnu) |
651 | |
652 | newos6*) |
653 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' |
654 | - lt_cv_file_magic_cmd=/usr/bin/file |
655 | + lt_cv_file_magic_cmd=$FILECMD |
656 | lt_cv_file_magic_test_file=/usr/lib/libnls.so |
657 | ;; |
658 | |
659 | @@ -8363,13 +8472,29 @@ esac |
660 | fi |
661 | |
662 | : ${AR=ar} |
663 | -: ${AR_FLAGS=cr} |
664 | |
665 | |
666 | |
667 | |
668 | |
669 | |
670 | +# Use ARFLAGS variable as AR's operation code to sync the variable naming with |
671 | +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have |
672 | +# higher priority because thats what people were doing historically (setting |
673 | +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS |
674 | +# variable obsoleted/removed. |
675 | + |
676 | +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} |
677 | +lt_ar_flags=$AR_FLAGS |
678 | + |
679 | + |
680 | + |
681 | + |
682 | + |
683 | + |
684 | +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override |
685 | +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. |
686 | + |
687 | |
688 | |
689 | |
690 | @@ -8786,7 +8911,7 @@ esac |
691 | |
692 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
693 | # Gets list of data symbols to import. |
694 | - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" |
695 | + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" |
696 | # Adjust the below global symbol transforms to fixup imported variables. |
697 | lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" |
698 | lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" |
699 | @@ -8804,20 +8929,20 @@ fi |
700 | # Transform an extracted symbol line into a proper C declaration. |
701 | # Some systems (esp. on ia64) link data and code symbols differently, |
702 | # so use this general approach. |
703 | -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ |
704 | +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ |
705 | $lt_cdecl_hook\ |
706 | " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ |
707 | " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" |
708 | |
709 | # Transform an extracted symbol line into symbol name and symbol address |
710 | -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ |
711 | +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ |
712 | $lt_c_name_hook\ |
713 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
714 | " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" |
715 | |
716 | # Transform an extracted symbol line into symbol name with lib prefix and |
717 | # symbol address. |
718 | -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ |
719 | +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ |
720 | $lt_c_name_lib_hook\ |
721 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
722 | " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ |
723 | @@ -8841,7 +8966,7 @@ for ac_symprfx in "" "_"; do |
724 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
725 | # Fake it for dumpbin and say T for any non-static function, |
726 | # D for any global variable and I for any imported variable. |
727 | - # Also find C++ and __fastcall symbols from MSVC++, |
728 | + # Also find C++ and __fastcall symbols from MSVC++ or ICC, |
729 | # which start with @ or ?. |
730 | lt_cv_sys_global_symbol_pipe="$AWK '"\ |
731 | " {last_section=section; section=\$ 3};"\ |
732 | @@ -8859,9 +8984,9 @@ for ac_symprfx in "" "_"; do |
733 | " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ |
734 | " ' prfx=^$ac_symprfx" |
735 | else |
736 | - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
737 | + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
738 | fi |
739 | - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" |
740 | + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" |
741 | |
742 | # Check to see that the pipe works correctly. |
743 | pipe_works=no |
744 | @@ -8887,8 +9012,11 @@ _LT_EOF |
745 | test $ac_status = 0; }; then |
746 | # Now try to grab the symbols. |
747 | nlist=conftest.nm |
748 | - $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 |
749 | - if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then |
750 | + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 |
751 | + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 |
752 | + ac_status=$? |
753 | + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
754 | + test $ac_status = 0; } && test -s "$nlist"; then |
755 | # Try sorting and uniquifying the output. |
756 | if sort "$nlist" | uniq > "$nlist"T; then |
757 | mv -f "$nlist"T "$nlist" |
758 | @@ -9061,7 +9189,7 @@ case $with_sysroot in #( |
759 | fi |
760 | ;; #( |
761 | /*) |
762 | - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` |
763 | + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` |
764 | ;; #( |
765 | no|'') |
766 | ;; #( |
767 | @@ -9186,7 +9314,7 @@ ia64-*-hpux*) |
768 | ac_status=$? |
769 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
770 | test $ac_status = 0; }; then |
771 | - case `/usr/bin/file conftest.$ac_objext` in |
772 | + case `$FILECMD conftest.$ac_objext` in |
773 | *ELF-32*) |
774 | HPUX_IA64_MODE=32 |
775 | ;; |
776 | @@ -9207,7 +9335,7 @@ ia64-*-hpux*) |
777 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
778 | test $ac_status = 0; }; then |
779 | if test yes = "$lt_cv_prog_gnu_ld"; then |
780 | - case `/usr/bin/file conftest.$ac_objext` in |
781 | + case `$FILECMD conftest.$ac_objext` in |
782 | *32-bit*) |
783 | LD="${LD-ld} -melf32bsmip" |
784 | ;; |
785 | @@ -9219,7 +9347,7 @@ ia64-*-hpux*) |
786 | ;; |
787 | esac |
788 | else |
789 | - case `/usr/bin/file conftest.$ac_objext` in |
790 | + case `$FILECMD conftest.$ac_objext` in |
791 | *32-bit*) |
792 | LD="${LD-ld} -32" |
793 | ;; |
794 | @@ -9245,7 +9373,7 @@ mips64*-*linux*) |
795 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
796 | test $ac_status = 0; }; then |
797 | emul=elf |
798 | - case `/usr/bin/file conftest.$ac_objext` in |
799 | + case `$FILECMD conftest.$ac_objext` in |
800 | *32-bit*) |
801 | emul="${emul}32" |
802 | ;; |
803 | @@ -9253,7 +9381,7 @@ mips64*-*linux*) |
804 | emul="${emul}64" |
805 | ;; |
806 | esac |
807 | - case `/usr/bin/file conftest.$ac_objext` in |
808 | + case `$FILECMD conftest.$ac_objext` in |
809 | *MSB*) |
810 | emul="${emul}btsmip" |
811 | ;; |
812 | @@ -9261,7 +9389,7 @@ mips64*-*linux*) |
813 | emul="${emul}ltsmip" |
814 | ;; |
815 | esac |
816 | - case `/usr/bin/file conftest.$ac_objext` in |
817 | + case `$FILECMD conftest.$ac_objext` in |
818 | *N32*) |
819 | emul="${emul}n32" |
820 | ;; |
821 | @@ -9285,14 +9413,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) |
822 | ac_status=$? |
823 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
824 | test $ac_status = 0; }; then |
825 | - case `/usr/bin/file conftest.o` in |
826 | + case `$FILECMD conftest.o` in |
827 | *32-bit*) |
828 | case $host in |
829 | x86_64-*kfreebsd*-gnu) |
830 | LD="${LD-ld} -m elf_i386_fbsd" |
831 | ;; |
832 | x86_64-*linux*) |
833 | - case `/usr/bin/file conftest.o` in |
834 | + case `$FILECMD conftest.o` in |
835 | *x86-64*) |
836 | LD="${LD-ld} -m elf32_x86_64" |
837 | ;; |
838 | @@ -9400,7 +9528,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } |
839 | ac_status=$? |
840 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
841 | test $ac_status = 0; }; then |
842 | - case `/usr/bin/file conftest.o` in |
843 | + case `$FILECMD conftest.o` in |
844 | *64-bit*) |
845 | case $lt_cv_prog_gnu_ld in |
846 | yes*) |
847 | @@ -10183,8 +10311,8 @@ int forced_loaded() { return 2;} |
848 | _LT_EOF |
849 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 |
850 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 |
851 | - echo "$AR cr libconftest.a conftest.o" >&5 |
852 | - $AR cr libconftest.a conftest.o 2>&5 |
853 | + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 |
854 | + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 |
855 | echo "$RANLIB libconftest.a" >&5 |
856 | $RANLIB libconftest.a 2>&5 |
857 | cat > conftest.c << _LT_EOF |
858 | @@ -10211,17 +10339,12 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; } |
859 | _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; |
860 | darwin1.*) |
861 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
862 | - darwin*) # darwin 5.x on |
863 | - # if running on 10.5 or later, the deployment target defaults |
864 | - # to the OS version, if on x86, and 10.4, the deployment |
865 | - # target defaults to 10.4. Don't you love it? |
866 | - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in |
867 | - 10.0,*86*-darwin8*|10.0,*-darwin[912]*) |
868 | - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
869 | - 10.[012][,.]*) |
870 | - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
871 | - 10.*|11.*) |
872 | - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
873 | + darwin*) |
874 | + case $MACOSX_DEPLOYMENT_TARGET,$host in |
875 | + 10.[012],*|,*powerpc*-darwin[5-8]*) |
876 | + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
877 | + *) |
878 | + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
879 | esac |
880 | ;; |
881 | esac |
882 | @@ -10908,8 +11031,8 @@ esac |
883 | ofile=libtool |
884 | can_build_shared=yes |
885 | |
886 | -# All known linkers require a '.a' archive for static linking (except MSVC, |
887 | -# which needs '.lib'). |
888 | +# All known linkers require a '.a' archive for static linking (except MSVC and |
889 | +# ICC, which need '.lib'). |
890 | libext=a |
891 | |
892 | with_gnu_ld=$lt_cv_prog_gnu_ld |
893 | @@ -11377,12 +11500,6 @@ lt_prog_compiler_static= |
894 | lt_prog_compiler_pic='-KPIC' |
895 | lt_prog_compiler_static='-static' |
896 | ;; |
897 | - # flang / f18. f95 an alias for gfortran or flang on Debian |
898 | - flang* | f18* | f95*) |
899 | - lt_prog_compiler_wl='-Wl,' |
900 | - lt_prog_compiler_pic='-fPIC' |
901 | - lt_prog_compiler_static='-static' |
902 | - ;; |
903 | # icc used to be incompatible with GCC. |
904 | # ICC 10 doesn't accept -KPIC any more. |
905 | icc* | ifort*) |
906 | @@ -11427,7 +11544,7 @@ lt_prog_compiler_static= |
907 | lt_prog_compiler_static='-qstaticlink' |
908 | ;; |
909 | *) |
910 | - case `$CC -V 2>&1 | sed 5q` in |
911 | + case `$CC -V 2>&1 | $SED 5q` in |
912 | *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) |
913 | # Sun Fortran 8.3 passes all unrecognized flags to the linker |
914 | lt_prog_compiler_pic='-KPIC' |
915 | @@ -11850,23 +11967,20 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries |
916 | |
917 | case $host_os in |
918 | cygwin* | mingw* | pw32* | cegcc*) |
919 | - # FIXME: the MSVC++ port hasn't been tested in a loooong time |
920 | + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time |
921 | # When not using gcc, we currently assume that we are using |
922 | - # Microsoft Visual C++. |
923 | + # Microsoft Visual C++ or Intel C++ Compiler. |
924 | if test yes != "$GCC"; then |
925 | with_gnu_ld=no |
926 | fi |
927 | ;; |
928 | interix*) |
929 | - # we just hope/assume this is gcc and not c89 (= MSVC++) |
930 | + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) |
931 | with_gnu_ld=yes |
932 | ;; |
933 | openbsd* | bitrig*) |
934 | with_gnu_ld=no |
935 | ;; |
936 | - linux* | k*bsd*-gnu | gnu*) |
937 | - link_all_deplibs=no |
938 | - ;; |
939 | esac |
940 | |
941 | ld_shlibs=yes |
942 | @@ -11913,7 +12027,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries |
943 | whole_archive_flag_spec= |
944 | fi |
945 | supports_anon_versioning=no |
946 | - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in |
947 | + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in |
948 | *GNU\ gold*) supports_anon_versioning=yes ;; |
949 | *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 |
950 | *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... |
951 | @@ -12025,6 +12139,7 @@ _LT_EOF |
952 | emximp -o $lib $output_objdir/$libname.def' |
953 | old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' |
954 | enable_shared_with_static_runtimes=yes |
955 | + file_list_spec='@' |
956 | ;; |
957 | |
958 | interix[3-9]*) |
959 | @@ -12039,7 +12154,7 @@ _LT_EOF |
960 | # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link |
961 | # time. Moving up from 0x10000000 also allows more sbrk(2) space. |
962 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' |
963 | - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' |
964 | + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' |
965 | ;; |
966 | |
967 | gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) |
968 | @@ -12082,7 +12197,7 @@ _LT_EOF |
969 | compiler_needs_object=yes |
970 | ;; |
971 | esac |
972 | - case `$CC -V 2>&1 | sed 5q` in |
973 | + case `$CC -V 2>&1 | $SED 5q` in |
974 | *Sun\ C*) # Sun C 5.9 |
975 | whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' |
976 | compiler_needs_object=yes |
977 | @@ -12094,7 +12209,7 @@ _LT_EOF |
978 | |
979 | if test yes = "$supports_anon_versioning"; then |
980 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ |
981 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
982 | + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
983 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
984 | $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' |
985 | fi |
986 | @@ -12110,7 +12225,7 @@ _LT_EOF |
987 | archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' |
988 | if test yes = "$supports_anon_versioning"; then |
989 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ |
990 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
991 | + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
992 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
993 | $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' |
994 | fi |
995 | @@ -12121,7 +12236,7 @@ _LT_EOF |
996 | fi |
997 | ;; |
998 | |
999 | - netbsd* | netbsdelf*-gnu) |
1000 | + netbsd*) |
1001 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then |
1002 | archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' |
1003 | wlarc= |
1004 | @@ -12242,7 +12357,7 @@ _LT_EOF |
1005 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then |
1006 | export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' |
1007 | else |
1008 | - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' |
1009 | + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' |
1010 | fi |
1011 | aix_use_runtimelinking=no |
1012 | |
1013 | @@ -12513,12 +12628,12 @@ fi |
1014 | |
1015 | cygwin* | mingw* | pw32* | cegcc*) |
1016 | # When not using gcc, we currently assume that we are using |
1017 | - # Microsoft Visual C++. |
1018 | + # Microsoft Visual C++ or Intel C++ Compiler. |
1019 | # hardcode_libdir_flag_spec is actually meaningless, as there is |
1020 | # no search path for DLLs. |
1021 | case $cc_basename in |
1022 | - cl*) |
1023 | - # Native MSVC |
1024 | + cl* | icl*) |
1025 | + # Native MSVC or ICC |
1026 | hardcode_libdir_flag_spec=' ' |
1027 | allow_undefined_flag=unsupported |
1028 | always_export_symbols=yes |
1029 | @@ -12559,7 +12674,7 @@ fi |
1030 | fi' |
1031 | ;; |
1032 | *) |
1033 | - # Assume MSVC wrapper |
1034 | + # Assume MSVC and ICC wrapper |
1035 | hardcode_libdir_flag_spec=' ' |
1036 | allow_undefined_flag=unsupported |
1037 | # Tell ltmain to make .lib files, not .a files. |
1038 | @@ -12600,8 +12715,8 @@ fi |
1039 | output_verbose_link_cmd=func_echo_all |
1040 | archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" |
1041 | module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" |
1042 | - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" |
1043 | - module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" |
1044 | + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" |
1045 | + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" |
1046 | |
1047 | else |
1048 | ld_shlibs=no |
1049 | @@ -12635,7 +12750,7 @@ fi |
1050 | ;; |
1051 | |
1052 | # FreeBSD 3 and greater uses gcc -shared to do shared libraries. |
1053 | - freebsd* | dragonfly*) |
1054 | + freebsd* | dragonfly* | midnightbsd*) |
1055 | archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' |
1056 | hardcode_libdir_flag_spec='-R$libdir' |
1057 | hardcode_direct=yes |
1058 | @@ -12798,7 +12913,6 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } |
1059 | if test yes = "$lt_cv_irix_exported_symbol"; then |
1060 | archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' |
1061 | fi |
1062 | - link_all_deplibs=no |
1063 | else |
1064 | archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' |
1065 | archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' |
1066 | @@ -12820,7 +12934,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } |
1067 | esac |
1068 | ;; |
1069 | |
1070 | - netbsd* | netbsdelf*-gnu) |
1071 | + netbsd*) |
1072 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then |
1073 | archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out |
1074 | else |
1075 | @@ -12887,6 +13001,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } |
1076 | emximp -o $lib $output_objdir/$libname.def' |
1077 | old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' |
1078 | enable_shared_with_static_runtimes=yes |
1079 | + file_list_spec='@' |
1080 | ;; |
1081 | |
1082 | osf3*) |
1083 | @@ -13579,7 +13694,7 @@ cygwin* | mingw* | pw32* | cegcc*) |
1084 | case $host_os in |
1085 | cygwin*) |
1086 | # Cygwin DLLs use 'cyg' prefix rather than 'lib' |
1087 | - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1088 | + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1089 | |
1090 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" |
1091 | ;; |
1092 | @@ -13589,14 +13704,14 @@ cygwin* | mingw* | pw32* | cegcc*) |
1093 | ;; |
1094 | pw32*) |
1095 | # pw32 DLLs use 'pw' prefix rather than 'lib' |
1096 | - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1097 | + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1098 | ;; |
1099 | esac |
1100 | dynamic_linker='Win32 ld.exe' |
1101 | ;; |
1102 | |
1103 | - *,cl*) |
1104 | - # Native MSVC |
1105 | + *,cl* | *,icl*) |
1106 | + # Native MSVC or ICC |
1107 | libname_spec='$name' |
1108 | soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1109 | library_names_spec='$libname.dll.lib' |
1110 | @@ -13615,7 +13730,7 @@ cygwin* | mingw* | pw32* | cegcc*) |
1111 | done |
1112 | IFS=$lt_save_ifs |
1113 | # Convert to MSYS style. |
1114 | - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` |
1115 | + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` |
1116 | ;; |
1117 | cygwin*) |
1118 | # Convert to unix form, then to dos form, then back to unix form |
1119 | @@ -13652,7 +13767,7 @@ cygwin* | mingw* | pw32* | cegcc*) |
1120 | ;; |
1121 | |
1122 | *) |
1123 | - # Assume MSVC wrapper |
1124 | + # Assume MSVC and ICC wrapper |
1125 | library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' |
1126 | dynamic_linker='Win32 ld.exe' |
1127 | ;; |
1128 | @@ -13685,7 +13800,7 @@ dgux*) |
1129 | shlibpath_var=LD_LIBRARY_PATH |
1130 | ;; |
1131 | |
1132 | -freebsd* | dragonfly*) |
1133 | +freebsd* | dragonfly* | midnightbsd*) |
1134 | # DragonFly does not have aout. When/if they implement a new |
1135 | # versioning mechanism, adjust this. |
1136 | if test -x /usr/bin/objformat; then |
1137 | @@ -13939,18 +14054,6 @@ fi |
1138 | dynamic_linker='GNU/Linux ld.so' |
1139 | ;; |
1140 | |
1141 | -netbsdelf*-gnu) |
1142 | - version_type=linux |
1143 | - need_lib_prefix=no |
1144 | - need_version=no |
1145 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' |
1146 | - soname_spec='${libname}${release}${shared_ext}$major' |
1147 | - shlibpath_var=LD_LIBRARY_PATH |
1148 | - shlibpath_overrides_runpath=no |
1149 | - hardcode_into_libs=yes |
1150 | - dynamic_linker='NetBSD ld.elf_so' |
1151 | - ;; |
1152 | - |
1153 | netbsd*) |
1154 | version_type=sunos |
1155 | need_lib_prefix=no |
1156 | @@ -14850,30 +14953,41 @@ striplib= |
1157 | old_striplib= |
1158 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 |
1159 | printf %s "checking whether stripping libraries is possible... " >&6; } |
1160 | -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then |
1161 | - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" |
1162 | - test -z "$striplib" && striplib="$STRIP --strip-unneeded" |
1163 | - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
1164 | -printf "%s\n" "yes" >&6; } |
1165 | +if test -z "$STRIP"; then |
1166 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1167 | +printf "%s\n" "no" >&6; } |
1168 | else |
1169 | -# FIXME - insert some real tests, host_os isn't really good enough |
1170 | - case $host_os in |
1171 | - darwin*) |
1172 | - if test -n "$STRIP"; then |
1173 | + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then |
1174 | + old_striplib="$STRIP --strip-debug" |
1175 | + striplib="$STRIP --strip-unneeded" |
1176 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
1177 | +printf "%s\n" "yes" >&6; } |
1178 | + else |
1179 | + case $host_os in |
1180 | + darwin*) |
1181 | + # FIXME - insert some real tests, host_os isn't really good enough |
1182 | striplib="$STRIP -x" |
1183 | old_striplib="$STRIP -S" |
1184 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
1185 | printf "%s\n" "yes" >&6; } |
1186 | - else |
1187 | - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1188 | + ;; |
1189 | + freebsd*) |
1190 | + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then |
1191 | + old_striplib="$STRIP --strip-debug" |
1192 | + striplib="$STRIP --strip-unneeded" |
1193 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
1194 | +printf "%s\n" "yes" >&6; } |
1195 | + else |
1196 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1197 | printf "%s\n" "no" >&6; } |
1198 | - fi |
1199 | - ;; |
1200 | - *) |
1201 | - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1202 | + fi |
1203 | + ;; |
1204 | + *) |
1205 | + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1206 | printf "%s\n" "no" >&6; } |
1207 | - ;; |
1208 | - esac |
1209 | + ;; |
1210 | + esac |
1211 | + fi |
1212 | fi |
1213 | |
1214 | |
1215 | @@ -20103,7 +20217,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
1216 | # report actual input values of CONFIG_FILES etc. instead of their |
1217 | # values after options handling. |
1218 | ac_log=" |
1219 | -This file was extended by OpenVPN $as_me 2.6.9, which was |
1220 | +This file was extended by OpenVPN $as_me 2.6.10, which was |
1221 | generated by GNU Autoconf 2.71. Invocation command line was |
1222 | |
1223 | CONFIG_FILES = $CONFIG_FILES |
1224 | @@ -20171,7 +20285,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ |
1225 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
1226 | ac_cs_config='$ac_cs_config_escaped' |
1227 | ac_cs_version="\\ |
1228 | -OpenVPN config.status 2.6.9 |
1229 | +OpenVPN config.status 2.6.10 |
1230 | configured by $0, generated by GNU Autoconf 2.71, |
1231 | with options \\"\$ac_cs_config\\" |
1232 | |
1233 | @@ -20337,12 +20451,14 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q |
1234 | lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' |
1235 | reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' |
1236 | reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' |
1237 | +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' |
1238 | deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' |
1239 | file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' |
1240 | file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' |
1241 | want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' |
1242 | sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' |
1243 | AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' |
1244 | +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' |
1245 | AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' |
1246 | archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' |
1247 | STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' |
1248 | @@ -20508,13 +20624,13 @@ LN_S \ |
1249 | lt_SP2NL \ |
1250 | lt_NL2SP \ |
1251 | reload_flag \ |
1252 | +FILECMD \ |
1253 | deplibs_check_method \ |
1254 | file_magic_cmd \ |
1255 | file_magic_glob \ |
1256 | want_nocaseglob \ |
1257 | sharedlib_from_linklib_cmd \ |
1258 | AR \ |
1259 | -AR_FLAGS \ |
1260 | archiver_list_spec \ |
1261 | STRIP \ |
1262 | RANLIB \ |
1263 | @@ -21396,6 +21512,7 @@ See \`config.log' for more details" "$LINENO" 5; } |
1264 | cat <<_LT_EOF >> "$cfgfile" |
1265 | #! $SHELL |
1266 | # Generated automatically by $as_me ($PACKAGE) $VERSION |
1267 | +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: |
1268 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. |
1269 | |
1270 | # Provide generalized library-building support services. |
1271 | @@ -21524,6 +21641,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd |
1272 | # convert \$build files to toolchain format. |
1273 | to_tool_file_cmd=$lt_cv_to_tool_file_cmd |
1274 | |
1275 | +# A file(cmd) program that detects file types. |
1276 | +FILECMD=$lt_FILECMD |
1277 | + |
1278 | # Method to check whether dependent libraries are shared objects. |
1279 | deplibs_check_method=$lt_deplibs_check_method |
1280 | |
1281 | @@ -21542,8 +21662,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd |
1282 | # The archiver. |
1283 | AR=$lt_AR |
1284 | |
1285 | +# Flags to create an archive (by configure). |
1286 | +lt_ar_flags=$lt_ar_flags |
1287 | + |
1288 | # Flags to create an archive. |
1289 | -AR_FLAGS=$lt_AR_FLAGS |
1290 | +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} |
1291 | |
1292 | # How to feed a file listing to the archiver. |
1293 | archiver_list_spec=$lt_archiver_list_spec |
1294 | @@ -21919,7 +22042,7 @@ ltmain=$ac_aux_dir/ltmain.sh |
1295 | # if finds mixed CR/LF and LF-only lines. Since sed operates in |
1296 | # text mode, it properly converts lines to CR/LF. This bash problem |
1297 | # is reportedly fixed, but why not run on old versions too? |
1298 | - sed '$q' "$ltmain" >> "$cfgfile" \ |
1299 | + $SED '$q' "$ltmain" >> "$cfgfile" \ |
1300 | || (rm -f "$cfgfile"; exit 1) |
1301 | |
1302 | mv -f "$cfgfile" "$ofile" || |
1303 | diff --git a/configure.ac b/configure.ac |
1304 | index ca0850b..1619b43 100644 |
1305 | --- a/configure.ac |
1306 | +++ b/configure.ac |
1307 | @@ -4,7 +4,7 @@ dnl session authentication and key exchange, |
1308 | dnl packet encryption, packet authentication, and |
1309 | dnl packet compression. |
1310 | dnl |
1311 | -dnl Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
1312 | +dnl Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1313 | dnl Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1314 | dnl |
1315 | dnl This program is free software; you can redistribute it and/or modify |
1316 | diff --git a/contrib/OCSP_check/OCSP_check.sh b/contrib/OCSP_check/OCSP_check.sh |
1317 | index 2675788..e4fec83 100644 |
1318 | --- a/contrib/OCSP_check/OCSP_check.sh |
1319 | +++ b/contrib/OCSP_check/OCSP_check.sh |
1320 | @@ -89,7 +89,7 @@ if [ $check_depth -eq -1 ] || [ $cur_depth -eq $check_depth ]; then |
1321 | # |
1322 | # NOTE: It is needed to check the exit code of OpenSSL explicitly. OpenSSL |
1323 | # can in some circumstances give a "good" result if it could not |
1324 | - # reach the the OSCP server. In this case, the exit code will indicate |
1325 | + # reach the OSCP server. In this case, the exit code will indicate |
1326 | # if OpenSSL itself failed or not. If OpenSSL's exit code is not 0, |
1327 | # don't trust the OpenSSL status. |
1328 | |
1329 | diff --git a/contrib/cmake/git-version.py b/contrib/cmake/git-version.py |
1330 | index 4f78ac4..a39cab4 100644 |
1331 | --- a/contrib/cmake/git-version.py |
1332 | +++ b/contrib/cmake/git-version.py |
1333 | @@ -5,7 +5,7 @@ |
1334 | # packet encryption, packet authentication, and |
1335 | # packet compression. |
1336 | # |
1337 | -# Copyright (C) 2022-2023 OpenVPN Inc <sales@openvpn.net> |
1338 | +# Copyright (C) 2022-2024 OpenVPN Inc <sales@openvpn.net> |
1339 | # Copyright (C) 2022-2022 Lev Stipakov <lev@lestisoftware.fi> |
1340 | # |
1341 | # This program is free software; you can redistribute it and/or modify |
1342 | diff --git a/contrib/cmake/parse-version.m4.py b/contrib/cmake/parse-version.m4.py |
1343 | index 791d2ec..a41871b 100644 |
1344 | --- a/contrib/cmake/parse-version.m4.py |
1345 | +++ b/contrib/cmake/parse-version.m4.py |
1346 | @@ -5,7 +5,7 @@ |
1347 | # packet encryption, packet authentication, and |
1348 | # packet compression. |
1349 | # |
1350 | -# Copyright (C) 2022-2023 OpenVPN Inc <sales@openvpn.net> |
1351 | +# Copyright (C) 2022-2024 OpenVPN Inc <sales@openvpn.net> |
1352 | # Copyright (C) 2022-2022 Lev Stipakov <lev@lestisoftware.fi> |
1353 | # |
1354 | # This program is free software; you can redistribute it and/or modify |
1355 | diff --git a/debian/changelog b/debian/changelog |
1356 | index 300c285..e81c167 100644 |
1357 | --- a/debian/changelog |
1358 | +++ b/debian/changelog |
1359 | @@ -1,3 +1,23 @@ |
1360 | +openvpn (2.6.10-0ubuntu1) oracular; urgency=medium |
1361 | + |
1362 | + * New upstream version 2.6.10 (LP: #2064436) |
1363 | + - Updates: |
1364 | + + t_client.sh can now run pre-tests and skip a test block if needed. |
1365 | + + Remove license warnings about mbedTLS linking. |
1366 | + + Update documentation references in systemd unit files. |
1367 | + + Remove obsolete tls-*.conf sample files. |
1368 | + + document that auth-user-pass may be inlined. |
1369 | + - Bug fixes: |
1370 | + + Fix checking option consistency for compiled-in compression algorithm |
1371 | + support. |
1372 | + + Remove obsolete syslog.target in systemd unit files. |
1373 | + + Additional Windows bug fixes. |
1374 | + - See https://community.openvpn.net/openvpn/wiki/ChangesInOpenvpn26 for |
1375 | + additional bug fixes and information. |
1376 | + * d/p/systemd.patch: Remove - Fixed upstream |
1377 | + |
1378 | + -- Lena Voytek <lena.voytek@canonical.com> Wed, 01 May 2024 10:02:39 -0700 |
1379 | + |
1380 | openvpn (2.6.9-1ubuntu4) noble; urgency=high |
1381 | |
1382 | * No change rebuild against libssl3t64. |
1383 | diff --git a/debian/patches/series b/debian/patches/series |
1384 | index cd8779c..4dbc853 100644 |
1385 | --- a/debian/patches/series |
1386 | +++ b/debian/patches/series |
1387 | @@ -2,4 +2,3 @@ move_log_dir.patch |
1388 | auth-pam_libpam_so_filename.patch |
1389 | #debian_nogroup_for_sample_files.patch |
1390 | openvpn-pkcs11warn.patch |
1391 | -systemd.patch |
1392 | diff --git a/debian/patches/systemd.patch b/debian/patches/systemd.patch |
1393 | deleted file mode 100644 |
1394 | index ccbecfd..0000000 |
1395 | --- a/debian/patches/systemd.patch |
1396 | +++ /dev/null |
1397 | @@ -1,29 +0,0 @@ |
1398 | -Description: remove syslog.target |
1399 | -Author: Jörg Frings-Fürst <debian@jff.email> |
1400 | -Last-Update: 2018-07-29 |
1401 | ---- |
1402 | -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ |
1403 | -Index: trunk/distro/systemd/openvpn-client@.service.in |
1404 | -=================================================================== |
1405 | ---- trunk.orig/distro/systemd/openvpn-client@.service.in |
1406 | -+++ trunk/distro/systemd/openvpn-client@.service.in |
1407 | -@@ -1,6 +1,6 @@ |
1408 | - [Unit] |
1409 | - Description=OpenVPN tunnel for %I |
1410 | --After=syslog.target network-online.target |
1411 | -+After=network-online.target |
1412 | - Wants=network-online.target |
1413 | - Documentation=man:openvpn(8) |
1414 | - Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage |
1415 | -Index: trunk/distro/systemd/openvpn-server@.service.in |
1416 | -=================================================================== |
1417 | ---- trunk.orig/distro/systemd/openvpn-server@.service.in |
1418 | -+++ trunk/distro/systemd/openvpn-server@.service.in |
1419 | -@@ -1,6 +1,6 @@ |
1420 | - [Unit] |
1421 | - Description=OpenVPN service for %I |
1422 | --After=syslog.target network-online.target |
1423 | -+After=network-online.target |
1424 | - Wants=network-online.target |
1425 | - Documentation=man:openvpn(8) |
1426 | - Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage |
1427 | diff --git a/distro/Makefile.am b/distro/Makefile.am |
1428 | index 177dcee..7a588da 100644 |
1429 | --- a/distro/Makefile.am |
1430 | +++ b/distro/Makefile.am |
1431 | @@ -5,7 +5,7 @@ |
1432 | # packet encryption, packet authentication, and |
1433 | # packet compression. |
1434 | # |
1435 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
1436 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1437 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1438 | # |
1439 | |
1440 | diff --git a/distro/Makefile.in b/distro/Makefile.in |
1441 | index 8c999ca..adafe36 100644 |
1442 | --- a/distro/Makefile.in |
1443 | +++ b/distro/Makefile.in |
1444 | @@ -21,7 +21,7 @@ |
1445 | # packet encryption, packet authentication, and |
1446 | # packet compression. |
1447 | # |
1448 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
1449 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1450 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1451 | # |
1452 | VPATH = @srcdir@ |
1453 | @@ -227,6 +227,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ |
1454 | ETAGS = @ETAGS@ |
1455 | EXEEXT = @EXEEXT@ |
1456 | FGREP = @FGREP@ |
1457 | +FILECMD = @FILECMD@ |
1458 | GIT = @GIT@ |
1459 | GREP = @GREP@ |
1460 | IFCONFIG = @IFCONFIG@ |
1461 | diff --git a/distro/systemd/Makefile.am b/distro/systemd/Makefile.am |
1462 | index 7e8f475..8503a0c 100644 |
1463 | --- a/distro/systemd/Makefile.am |
1464 | +++ b/distro/systemd/Makefile.am |
1465 | @@ -5,11 +5,14 @@ |
1466 | # packet encryption, packet authentication, and |
1467 | # packet compression. |
1468 | # |
1469 | -# Copyright (C) 2017-2023 OpenVPN Inc <sales@openvpn.net> |
1470 | +# Copyright (C) 2017-2024 OpenVPN Inc <sales@openvpn.net> |
1471 | # |
1472 | |
1473 | %.service: %.service.in Makefile |
1474 | - $(AM_V_GEN)sed -e 's|\@sbindir\@|$(sbindir)|' \ |
1475 | + $(AM_V_GEN)sed \ |
1476 | + -e 's|\@OPENVPN_VERSION_MAJOR\@|$(OPENVPN_VERSION_MAJOR)|g' \ |
1477 | + -e 's|\@OPENVPN_VERSION_MINOR\@|$(OPENVPN_VERSION_MINOR)|g' \ |
1478 | + -e 's|\@sbindir\@|$(sbindir)|g' \ |
1479 | $< > $@.tmp && mv $@.tmp $@ |
1480 | |
1481 | EXTRA_DIST = \ |
1482 | diff --git a/distro/systemd/Makefile.in b/distro/systemd/Makefile.in |
1483 | index 90ef2f2..8ecde8c 100644 |
1484 | --- a/distro/systemd/Makefile.in |
1485 | +++ b/distro/systemd/Makefile.in |
1486 | @@ -21,7 +21,7 @@ |
1487 | # packet encryption, packet authentication, and |
1488 | # packet compression. |
1489 | # |
1490 | -# Copyright (C) 2017-2023 OpenVPN Inc <sales@openvpn.net> |
1491 | +# Copyright (C) 2017-2024 OpenVPN Inc <sales@openvpn.net> |
1492 | # |
1493 | |
1494 | VPATH = @srcdir@ |
1495 | @@ -201,6 +201,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ |
1496 | ETAGS = @ETAGS@ |
1497 | EXEEXT = @EXEEXT@ |
1498 | FGREP = @FGREP@ |
1499 | +FILECMD = @FILECMD@ |
1500 | GIT = @GIT@ |
1501 | GREP = @GREP@ |
1502 | IFCONFIG = @IFCONFIG@ |
1503 | @@ -649,7 +650,10 @@ uninstall-am: uninstall-dist_docDATA uninstall-systemdunitDATA \ |
1504 | |
1505 | |
1506 | %.service: %.service.in Makefile |
1507 | - $(AM_V_GEN)sed -e 's|\@sbindir\@|$(sbindir)|' \ |
1508 | + $(AM_V_GEN)sed \ |
1509 | + -e 's|\@OPENVPN_VERSION_MAJOR\@|$(OPENVPN_VERSION_MAJOR)|g' \ |
1510 | + -e 's|\@OPENVPN_VERSION_MINOR\@|$(OPENVPN_VERSION_MINOR)|g' \ |
1511 | + -e 's|\@sbindir\@|$(sbindir)|g' \ |
1512 | $< > $@.tmp && mv $@.tmp $@ |
1513 | |
1514 | @ENABLE_SYSTEMD_TRUE@install-data-hook: |
1515 | diff --git a/distro/systemd/openvpn-client@.service.in b/distro/systemd/openvpn-client@.service.in |
1516 | index 159fb4d..ae62e8c 100644 |
1517 | --- a/distro/systemd/openvpn-client@.service.in |
1518 | +++ b/distro/systemd/openvpn-client@.service.in |
1519 | @@ -1,9 +1,9 @@ |
1520 | [Unit] |
1521 | Description=OpenVPN tunnel for %I |
1522 | -After=syslog.target network-online.target |
1523 | +After=network-online.target |
1524 | Wants=network-online.target |
1525 | Documentation=man:openvpn(8) |
1526 | -Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage |
1527 | +Documentation=https://openvpn.net/community-resources/reference-manual-for-openvpn-@OPENVPN_VERSION_MAJOR@-@OPENVPN_VERSION_MINOR@/ |
1528 | Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO |
1529 | |
1530 | [Service] |
1531 | diff --git a/distro/systemd/openvpn-server@.service.in b/distro/systemd/openvpn-server@.service.in |
1532 | index 6e8e7d9..5123e07 100644 |
1533 | --- a/distro/systemd/openvpn-server@.service.in |
1534 | +++ b/distro/systemd/openvpn-server@.service.in |
1535 | @@ -1,9 +1,9 @@ |
1536 | [Unit] |
1537 | Description=OpenVPN service for %I |
1538 | -After=syslog.target network-online.target |
1539 | +After=network-online.target |
1540 | Wants=network-online.target |
1541 | Documentation=man:openvpn(8) |
1542 | -Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage |
1543 | +Documentation=https://openvpn.net/community-resources/reference-manual-for-openvpn-@OPENVPN_VERSION_MAJOR@-@OPENVPN_VERSION_MINOR@/ |
1544 | Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO |
1545 | |
1546 | [Service] |
1547 | diff --git a/doc/Makefile.am b/doc/Makefile.am |
1548 | index 087f0ce..634e4ce 100644 |
1549 | --- a/doc/Makefile.am |
1550 | +++ b/doc/Makefile.am |
1551 | @@ -5,7 +5,7 @@ |
1552 | # packet encryption, packet authentication, and |
1553 | # packet compression. |
1554 | # |
1555 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
1556 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1557 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1558 | # |
1559 | |
1560 | diff --git a/doc/Makefile.in b/doc/Makefile.in |
1561 | index 874af7d..e09b3cd 100644 |
1562 | --- a/doc/Makefile.in |
1563 | +++ b/doc/Makefile.in |
1564 | @@ -21,7 +21,7 @@ |
1565 | # packet encryption, packet authentication, and |
1566 | # packet compression. |
1567 | # |
1568 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
1569 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1570 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1571 | # |
1572 | |
1573 | @@ -290,6 +290,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ |
1574 | ETAGS = @ETAGS@ |
1575 | EXEEXT = @EXEEXT@ |
1576 | FGREP = @FGREP@ |
1577 | +FILECMD = @FILECMD@ |
1578 | GIT = @GIT@ |
1579 | GREP = @GREP@ |
1580 | IFCONFIG = @IFCONFIG@ |
1581 | diff --git a/doc/doxygen/Makefile.in b/doc/doxygen/Makefile.in |
1582 | index f90c632..33d0690 100644 |
1583 | --- a/doc/doxygen/Makefile.in |
1584 | +++ b/doc/doxygen/Makefile.in |
1585 | @@ -168,6 +168,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ |
1586 | ETAGS = @ETAGS@ |
1587 | EXEEXT = @EXEEXT@ |
1588 | FGREP = @FGREP@ |
1589 | +FILECMD = @FILECMD@ |
1590 | GIT = @GIT@ |
1591 | GREP = @GREP@ |
1592 | IFCONFIG = @IFCONFIG@ |
1593 | diff --git a/doc/man-sections/cipher-negotiation.rst b/doc/man-sections/cipher-negotiation.rst |
1594 | index 888ffa6..949ff86 100644 |
1595 | --- a/doc/man-sections/cipher-negotiation.rst |
1596 | +++ b/doc/man-sections/cipher-negotiation.rst |
1597 | @@ -8,7 +8,7 @@ different backwards compatibility mechanism with older server and clients. |
1598 | OpenVPN 2.5 and later behaviour |
1599 | -------------------------------- |
1600 | When both client and server are at least running OpenVPN 2.5, that the order of |
1601 | -the ciphers of the server's ``--data-ciphers`` is used to pick the the data cipher. |
1602 | +the ciphers of the server's ``--data-ciphers`` is used to pick the data cipher. |
1603 | That means that the first cipher in that list that is also in the client's |
1604 | ``--data-ciphers`` list is chosen. If no common cipher is found the client is rejected |
1605 | with a AUTH_FAILED message (as seen in client log): |
1606 | diff --git a/doc/man-sections/client-options.rst b/doc/man-sections/client-options.rst |
1607 | index b92b1a4..b75fe5b 100644 |
1608 | --- a/doc/man-sections/client-options.rst |
1609 | +++ b/doc/man-sections/client-options.rst |
1610 | @@ -73,6 +73,17 @@ configuration. |
1611 | If ``up`` is omitted, username/password will be prompted from the |
1612 | console. |
1613 | |
1614 | + This option can also be inlined |
1615 | + :: |
1616 | + |
1617 | + <auth-user-pass> |
1618 | + username |
1619 | + [password] |
1620 | + </auth-user-pass> |
1621 | + |
1622 | + where password is optional, and will be prompted from the console if |
1623 | + missing. |
1624 | + |
1625 | The server configuration must specify an ``--auth-user-pass-verify`` |
1626 | script to verify the username/password provided by the client. |
1627 | |
1628 | diff --git a/doc/man-sections/generic-options.rst b/doc/man-sections/generic-options.rst |
1629 | index 95e4ca2..30c990d 100644 |
1630 | --- a/doc/man-sections/generic-options.rst |
1631 | +++ b/doc/man-sections/generic-options.rst |
1632 | @@ -75,7 +75,7 @@ which mode OpenVPN is configured as. |
1633 | to the configuration if no other compression options are present. |
1634 | - 2.4.x or lower: The cipher in ``--cipher`` is appended to |
1635 | ``--data-ciphers``. |
1636 | - - 2.3.x or lower: ``--data-cipher-fallback`` is automatically added with |
1637 | + - 2.3.x or lower: ``--data-ciphers-fallback`` is automatically added with |
1638 | the same cipher as ``--cipher``. |
1639 | - 2.3.6 or lower: ``--tls-version-min 1.0`` is added to the configuration |
1640 | when ``--tls-version-min`` is not explicitly set. |
1641 | diff --git a/doc/man-sections/inline-files.rst b/doc/man-sections/inline-files.rst |
1642 | index 01e4a84..e178667 100644 |
1643 | --- a/doc/man-sections/inline-files.rst |
1644 | +++ b/doc/man-sections/inline-files.rst |
1645 | @@ -5,7 +5,7 @@ OpenVPN allows including files in the main configuration for the ``--ca``, |
1646 | ``--cert``, ``--dh``, ``--extra-certs``, ``--key``, ``--pkcs12``, |
1647 | ``--secret``, ``--crl-verify``, ``--http-proxy-user-pass``, ``--tls-auth``, |
1648 | ``--auth-gen-token-secret``, ``--peer-fingerprint``, ``--tls-crypt``, |
1649 | -``--tls-crypt-v2`` and ``--verify-hash`` options. |
1650 | +``--tls-crypt-v2``, ``--verify-hash`` and ``--auth-user-pass`` options. |
1651 | |
1652 | Each inline file started by the line ``<option>`` and ended by the line |
1653 | ``</option>`` |
1654 | diff --git a/doc/man-sections/vpn-network-options.rst b/doc/man-sections/vpn-network-options.rst |
1655 | index 41d367b..abe474f 100644 |
1656 | --- a/doc/man-sections/vpn-network-options.rst |
1657 | +++ b/doc/man-sections/vpn-network-options.rst |
1658 | @@ -235,7 +235,7 @@ routing. |
1659 | address and subnet mask just as a physical ethernet adapter would be |
1660 | similarly configured. If you are attempting to connect to a remote |
1661 | ethernet bridge, the IP address and subnet should be set to values which |
1662 | - would be valid on the the bridged ethernet segment (note also that DHCP |
1663 | + would be valid on the bridged ethernet segment (note also that DHCP |
1664 | can be used for the same purpose). |
1665 | |
1666 | This option, while primarily a proxy for the ``ifconfig``\(8) command, |
1667 | @@ -584,7 +584,7 @@ These two standalone operations will require ``--dev`` and optionally |
1668 | One of the advantages of persistent tunnels is that they eliminate the |
1669 | need for separate ``--up`` and ``--down`` scripts to run the appropriate |
1670 | ``ifconfig``\(8) and ``route``\(8) commands. These commands can be |
1671 | - placed in the the same shell script which starts or terminates an |
1672 | + placed in the same shell script which starts or terminates an |
1673 | OpenVPN session. |
1674 | |
1675 | Another advantage is that open connections through the TUN/TAP-based |
1676 | diff --git a/doc/openvpn-examples.5 b/doc/openvpn-examples.5 |
1677 | index fe3d283..05fce90 100644 |
1678 | --- a/doc/openvpn-examples.5 |
1679 | +++ b/doc/openvpn-examples.5 |
1680 | @@ -1,8 +1,5 @@ |
1681 | .\" Man page generated from reStructuredText. |
1682 | . |
1683 | -.TH OPENVPN EXAMPLES 5 "" "" "Configuration files" |
1684 | -.SH NAME |
1685 | -openvpn examples \- Secure IP tunnel daemon |
1686 | . |
1687 | .nr rst2man-indent-level 0 |
1688 | . |
1689 | @@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] |
1690 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] |
1691 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u |
1692 | .. |
1693 | +.TH "OPENVPN EXAMPLES" 5 "" "" "Configuration files" |
1694 | +.SH NAME |
1695 | +openvpn examples \- Secure IP tunnel daemon |
1696 | .SH INTRODUCTION |
1697 | .sp |
1698 | This man page gives a few simple examples to create OpenVPN setups and configuration files. |
1699 | @@ -464,7 +464,7 @@ On bob: |
1700 | .ft C |
1701 | openvpn \-\-ifconfig 10.4.0.1 10.4.0.2 \-\-tls\-server \-\-dev tun \-\-dh none \e |
1702 | \-\-cert bob.pem \-\-key bob.pem \-\-cipher AES\-256\-GCM \e |
1703 | - \-\-peer\-fingerprint "$fingerprint_of_alices_cert" |
1704 | + \-\-peer\-fingerprint \(dq$fingerprint_of_alices_cert\(dq |
1705 | .ft P |
1706 | .fi |
1707 | .UNINDENT |
1708 | @@ -479,7 +479,7 @@ On alice: |
1709 | openvpn \-\-remote bob.example.com \-\-tls\-client \-\-dev tun1 \e |
1710 | \-\-ifconfig 10.4.0.2 10.4.0.1 \-\-cipher AES\-256\-GCM \e |
1711 | \-\-cert alice.pem \-\-key alice.pem \e |
1712 | - \-\-peer\-fingerprint "$fingerprint_of_bobs_cert" |
1713 | + \-\-peer\-fingerprint \(dq$fingerprint_of_bobs_cert\(dq |
1714 | .ft P |
1715 | .fi |
1716 | .UNINDENT |
1717 | diff --git a/doc/openvpn-examples.5.html b/doc/openvpn-examples.5.html |
1718 | index 1f029d5..4fbaa8e 100644 |
1719 | --- a/doc/openvpn-examples.5.html |
1720 | +++ b/doc/openvpn-examples.5.html |
1721 | @@ -1,20 +1,20 @@ |
1722 | -<?xml version="1.0" encoding="utf-8" ?> |
1723 | +<?xml version="1.0" encoding="utf-8"?> |
1724 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
1725 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
1726 | <head> |
1727 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
1728 | -<meta name="generator" content="Docutils 0.16: http://docutils.sourceforge.net/" /> |
1729 | +<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" /> |
1730 | <title>openvpn examples</title> |
1731 | <style type="text/css"> |
1732 | |
1733 | /* |
1734 | :Author: David Goodger (goodger@python.org) |
1735 | -:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ |
1736 | +:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ |
1737 | :Copyright: This stylesheet has been placed in the public domain. |
1738 | |
1739 | Default cascading style sheet for the HTML output of Docutils. |
1740 | |
1741 | -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to |
1742 | +See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to |
1743 | customize this style sheet. |
1744 | */ |
1745 | |
1746 | diff --git a/doc/openvpn.8 b/doc/openvpn.8 |
1747 | index 2223ad6..833278e 100644 |
1748 | --- a/doc/openvpn.8 |
1749 | +++ b/doc/openvpn.8 |
1750 | @@ -76,7 +76,7 @@ with a relatively lightweight footprint. |
1751 | .sp |
1752 | OpenVPN allows any option to be placed either on the command line or in |
1753 | a configuration file. Though all command line options are preceded by a |
1754 | -double\-leading\-dash ("\-\-"), this prefix can be removed when an option is |
1755 | +double\-leading\-dash (\(dq\-\-\(dq), this prefix can be removed when an option is |
1756 | placed in a configuration file. |
1757 | .SS Generic Options |
1758 | .sp |
1759 | @@ -105,7 +105,7 @@ It is always cached. |
1760 | .BI \-\-cd \ dir |
1761 | Change directory to \fBdir\fP prior to reading any files such as |
1762 | configuration files, key files, scripts, etc. \fBdir\fP should be an |
1763 | -absolute path, with a leading "/", and without any references to the |
1764 | +absolute path, with a leading \(dq/\(dq, and without any references to the |
1765 | current directory such as \fB\&.\fP or \fB\&..\fP\&. |
1766 | .sp |
1767 | This option is useful when you are running OpenVPN in \fB\-\-daemon\fP mode, |
1768 | @@ -158,7 +158,7 @@ to the configuration if no other compression options are present. |
1769 | 2.4.x or lower: The cipher in \fB\-\-cipher\fP is appended to |
1770 | \fB\-\-data\-ciphers\fP\&. |
1771 | .IP \(bu 2 |
1772 | -2.3.x or lower: \fB\-\-data\-cipher\-fallback\fP is automatically added with |
1773 | +2.3.x or lower: \fB\-\-data\-ciphers\-fallback\fP is automatically added with |
1774 | the same cipher as \fB\-\-cipher\fP\&. |
1775 | .IP \(bu 2 |
1776 | 2.3.6 or lower: \fB\-\-tls\-version\-min 1.0\fP is added to the configuration |
1777 | @@ -178,8 +178,8 @@ file\fP |
1778 | .sp |
1779 | Note that configuration files can be nested to a reasonable depth. |
1780 | .sp |
1781 | -Double quotation or single quotation characters ("", \(aq\(aq) can be used to |
1782 | -enclose single parameters containing whitespace, and "#" or ";" |
1783 | +Double quotation or single quotation characters (\(dq\(dq, \(aq\(aq) can be used to |
1784 | +enclose single parameters containing whitespace, and \(dq#\(dq or \(dq;\(dq |
1785 | characters in the first column can be used to denote comments. |
1786 | .sp |
1787 | Note that OpenVPN 2.0 and higher performs backslash\-based shell escaping |
1788 | @@ -191,7 +191,7 @@ should be observed: |
1789 | .nf |
1790 | .ft C |
1791 | \e\e Maps to a single backslash character (\e). |
1792 | -\e" Pass a literal doublequote character ("), don\(aqt |
1793 | +\e\(dq Pass a literal doublequote character (\(dq), don\(aqt |
1794 | interpret it as enclosing a parameter. |
1795 | \e[SPACE] Pass a literal space or tab character, don\(aqt |
1796 | interpret it as a parameter delimiter. |
1797 | @@ -206,7 +206,7 @@ For example on Windows, use double backslashes to represent pathnames: |
1798 | .sp |
1799 | .nf |
1800 | .ft C |
1801 | -secret "c:\e\eOpenVPN\e\esecret.key" |
1802 | +secret \(dqc:\e\eOpenVPN\e\esecret.key\(dq |
1803 | .ft P |
1804 | .fi |
1805 | .UNINDENT |
1806 | @@ -295,7 +295,7 @@ on console) and \fB\-\-auth\-nocache\fP will fail as soon as key |
1807 | renegotiation (and reauthentication) occurs. |
1808 | .TP |
1809 | .B \-\-disable\-dco |
1810 | -Disable "data channel offload" (DCO). |
1811 | +Disable \(dqdata channel offload\(dq (DCO). |
1812 | .sp |
1813 | On Linux don\(aqt use the ovpn\-dco device driver, but rather rely on the |
1814 | legacy tun module. |
1815 | @@ -304,7 +304,7 @@ You may want to use this option if your server needs to allow clients |
1816 | older than version 2.4 to connect. |
1817 | .TP |
1818 | .B \-\-disable\-occ |
1819 | -\fBDEPRECATED\fP Disable "options consistency check" (OCC) in configurations |
1820 | +\fBDEPRECATED\fP Disable \(dqoptions consistency check\(dq (OCC) in configurations |
1821 | that do not use TLS. |
1822 | .sp |
1823 | Don\(aqt output a warning message if option inconsistencies are detected |
1824 | @@ -946,7 +946,7 @@ for the client, for example: |
1825 | .nf |
1826 | .ft C |
1827 | comp\-lzo yes |
1828 | -push "comp\-lzo yes" |
1829 | +push \(dqcomp\-lzo yes\(dq |
1830 | .ft P |
1831 | .fi |
1832 | .UNINDENT |
1833 | @@ -1140,7 +1140,7 @@ To make use of this feature, the \fB\-\-client\-connect\fP script or |
1834 | .sp |
1835 | .nf |
1836 | .ft C |
1837 | -push "auth\-token UNIQUE_TOKEN_VALUE" |
1838 | +push \(dqauth\-token UNIQUE_TOKEN_VALUE\(dq |
1839 | .ft P |
1840 | .fi |
1841 | .UNINDENT |
1842 | @@ -1184,6 +1184,24 @@ lines. If the password line is missing, OpenVPN will prompt for one. |
1843 | If \fBup\fP is omitted, username/password will be prompted from the |
1844 | console. |
1845 | .sp |
1846 | +This option can also be inlined |
1847 | +.INDENT 7.0 |
1848 | +.INDENT 3.5 |
1849 | +.sp |
1850 | +.nf |
1851 | +.ft C |
1852 | +<auth\-user\-pass> |
1853 | +username |
1854 | +[password] |
1855 | +</auth\-user\-pass> |
1856 | +.ft P |
1857 | +.fi |
1858 | +.UNINDENT |
1859 | +.UNINDENT |
1860 | +.sp |
1861 | +where password is optional, and will be prompted from the console if |
1862 | +missing. |
1863 | +.sp |
1864 | The server configuration must specify an \fB\-\-auth\-user\-pass\-verify\fP |
1865 | script to verify the username/password provided by the client. |
1866 | .TP |
1867 | @@ -1407,7 +1425,7 @@ If the optional \fBbytes\fP parameter is included, exit if less than |
1868 | in \fBn\fP seconds. |
1869 | .sp |
1870 | In any case, OpenVPN\(aqs internal ping packets (which are just keepalives) |
1871 | -and TLS control packets are not considered "activity", nor are they |
1872 | +and TLS control packets are not considered \(dqactivity\(dq, nor are they |
1873 | counted as traffic, as they are used internally by OpenVPN and are not |
1874 | an indication of actual user activity. |
1875 | .TP |
1876 | @@ -1469,7 +1487,7 @@ that |
1877 | .sp |
1878 | .nf |
1879 | .ft C |
1880 | -pull\-filter ignore "route" |
1881 | +pull\-filter ignore \(dqroute\(dq |
1882 | .ft P |
1883 | .fi |
1884 | .UNINDENT |
1885 | @@ -1483,8 +1501,8 @@ embed spaces. |
1886 | .sp |
1887 | .nf |
1888 | .ft C |
1889 | -pull\-filter accept "route 192.168.1." |
1890 | -pull\-filter ignore "route " |
1891 | +pull\-filter accept \(dqroute 192.168.1.\(dq |
1892 | +pull\-filter ignore \(dqroute \(dq |
1893 | .ft P |
1894 | .fi |
1895 | .UNINDENT |
1896 | @@ -1701,8 +1719,8 @@ kind of basic load\-balancing measure. |
1897 | .TP |
1898 | .B \-\-remote\-random\-hostname |
1899 | Prepend a random string (6 bytes, 12 hex characters) to hostname to |
1900 | -prevent DNS caching. For example, "foo.bar.gov" would be modified to |
1901 | -"<random\-chars>.foo.bar.gov". |
1902 | +prevent DNS caching. For example, \(dqfoo.bar.gov\(dq would be modified to |
1903 | +\(dq<random\-chars>.foo.bar.gov\(dq. |
1904 | .TP |
1905 | .BI \-\-resolv\-retry \ n |
1906 | If hostname resolve fails for \fB\-\-remote\fP, retry resolve for \fBn\fP |
1907 | @@ -1800,7 +1818,7 @@ http\-proxy proxy.example.net 3128 auto\-nct |
1908 | http\-proxy proxy.example.net 3128 auto |
1909 | http\-proxy\-user\-pass authfile.txt |
1910 | # basic authentication, specify credentials inline |
1911 | -http\-proxy proxy.example.net 3128 "" basic |
1912 | +http\-proxy proxy.example.net 3128 \(dq\(dq basic |
1913 | <http\-proxy\-user\-pass> |
1914 | username |
1915 | password |
1916 | @@ -1841,7 +1859,7 @@ options. |
1917 | Set HTTP version number to \fBversion\fP (default \fB1.0\fP). |
1918 | .TP |
1919 | .B \fBAGENT\fP \fBuser\-agent\fP |
1920 | -Set HTTP "User\-Agent" string to \fBuser\-agent\fP\&. |
1921 | +Set HTTP \(dqUser\-Agent\(dq string to \fBuser\-agent\fP\&. |
1922 | .TP |
1923 | .B \fBCUSTOM\-HEADER\fP \fBname\fP \fBcontent\fP |
1924 | Adds the custom Header with \fBname\fP as name and \fBcontent\fP as |
1925 | @@ -1987,7 +2005,7 @@ user\-defined authentication module/script to accept or deny the client |
1926 | based on other factors (such as the setting of X509 certificate fields). |
1927 | When this option is used, and a connecting client does not submit a |
1928 | username/password, the user\-defined authentication module/script will |
1929 | -see the username and password as being set to empty strings (""). The |
1930 | +see the username and password as being set to empty strings (\(dq\(dq). The |
1931 | authentication module/script MUST have logic to detect this condition |
1932 | and respond accordingly. |
1933 | .TP |
1934 | @@ -2002,7 +2020,7 @@ directory for a file having the same name as the client\(aqs X509 common |
1935 | name. If a matching file exists, it will be opened and parsed for |
1936 | client\-specific configuration options. If no matching file is found, |
1937 | OpenVPN will instead try to open and parse a default file called |
1938 | -"DEFAULT", which may be provided but is not required. Note that the |
1939 | +\(dqDEFAULT\(dq, which may be provided but is not required. Note that the |
1940 | configuration files must be readable by the OpenVPN process after it has |
1941 | dropped it\(aqs root privileges. |
1942 | .sp |
1943 | @@ -2025,7 +2043,7 @@ single tun or tap interface, it is effectively a router. The |
1944 | client\-to\-client traffic rather than pushing all client\-originating |
1945 | traffic to the TUN/TAP interface. |
1946 | .sp |
1947 | -When this option is used, each client will "see" the other clients which |
1948 | +When this option is used, each client will \(dqsee\(dq the other clients which |
1949 | are currently connected. Otherwise, each client will only see the |
1950 | server. Don\(aqt use this option if you want to firewall tunnel traffic |
1951 | using custom, per\-client rules. |
1952 | @@ -2308,10 +2326,10 @@ using \fB\-\-client\-config\-dir\fP or dynamically generated using a |
1953 | \fB\-\-client\-connect\fP script. |
1954 | .sp |
1955 | The \fB\-\-iroute\fP directive also has an important interaction with |
1956 | -\fB\-\-push "route ..."\fP\&. \fB\-\-iroute\fP essentially defines a subnet which |
1957 | +\fB\-\-push \(dqroute ...\(dq\fP\&. \fB\-\-iroute\fP essentially defines a subnet which |
1958 | is owned by a particular client (we will call this client \fIA\fP). If you |
1959 | would like other clients to be able to reach \fIA\fP\(aqs subnet, you can use |
1960 | -\fB\-\-push "route ..."\fP together with \fB\-\-client\-to\-client\fP to effect |
1961 | +\fB\-\-push \(dqroute ...\(dq\fP together with \fB\-\-client\-to\-client\fP to effect |
1962 | this. In order for all clients to see \fIA\fP\(aqs subnet, OpenVPN must push |
1963 | this route to all clients EXCEPT for \fIA\fP, since the subnet is already |
1964 | owned by \fIA\fP\&. OpenVPN accomplishes this by not not pushing a route to |
1965 | @@ -2397,7 +2415,7 @@ Not implemented on Windows. |
1966 | .TP |
1967 | .BI \-\-push \ option |
1968 | Push a config file option back to the client for remote execution. Note |
1969 | -that \fBoption\fP must be enclosed in double quotes (\fB""\fP). The |
1970 | +that \fBoption\fP must be enclosed in double quotes (\fB\(dq\(dq\fP). The |
1971 | client must specify \fB\-\-pull\fP in its config file. The set of options |
1972 | which can be pushed is limited by both feasibility and security. Some |
1973 | options such as those which would execute scripts are banned, since they |
1974 | @@ -2415,11 +2433,11 @@ This is a partial list of options which can currently be pushed: |
1975 | \fB\-\-rcvbuf\fP, \fB\-\-session\-timeout\fP |
1976 | .TP |
1977 | .BI \-\-push\-remove \ opt |
1978 | -Selectively remove all \fB\-\-push\fP options matching "opt" from the option |
1979 | +Selectively remove all \fB\-\-push\fP options matching \(dqopt\(dq from the option |
1980 | list for a client. \fBopt\fP is matched as a substring against the whole |
1981 | option string to\-be\-pushed to the client, so \fB\-\-push\-remove route\fP |
1982 | would remove all \fB\-\-push route ...\fP and \fB\-\-push route\-ipv6 ...\fP |
1983 | -statements, while \fB\-\-push\-remove "route\-ipv6 2001:"\fP would only remove |
1984 | +statements, while \fB\-\-push\-remove \(dqroute\-ipv6 2001:\(dq\fP would only remove |
1985 | IPv6 routes for \fB2001:...\fP networks. |
1986 | .sp |
1987 | \fB\-\-push\-remove\fP can only be used in a client\-specific context, like in |
1988 | @@ -2478,7 +2496,7 @@ For example, \fB\-\-server 10.8.0.0 255.255.255.0\fP expands as follows: |
1989 | .ft C |
1990 | mode server |
1991 | tls\-server |
1992 | -push "topology [topology]" |
1993 | +push \(dqtopology [topology]\(dq |
1994 | |
1995 | if dev tun AND (topology == net30 OR topology == p2p): |
1996 | ifconfig 10.8.0.1 10.8.0.2 |
1997 | @@ -2486,15 +2504,15 @@ if dev tun AND (topology == net30 OR topology == p2p): |
1998 | ifconfig\-pool 10.8.0.4 10.8.0.251 |
1999 | route 10.8.0.0 255.255.255.0 |
2000 | if client\-to\-client: |
2001 | - push "route 10.8.0.0 255.255.255.0" |
2002 | + push \(dqroute 10.8.0.0 255.255.255.0\(dq |
2003 | else if topology == net30: |
2004 | - push "route 10.8.0.1" |
2005 | + push \(dqroute 10.8.0.1\(dq |
2006 | |
2007 | if dev tap OR (dev tun AND topology == subnet): |
2008 | ifconfig 10.8.0.1 255.255.255.0 |
2009 | if !nopool: |
2010 | ifconfig\-pool 10.8.0.2 10.8.0.253 255.255.255.0 |
2011 | - push "route\-gateway 10.8.0.1" |
2012 | + push \(dqroute\-gateway 10.8.0.1\(dq |
2013 | if route\-gateway unset: |
2014 | route\-gateway 10.8.0.2 |
2015 | .ft P |
2016 | @@ -2535,7 +2553,7 @@ To configure ethernet bridging, you must first use your OS\(aqs bridging |
2017 | capability to bridge the TAP interface with the ethernet NIC interface. |
2018 | For example, on Linux this is done with the \fBbrctl\fP tool, and with |
2019 | Windows XP it is done in the Network Connections Panel by selecting the |
2020 | -ethernet and TAP adapters and right\-clicking on "Bridge Connections". |
2021 | +ethernet and TAP adapters and right\-clicking on \(dqBridge Connections\(dq. |
2022 | .sp |
2023 | Next you you must manually set the IP/netmask on the bridge interface. |
2024 | The \fBgateway\fP and \fBnetmask\fP parameters to \fB\-\-server\-bridge\fP can be |
2025 | @@ -2557,7 +2575,7 @@ mode server |
2026 | tls\-server |
2027 | |
2028 | ifconfig\-pool 10.8.0.128 10.8.0.254 255.255.255.0 |
2029 | -push "route\-gateway 10.8.0.4" |
2030 | +push \(dqroute\-gateway 10.8.0.4\(dq |
2031 | .ft P |
2032 | .fi |
2033 | .UNINDENT |
2034 | @@ -2573,7 +2591,7 @@ follows: |
2035 | mode server |
2036 | tls\-server |
2037 | |
2038 | -push "route\-gateway dhcp" |
2039 | +push \(dqroute\-gateway dhcp\(dq |
2040 | .ft P |
2041 | .fi |
2042 | .UNINDENT |
2043 | @@ -2695,11 +2713,11 @@ port of the switch. All client ports are in untagged mode and the server |
2044 | TAP device is VLAN\-tagged, untagged or accepts both, depending on the |
2045 | \fB\-\-vlan\-accept\fP setting. |
2046 | .sp |
2047 | -Ethernet frames with a prepended 802.1Q tag are called "tagged". If the |
2048 | +Ethernet frames with a prepended 802.1Q tag are called \(dqtagged\(dq. If the |
2049 | VLAN Identifier (VID) field in such a tag is non\-zero, the frame is |
2050 | -called "VLAN\-tagged". If the VID is zero, but the Priority Control Point |
2051 | -(PCP) field is non\-zero, the frame is called "prio\-tagged". If there is |
2052 | -no 802.1Q tag, the frame is "untagged". |
2053 | +called \(dqVLAN\-tagged\(dq. If the VID is zero, but the Priority Control Point |
2054 | +(PCP) field is non\-zero, the frame is called \(dqprio\-tagged\(dq. If there is |
2055 | +no 802.1Q tag, the frame is \(dquntagged\(dq. |
2056 | .sp |
2057 | Using the \fB\-\-vlan\-pvid v\fP option once per client (see |
2058 | \-\-client\-config\-dir), each port can be associated with a certain VID. |
2059 | @@ -2751,8 +2769,8 @@ untagged or tagged mode respectively. |
2060 | .TP |
2061 | .B \fINote\fP: |
2062 | Some vendors refer to switch ports running in \fBtagged\fP mode |
2063 | -as "trunk ports" and switch ports running in \fBuntagged\fP mode |
2064 | -as "access ports". |
2065 | +as \(dqtrunk ports\(dq and switch ports running in \fBuntagged\fP mode |
2066 | +as \(dqaccess ports\(dq. |
2067 | .UNINDENT |
2068 | .sp |
2069 | Packets forwarded from clients to the server are VLAN\-tagged with the |
2070 | @@ -2763,7 +2781,7 @@ If no \fIPVID\fP is configured for a given client (see \-\-vlan\-pvid) packets |
2071 | are tagged with 1 by default. |
2072 | .TP |
2073 | .BI \-\-vlan\-pvid \ v |
2074 | -Specifies which VLAN identifier a "port" is associated with. Only valid |
2075 | +Specifies which VLAN identifier a \(dqport\(dq is associated with. Only valid |
2076 | when \fB\-\-vlan\-tagging\fP is specified. |
2077 | .sp |
2078 | In the client context, the setting specifies which VLAN ID a client is |
2079 | @@ -2775,8 +2793,8 @@ Valid values for \fBv\fP go from \fB1\fP through to \fB4094\fP\&. The |
2080 | global value defaults to \fB1\fP\&. If no \fB\-\-vlan\-pvid\fP is specified in |
2081 | the client context, the global value is inherited. |
2082 | .sp |
2083 | -In some switch implementations, the \fIPVID\fP is also referred to as "Native |
2084 | -VLAN". |
2085 | +In some switch implementations, the \fIPVID\fP is also referred to as \(dqNative |
2086 | +VLAN\(dq. |
2087 | .UNINDENT |
2088 | .SH ENCRYPTION OPTIONS |
2089 | .SS SSL Library information |
2090 | @@ -3252,7 +3270,7 @@ This option is not supported in mbed TLS builds of OpenVPN. |
2091 | Specify a \fBfile\fP containing one or more PEM certs (concatenated |
2092 | together) that complete the local certificate chain. |
2093 | .sp |
2094 | -This option is useful for "split" CAs, where the CA for server certs is |
2095 | +This option is useful for \(dqsplit\(dq CAs, where the CA for server certs is |
2096 | different than the CA for client certs. Putting certs in this file |
2097 | allows them to be used to complete the local certificate chain without |
2098 | trusting them to verify the peer\-submitted certificate, as would be the |
2099 | @@ -3342,7 +3360,7 @@ The \fB\-\-remote\-cert\-tls client\fP option is equivalent to |
2100 | .nf |
2101 | .ft C |
2102 | remote\-cert\-ku |
2103 | -remote\-cert\-eku "TLS Web Client Authentication" |
2104 | +remote\-cert\-eku \(dqTLS Web Client Authentication\(dq |
2105 | .ft P |
2106 | .fi |
2107 | .UNINDENT |
2108 | @@ -3355,7 +3373,7 @@ The \fB\-\-remote\-cert\-tls server\fP option is equivalent to |
2109 | .nf |
2110 | .ft C |
2111 | remote\-cert\-ku |
2112 | -remote\-cert\-eku "TLS Web Server Authentication" |
2113 | +remote\-cert\-eku \(dqTLS Web Server Authentication\(dq |
2114 | .ft P |
2115 | .fi |
2116 | .UNINDENT |
2117 | @@ -3386,7 +3404,7 @@ tls\-auth file 1 |
2118 | .UNINDENT |
2119 | .UNINDENT |
2120 | .sp |
2121 | -In a nutshell, \fB\-\-tls\-auth\fP enables a kind of "HMAC firewall" on |
2122 | +In a nutshell, \fB\-\-tls\-auth\fP enables a kind of \(dqHMAC firewall\(dq on |
2123 | OpenVPN\(aqs TCP/UDP port, where TLS control channel packets bearing an |
2124 | incorrect HMAC signature can be dropped immediately without response. |
2125 | .sp |
2126 | @@ -3457,7 +3475,7 @@ OpenSSL 1.1+ restricts the list per default to |
2127 | .sp |
2128 | .nf |
2129 | .ft C |
2130 | -"X25519:secp256r1:X448:secp521r1:secp384r1". |
2131 | +\(dqX25519:secp256r1:X448:secp521r1:secp384r1\(dq. |
2132 | .ft P |
2133 | .fi |
2134 | .UNINDENT |
2135 | @@ -3500,16 +3518,16 @@ use the following approximation: |
2136 | .INDENT 7.0 |
2137 | .TP |
2138 | .B \fBinsecure\fP |
2139 | -sets "security level 0" |
2140 | +sets \(dqsecurity level 0\(dq |
2141 | .TP |
2142 | .B \fBlegacy\fP (default) |
2143 | -sets "security level 1" |
2144 | +sets \(dqsecurity level 1\(dq |
2145 | .TP |
2146 | .B \fBpreferred\fP |
2147 | -sets "security level 2" |
2148 | +sets \(dqsecurity level 2\(dq |
2149 | .TP |
2150 | .B \fBsuiteb\fP |
2151 | -sets "security level 3" and \fB\-\-tls\-cipher "SUITEB128"\fP\&. |
2152 | +sets \(dqsecurity level 3\(dq and \fB\-\-tls\-cipher \(dqSUITEB128\(dq\fP\&. |
2153 | .UNINDENT |
2154 | .sp |
2155 | OpenVPN will migrate to \(aqpreferred\(aq as default in the future. Please |
2156 | @@ -3526,7 +3544,7 @@ break your connection. Use with care! |
2157 | .INDENT 0.0 |
2158 | .TP |
2159 | .BI \-\-tls\-cipher \ l |
2160 | -A list \fBl\fP of allowable TLS ciphers delimited by a colon ("\fB:\fP"). |
2161 | +A list \fBl\fP of allowable TLS ciphers delimited by a colon (\(dq\fB:\fP\(dq). |
2162 | .sp |
2163 | These setting can be used to ensure that certain cipher suites are used |
2164 | (or not used) for the TLS connection. OpenVPN uses TLS to secure the |
2165 | @@ -3570,7 +3588,7 @@ connection, |
2166 | .IP \(bu 2 |
2167 | makes it harder to identify OpenVPN traffic as such, |
2168 | .IP \(bu 2 |
2169 | -provides "poor\-man\(aqs" post\-quantum security, against attackers who will |
2170 | +provides \(dqpoor\-man\(aqs\(dq post\-quantum security, against attackers who will |
2171 | never know the pre\-shared key (i.e. no forward secrecy). |
2172 | .UNINDENT |
2173 | .sp |
2174 | @@ -3690,7 +3708,7 @@ them. |
2175 | .TP |
2176 | .BI \-\-tls\-version\-min \ args |
2177 | Sets the minimum TLS version we will accept from the peer (default in |
2178 | -2.6.0 and later is "1.2"). |
2179 | +2.6.0 and later is \(dq1.2\(dq). |
2180 | .sp |
2181 | Valid syntax: |
2182 | .INDENT 7.0 |
2183 | @@ -3903,7 +3921,7 @@ Examples: |
2184 | .ft C |
2185 | x509\-track CN # exports only X509_0_CN |
2186 | x509\-track +CN # exports X509_{n}_CN for chain |
2187 | -x509\-track basicConstraints # exports value of "X509v3 Basic Constraints" |
2188 | +x509\-track basicConstraints # exports value of \(dqX509v3 Basic Constraints\(dq |
2189 | x509\-track SHA256 # exports SHA256 fingerprint |
2190 | .ft P |
2191 | .fi |
2192 | @@ -4084,7 +4102,7 @@ different backwards compatibility mechanism with older server and clients. |
2193 | .SS OpenVPN 2.5 and later behaviour |
2194 | .sp |
2195 | When both client and server are at least running OpenVPN 2.5, that the order of |
2196 | -the ciphers of the server\(aqs \fB\-\-data\-ciphers\fP is used to pick the the data cipher. |
2197 | +the ciphers of the server\(aqs \fB\-\-data\-ciphers\fP is used to pick the data cipher. |
2198 | That means that the first cipher in that list that is also in the client\(aqs |
2199 | \fB\-\-data\-ciphers\fP list is chosen. If no common cipher is found the client is rejected |
2200 | with a AUTH_FAILED message (as seen in client log): |
2201 | @@ -4105,7 +4123,7 @@ For backwards compatibility OpenVPN 2.6 and later with \fB\-\-compat\-mode 2.4.x |
2202 | .SS OpenVPN 2.4 clients |
2203 | .sp |
2204 | The negotiation support in OpenVPN 2.4 was the first iteration of the implementation |
2205 | -and still had some quirks. Its main goal was "upgrade to AES\-256\-GCM when possible". |
2206 | +and still had some quirks. Its main goal was \(dqupgrade to AES\-256\-GCM when possible\(dq. |
2207 | An OpenVPN 2.4 client that is built against a crypto library that supports AES in GCM |
2208 | mode and does not have \fB\-\-ncp\-disable\fP will always announce support for |
2209 | \fIAES\-256\-GCM\fP and \fIAES\-128\-GCM\fP to a server by sending \fBIV_NCP=2\fP\&. |
2210 | @@ -4285,8 +4303,8 @@ For example, \fB\-\-keepalive 10 60\fP expands as follows: |
2211 | if mode server: |
2212 | ping 10 # Argument: interval |
2213 | ping\-restart 120 # Argument: timeout*2 |
2214 | - push "ping 10" # Argument: interval |
2215 | - push "ping\-restart 60" # Argument: timeout |
2216 | + push \(dqping 10\(dq # Argument: interval |
2217 | + push \(dqping\-restart 60\(dq # Argument: timeout |
2218 | else |
2219 | ping 10 # Argument: interval |
2220 | ping\-restart 60 # Argument: timeout |
2221 | @@ -4613,7 +4631,7 @@ product of bandwidth and latency is high), you may want to use a larger |
2222 | value for \fBn\fP\&. Satellite links in particular often require this. |
2223 | .sp |
2224 | If you run OpenVPN at \fB\-\-verb 4\fP, you will see the message |
2225 | -"PID_ERR replay\-window backtrack occurred [x]" every time the maximum sequence |
2226 | +\(dqPID_ERR replay\-window backtrack occurred [x]\(dq every time the maximum sequence |
2227 | number backtrack seen thus far increases. This can be used to calibrate |
2228 | \fBn\fP\&. |
2229 | .sp |
2230 | @@ -4702,7 +4720,7 @@ The macro expands as follows: |
2231 | .ft C |
2232 | if mode server: |
2233 | socket\-flags TCP_NODELAY |
2234 | - push "socket\-flags TCP_NODELAY" |
2235 | + push \(dqsocket\-flags TCP_NODELAY\(dq |
2236 | .ft P |
2237 | .fi |
2238 | .UNINDENT |
2239 | @@ -4781,14 +4799,14 @@ clients leaking around IPv4\-only VPN services). |
2240 | .UNINDENT |
2241 | .TP |
2242 | .B \fBServer config\fP |
2243 | -Push a "valid" ipv6 config to the client and block on the server |
2244 | +Push a \(dqvalid\(dq ipv6 config to the client and block on the server |
2245 | .INDENT 7.0 |
2246 | .INDENT 3.5 |
2247 | .sp |
2248 | .nf |
2249 | .ft C |
2250 | -\-\-push "ifconfig\-ipv6 fd15:53b6:dead::2/64 fd15:53b6:dead::1" |
2251 | -\-\-push "redirect\-gateway ipv6" |
2252 | +\-\-push \(dqifconfig\-ipv6 fd15:53b6:dead::2/64 fd15:53b6:dead::1\(dq |
2253 | +\-\-push \(dqredirect\-gateway ipv6\(dq |
2254 | \-\-block\-ipv6 |
2255 | .ft P |
2256 | .fi |
2257 | @@ -4842,7 +4860,7 @@ On most platforms, \fBtunN\fP (e.g. tun2, tun30) and \fBtapN\fP |
2258 | (e.g. tap3) will create a numbered tun/tap interface with the number |
2259 | specified \- this is useful if multiple OpenVPN instances are active, |
2260 | and the instance\-to\-device mapping needs to be known. Some platforms |
2261 | -do not support "numbered tap", so trying \fB\-\-dev tap3\fP will fail. |
2262 | +do not support \(dqnumbered tap\(dq, so trying \fB\-\-dev tap3\fP will fail. |
2263 | .sp |
2264 | Arbitrary device names (e.g. \fB\-\-dev tun\-home\fP) will only work on |
2265 | FreeBSD (with the DCO kernel driver for \fBtun\fP devices) and Linux |
2266 | @@ -5011,11 +5029,11 @@ across the VPN. |
2267 | .sp |
2268 | For TAP devices, which provide the ability to create virtual ethernet |
2269 | segments, or TUN devices in \fB\-\-topology subnet\fP mode (which create |
2270 | -virtual "multipoint networks"), \fB\-\-ifconfig\fP is used to set an IP |
2271 | +virtual \(dqmultipoint networks\(dq), \fB\-\-ifconfig\fP is used to set an IP |
2272 | address and subnet mask just as a physical ethernet adapter would be |
2273 | similarly configured. If you are attempting to connect to a remote |
2274 | ethernet bridge, the IP address and subnet should be set to values which |
2275 | -would be valid on the the bridged ethernet segment (note also that DHCP |
2276 | +would be valid on the bridged ethernet segment (note also that DHCP |
2277 | can be used for the same purpose). |
2278 | .sp |
2279 | This option, while primarily a proxy for the \fBifconfig\fP(8) command, |
2280 | @@ -5082,8 +5100,8 @@ For example, if you have a configuration where the local host uses |
2281 | on the local host. |
2282 | .sp |
2283 | This option will also silence warnings about potential address conflicts |
2284 | -which occasionally annoy more experienced users by triggering "false |
2285 | -positive" warnings. |
2286 | +which occasionally annoy more experienced users by triggering \(dqfalse |
2287 | +positive\(dq warnings. |
2288 | .TP |
2289 | .BI \-\-lladdr \ address |
2290 | Specify the link layer address, more commonly known as the MAC address. |
2291 | @@ -5348,8 +5366,8 @@ works on Windows as well. |
2292 | .UNINDENT |
2293 | .sp |
2294 | \fINote:\fP Using \fB\-\-topology subnet\fP changes the interpretation of the |
2295 | -arguments of \fB\-\-ifconfig\fP to mean "address netmask", no longer "local |
2296 | -remote". |
2297 | +arguments of \fB\-\-ifconfig\fP to mean \(dqaddress netmask\(dq, no longer \(dqlocal |
2298 | +remote\(dq. |
2299 | .TP |
2300 | .BI \-\-tun\-mtu \ args |
2301 | Valid syntaxes: |
2302 | @@ -5422,7 +5440,7 @@ deleted or the machine is rebooted. |
2303 | One of the advantages of persistent tunnels is that they eliminate the |
2304 | need for separate \fB\-\-up\fP and \fB\-\-down\fP scripts to run the appropriate |
2305 | \fBifconfig\fP(8) and \fBroute\fP(8) commands. These commands can be |
2306 | -placed in the the same shell script which starts or terminates an |
2307 | +placed in the same shell script which starts or terminates an |
2308 | OpenVPN session. |
2309 | .sp |
2310 | Another advantage is that open connections through the TUN/TAP\-based |
2311 | @@ -5658,8 +5676,8 @@ non\-empty content, the content of this file will be used as AUTH_FAILED |
2312 | message. To avoid race conditions, this file should be written before |
2313 | \fBauth_control_file\fP\&. |
2314 | .sp |
2315 | -This auth fail reason can be something simple like "User has been permanently |
2316 | -disabled" but there are also some special auth failed messages. |
2317 | +This auth fail reason can be something simple like \(dqUser has been permanently |
2318 | +disabled\(dq but there are also some special auth failed messages. |
2319 | .sp |
2320 | The \fBTEMP\fP message indicates that the authentication |
2321 | temporarily failed and that the client should continue to retry to connect. |
2322 | @@ -5867,23 +5885,23 @@ Three arguments will be appended to any arguments in \fBcmd\fP as follows: |
2323 | .INDENT 7.0 |
2324 | .TP |
2325 | .B \fB$1\fP \- [operation] |
2326 | -\fB"add"\fP, \fB"update"\fP, or \fB"delete"\fP based on whether |
2327 | +\fB\(dqadd\(dq\fP, \fB\(dqupdate\(dq\fP, or \fB\(dqdelete\(dq\fP based on whether |
2328 | or not the address is being added to, modified, or deleted from |
2329 | OpenVPN\(aqs internal routing table. |
2330 | .TP |
2331 | .B \fB$2\fP \- [address] |
2332 | The address being learned or unlearned. This can be an IPv4 address |
2333 | -such as \fB"198.162.10.14"\fP, an IPv4 subnet such as |
2334 | -\fB"198.162.10.0/24"\fP, or an ethernet MAC address (when |
2335 | -\fB\-\-dev tap\fP is being used) such as \fB"00:FF:01:02:03:04"\fP\&. |
2336 | +such as \fB\(dq198.162.10.14\(dq\fP, an IPv4 subnet such as |
2337 | +\fB\(dq198.162.10.0/24\(dq\fP, or an ethernet MAC address (when |
2338 | +\fB\-\-dev tap\fP is being used) such as \fB\(dq00:FF:01:02:03:04\(dq\fP\&. |
2339 | .TP |
2340 | .B \fB$3\fP \- [common name] |
2341 | The common name on the certificate associated with the client linked |
2342 | -to this address. Only present for \fB"add"\fP or \fB"update"\fP |
2343 | -operations, not \fB"delete"\fP\&. |
2344 | +to this address. Only present for \fB\(dqadd\(dq\fP or \fB\(dqupdate\(dq\fP |
2345 | +operations, not \fB\(dqdelete\(dq\fP\&. |
2346 | .UNINDENT |
2347 | .sp |
2348 | -On \fB"add"\fP or \fB"update"\fP methods, if the script returns |
2349 | +On \fB\(dqadd\(dq\fP or \fB\(dqupdate\(dq\fP methods, if the script returns |
2350 | a failure code (non\-zero), OpenVPN will reject the address and will not |
2351 | modify its internal routing table. |
2352 | .sp |
2353 | @@ -6137,10 +6155,10 @@ TCP/UDP connection establishment with peer. |
2354 | .sp |
2355 | In \fB\-\-proto udp\fP mode, this option normally requires the use of |
2356 | \fB\-\-ping\fP to allow connection initiation to be sensed in the absence of |
2357 | -tunnel data, since UDP is a "connectionless" protocol. |
2358 | +tunnel data, since UDP is a \(dqconnectionless\(dq protocol. |
2359 | .sp |
2360 | On Windows, this option will delay the TAP\-Win32 media state |
2361 | -transitioning to "connected" until connection establishment, i.e. the |
2362 | +transitioning to \(dqconnected\(dq until connection establishment, i.e. the |
2363 | receipt of the first authenticated packet from the peer. |
2364 | .TP |
2365 | .B \-\-up\-restart |
2366 | @@ -6186,13 +6204,13 @@ starting with OpenVPN 2.0.1, the username is passed to the |
2367 | without string remapping. |
2368 | .TP |
2369 | .B \fI\-\-auth\-user\-pass password\fP |
2370 | -Any "printable" character except CR or LF. Printable is defined to be |
2371 | +Any \(dqprintable\(dq character except CR or LF. Printable is defined to be |
2372 | a character which will cause the C library isprint() function to |
2373 | return true. |
2374 | .TP |
2375 | .B \fI\-\-client\-config\-dir filename as derived from common name or\(gausername\fP |
2376 | -Alphanumeric, underbar (\(aq_\(aq), dash (\(aq\-\(aq), and dot (\(aq.\(aq) except for "." |
2377 | -or ".." as standalone strings. As of v2.0.1\-rc6, the at (\(aq@\(aq) character |
2378 | +Alphanumeric, underbar (\(aq_\(aq), dash (\(aq\-\(aq), and dot (\(aq.\(aq) except for \(dq.\(dq |
2379 | +or \(dq..\(dq as standalone strings. As of v2.0.1\-rc6, the at (\(aq@\(aq) character |
2380 | has been added as well for compatibility with the common name character |
2381 | class. |
2382 | .TP |
2383 | @@ -6265,12 +6283,12 @@ Name of first \fB\-\-config\fP file. Set on program initiation and reset on |
2384 | SIGHUP. |
2385 | .TP |
2386 | .B \fBdaemon\fP |
2387 | -Set to "1" if the \fB\-\-daemon\fP directive is specified, or "0" otherwise. |
2388 | +Set to \(dq1\(dq if the \fB\-\-daemon\fP directive is specified, or \(dq0\(dq otherwise. |
2389 | Set on program initiation and reset on SIGHUP. |
2390 | .TP |
2391 | .B \fBdaemon_log_redirect\fP |
2392 | -Set to "1" if the \fB\-\-log\fP or \fB\-\-log\-append\fP directives are |
2393 | -specified, or "0" otherwise. Set on program initiation and reset on |
2394 | +Set to \(dq1\(dq if the \fB\-\-log\fP or \fB\-\-log\-append\fP directives are |
2395 | +specified, or \(dq0\(dq otherwise. Set on program initiation and reset on |
2396 | SIGHUP. |
2397 | .TP |
2398 | .B \fBdev\fP |
2399 | @@ -6431,7 +6449,7 @@ script execution. |
2400 | A set of variables which define each route to be added, and are set |
2401 | prior to \fB\-\-up\fP script execution. |
2402 | .sp |
2403 | -\fBparm\fP will be one of \fBnetwork\fP, \fBnetmask"\fP, |
2404 | +\fBparm\fP will be one of \fBnetwork\fP, \fBnetmask\(dq\fP, |
2405 | \fBgateway\fP, or \fBmetric\fP\&. |
2406 | .sp |
2407 | \fBn\fP is the OpenVPN route number, starting from 1. |
2408 | @@ -6456,7 +6474,7 @@ translations will be recorded rather than their names as denoted on the |
2409 | command line or configuration file. |
2410 | .TP |
2411 | .B \fBscript_context\fP |
2412 | -Set to "init" or "restart" prior to up/down script execution. For more |
2413 | +Set to \(dqinit\(dq or \(dqrestart\(dq prior to up/down script execution. For more |
2414 | information, see documentation for \fB\-\-up\fP\&. |
2415 | .TP |
2416 | .B \fBscript_type\fP |
2417 | @@ -6503,8 +6521,8 @@ of \fB\-\-tls\-verify\fP script. |
2418 | The serial number of the certificate from the remote peer, where \fBn\fP |
2419 | is the verification level. Only set for TLS connections. Set prior to |
2420 | execution of \fB\-\-tls\-verify\fP script. This is in the form of a decimal |
2421 | -string like "933971680", which is suitable for doing serial\-based OCSP |
2422 | -queries (with OpenSSL, do not prepend "0x" to the string) If something |
2423 | +string like \(dq933971680\(dq, which is suitable for doing serial\-based OCSP |
2424 | +queries (with OpenSSL, do not prepend \(dq0x\(dq to the string) If something |
2425 | goes wrong while reading the value from the certificate it will be an |
2426 | empty string, so your code should check that. See the |
2427 | \fBcontrib/OCSP_check/OCSP_check.sh\fP script for an example. |
2428 | @@ -6552,7 +6570,7 @@ the verification level. Only set for TLS connections. Set prior to |
2429 | execution of \fB\-\-tls\-verify\fP script. This variable is similar to |
2430 | \fBtls_id_{n}\fP except the component X509 subject fields are broken |
2431 | out, and no string remapping occurs on these field values (except for |
2432 | -remapping of control characters to "\fB_\fP"). For example, the |
2433 | +remapping of control characters to \(dq\fB_\fP\(dq). For example, the |
2434 | following variables would be set on the OpenVPN server using the sample |
2435 | client certificate in sample\-keys (client.crt). Note that the |
2436 | verification level is 0 for the client certificate and 1 for the CA |
2437 | @@ -6631,7 +6649,7 @@ clients. |
2438 | .sp |
2439 | While the management port is designed for programmatic control of |
2440 | OpenVPN by other applications, it is possible to telnet to the port, |
2441 | -using a telnet client in "raw" mode. Once connected, type \fBhelp\fP |
2442 | +using a telnet client in \(dqraw\(dq mode. Once connected, type \fBhelp\fP |
2443 | for a list of commands. |
2444 | .sp |
2445 | For detailed documentation on the management interface, see the |
2446 | @@ -6755,7 +6773,7 @@ Valid syntax: |
2447 | .nf |
2448 | .ft C |
2449 | plugin module\-name |
2450 | -plugin module\-name "arguments" |
2451 | +plugin module\-name \(dqarguments\(dq |
2452 | .ft P |
2453 | .fi |
2454 | .UNINDENT |
2455 | @@ -6765,7 +6783,7 @@ The \fBmodule\-name\fP needs to be the first |
2456 | argument, indicating the plug\-in to load. The second argument is an |
2457 | optional init string which will be passed directly to the plug\-in. |
2458 | If the init consists of multiple arguments it must be enclosed in |
2459 | -double\-quotes ("). Multiple plugin modules may be loaded into one |
2460 | +double\-quotes (\(dq). Multiple plugin modules may be loaded into one |
2461 | OpenVPN process. |
2462 | .sp |
2463 | The \fBmodule\-name\fP argument can be just a filename or a filename |
2464 | @@ -6865,7 +6883,7 @@ certificate\(aqs subject: |
2465 | .sp |
2466 | .nf |
2467 | .ft C |
2468 | -cryptoapicert "SUBJ:Peter Runestig" |
2469 | +cryptoapicert \(dqSUBJ:Peter Runestig\(dq |
2470 | .ft P |
2471 | .fi |
2472 | .UNINDENT |
2473 | @@ -6877,7 +6895,7 @@ To select a certificate, based on certificate\(aqs thumbprint (SHA1 hash): |
2474 | .sp |
2475 | .nf |
2476 | .ft C |
2477 | -cryptoapicert "THUMB:f6 49 24 41 01 b4 ..." |
2478 | +cryptoapicert \(dqTHUMB:f6 49 24 41 01 b4 ...\(dq |
2479 | .ft P |
2480 | .fi |
2481 | .UNINDENT |
2482 | @@ -6893,7 +6911,7 @@ issuer name: |
2483 | .sp |
2484 | .nf |
2485 | .ft C |
2486 | -cryptoapicert "ISSUER:Sample CA" |
2487 | +cryptoapicert \(dqISSUER:Sample CA\(dq |
2488 | .ft P |
2489 | .fi |
2490 | .UNINDENT |
2491 | @@ -6911,7 +6929,7 @@ OpenVPN 2.4.1. |
2492 | Ask Windows to renew the TAP adapter lease on startup. This option is |
2493 | normally unnecessary, as Windows automatically triggers a DHCP |
2494 | renegotiation on the TAP adapter when it comes up, however if you set |
2495 | -the TAP\-Win32 adapter Media Status property to "Always Connected", you |
2496 | +the TAP\-Win32 adapter Media Status property to \(dqAlways Connected\(dq, you |
2497 | may need this flag. |
2498 | .TP |
2499 | .BI \-\-ip\-win32 \ method |
2500 | @@ -6929,13 +6947,13 @@ expects the adapter to be set to. |
2501 | .B \fBdynamic [offset] [lease\-time]\fP |
2502 | Automatically set the IP address and netmask by replying to DHCP |
2503 | query messages generated by the kernel. This mode is probably the |
2504 | -"cleanest" solution for setting the TCP/IP properties since it |
2505 | +\(dqcleanest\(dq solution for setting the TCP/IP properties since it |
2506 | uses the well\-known DHCP protocol. There are, however, two |
2507 | prerequisites for using this mode: |
2508 | .INDENT 7.0 |
2509 | .IP 1. 3 |
2510 | The TCP/IP properties for the TAP\-Win32 adapter must be set |
2511 | -to "Obtain an IP address automatically", and |
2512 | +to \(dqObtain an IP address automatically\(dq, and |
2513 | .IP 2. 3 |
2514 | OpenVPN needs to claim an IP address in the subnet for use |
2515 | as the virtual DHCP server address. |
2516 | @@ -6955,7 +6973,7 @@ address + offset. If offset is negative, the DHCP server will |
2517 | masquerade as the IP address at broadcast address + offset. |
2518 | .sp |
2519 | The Windows \fBipconfig /all\fP command can be used to show what |
2520 | -Windows thinks the DHCP server address is. OpenVPN will "claim" |
2521 | +Windows thinks the DHCP server address is. OpenVPN will \(dqclaim\(dq |
2522 | this address, so make sure to use a free address. Having said that, |
2523 | different OpenVPN instantiations, including different ends of |
2524 | the same connection, can share the same virtual DHCP server |
2525 | @@ -6969,7 +6987,7 @@ when the system goes to sleep. The default lease time is one year. |
2526 | .TP |
2527 | .B \fBnetsh\fP |
2528 | Automatically set the IP address and netmask using the Windows |
2529 | -command\-line "netsh" command. This method appears to work correctly |
2530 | +command\-line \(dqnetsh\(dq command. This method appears to work correctly |
2531 | on Windows XP but not Windows 2000. |
2532 | .TP |
2533 | .B \fBipapi\fP |
2534 | @@ -6977,8 +6995,8 @@ Automatically set the IP address and netmask using the Windows IP |
2535 | Helper API. This approach does not have ideal semantics, though |
2536 | testing has indicated that it works okay in practice. If you use |
2537 | this option, it is best to leave the TCP/IP properties for the |
2538 | -TAP\-Win32 adapter in their default state, i.e. "Obtain an IP |
2539 | -address automatically." |
2540 | +TAP\-Win32 adapter in their default state, i.e. \(dqObtain an IP |
2541 | +address automatically.\(dq |
2542 | .TP |
2543 | .B \fBadaptive\fP (Default) |
2544 | Try \fBdynamic\fP method initially and fail over to \fBnetsh\fP |
2545 | @@ -6991,13 +7009,13 @@ properties will be reset from DHCP to static, and this will cause |
2546 | future OpenVPN startups using the \fBadaptive\fP mode to use |
2547 | \fBnetsh\fP immediately, rather than trying \fBdynamic\fP first. |
2548 | .sp |
2549 | -To "unstick" the \fBadaptive\fP mode from using \fBnetsh\fP, |
2550 | +To \(dqunstick\(dq the \fBadaptive\fP mode from using \fBnetsh\fP, |
2551 | run OpenVPN at least once using the \fBdynamic\fP mode to restore |
2552 | the TAP\-Win32 adapter TCP/IP properties to a DHCP configuration. |
2553 | .UNINDENT |
2554 | .TP |
2555 | .B \-\-pause\-exit |
2556 | -Put up a "press any key to continue" message on the console prior to |
2557 | +Put up a \(dqpress any key to continue\(dq message on the console prior to |
2558 | OpenVPN program exit. This option is automatically used by the Windows |
2559 | explorer when OpenVPN is run on a configuration file using the |
2560 | right\-click explorer menu. |
2561 | @@ -7084,7 +7102,7 @@ be the middle two addresses of a /30 subnet (netmask 255.255.255.252). |
2562 | .TP |
2563 | .BI \-\-tap\-sleep \ n |
2564 | Cause OpenVPN to sleep for \fBn\fP seconds immediately after the TAP\-Win32 |
2565 | -adapter state is set to "connected". |
2566 | +adapter state is set to \(dqconnected\(dq. |
2567 | .sp |
2568 | This option is intended to be used to troubleshoot problems with the |
2569 | \fB\-\-ifconfig\fP and \fB\-\-ip\-win32\fP options, and is used to give the |
2570 | @@ -7287,7 +7305,7 @@ group. |
2571 | An OpenVPN client will try each connection profile sequentially until it |
2572 | achieves a successful connection. |
2573 | .sp |
2574 | -\fB\-\-remote\-random\fP can be used to initially "scramble" the connection |
2575 | +\fB\-\-remote\-random\fP can be used to initially \(dqscramble\(dq the connection |
2576 | list. |
2577 | .sp |
2578 | Here is an example of connection profile usage: |
2579 | @@ -7360,7 +7378,7 @@ OpenVPN allows including files in the main configuration for the \fB\-\-ca\fP, |
2580 | \fB\-\-cert\fP, \fB\-\-dh\fP, \fB\-\-extra\-certs\fP, \fB\-\-key\fP, \fB\-\-pkcs12\fP, |
2581 | \fB\-\-secret\fP, \fB\-\-crl\-verify\fP, \fB\-\-http\-proxy\-user\-pass\fP, \fB\-\-tls\-auth\fP, |
2582 | \fB\-\-auth\-gen\-token\-secret\fP, \fB\-\-peer\-fingerprint\fP, \fB\-\-tls\-crypt\fP, |
2583 | -\fB\-\-tls\-crypt\-v2\fP and \fB\-\-verify\-hash\fP options. |
2584 | +\fB\-\-tls\-crypt\-v2\fP, \fB\-\-verify\-hash\fP and \fB\-\-auth\-user\-pass\fP options. |
2585 | .sp |
2586 | Each inline file started by the line \fB<option>\fP and ended by the line |
2587 | \fB</option>\fP |
2588 | diff --git a/doc/openvpn.8.html b/doc/openvpn.8.html |
2589 | index 9b1992a..4e86b04 100644 |
2590 | --- a/doc/openvpn.8.html |
2591 | +++ b/doc/openvpn.8.html |
2592 | @@ -1,20 +1,20 @@ |
2593 | -<?xml version="1.0" encoding="utf-8" ?> |
2594 | +<?xml version="1.0" encoding="utf-8"?> |
2595 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2596 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
2597 | <head> |
2598 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
2599 | -<meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> |
2600 | +<meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" /> |
2601 | <title>openvpn</title> |
2602 | <style type="text/css"> |
2603 | |
2604 | /* |
2605 | :Author: David Goodger (goodger@python.org) |
2606 | -:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ |
2607 | +:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ |
2608 | :Copyright: This stylesheet has been placed in the public domain. |
2609 | |
2610 | Default cascading style sheet for the HTML output of Docutils. |
2611 | |
2612 | -See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to |
2613 | +See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to |
2614 | customize this style sheet. |
2615 | */ |
2616 | |
2617 | @@ -492,7 +492,7 @@ version specified.</p> |
2618 | to the configuration if no other compression options are present.</li> |
2619 | <li>2.4.x or lower: The cipher in <tt class="docutils literal"><span class="pre">--cipher</span></tt> is appended to |
2620 | <tt class="docutils literal"><span class="pre">--data-ciphers</span></tt>.</li> |
2621 | -<li>2.3.x or lower: <tt class="docutils literal"><span class="pre">--data-cipher-fallback</span></tt> is automatically added with |
2622 | +<li>2.3.x or lower: <tt class="docutils literal"><span class="pre">--data-ciphers-fallback</span></tt> is automatically added with |
2623 | the same cipher as <tt class="docutils literal"><span class="pre">--cipher</span></tt>.</li> |
2624 | <li>2.3.6 or lower: <tt class="docutils literal"><span class="pre">--tls-version-min</span> 1.0</tt> is added to the configuration |
2625 | when <tt class="docutils literal"><span class="pre">--tls-version-min</span></tt> is not explicitly set.</li> |
2626 | @@ -1353,6 +1353,15 @@ auth-user-pass up |
2627 | lines. If the password line is missing, OpenVPN will prompt for one.</p> |
2628 | <p>If <tt class="docutils literal">up</tt> is omitted, username/password will be prompted from the |
2629 | console.</p> |
2630 | +<p>This option can also be inlined</p> |
2631 | +<pre class="literal-block"> |
2632 | +<auth-user-pass> |
2633 | +username |
2634 | +[password] |
2635 | +</auth-user-pass> |
2636 | +</pre> |
2637 | +<p>where password is optional, and will be prompted from the console if |
2638 | +missing.</p> |
2639 | <p class="last">The server configuration must specify an <tt class="docutils literal"><span class="pre">--auth-user-pass-verify</span></tt> |
2640 | script to verify the username/password provided by the client.</p> |
2641 | </td></tr> |
2642 | @@ -3612,7 +3621,7 @@ different backwards compatibility mechanism with older server and clients.</p> |
2643 | <div class="section" id="openvpn-2-5-and-later-behaviour"> |
2644 | <h2>OpenVPN 2.5 and later behaviour</h2> |
2645 | <p>When both client and server are at least running OpenVPN 2.5, that the order of |
2646 | -the ciphers of the server's <tt class="docutils literal"><span class="pre">--data-ciphers</span></tt> is used to pick the the data cipher. |
2647 | +the ciphers of the server's <tt class="docutils literal"><span class="pre">--data-ciphers</span></tt> is used to pick the data cipher. |
2648 | That means that the first cipher in that list that is also in the client's |
2649 | <tt class="docutils literal"><span class="pre">--data-ciphers</span></tt> list is chosen. If no common cipher is found the client is rejected |
2650 | with a AUTH_FAILED message (as seen in client log):</p> |
2651 | @@ -4387,7 +4396,7 @@ virtual "multipoint networks"), <tt class="docutils literal"><span cla |
2652 | address and subnet mask just as a physical ethernet adapter would be |
2653 | similarly configured. If you are attempting to connect to a remote |
2654 | ethernet bridge, the IP address and subnet should be set to values which |
2655 | -would be valid on the the bridged ethernet segment (note also that DHCP |
2656 | +would be valid on the bridged ethernet segment (note also that DHCP |
2657 | can be used for the same purpose).</p> |
2658 | <p>This option, while primarily a proxy for the <tt class="docutils literal">ifconfig</tt>(8) command, |
2659 | is designed to simplify TUN/TAP tunnel configuration by providing a |
2660 | @@ -4720,7 +4729,7 @@ deleted or the machine is rebooted.</p> |
2661 | <p>One of the advantages of persistent tunnels is that they eliminate the |
2662 | need for separate <tt class="docutils literal"><span class="pre">--up</span></tt> and <tt class="docutils literal"><span class="pre">--down</span></tt> scripts to run the appropriate |
2663 | <tt class="docutils literal">ifconfig</tt>(8) and <tt class="docutils literal">route</tt>(8) commands. These commands can be |
2664 | -placed in the the same shell script which starts or terminates an |
2665 | +placed in the same shell script which starts or terminates an |
2666 | OpenVPN session.</p> |
2667 | <p>Another advantage is that open connections through the TUN/TAP-based |
2668 | tunnel will not be reset if the OpenVPN peer restarts. This can be |
2669 | @@ -6343,7 +6352,7 @@ declared in all <tt class="docutils literal"><connection></tt> blocks belo |
2670 | <tt class="docutils literal"><span class="pre">--cert</span></tt>, <tt class="docutils literal"><span class="pre">--dh</span></tt>, <tt class="docutils literal"><span class="pre">--extra-certs</span></tt>, <tt class="docutils literal"><span class="pre">--key</span></tt>, <tt class="docutils literal"><span class="pre">--pkcs12</span></tt>, |
2671 | <tt class="docutils literal"><span class="pre">--secret</span></tt>, <tt class="docutils literal"><span class="pre">--crl-verify</span></tt>, <tt class="docutils literal"><span class="pre">--http-proxy-user-pass</span></tt>, <tt class="docutils literal"><span class="pre">--tls-auth</span></tt>, |
2672 | <tt class="docutils literal"><span class="pre">--auth-gen-token-secret</span></tt>, <tt class="docutils literal"><span class="pre">--peer-fingerprint</span></tt>, <tt class="docutils literal"><span class="pre">--tls-crypt</span></tt>, |
2673 | -<tt class="docutils literal"><span class="pre">--tls-crypt-v2</span></tt> and <tt class="docutils literal"><span class="pre">--verify-hash</span></tt> options.</p> |
2674 | +<tt class="docutils literal"><span class="pre">--tls-crypt-v2</span></tt>, <tt class="docutils literal"><span class="pre">--verify-hash</span></tt> and <tt class="docutils literal"><span class="pre">--auth-user-pass</span></tt> options.</p> |
2675 | <p>Each inline file started by the line <tt class="docutils literal"><option></tt> and ended by the line |
2676 | <tt class="docutils literal"></option></tt></p> |
2677 | <p>Here is an example of an inline file usage</p> |
2678 | diff --git a/include/Makefile.am b/include/Makefile.am |
2679 | index e0d4986..3e93bf0 100644 |
2680 | --- a/include/Makefile.am |
2681 | +++ b/include/Makefile.am |
2682 | @@ -5,7 +5,7 @@ |
2683 | # packet encryption, packet authentication, and |
2684 | # packet compression. |
2685 | # |
2686 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
2687 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2688 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
2689 | # |
2690 | |
2691 | diff --git a/include/Makefile.in b/include/Makefile.in |
2692 | index 362ce79..a1715f2 100644 |
2693 | --- a/include/Makefile.in |
2694 | +++ b/include/Makefile.in |
2695 | @@ -21,7 +21,7 @@ |
2696 | # packet encryption, packet authentication, and |
2697 | # packet compression. |
2698 | # |
2699 | -# Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
2700 | +# Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2701 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
2702 | # |
2703 | |
2704 | @@ -216,6 +216,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ |
2705 | ETAGS = @ETAGS@ |
2706 | EXEEXT = @EXEEXT@ |
2707 | FGREP = @FGREP@ |
2708 | +FILECMD = @FILECMD@ |
2709 | GIT = @GIT@ |
2710 | GREP = @GREP@ |
2711 | IFCONFIG = @IFCONFIG@ |
2712 | diff --git a/include/openvpn-msg.h b/include/openvpn-msg.h |
2713 | index a1464cd..657eb5e 100644 |
2714 | --- a/include/openvpn-msg.h |
2715 | +++ b/include/openvpn-msg.h |
2716 | @@ -5,7 +5,7 @@ |
2717 | * packet encryption, packet authentication, and |
2718 | * packet compression. |
2719 | * |
2720 | - * Copyright (C) 2013-2023 Heiko Hund <heiko.hund@sophos.com> |
2721 | + * Copyright (C) 2013-2024 Heiko Hund <heiko.hund@sophos.com> |
2722 | * |
2723 | * This program is free software; you can redistribute it and/or modify |
2724 | * it under the terms of the GNU General Public License version 2 |
2725 | diff --git a/include/openvpn-plugin.h b/include/openvpn-plugin.h |
2726 | index 8f8525d..b61d3f8 100644 |
2727 | --- a/include/openvpn-plugin.h |
2728 | +++ b/include/openvpn-plugin.h |
2729 | @@ -6,7 +6,7 @@ |
2730 | * packet encryption, packet authentication, and |
2731 | * packet compression. |
2732 | * |
2733 | - * Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
2734 | + * Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2735 | * |
2736 | * This program is free software; you can redistribute it and/or modify |
2737 | * it under the terms of the GNU General Public License version 2 |
2738 | @@ -53,7 +53,7 @@ extern "C" { |
2739 | */ |
2740 | #define OPENVPN_VERSION_MAJOR 2 |
2741 | #define OPENVPN_VERSION_MINOR 6 |
2742 | -#define OPENVPN_VERSION_PATCH ".9" |
2743 | +#define OPENVPN_VERSION_PATCH ".10" |
2744 | |
2745 | /* |
2746 | * Plug-in types. These types correspond to the set of script callbacks |
2747 | diff --git a/include/openvpn-plugin.h.in b/include/openvpn-plugin.h.in |
2748 | index ffbdbfc..cacef44 100644 |
2749 | --- a/include/openvpn-plugin.h.in |
2750 | +++ b/include/openvpn-plugin.h.in |
2751 | @@ -5,7 +5,7 @@ |
2752 | * packet encryption, packet authentication, and |
2753 | * packet compression. |
2754 | * |
2755 | - * Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> |
2756 | + * Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2757 | * |
2758 | * This program is free software; you can redistribute it and/or modify |
2759 | * it under the terms of the GNU General Public License version 2 |
2760 | diff --git a/ltmain.sh b/ltmain.sh |
2761 | old mode 100755 |
2762 | new mode 100644 |
2763 | index 540a92a..2a50d7f |
2764 | --- a/ltmain.sh |
2765 | +++ b/ltmain.sh |
2766 | @@ -1,12 +1,12 @@ |
2767 | -#! /bin/sh |
2768 | +#! /usr/bin/env sh |
2769 | ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in |
2770 | -## by inline-source v2014-01-03.01 |
2771 | +## by inline-source v2019-02-19.15 |
2772 | |
2773 | -# libtool (GNU libtool) 2.4.6 |
2774 | +# libtool (GNU libtool) 2.4.7 |
2775 | # Provide generalized library-building support services. |
2776 | # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 |
2777 | |
2778 | -# Copyright (C) 1996-2015 Free Software Foundation, Inc. |
2779 | +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. |
2780 | # This is free software; see the source for copying conditions. There is NO |
2781 | # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
2782 | |
2783 | @@ -31,8 +31,8 @@ |
2784 | |
2785 | PROGRAM=libtool |
2786 | PACKAGE=libtool |
2787 | -VERSION="2.4.6 Debian-2.4.6-15build2" |
2788 | -package_revision=2.4.6 |
2789 | +VERSION=2.4.7 |
2790 | +package_revision=2.4.7 |
2791 | |
2792 | |
2793 | ## ------ ## |
2794 | @@ -64,34 +64,25 @@ package_revision=2.4.6 |
2795 | # libraries, which are installed to $pkgauxdir. |
2796 | |
2797 | # Set a version string for this script. |
2798 | -scriptversion=2015-01-20.17; # UTC |
2799 | +scriptversion=2019-02-19.15; # UTC |
2800 | |
2801 | # General shell script boiler plate, and helper functions. |
2802 | # Written by Gary V. Vaughan, 2004 |
2803 | |
2804 | -# Copyright (C) 2004-2015 Free Software Foundation, Inc. |
2805 | -# This is free software; see the source for copying conditions. There is NO |
2806 | -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
2807 | - |
2808 | -# This program is free software; you can redistribute it and/or modify |
2809 | -# it under the terms of the GNU General Public License as published by |
2810 | -# the Free Software Foundation; either version 3 of the License, or |
2811 | -# (at your option) any later version. |
2812 | - |
2813 | -# As a special exception to the GNU General Public License, if you distribute |
2814 | -# this file as part of a program or library that is built using GNU Libtool, |
2815 | -# you may include this file under the same distribution terms that you use |
2816 | -# for the rest of that program. |
2817 | - |
2818 | -# This program is distributed in the hope that it will be useful, |
2819 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
2820 | -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU |
2821 | -# General Public License for more details. |
2822 | - |
2823 | -# You should have received a copy of the GNU General Public License |
2824 | -# along with this program. If not, see <http://www.gnu.org/licenses/>. |
2825 | +# This is free software. There is NO warranty; not even for |
2826 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
2827 | +# |
2828 | +# Copyright (C) 2004-2019, 2021 Bootstrap Authors |
2829 | +# |
2830 | +# This file is dual licensed under the terms of the MIT license |
2831 | +# <https://opensource.org/license/MIT>, and GPL version 2 or later |
2832 | +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of |
2833 | +# these licenses when using or redistributing this software or any of |
2834 | +# the files within it. See the URLs above, or the file `LICENSE` |
2835 | +# included in the Bootstrap distribution for the full license texts. |
2836 | |
2837 | -# Please report bugs or propose patches to gary@gnu.org. |
2838 | +# Please report bugs or propose patches to: |
2839 | +# <https://github.com/gnulib-modules/bootstrap/issues> |
2840 | |
2841 | |
2842 | ## ------ ## |
2843 | @@ -139,9 +130,12 @@ do |
2844 | _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" |
2845 | fi" |
2846 | done |
2847 | - |
2848 | -# CDPATH. |
2849 | -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
2850 | +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those |
2851 | +# in case the environment reset is needed later and the $save_* variant is not |
2852 | +# defined (see the code above). |
2853 | +LC_ALL=C |
2854 | +LANGUAGE=C |
2855 | +export LANGUAGE LC_ALL |
2856 | |
2857 | # Make sure IFS has a sensible default |
2858 | sp=' ' |
2859 | @@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then |
2860 | fi |
2861 | |
2862 | |
2863 | +# func_unset VAR |
2864 | +# -------------- |
2865 | +# Portably unset VAR. |
2866 | +# In some shells, an 'unset VAR' statement leaves a non-zero return |
2867 | +# status if VAR is already unset, which might be problematic if the |
2868 | +# statement is used at the end of a function (thus poisoning its return |
2869 | +# value) or when 'set -e' is active (causing even a spurious abort of |
2870 | +# the script in this case). |
2871 | +func_unset () |
2872 | +{ |
2873 | + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } |
2874 | +} |
2875 | + |
2876 | + |
2877 | +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. |
2878 | +func_unset CDPATH |
2879 | + |
2880 | +# Make sure ${,E,F}GREP behave sanely. |
2881 | +func_unset GREP_OPTIONS |
2882 | + |
2883 | |
2884 | ## ------------------------- ## |
2885 | ## Locate command utilities. ## |
2886 | @@ -259,7 +273,7 @@ test -z "$SED" && { |
2887 | rm -f conftest.in conftest.tmp conftest.nl conftest.out |
2888 | } |
2889 | |
2890 | - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin |
2891 | + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" |
2892 | rm -f conftest.sed |
2893 | SED=$func_path_progs_result |
2894 | } |
2895 | @@ -295,7 +309,7 @@ test -z "$GREP" && { |
2896 | rm -f conftest.in conftest.tmp conftest.nl conftest.out |
2897 | } |
2898 | |
2899 | - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin |
2900 | + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" |
2901 | GREP=$func_path_progs_result |
2902 | } |
2903 | |
2904 | @@ -360,6 +374,35 @@ sed_double_backslash="\ |
2905 | s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g |
2906 | s/\n//g" |
2907 | |
2908 | +# require_check_ifs_backslash |
2909 | +# --------------------------- |
2910 | +# Check if we can use backslash as IFS='\' separator, and set |
2911 | +# $check_ifs_backshlash_broken to ':' or 'false'. |
2912 | +require_check_ifs_backslash=func_require_check_ifs_backslash |
2913 | +func_require_check_ifs_backslash () |
2914 | +{ |
2915 | + _G_save_IFS=$IFS |
2916 | + IFS='\' |
2917 | + _G_check_ifs_backshlash='a\\b' |
2918 | + for _G_i in $_G_check_ifs_backshlash |
2919 | + do |
2920 | + case $_G_i in |
2921 | + a) |
2922 | + check_ifs_backshlash_broken=false |
2923 | + ;; |
2924 | + '') |
2925 | + break |
2926 | + ;; |
2927 | + *) |
2928 | + check_ifs_backshlash_broken=: |
2929 | + break |
2930 | + ;; |
2931 | + esac |
2932 | + done |
2933 | + IFS=$_G_save_IFS |
2934 | + require_check_ifs_backslash=: |
2935 | +} |
2936 | + |
2937 | |
2938 | ## ----------------- ## |
2939 | ## Global variables. ## |
2940 | @@ -387,7 +430,7 @@ EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. |
2941 | # putting '$debug_cmd' at the start of all your functions, you can get |
2942 | # bash to show function call trace with: |
2943 | # |
2944 | -# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name |
2945 | +# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name |
2946 | debug_cmd=${debug_cmd-":"} |
2947 | exit_cmd=: |
2948 | |
2949 | @@ -580,16 +623,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then |
2950 | { |
2951 | $debug_cmd |
2952 | |
2953 | - func_quote_for_eval "$2" |
2954 | - eval "$1+=\\ \$func_quote_for_eval_result" |
2955 | + func_quote_arg pretty "$2" |
2956 | + eval "$1+=\\ \$func_quote_arg_result" |
2957 | }' |
2958 | else |
2959 | func_append_quoted () |
2960 | { |
2961 | $debug_cmd |
2962 | |
2963 | - func_quote_for_eval "$2" |
2964 | - eval "$1=\$$1\\ \$func_quote_for_eval_result" |
2965 | + func_quote_arg pretty "$2" |
2966 | + eval "$1=\$$1\\ \$func_quote_arg_result" |
2967 | } |
2968 | fi |
2969 | |
2970 | @@ -1091,85 +1134,203 @@ func_relative_path () |
2971 | } |
2972 | |
2973 | |
2974 | -# func_quote_for_eval ARG... |
2975 | -# -------------------------- |
2976 | -# Aesthetically quote ARGs to be evaled later. |
2977 | -# This function returns two values: |
2978 | -# i) func_quote_for_eval_result |
2979 | -# double-quoted, suitable for a subsequent eval |
2980 | -# ii) func_quote_for_eval_unquoted_result |
2981 | -# has all characters that are still active within double |
2982 | -# quotes backslashified. |
2983 | -func_quote_for_eval () |
2984 | +# func_quote_portable EVAL ARG |
2985 | +# ---------------------------- |
2986 | +# Internal function to portably implement func_quote_arg. Note that we still |
2987 | +# keep attention to performance here so we as much as possible try to avoid |
2988 | +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). |
2989 | +func_quote_portable () |
2990 | { |
2991 | $debug_cmd |
2992 | |
2993 | - func_quote_for_eval_unquoted_result= |
2994 | - func_quote_for_eval_result= |
2995 | - while test 0 -lt $#; do |
2996 | - case $1 in |
2997 | - *[\\\`\"\$]*) |
2998 | - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; |
2999 | - *) |
3000 | - _G_unquoted_arg=$1 ;; |
3001 | - esac |
3002 | - if test -n "$func_quote_for_eval_unquoted_result"; then |
3003 | - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" |
3004 | - else |
3005 | - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" |
3006 | + $require_check_ifs_backslash |
3007 | + |
3008 | + func_quote_portable_result=$2 |
3009 | + |
3010 | + # one-time-loop (easy break) |
3011 | + while true |
3012 | + do |
3013 | + if $1; then |
3014 | + func_quote_portable_result=`$ECHO "$2" | $SED \ |
3015 | + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` |
3016 | + break |
3017 | fi |
3018 | |
3019 | - case $_G_unquoted_arg in |
3020 | - # Double-quote args containing shell metacharacters to delay |
3021 | - # word splitting, command substitution and variable expansion |
3022 | - # for a subsequent eval. |
3023 | - # Many Bourne shells cannot handle close brackets correctly |
3024 | - # in scan sets, so we specify it separately. |
3025 | - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
3026 | - _G_quoted_arg=\"$_G_unquoted_arg\" |
3027 | + # Quote for eval. |
3028 | + case $func_quote_portable_result in |
3029 | + *[\\\`\"\$]*) |
3030 | + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string |
3031 | + # contains the shell wildcard characters. |
3032 | + case $check_ifs_backshlash_broken$func_quote_portable_result in |
3033 | + :*|*[\[\*\?]*) |
3034 | + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ |
3035 | + | $SED "$sed_quote_subst"` |
3036 | + break |
3037 | + ;; |
3038 | + esac |
3039 | + |
3040 | + func_quote_portable_old_IFS=$IFS |
3041 | + for _G_char in '\' '`' '"' '$' |
3042 | + do |
3043 | + # STATE($1) PREV($2) SEPARATOR($3) |
3044 | + set start "" "" |
3045 | + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy |
3046 | + IFS=$_G_char |
3047 | + for _G_part in $func_quote_portable_result |
3048 | + do |
3049 | + case $1 in |
3050 | + quote) |
3051 | + func_append func_quote_portable_result "$3$2" |
3052 | + set quote "$_G_part" "\\$_G_char" |
3053 | + ;; |
3054 | + start) |
3055 | + set first "" "" |
3056 | + func_quote_portable_result= |
3057 | + ;; |
3058 | + first) |
3059 | + set quote "$_G_part" "" |
3060 | + ;; |
3061 | + esac |
3062 | + done |
3063 | + done |
3064 | + IFS=$func_quote_portable_old_IFS |
3065 | ;; |
3066 | - *) |
3067 | - _G_quoted_arg=$_G_unquoted_arg |
3068 | - ;; |
3069 | + *) ;; |
3070 | esac |
3071 | - |
3072 | - if test -n "$func_quote_for_eval_result"; then |
3073 | - func_append func_quote_for_eval_result " $_G_quoted_arg" |
3074 | - else |
3075 | - func_append func_quote_for_eval_result "$_G_quoted_arg" |
3076 | - fi |
3077 | - shift |
3078 | + break |
3079 | done |
3080 | + |
3081 | + func_quote_portable_unquoted_result=$func_quote_portable_result |
3082 | + case $func_quote_portable_result in |
3083 | + # double-quote args containing shell metacharacters to delay |
3084 | + # word splitting, command substitution and variable expansion |
3085 | + # for a subsequent eval. |
3086 | + # many bourne shells cannot handle close brackets correctly |
3087 | + # in scan sets, so we specify it separately. |
3088 | + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
3089 | + func_quote_portable_result=\"$func_quote_portable_result\" |
3090 | + ;; |
3091 | + esac |
3092 | } |
3093 | |
3094 | |
3095 | -# func_quote_for_expand ARG |
3096 | -# ------------------------- |
3097 | -# Aesthetically quote ARG to be evaled later; same as above, |
3098 | -# but do not quote variable references. |
3099 | -func_quote_for_expand () |
3100 | -{ |
3101 | - $debug_cmd |
3102 | +# func_quotefast_eval ARG |
3103 | +# ----------------------- |
3104 | +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', |
3105 | +# but optimized for speed. Result is stored in $func_quotefast_eval. |
3106 | +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then |
3107 | + printf -v _GL_test_printf_tilde %q '~' |
3108 | + if test '\~' = "$_GL_test_printf_tilde"; then |
3109 | + func_quotefast_eval () |
3110 | + { |
3111 | + printf -v func_quotefast_eval_result %q "$1" |
3112 | + } |
3113 | + else |
3114 | + # Broken older Bash implementations. Make those faster too if possible. |
3115 | + func_quotefast_eval () |
3116 | + { |
3117 | + case $1 in |
3118 | + '~'*) |
3119 | + func_quote_portable false "$1" |
3120 | + func_quotefast_eval_result=$func_quote_portable_result |
3121 | + ;; |
3122 | + *) |
3123 | + printf -v func_quotefast_eval_result %q "$1" |
3124 | + ;; |
3125 | + esac |
3126 | + } |
3127 | + fi |
3128 | +else |
3129 | + func_quotefast_eval () |
3130 | + { |
3131 | + func_quote_portable false "$1" |
3132 | + func_quotefast_eval_result=$func_quote_portable_result |
3133 | + } |
3134 | +fi |
3135 | |
3136 | - case $1 in |
3137 | - *[\\\`\"]*) |
3138 | - _G_arg=`$ECHO "$1" | $SED \ |
3139 | - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; |
3140 | - *) |
3141 | - _G_arg=$1 ;; |
3142 | + |
3143 | +# func_quote_arg MODEs ARG |
3144 | +# ------------------------ |
3145 | +# Quote one ARG to be evaled later. MODEs argument may contain zero or more |
3146 | +# specifiers listed below separated by ',' character. This function returns two |
3147 | +# values: |
3148 | +# i) func_quote_arg_result |
3149 | +# double-quoted (when needed), suitable for a subsequent eval |
3150 | +# ii) func_quote_arg_unquoted_result |
3151 | +# has all characters that are still active within double |
3152 | +# quotes backslashified. Available only if 'unquoted' is specified. |
3153 | +# |
3154 | +# Available modes: |
3155 | +# ---------------- |
3156 | +# 'eval' (default) |
3157 | +# - escape shell special characters |
3158 | +# 'expand' |
3159 | +# - the same as 'eval'; but do not quote variable references |
3160 | +# 'pretty' |
3161 | +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might |
3162 | +# be used later in func_quote to get output like: 'echo "a b"' instead |
3163 | +# of 'echo a\ b'. This is slower than default on some shells. |
3164 | +# 'unquoted' |
3165 | +# - produce also $func_quote_arg_unquoted_result which does not contain |
3166 | +# wrapping double-quotes. |
3167 | +# |
3168 | +# Examples for 'func_quote_arg pretty,unquoted string': |
3169 | +# |
3170 | +# string | *_result | *_unquoted_result |
3171 | +# ------------+-----------------------+------------------- |
3172 | +# " | \" | \" |
3173 | +# a b | "a b" | a b |
3174 | +# "a b" | "\"a b\"" | \"a b\" |
3175 | +# * | "*" | * |
3176 | +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" |
3177 | +# |
3178 | +# Examples for 'func_quote_arg pretty,unquoted,expand string': |
3179 | +# |
3180 | +# string | *_result | *_unquoted_result |
3181 | +# --------------+---------------------+-------------------- |
3182 | +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" |
3183 | +func_quote_arg () |
3184 | +{ |
3185 | + _G_quote_expand=false |
3186 | + case ,$1, in |
3187 | + *,expand,*) |
3188 | + _G_quote_expand=: |
3189 | + ;; |
3190 | esac |
3191 | |
3192 | - case $_G_arg in |
3193 | - # Double-quote args containing shell metacharacters to delay |
3194 | - # word splitting and command substitution for a subsequent eval. |
3195 | - # Many Bourne shells cannot handle close brackets correctly |
3196 | - # in scan sets, so we specify it separately. |
3197 | - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") |
3198 | - _G_arg=\"$_G_arg\" |
3199 | + case ,$1, in |
3200 | + *,pretty,*|*,expand,*|*,unquoted,*) |
3201 | + func_quote_portable $_G_quote_expand "$2" |
3202 | + func_quote_arg_result=$func_quote_portable_result |
3203 | + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result |
3204 | + ;; |
3205 | + *) |
3206 | + # Faster quote-for-eval for some shells. |
3207 | + func_quotefast_eval "$2" |
3208 | + func_quote_arg_result=$func_quotefast_eval_result |
3209 | ;; |
3210 | esac |
3211 | +} |
3212 | + |
3213 | |
3214 | - func_quote_for_expand_result=$_G_arg |
3215 | +# func_quote MODEs ARGs... |
3216 | +# ------------------------ |
3217 | +# Quote all ARGs to be evaled later and join them into single command. See |
3218 | +# func_quote_arg's description for more info. |
3219 | +func_quote () |
3220 | +{ |
3221 | + $debug_cmd |
3222 | + _G_func_quote_mode=$1 ; shift |
3223 | + func_quote_result= |
3224 | + while test 0 -lt $#; do |
3225 | + func_quote_arg "$_G_func_quote_mode" "$1" |
3226 | + if test -n "$func_quote_result"; then |
3227 | + func_append func_quote_result " $func_quote_arg_result" |
3228 | + else |
3229 | + func_append func_quote_result "$func_quote_arg_result" |
3230 | + fi |
3231 | + shift |
3232 | + done |
3233 | } |
3234 | |
3235 | |
3236 | @@ -1215,8 +1376,8 @@ func_show_eval () |
3237 | _G_cmd=$1 |
3238 | _G_fail_exp=${2-':'} |
3239 | |
3240 | - func_quote_for_expand "$_G_cmd" |
3241 | - eval "func_notquiet $func_quote_for_expand_result" |
3242 | + func_quote_arg pretty,expand "$_G_cmd" |
3243 | + eval "func_notquiet $func_quote_arg_result" |
3244 | |
3245 | $opt_dry_run || { |
3246 | eval "$_G_cmd" |
3247 | @@ -1241,8 +1402,8 @@ func_show_eval_locale () |
3248 | _G_fail_exp=${2-':'} |
3249 | |
3250 | $opt_quiet || { |
3251 | - func_quote_for_expand "$_G_cmd" |
3252 | - eval "func_echo $func_quote_for_expand_result" |
3253 | + func_quote_arg expand,pretty "$_G_cmd" |
3254 | + eval "func_echo $func_quote_arg_result" |
3255 | } |
3256 | |
3257 | $opt_dry_run || { |
3258 | @@ -1369,30 +1530,26 @@ func_lt_ver () |
3259 | # End: |
3260 | #! /bin/sh |
3261 | |
3262 | -# Set a version string for this script. |
3263 | -scriptversion=2015-10-07.11; # UTC |
3264 | - |
3265 | # A portable, pluggable option parser for Bourne shell. |
3266 | # Written by Gary V. Vaughan, 2010 |
3267 | |
3268 | -# Copyright (C) 2010-2015 Free Software Foundation, Inc. |
3269 | -# This is free software; see the source for copying conditions. There is NO |
3270 | -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
3271 | - |
3272 | -# This program is free software: you can redistribute it and/or modify |
3273 | -# it under the terms of the GNU General Public License as published by |
3274 | -# the Free Software Foundation, either version 3 of the License, or |
3275 | -# (at your option) any later version. |
3276 | - |
3277 | -# This program is distributed in the hope that it will be useful, |
3278 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
3279 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3280 | -# GNU General Public License for more details. |
3281 | +# This is free software. There is NO warranty; not even for |
3282 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
3283 | +# |
3284 | +# Copyright (C) 2010-2019, 2021 Bootstrap Authors |
3285 | +# |
3286 | +# This file is dual licensed under the terms of the MIT license |
3287 | +# <https://opensource.org/license/MIT>, and GPL version 2 or later |
3288 | +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of |
3289 | +# these licenses when using or redistributing this software or any of |
3290 | +# the files within it. See the URLs above, or the file `LICENSE` |
3291 | +# included in the Bootstrap distribution for the full license texts. |
3292 | |
3293 | -# You should have received a copy of the GNU General Public License |
3294 | -# along with this program. If not, see <http://www.gnu.org/licenses/>. |
3295 | +# Please report bugs or propose patches to: |
3296 | +# <https://github.com/gnulib-modules/bootstrap/issues> |
3297 | |
3298 | -# Please report bugs or propose patches to gary@gnu.org. |
3299 | +# Set a version string for this script. |
3300 | +scriptversion=2019-02-19.15; # UTC |
3301 | |
3302 | |
3303 | ## ------ ## |
3304 | @@ -1415,7 +1572,7 @@ scriptversion=2015-10-07.11; # UTC |
3305 | # |
3306 | # In order for the '--version' option to work, you will need to have a |
3307 | # suitably formatted comment like the one at the top of this file |
3308 | -# starting with '# Written by ' and ending with '# warranty; '. |
3309 | +# starting with '# Written by ' and ending with '# Copyright'. |
3310 | # |
3311 | # For '-h' and '--help' to work, you will also need a one line |
3312 | # description of your script's purpose in a comment directly above the |
3313 | @@ -1427,7 +1584,7 @@ scriptversion=2015-10-07.11; # UTC |
3314 | # to display verbose messages only when your user has specified |
3315 | # '--verbose'. |
3316 | # |
3317 | -# After sourcing this file, you can plug processing for additional |
3318 | +# After sourcing this file, you can plug in processing for additional |
3319 | # options by amending the variables from the 'Configuration' section |
3320 | # below, and following the instructions in the 'Option parsing' |
3321 | # section further down. |
3322 | @@ -1476,8 +1633,8 @@ fatal_help="Try '\$progname --help' for more information." |
3323 | ## ------------------------- ## |
3324 | |
3325 | # This section contains functions for adding, removing, and running hooks |
3326 | -# to the main code. A hook is just a named list of of function, that can |
3327 | -# be run in order later on. |
3328 | +# in the main code. A hook is just a list of function names that can be |
3329 | +# run in order later on. |
3330 | |
3331 | # func_hookable FUNC_NAME |
3332 | # ----------------------- |
3333 | @@ -1510,7 +1667,8 @@ func_add_hook () |
3334 | |
3335 | # func_remove_hook FUNC_NAME HOOK_FUNC |
3336 | # ------------------------------------ |
3337 | -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. |
3338 | +# Remove HOOK_FUNC from the list of hook functions to be called by |
3339 | +# FUNC_NAME. |
3340 | func_remove_hook () |
3341 | { |
3342 | $debug_cmd |
3343 | @@ -1519,10 +1677,28 @@ func_remove_hook () |
3344 | } |
3345 | |
3346 | |
3347 | +# func_propagate_result FUNC_NAME_A FUNC_NAME_B |
3348 | +# --------------------------------------------- |
3349 | +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to |
3350 | +# *_result variable of FUNC_NAME_B. |
3351 | +func_propagate_result () |
3352 | +{ |
3353 | + $debug_cmd |
3354 | + |
3355 | + func_propagate_result_result=: |
3356 | + if eval "test \"\${${1}_result+set}\" = set" |
3357 | + then |
3358 | + eval "${2}_result=\$${1}_result" |
3359 | + else |
3360 | + func_propagate_result_result=false |
3361 | + fi |
3362 | +} |
3363 | + |
3364 | + |
3365 | # func_run_hooks FUNC_NAME [ARG]... |
3366 | # --------------------------------- |
3367 | # Run all hook functions registered to FUNC_NAME. |
3368 | -# It is assumed that the list of hook functions contains nothing more |
3369 | +# It's assumed that the list of hook functions contains nothing more |
3370 | # than a whitespace-delimited list of legal shell function names, and |
3371 | # no effort is wasted trying to catch shell meta-characters or preserve |
3372 | # whitespace. |
3373 | @@ -1530,26 +1706,21 @@ func_run_hooks () |
3374 | { |
3375 | $debug_cmd |
3376 | |
3377 | - _G_rc_run_hooks=false |
3378 | - |
3379 | case " $hookable_fns " in |
3380 | *" $1 "*) ;; |
3381 | - *) func_fatal_error "'$1' does not support hook funcions.n" ;; |
3382 | + *) func_fatal_error "'$1' does not support hook functions." ;; |
3383 | esac |
3384 | |
3385 | eval _G_hook_fns=\$$1_hooks; shift |
3386 | |
3387 | for _G_hook in $_G_hook_fns; do |
3388 | - if eval $_G_hook '"$@"'; then |
3389 | - # store returned options list back into positional |
3390 | - # parameters for next 'cmd' execution. |
3391 | - eval _G_hook_result=\$${_G_hook}_result |
3392 | - eval set dummy "$_G_hook_result"; shift |
3393 | - _G_rc_run_hooks=: |
3394 | + func_unset "${_G_hook}_result" |
3395 | + eval $_G_hook '${1+"$@"}' |
3396 | + func_propagate_result $_G_hook func_run_hooks |
3397 | + if $func_propagate_result_result; then |
3398 | + eval set dummy "$func_run_hooks_result"; shift |
3399 | fi |
3400 | done |
3401 | - |
3402 | - $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result |
3403 | } |
3404 | |
3405 | |
3406 | @@ -1559,14 +1730,16 @@ func_run_hooks () |
3407 | ## --------------- ## |
3408 | |
3409 | # In order to add your own option parsing hooks, you must accept the |
3410 | -# full positional parameter list in your hook function, you may remove/edit |
3411 | -# any options that you action, and then pass back the remaining unprocessed |
3412 | -# options in '<hooked_function_name>_result', escaped suitably for |
3413 | -# 'eval'. In this case you also must return $EXIT_SUCCESS to let the |
3414 | -# hook's caller know that it should pay attention to |
3415 | -# '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that |
3416 | -# arguments are left untouched by the hook and therefore caller will ignore the |
3417 | -# result variable. |
3418 | +# full positional parameter list from your hook function. You may remove |
3419 | +# or edit any options that you action, and then pass back the remaining |
3420 | +# unprocessed options in '<hooked_function_name>_result', escaped |
3421 | +# suitably for 'eval'. |
3422 | +# |
3423 | +# The '<hooked_function_name>_result' variable is automatically unset |
3424 | +# before your hook gets called; for best performance, only set the |
3425 | +# *_result variable when necessary (i.e. don't call the 'func_quote' |
3426 | +# function unnecessarily because it can be an expensive operation on some |
3427 | +# machines). |
3428 | # |
3429 | # Like this: |
3430 | # |
3431 | @@ -1578,11 +1751,8 @@ func_run_hooks () |
3432 | # usage_message=$usage_message' |
3433 | # -s, --silent don'\''t print informational messages |
3434 | # ' |
3435 | -# # No change in '$@' (ignored completely by this hook). There is |
3436 | -# # no need to do the equivalent (but slower) action: |
3437 | -# # func_quote_for_eval ${1+"$@"} |
3438 | -# # my_options_prep_result=$func_quote_for_eval_result |
3439 | -# false |
3440 | +# # No change in '$@' (ignored completely by this hook). Leave |
3441 | +# # my_options_prep_result variable intact. |
3442 | # } |
3443 | # func_add_hook func_options_prep my_options_prep |
3444 | # |
3445 | @@ -1593,7 +1763,7 @@ func_run_hooks () |
3446 | # |
3447 | # args_changed=false |
3448 | # |
3449 | -# # Note that for efficiency, we parse as many options as we can |
3450 | +# # Note that, for efficiency, we parse as many options as we can |
3451 | # # recognise in a loop before passing the remainder back to the |
3452 | # # caller on the first unrecognised argument we encounter. |
3453 | # while test $# -gt 0; do |
3454 | @@ -1610,18 +1780,17 @@ func_run_hooks () |
3455 | # args_changed=: |
3456 | # ;; |
3457 | # *) # Make sure the first unrecognised option "$_G_opt" |
3458 | -# # is added back to "$@", we could need that later |
3459 | -# # if $args_changed is true. |
3460 | +# # is added back to "$@" in case we need it later, |
3461 | +# # if $args_changed was set to 'true'. |
3462 | # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; |
3463 | # esac |
3464 | # done |
3465 | # |
3466 | +# # Only call 'func_quote' here if we processed at least one argument. |
3467 | # if $args_changed; then |
3468 | -# func_quote_for_eval ${1+"$@"} |
3469 | -# my_silent_option_result=$func_quote_for_eval_result |
3470 | +# func_quote eval ${1+"$@"} |
3471 | +# my_silent_option_result=$func_quote_result |
3472 | # fi |
3473 | -# |
3474 | -# $args_changed |
3475 | # } |
3476 | # func_add_hook func_parse_options my_silent_option |
3477 | # |
3478 | @@ -1632,8 +1801,6 @@ func_run_hooks () |
3479 | # |
3480 | # $opt_silent && $opt_verbose && func_fatal_help "\ |
3481 | # '--silent' and '--verbose' options are mutually exclusive." |
3482 | -# |
3483 | -# false |
3484 | # } |
3485 | # func_add_hook func_validate_options my_option_validation |
3486 | # |
3487 | @@ -1649,13 +1816,8 @@ func_options_finish () |
3488 | { |
3489 | $debug_cmd |
3490 | |
3491 | - _G_func_options_finish_exit=false |
3492 | - if func_run_hooks func_options ${1+"$@"}; then |
3493 | - func_options_finish_result=$func_run_hooks_result |
3494 | - _G_func_options_finish_exit=: |
3495 | - fi |
3496 | - |
3497 | - $_G_func_options_finish_exit |
3498 | + func_run_hooks func_options ${1+"$@"} |
3499 | + func_propagate_result func_run_hooks func_options_finish |
3500 | } |
3501 | |
3502 | |
3503 | @@ -1668,28 +1830,27 @@ func_options () |
3504 | { |
3505 | $debug_cmd |
3506 | |
3507 | - _G_rc_options=false |
3508 | + _G_options_quoted=false |
3509 | |
3510 | for my_func in options_prep parse_options validate_options options_finish |
3511 | do |
3512 | - if eval func_$my_func '${1+"$@"}'; then |
3513 | - eval _G_res_var='$'"func_${my_func}_result" |
3514 | - eval set dummy "$_G_res_var" ; shift |
3515 | - _G_rc_options=: |
3516 | + func_unset func_${my_func}_result |
3517 | + func_unset func_run_hooks_result |
3518 | + eval func_$my_func '${1+"$@"}' |
3519 | + func_propagate_result func_$my_func func_options |
3520 | + if $func_propagate_result_result; then |
3521 | + eval set dummy "$func_options_result"; shift |
3522 | + _G_options_quoted=: |
3523 | fi |
3524 | done |
3525 | |
3526 | - # Save modified positional parameters for caller. As a top-level |
3527 | - # options-parser function we always need to set the 'func_options_result' |
3528 | - # variable (regardless the $_G_rc_options value). |
3529 | - if $_G_rc_options; then |
3530 | - func_options_result=$_G_res_var |
3531 | - else |
3532 | - func_quote_for_eval ${1+"$@"} |
3533 | - func_options_result=$func_quote_for_eval_result |
3534 | - fi |
3535 | - |
3536 | - $_G_rc_options |
3537 | + $_G_options_quoted || { |
3538 | + # As we (func_options) are top-level options-parser function and |
3539 | + # nobody quoted "$@" for us yet, we need to do it explicitly for |
3540 | + # caller. |
3541 | + func_quote eval ${1+"$@"} |
3542 | + func_options_result=$func_quote_result |
3543 | + } |
3544 | } |
3545 | |
3546 | |
3547 | @@ -1699,8 +1860,7 @@ func_options () |
3548 | # Note that when calling hook functions, we pass through the list of |
3549 | # positional parameters. If a hook function modifies that list, and |
3550 | # needs to propagate that back to rest of this script, then the complete |
3551 | -# modified list must be put in 'func_run_hooks_result' before |
3552 | -# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). |
3553 | +# modified list must be put in 'func_run_hooks_result' before returning. |
3554 | func_hookable func_options_prep |
3555 | func_options_prep () |
3556 | { |
3557 | @@ -1710,14 +1870,8 @@ func_options_prep () |
3558 | opt_verbose=false |
3559 | opt_warning_types= |
3560 | |
3561 | - _G_rc_options_prep=false |
3562 | - if func_run_hooks func_options_prep ${1+"$@"}; then |
3563 | - _G_rc_options_prep=: |
3564 | - # save modified positional parameters for caller |
3565 | - func_options_prep_result=$func_run_hooks_result |
3566 | - fi |
3567 | - |
3568 | - $_G_rc_options_prep |
3569 | + func_run_hooks func_options_prep ${1+"$@"} |
3570 | + func_propagate_result func_run_hooks func_options_prep |
3571 | } |
3572 | |
3573 | |
3574 | @@ -1729,27 +1883,32 @@ func_parse_options () |
3575 | { |
3576 | $debug_cmd |
3577 | |
3578 | - func_parse_options_result= |
3579 | - |
3580 | - _G_rc_parse_options=false |
3581 | + _G_parse_options_requote=false |
3582 | # this just eases exit handling |
3583 | while test $# -gt 0; do |
3584 | # Defer to hook functions for initial option parsing, so they |
3585 | # get priority in the event of reusing an option name. |
3586 | - if func_run_hooks func_parse_options ${1+"$@"}; then |
3587 | - eval set dummy "$func_run_hooks_result"; shift |
3588 | - _G_rc_parse_options=: |
3589 | + func_run_hooks func_parse_options ${1+"$@"} |
3590 | + func_propagate_result func_run_hooks func_parse_options |
3591 | + if $func_propagate_result_result; then |
3592 | + eval set dummy "$func_parse_options_result"; shift |
3593 | + # Even though we may have changed "$@", we passed the "$@" array |
3594 | + # down into the hook and it quoted it for us (because we are in |
3595 | + # this if-branch). No need to quote it again. |
3596 | + _G_parse_options_requote=false |
3597 | fi |
3598 | |
3599 | # Break out of the loop if we already parsed every option. |
3600 | test $# -gt 0 || break |
3601 | |
3602 | + # We expect that one of the options parsed in this function matches |
3603 | + # and thus we remove _G_opt from "$@" and need to re-quote. |
3604 | _G_match_parse_options=: |
3605 | _G_opt=$1 |
3606 | shift |
3607 | case $_G_opt in |
3608 | --debug|-x) debug_cmd='set -x' |
3609 | - func_echo "enabling shell trace mode" |
3610 | + func_echo "enabling shell trace mode" >&2 |
3611 | $debug_cmd |
3612 | ;; |
3613 | |
3614 | @@ -1760,7 +1919,7 @@ func_parse_options () |
3615 | |
3616 | --warnings|--warning|-W) |
3617 | if test $# = 0 && func_missing_arg $_G_opt; then |
3618 | - _G_rc_parse_options=: |
3619 | + _G_parse_options_requote=: |
3620 | break |
3621 | fi |
3622 | case " $warning_categories $1" in |
3623 | @@ -1815,7 +1974,7 @@ func_parse_options () |
3624 | shift |
3625 | ;; |
3626 | |
3627 | - --) _G_rc_parse_options=: ; break ;; |
3628 | + --) _G_parse_options_requote=: ; break ;; |
3629 | -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; |
3630 | *) set dummy "$_G_opt" ${1+"$@"}; shift |
3631 | _G_match_parse_options=false |
3632 | @@ -1823,17 +1982,16 @@ func_parse_options () |
3633 | ;; |
3634 | esac |
3635 | |
3636 | - $_G_match_parse_options && _G_rc_parse_options=: |
3637 | + if $_G_match_parse_options; then |
3638 | + _G_parse_options_requote=: |
3639 | + fi |
3640 | done |
3641 | |
3642 | - |
3643 | - if $_G_rc_parse_options; then |
3644 | + if $_G_parse_options_requote; then |
3645 | # save modified positional parameters for caller |
3646 | - func_quote_for_eval ${1+"$@"} |
3647 | - func_parse_options_result=$func_quote_for_eval_result |
3648 | + func_quote eval ${1+"$@"} |
3649 | + func_parse_options_result=$func_quote_result |
3650 | fi |
3651 | - |
3652 | - $_G_rc_parse_options |
3653 | } |
3654 | |
3655 | |
3656 | @@ -1846,21 +2004,14 @@ func_validate_options () |
3657 | { |
3658 | $debug_cmd |
3659 | |
3660 | - _G_rc_validate_options=false |
3661 | - |
3662 | # Display all warnings if -W was not given. |
3663 | test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" |
3664 | |
3665 | - if func_run_hooks func_validate_options ${1+"$@"}; then |
3666 | - # save modified positional parameters for caller |
3667 | - func_validate_options_result=$func_run_hooks_result |
3668 | - _G_rc_validate_options=: |
3669 | - fi |
3670 | + func_run_hooks func_validate_options ${1+"$@"} |
3671 | + func_propagate_result func_run_hooks func_validate_options |
3672 | |
3673 | # Bail if the options were screwed! |
3674 | $exit_cmd $EXIT_FAILURE |
3675 | - |
3676 | - $_G_rc_validate_options |
3677 | } |
3678 | |
3679 | |
3680 | @@ -1916,8 +2067,8 @@ func_missing_arg () |
3681 | |
3682 | # func_split_equals STRING |
3683 | # ------------------------ |
3684 | -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after |
3685 | -# splitting STRING at the '=' sign. |
3686 | +# Set func_split_equals_lhs and func_split_equals_rhs shell variables |
3687 | +# after splitting STRING at the '=' sign. |
3688 | test -z "$_G_HAVE_XSI_OPS" \ |
3689 | && (eval 'x=a/b/c; |
3690 | test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ |
3691 | @@ -1932,8 +2083,9 @@ then |
3692 | |
3693 | func_split_equals_lhs=${1%%=*} |
3694 | func_split_equals_rhs=${1#*=} |
3695 | - test "x$func_split_equals_lhs" = "x$1" \ |
3696 | - && func_split_equals_rhs= |
3697 | + if test "x$func_split_equals_lhs" = "x$1"; then |
3698 | + func_split_equals_rhs= |
3699 | + fi |
3700 | }' |
3701 | else |
3702 | # ...otherwise fall back to using expr, which is often a shell builtin. |
3703 | @@ -1943,7 +2095,7 @@ else |
3704 | |
3705 | func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` |
3706 | func_split_equals_rhs= |
3707 | - test "x$func_split_equals_lhs" = "x$1" \ |
3708 | + test "x$func_split_equals_lhs=" = "x$1" \ |
3709 | || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` |
3710 | } |
3711 | fi #func_split_equals |
3712 | @@ -1969,7 +2121,7 @@ else |
3713 | { |
3714 | $debug_cmd |
3715 | |
3716 | - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` |
3717 | + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` |
3718 | func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` |
3719 | } |
3720 | fi #func_split_short_opt |
3721 | @@ -2011,31 +2163,44 @@ func_usage_message () |
3722 | # func_version |
3723 | # ------------ |
3724 | # Echo version message to standard output and exit. |
3725 | +# The version message is extracted from the calling file's header |
3726 | +# comments, with leading '# ' stripped: |
3727 | +# 1. First display the progname and version |
3728 | +# 2. Followed by the header comment line matching /^# Written by / |
3729 | +# 3. Then a blank line followed by the first following line matching |
3730 | +# /^# Copyright / |
3731 | +# 4. Immediately followed by any lines between the previous matches, |
3732 | +# except lines preceding the intervening completely blank line. |
3733 | +# For example, see the header comments of this file. |
3734 | func_version () |
3735 | { |
3736 | $debug_cmd |
3737 | |
3738 | printf '%s\n' "$progname $scriptversion" |
3739 | $SED -n ' |
3740 | - /(C)/!b go |
3741 | - :more |
3742 | - /\./!{ |
3743 | - N |
3744 | - s|\n# | | |
3745 | - b more |
3746 | - } |
3747 | - :go |
3748 | - /^# Written by /,/# warranty; / { |
3749 | - s|^# || |
3750 | - s|^# *$|| |
3751 | - s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| |
3752 | - p |
3753 | + /^# Written by /!b |
3754 | + s|^# ||; p; n |
3755 | + |
3756 | + :fwd2blnk |
3757 | + /./ { |
3758 | + n |
3759 | + b fwd2blnk |
3760 | } |
3761 | - /^# Written by / { |
3762 | - s|^# || |
3763 | - p |
3764 | + p; n |
3765 | + |
3766 | + :holdwrnt |
3767 | + s|^# || |
3768 | + s|^# *$|| |
3769 | + /^Copyright /!{ |
3770 | + /./H |
3771 | + n |
3772 | + b holdwrnt |
3773 | } |
3774 | - /^warranty; /q' < "$progpath" |
3775 | + |
3776 | + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| |
3777 | + G |
3778 | + s|\(\n\)\n*|\1|g |
3779 | + p; q' < "$progpath" |
3780 | |
3781 | exit $? |
3782 | } |
3783 | @@ -2045,12 +2210,12 @@ func_version () |
3784 | # mode: shell-script |
3785 | # sh-indentation: 2 |
3786 | # eval: (add-hook 'before-save-hook 'time-stamp) |
3787 | -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" |
3788 | +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" |
3789 | # time-stamp-time-zone: "UTC" |
3790 | # End: |
3791 | |
3792 | # Set a version string. |
3793 | -scriptversion='(GNU libtool) 2.4.6' |
3794 | +scriptversion='(GNU libtool) 2.4.7' |
3795 | |
3796 | |
3797 | # func_echo ARG... |
3798 | @@ -2141,12 +2306,12 @@ include the following information: |
3799 | compiler: $LTCC |
3800 | compiler flags: $LTCFLAGS |
3801 | linker: $LD (gnu? $with_gnu_ld) |
3802 | - version: $progname $scriptversion Debian-2.4.6-15build2 |
3803 | + version: $progname (GNU libtool) 2.4.7 |
3804 | automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` |
3805 | autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` |
3806 | |
3807 | Report bugs to <bug-libtool@gnu.org>. |
3808 | -GNU libtool home page: <http://www.gnu.org/s/libtool/>. |
3809 | +GNU libtool home page: <http://www.gnu.org/software/libtool/>. |
3810 | General help using GNU software: <http://www.gnu.org/gethelp/>." |
3811 | exit 0 |
3812 | } |
3813 | @@ -2197,7 +2362,7 @@ fi |
3814 | # a configuration failure hint, and exit. |
3815 | func_fatal_configuration () |
3816 | { |
3817 | - func__fatal_error ${1+"$@"} \ |
3818 | + func_fatal_error ${1+"$@"} \ |
3819 | "See the $PACKAGE documentation for more information." \ |
3820 | "Fatal configuration error." |
3821 | } |
3822 | @@ -2375,11 +2540,9 @@ libtool_options_prep () |
3823 | |
3824 | if $_G_rc_lt_options_prep; then |
3825 | # Pass back the list of options. |
3826 | - func_quote_for_eval ${1+"$@"} |
3827 | - libtool_options_prep_result=$func_quote_for_eval_result |
3828 | + func_quote eval ${1+"$@"} |
3829 | + libtool_options_prep_result=$func_quote_result |
3830 | fi |
3831 | - |
3832 | - $_G_rc_lt_options_prep |
3833 | } |
3834 | func_add_hook func_options_prep libtool_options_prep |
3835 | |
3836 | @@ -2482,11 +2645,9 @@ libtool_parse_options () |
3837 | |
3838 | if $_G_rc_lt_parse_options; then |
3839 | # save modified positional parameters for caller |
3840 | - func_quote_for_eval ${1+"$@"} |
3841 | - libtool_parse_options_result=$func_quote_for_eval_result |
3842 | + func_quote eval ${1+"$@"} |
3843 | + libtool_parse_options_result=$func_quote_result |
3844 | fi |
3845 | - |
3846 | - $_G_rc_lt_parse_options |
3847 | } |
3848 | func_add_hook func_parse_options libtool_parse_options |
3849 | |
3850 | @@ -2543,8 +2704,8 @@ libtool_validate_options () |
3851 | } |
3852 | |
3853 | # Pass back the unparsed argument list |
3854 | - func_quote_for_eval ${1+"$@"} |
3855 | - libtool_validate_options_result=$func_quote_for_eval_result |
3856 | + func_quote eval ${1+"$@"} |
3857 | + libtool_validate_options_result=$func_quote_result |
3858 | } |
3859 | func_add_hook func_validate_options libtool_validate_options |
3860 | |
3861 | @@ -3510,8 +3671,8 @@ func_mode_compile () |
3862 | esac |
3863 | done |
3864 | |
3865 | - func_quote_for_eval "$libobj" |
3866 | - test "X$libobj" != "X$func_quote_for_eval_result" \ |
3867 | + func_quote_arg pretty "$libobj" |
3868 | + test "X$libobj" != "X$func_quote_arg_result" \ |
3869 | && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ |
3870 | && func_warning "libobj name '$libobj' may not contain shell special characters." |
3871 | func_dirname_and_basename "$obj" "/" "" |
3872 | @@ -3584,8 +3745,8 @@ compiler." |
3873 | |
3874 | func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 |
3875 | srcfile=$func_to_tool_file_result |
3876 | - func_quote_for_eval "$srcfile" |
3877 | - qsrcfile=$func_quote_for_eval_result |
3878 | + func_quote_arg pretty "$srcfile" |
3879 | + qsrcfile=$func_quote_arg_result |
3880 | |
3881 | # Only build a PIC object if we are building libtool libraries. |
3882 | if test yes = "$build_libtool_libs"; then |
3883 | @@ -3740,7 +3901,8 @@ This mode accepts the following additional options: |
3884 | -prefer-non-pic try to build non-PIC objects only |
3885 | -shared do not build a '.o' file suitable for static linking |
3886 | -static only build a '.o' file suitable for static linking |
3887 | - -Wc,FLAG pass FLAG directly to the compiler |
3888 | + -Wc,FLAG |
3889 | + -Xcompiler FLAG pass FLAG directly to the compiler |
3890 | |
3891 | COMPILE-COMMAND is a command to be used in creating a 'standard' object file |
3892 | from the given SOURCEFILE. |
3893 | @@ -3846,6 +4008,8 @@ The following components of LINK-COMMAND are treated specially: |
3894 | -weak LIBNAME declare that the target provides the LIBNAME interface |
3895 | -Wc,FLAG |
3896 | -Xcompiler FLAG pass linker-specific FLAG directly to the compiler |
3897 | + -Wa,FLAG |
3898 | + -Xassembler FLAG pass linker-specific FLAG directly to the assembler |
3899 | -Wl,FLAG |
3900 | -Xlinker FLAG pass linker-specific FLAG directly to the linker |
3901 | -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) |
3902 | @@ -4188,8 +4352,8 @@ func_mode_install () |
3903 | case $nonopt in *shtool*) :;; *) false;; esac |
3904 | then |
3905 | # Aesthetically quote it. |
3906 | - func_quote_for_eval "$nonopt" |
3907 | - install_prog="$func_quote_for_eval_result " |
3908 | + func_quote_arg pretty "$nonopt" |
3909 | + install_prog="$func_quote_arg_result " |
3910 | arg=$1 |
3911 | shift |
3912 | else |
3913 | @@ -4199,8 +4363,8 @@ func_mode_install () |
3914 | |
3915 | # The real first argument should be the name of the installation program. |
3916 | # Aesthetically quote it. |
3917 | - func_quote_for_eval "$arg" |
3918 | - func_append install_prog "$func_quote_for_eval_result" |
3919 | + func_quote_arg pretty "$arg" |
3920 | + func_append install_prog "$func_quote_arg_result" |
3921 | install_shared_prog=$install_prog |
3922 | case " $install_prog " in |
3923 | *[\\\ /]cp\ *) install_cp=: ;; |
3924 | @@ -4257,12 +4421,12 @@ func_mode_install () |
3925 | esac |
3926 | |
3927 | # Aesthetically quote the argument. |
3928 | - func_quote_for_eval "$arg" |
3929 | - func_append install_prog " $func_quote_for_eval_result" |
3930 | + func_quote_arg pretty "$arg" |
3931 | + func_append install_prog " $func_quote_arg_result" |
3932 | if test -n "$arg2"; then |
3933 | - func_quote_for_eval "$arg2" |
3934 | + func_quote_arg pretty "$arg2" |
3935 | fi |
3936 | - func_append install_shared_prog " $func_quote_for_eval_result" |
3937 | + func_append install_shared_prog " $func_quote_arg_result" |
3938 | done |
3939 | |
3940 | test -z "$install_prog" && \ |
3941 | @@ -4273,8 +4437,8 @@ func_mode_install () |
3942 | |
3943 | if test -n "$install_override_mode" && $no_mode; then |
3944 | if $install_cp; then :; else |
3945 | - func_quote_for_eval "$install_override_mode" |
3946 | - func_append install_shared_prog " -m $func_quote_for_eval_result" |
3947 | + func_quote_arg pretty "$install_override_mode" |
3948 | + func_append install_shared_prog " -m $func_quote_arg_result" |
3949 | fi |
3950 | fi |
3951 | |
3952 | @@ -4570,8 +4734,8 @@ func_mode_install () |
3953 | relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` |
3954 | |
3955 | $opt_quiet || { |
3956 | - func_quote_for_expand "$relink_command" |
3957 | - eval "func_echo $func_quote_for_expand_result" |
3958 | + func_quote_arg expand,pretty "$relink_command" |
3959 | + eval "func_echo $func_quote_arg_result" |
3960 | } |
3961 | if eval "$relink_command"; then : |
3962 | else |
3963 | @@ -5350,7 +5514,8 @@ else |
3964 | if test \"\$libtool_execute_magic\" != \"$magic\"; then |
3965 | file=\"\$0\"" |
3966 | |
3967 | - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` |
3968 | + func_quote_arg pretty "$ECHO" |
3969 | + qECHO=$func_quote_arg_result |
3970 | $ECHO "\ |
3971 | |
3972 | # A function that is used when there is no print builtin or printf. |
3973 | @@ -5360,7 +5525,7 @@ func_fallback_echo () |
3974 | \$1 |
3975 | _LTECHO_EOF' |
3976 | } |
3977 | - ECHO=\"$qECHO\" |
3978 | + ECHO=$qECHO |
3979 | fi |
3980 | |
3981 | # Very basic option parsing. These options are (a) specific to |
3982 | @@ -6703,9 +6868,9 @@ func_mode_link () |
3983 | while test "$#" -gt 0; do |
3984 | arg=$1 |
3985 | shift |
3986 | - func_quote_for_eval "$arg" |
3987 | - qarg=$func_quote_for_eval_unquoted_result |
3988 | - func_append libtool_args " $func_quote_for_eval_result" |
3989 | + func_quote_arg pretty,unquoted "$arg" |
3990 | + qarg=$func_quote_arg_unquoted_result |
3991 | + func_append libtool_args " $func_quote_arg_result" |
3992 | |
3993 | # If the previous option needs an argument, assign it. |
3994 | if test -n "$prev"; then |
3995 | @@ -6941,6 +7106,13 @@ func_mode_link () |
3996 | prev= |
3997 | continue |
3998 | ;; |
3999 | + xassembler) |
4000 | + func_append compiler_flags " -Xassembler $qarg" |
4001 | + prev= |
4002 | + func_append compile_command " -Xassembler $qarg" |
4003 | + func_append finalize_command " -Xassembler $qarg" |
4004 | + continue |
4005 | + ;; |
4006 | xcclinker) |
4007 | func_append linker_flags " $qarg" |
4008 | func_append compiler_flags " $qarg" |
4009 | @@ -7111,7 +7283,7 @@ func_mode_link () |
4010 | # These systems don't actually have a C library (as such) |
4011 | test X-lc = "X$arg" && continue |
4012 | ;; |
4013 | - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) |
4014 | + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) |
4015 | # Do not include libc due to us having libc/libc_r. |
4016 | test X-lc = "X$arg" && continue |
4017 | ;; |
4018 | @@ -7131,7 +7303,7 @@ func_mode_link () |
4019 | esac |
4020 | elif test X-lc_r = "X$arg"; then |
4021 | case $host in |
4022 | - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) |
4023 | + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) |
4024 | # Do not include libc_r directly, use -pthread flag. |
4025 | continue |
4026 | ;; |
4027 | @@ -7161,8 +7333,20 @@ func_mode_link () |
4028 | prev=xcompiler |
4029 | continue |
4030 | ;; |
4031 | - |
4032 | - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |
4033 | + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. |
4034 | + -pthread) |
4035 | + case $host in |
4036 | + *solaris2*) ;; |
4037 | + *) |
4038 | + case "$new_inherited_linker_flags " in |
4039 | + *" $arg "*) ;; |
4040 | + * ) func_append new_inherited_linker_flags " $arg" ;; |
4041 | + esac |
4042 | + ;; |
4043 | + esac |
4044 | + continue |
4045 | + ;; |
4046 | + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |
4047 | |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) |
4048 | func_append compiler_flags " $arg" |
4049 | func_append compile_command " $arg" |
4050 | @@ -7303,9 +7487,9 @@ func_mode_link () |
4051 | save_ifs=$IFS; IFS=, |
4052 | for flag in $args; do |
4053 | IFS=$save_ifs |
4054 | - func_quote_for_eval "$flag" |
4055 | - func_append arg " $func_quote_for_eval_result" |
4056 | - func_append compiler_flags " $func_quote_for_eval_result" |
4057 | + func_quote_arg pretty "$flag" |
4058 | + func_append arg " $func_quote_arg_result" |
4059 | + func_append compiler_flags " $func_quote_arg_result" |
4060 | done |
4061 | IFS=$save_ifs |
4062 | func_stripname ' ' '' "$arg" |
4063 | @@ -7319,16 +7503,21 @@ func_mode_link () |
4064 | save_ifs=$IFS; IFS=, |
4065 | for flag in $args; do |
4066 | IFS=$save_ifs |
4067 | - func_quote_for_eval "$flag" |
4068 | - func_append arg " $wl$func_quote_for_eval_result" |
4069 | - func_append compiler_flags " $wl$func_quote_for_eval_result" |
4070 | - func_append linker_flags " $func_quote_for_eval_result" |
4071 | + func_quote_arg pretty "$flag" |
4072 | + func_append arg " $wl$func_quote_arg_result" |
4073 | + func_append compiler_flags " $wl$func_quote_arg_result" |
4074 | + func_append linker_flags " $func_quote_arg_result" |
4075 | done |
4076 | IFS=$save_ifs |
4077 | func_stripname ' ' '' "$arg" |
4078 | arg=$func_stripname_result |
4079 | ;; |
4080 | |
4081 | + -Xassembler) |
4082 | + prev=xassembler |
4083 | + continue |
4084 | + ;; |
4085 | + |
4086 | -Xcompiler) |
4087 | prev=xcompiler |
4088 | continue |
4089 | @@ -7346,8 +7535,8 @@ func_mode_link () |
4090 | |
4091 | # -msg_* for osf cc |
4092 | -msg_*) |
4093 | - func_quote_for_eval "$arg" |
4094 | - arg=$func_quote_for_eval_result |
4095 | + func_quote_arg pretty "$arg" |
4096 | + arg=$func_quote_arg_result |
4097 | ;; |
4098 | |
4099 | # Flags to be passed through unchanged, with rationale: |
4100 | @@ -7368,14 +7557,13 @@ func_mode_link () |
4101 | # -stdlib=* select c++ std lib with clang |
4102 | # -fsanitize=* Clang/GCC memory and address sanitizer |
4103 | # -fuse-ld=* Linker select flags for GCC |
4104 | - # -static-* direct GCC to link specific libraries statically |
4105 | - # -fcilkplus Cilk Plus language extension features for C/C++ |
4106 | + # -Wa,* Pass flags directly to the assembler |
4107 | -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ |
4108 | -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ |
4109 | -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ |
4110 | - -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) |
4111 | - func_quote_for_eval "$arg" |
4112 | - arg=$func_quote_for_eval_result |
4113 | + -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) |
4114 | + func_quote_arg pretty "$arg" |
4115 | + arg=$func_quote_arg_result |
4116 | func_append compile_command " $arg" |
4117 | func_append finalize_command " $arg" |
4118 | func_append compiler_flags " $arg" |
4119 | @@ -7396,15 +7584,15 @@ func_mode_link () |
4120 | continue |
4121 | else |
4122 | # Otherwise treat like 'Some other compiler flag' below |
4123 | - func_quote_for_eval "$arg" |
4124 | - arg=$func_quote_for_eval_result |
4125 | + func_quote_arg pretty "$arg" |
4126 | + arg=$func_quote_arg_result |
4127 | fi |
4128 | ;; |
4129 | |
4130 | # Some other compiler flag. |
4131 | -* | +*) |
4132 | - func_quote_for_eval "$arg" |
4133 | - arg=$func_quote_for_eval_result |
4134 | + func_quote_arg pretty "$arg" |
4135 | + arg=$func_quote_arg_result |
4136 | ;; |
4137 | |
4138 | *.$objext) |
4139 | @@ -7524,8 +7712,8 @@ func_mode_link () |
4140 | *) |
4141 | # Unknown arguments in both finalize_command and compile_command need |
4142 | # to be aesthetically quoted because they are evaled later. |
4143 | - func_quote_for_eval "$arg" |
4144 | - arg=$func_quote_for_eval_result |
4145 | + func_quote_arg pretty "$arg" |
4146 | + arg=$func_quote_arg_result |
4147 | ;; |
4148 | esac # arg |
4149 | |
4150 | @@ -7666,10 +7854,7 @@ func_mode_link () |
4151 | case $pass in |
4152 | dlopen) libs=$dlfiles ;; |
4153 | dlpreopen) libs=$dlprefiles ;; |
4154 | - link) |
4155 | - libs="$deplibs %DEPLIBS%" |
4156 | - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" |
4157 | - ;; |
4158 | + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; |
4159 | esac |
4160 | fi |
4161 | if test lib,dlpreopen = "$linkmode,$pass"; then |
4162 | @@ -7988,19 +8173,19 @@ func_mode_link () |
4163 | # It is a libtool convenience library, so add in its objects. |
4164 | func_append convenience " $ladir/$objdir/$old_library" |
4165 | func_append old_convenience " $ladir/$objdir/$old_library" |
4166 | - tmp_libs= |
4167 | - for deplib in $dependency_libs; do |
4168 | - deplibs="$deplib $deplibs" |
4169 | - if $opt_preserve_dup_deps; then |
4170 | - case "$tmp_libs " in |
4171 | - *" $deplib "*) func_append specialdeplibs " $deplib" ;; |
4172 | - esac |
4173 | - fi |
4174 | - func_append tmp_libs " $deplib" |
4175 | - done |
4176 | elif test prog != "$linkmode" && test lib != "$linkmode"; then |
4177 | func_fatal_error "'$lib' is not a convenience library" |
4178 | fi |
4179 | + tmp_libs= |
4180 | + for deplib in $dependency_libs; do |
4181 | + deplibs="$deplib $deplibs" |
4182 | + if $opt_preserve_dup_deps; then |
4183 | + case "$tmp_libs " in |
4184 | + *" $deplib "*) func_append specialdeplibs " $deplib" ;; |
4185 | + esac |
4186 | + fi |
4187 | + func_append tmp_libs " $deplib" |
4188 | + done |
4189 | continue |
4190 | fi # $pass = conv |
4191 | |
4192 | @@ -8733,7 +8918,7 @@ func_mode_link () |
4193 | test CXX = "$tagname" && { |
4194 | case $host_os in |
4195 | linux*) |
4196 | - case `$CC -V 2>&1 | sed 5q` in |
4197 | + case `$CC -V 2>&1 | $SED 5q` in |
4198 | *Sun\ C*) # Sun C++ 5.9 |
4199 | func_suncc_cstd_abi |
4200 | |
4201 | @@ -8906,7 +9091,7 @@ func_mode_link () |
4202 | # |
4203 | case $version_type in |
4204 | # correct linux to gnu/linux during the next big refactor |
4205 | - darwin|freebsd-elf|linux|osf|windows|none) |
4206 | + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) |
4207 | func_arith $number_major + $number_minor |
4208 | current=$func_arith_result |
4209 | age=$number_minor |
4210 | @@ -8924,9 +9109,6 @@ func_mode_link () |
4211 | revision=$number_minor |
4212 | lt_irix_increment=no |
4213 | ;; |
4214 | - *) |
4215 | - func_fatal_configuration "$modename: unknown library version type '$version_type'" |
4216 | - ;; |
4217 | esac |
4218 | ;; |
4219 | no) |
4220 | @@ -9000,7 +9182,7 @@ func_mode_link () |
4221 | versuffix=.$current.$revision |
4222 | ;; |
4223 | |
4224 | - freebsd-elf) |
4225 | + freebsd-elf | midnightbsd-elf) |
4226 | func_arith $current - $age |
4227 | major=.$func_arith_result |
4228 | versuffix=$major.$age.$revision |
4229 | @@ -9226,7 +9408,7 @@ func_mode_link () |
4230 | *-*-netbsd*) |
4231 | # Don't link with libc until the a.out ld.so is fixed. |
4232 | ;; |
4233 | - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) |
4234 | + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) |
4235 | # Do not include libc due to us having libc/libc_r. |
4236 | ;; |
4237 | *-*-sco3.2v5* | *-*-sco5v6*) |
4238 | @@ -10037,8 +10219,8 @@ EOF |
4239 | for cmd in $concat_cmds; do |
4240 | IFS=$save_ifs |
4241 | $opt_quiet || { |
4242 | - func_quote_for_expand "$cmd" |
4243 | - eval "func_echo $func_quote_for_expand_result" |
4244 | + func_quote_arg expand,pretty "$cmd" |
4245 | + eval "func_echo $func_quote_arg_result" |
4246 | } |
4247 | $opt_dry_run || eval "$cmd" || { |
4248 | lt_exit=$? |
4249 | @@ -10131,8 +10313,8 @@ EOF |
4250 | eval cmd=\"$cmd\" |
4251 | IFS=$save_ifs |
4252 | $opt_quiet || { |
4253 | - func_quote_for_expand "$cmd" |
4254 | - eval "func_echo $func_quote_for_expand_result" |
4255 | + func_quote_arg expand,pretty "$cmd" |
4256 | + eval "func_echo $func_quote_arg_result" |
4257 | } |
4258 | $opt_dry_run || eval "$cmd" || { |
4259 | lt_exit=$? |
4260 | @@ -10606,12 +10788,13 @@ EOF |
4261 | elif eval var_value=\$$var; test -z "$var_value"; then |
4262 | relink_command="$var=; export $var; $relink_command" |
4263 | else |
4264 | - func_quote_for_eval "$var_value" |
4265 | - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" |
4266 | + func_quote_arg pretty "$var_value" |
4267 | + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" |
4268 | fi |
4269 | done |
4270 | - relink_command="(cd `pwd`; $relink_command)" |
4271 | - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` |
4272 | + func_quote eval cd "`pwd`" |
4273 | + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" |
4274 | + relink_command=$func_quote_arg_unquoted_result |
4275 | fi |
4276 | |
4277 | # Only actually do things if not in dry run mode. |
4278 | @@ -10851,13 +11034,15 @@ EOF |
4279 | elif eval var_value=\$$var; test -z "$var_value"; then |
4280 | relink_command="$var=; export $var; $relink_command" |
4281 | else |
4282 | - func_quote_for_eval "$var_value" |
4283 | - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" |
4284 | + func_quote_arg pretty,unquoted "$var_value" |
4285 | + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" |
4286 | fi |
4287 | done |
4288 | # Quote the link command for shipping. |
4289 | - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" |
4290 | - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` |
4291 | + func_quote eval cd "`pwd`" |
4292 | + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" |
4293 | + func_quote_arg pretty,unquoted "$relink_command" |
4294 | + relink_command=$func_quote_arg_unquoted_result |
4295 | if test yes = "$hardcode_automatic"; then |
4296 | relink_command= |
4297 | fi |
4298 | diff --git a/m4/libtool.m4 b/m4/libtool.m4 |
4299 | index c4c0294..79a2451 100644 |
4300 | --- a/m4/libtool.m4 |
4301 | +++ b/m4/libtool.m4 |
4302 | @@ -1,6 +1,7 @@ |
4303 | # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- |
4304 | # |
4305 | -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. |
4306 | +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software |
4307 | +# Foundation, Inc. |
4308 | # Written by Gordon Matzigkeit, 1996 |
4309 | # |
4310 | # This file is free software; the Free Software Foundation gives |
4311 | @@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl |
4312 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
4313 | ]) |
4314 | |
4315 | -# serial 58 LT_INIT |
4316 | +# serial 59 LT_INIT |
4317 | |
4318 | |
4319 | # LT_PREREQ(VERSION) |
4320 | @@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl |
4321 | m4_require([_LT_CHECK_SHELL_FEATURES])dnl |
4322 | m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl |
4323 | m4_require([_LT_CMD_RELOAD])dnl |
4324 | +m4_require([_LT_DECL_FILECMD])dnl |
4325 | m4_require([_LT_CHECK_MAGIC_METHOD])dnl |
4326 | m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl |
4327 | m4_require([_LT_CMD_OLD_ARCHIVE])dnl |
4328 | @@ -219,8 +221,8 @@ esac |
4329 | ofile=libtool |
4330 | can_build_shared=yes |
4331 | |
4332 | -# All known linkers require a '.a' archive for static linking (except MSVC, |
4333 | -# which needs '.lib'). |
4334 | +# All known linkers require a '.a' archive for static linking (except MSVC and |
4335 | +# ICC, which need '.lib'). |
4336 | libext=a |
4337 | |
4338 | with_gnu_ld=$lt_cv_prog_gnu_ld |
4339 | @@ -728,6 +730,7 @@ _LT_CONFIG_SAVE_COMMANDS([ |
4340 | cat <<_LT_EOF >> "$cfgfile" |
4341 | #! $SHELL |
4342 | # Generated automatically by $as_me ($PACKAGE) $VERSION |
4343 | +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: |
4344 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. |
4345 | |
4346 | # Provide generalized library-building support services. |
4347 | @@ -777,7 +780,7 @@ _LT_EOF |
4348 | # if finds mixed CR/LF and LF-only lines. Since sed operates in |
4349 | # text mode, it properly converts lines to CR/LF. This bash problem |
4350 | # is reportedly fixed, but why not run on old versions too? |
4351 | - sed '$q' "$ltmain" >> "$cfgfile" \ |
4352 | + $SED '$q' "$ltmain" >> "$cfgfile" \ |
4353 | || (rm -f "$cfgfile"; exit 1) |
4354 | |
4355 | mv -f "$cfgfile" "$ofile" || |
4356 | @@ -1041,8 +1044,8 @@ int forced_loaded() { return 2;} |
4357 | _LT_EOF |
4358 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD |
4359 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD |
4360 | - echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD |
4361 | - $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD |
4362 | + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD |
4363 | + $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD |
4364 | echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD |
4365 | $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD |
4366 | cat > conftest.c << _LT_EOF |
4367 | @@ -1066,17 +1069,12 @@ _LT_EOF |
4368 | _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; |
4369 | darwin1.*) |
4370 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
4371 | - darwin*) # darwin 5.x on |
4372 | - # if running on 10.5 or later, the deployment target defaults |
4373 | - # to the OS version, if on x86, and 10.4, the deployment |
4374 | - # target defaults to 10.4. Don't you love it? |
4375 | - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in |
4376 | - 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) |
4377 | - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
4378 | - 10.[[012]][[,.]]*) |
4379 | - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
4380 | - 10.*|11.*) |
4381 | - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
4382 | + darwin*) |
4383 | + case $MACOSX_DEPLOYMENT_TARGET,$host in |
4384 | + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) |
4385 | + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
4386 | + *) |
4387 | + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
4388 | esac |
4389 | ;; |
4390 | esac |
4391 | @@ -1125,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], |
4392 | output_verbose_link_cmd=func_echo_all |
4393 | _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" |
4394 | _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" |
4395 | - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" |
4396 | - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" |
4397 | + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" |
4398 | + _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" |
4399 | m4_if([$1], [CXX], |
4400 | [ if test yes != "$lt_cv_apple_cc_single_mod"; then |
4401 | _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" |
4402 | - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" |
4403 | + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" |
4404 | fi |
4405 | ],[]) |
4406 | else |
4407 | @@ -1244,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) |
4408 | # _LT_WITH_SYSROOT |
4409 | # ---------------- |
4410 | AC_DEFUN([_LT_WITH_SYSROOT], |
4411 | -[AC_MSG_CHECKING([for sysroot]) |
4412 | +[m4_require([_LT_DECL_SED])dnl |
4413 | +AC_MSG_CHECKING([for sysroot]) |
4414 | AC_ARG_WITH([sysroot], |
4415 | [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], |
4416 | [Search for dependent libraries within DIR (or the compiler's sysroot |
4417 | @@ -1261,7 +1260,7 @@ case $with_sysroot in #( |
4418 | fi |
4419 | ;; #( |
4420 | /*) |
4421 | - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` |
4422 | + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` |
4423 | ;; #( |
4424 | no|'') |
4425 | ;; #( |
4426 | @@ -1291,7 +1290,7 @@ ia64-*-hpux*) |
4427 | # options accordingly. |
4428 | echo 'int i;' > conftest.$ac_ext |
4429 | if AC_TRY_EVAL(ac_compile); then |
4430 | - case `/usr/bin/file conftest.$ac_objext` in |
4431 | + case `$FILECMD conftest.$ac_objext` in |
4432 | *ELF-32*) |
4433 | HPUX_IA64_MODE=32 |
4434 | ;; |
4435 | @@ -1308,7 +1307,7 @@ ia64-*-hpux*) |
4436 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext |
4437 | if AC_TRY_EVAL(ac_compile); then |
4438 | if test yes = "$lt_cv_prog_gnu_ld"; then |
4439 | - case `/usr/bin/file conftest.$ac_objext` in |
4440 | + case `$FILECMD conftest.$ac_objext` in |
4441 | *32-bit*) |
4442 | LD="${LD-ld} -melf32bsmip" |
4443 | ;; |
4444 | @@ -1320,7 +1319,7 @@ ia64-*-hpux*) |
4445 | ;; |
4446 | esac |
4447 | else |
4448 | - case `/usr/bin/file conftest.$ac_objext` in |
4449 | + case `$FILECMD conftest.$ac_objext` in |
4450 | *32-bit*) |
4451 | LD="${LD-ld} -32" |
4452 | ;; |
4453 | @@ -1342,7 +1341,7 @@ mips64*-*linux*) |
4454 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext |
4455 | if AC_TRY_EVAL(ac_compile); then |
4456 | emul=elf |
4457 | - case `/usr/bin/file conftest.$ac_objext` in |
4458 | + case `$FILECMD conftest.$ac_objext` in |
4459 | *32-bit*) |
4460 | emul="${emul}32" |
4461 | ;; |
4462 | @@ -1350,7 +1349,7 @@ mips64*-*linux*) |
4463 | emul="${emul}64" |
4464 | ;; |
4465 | esac |
4466 | - case `/usr/bin/file conftest.$ac_objext` in |
4467 | + case `$FILECMD conftest.$ac_objext` in |
4468 | *MSB*) |
4469 | emul="${emul}btsmip" |
4470 | ;; |
4471 | @@ -1358,7 +1357,7 @@ mips64*-*linux*) |
4472 | emul="${emul}ltsmip" |
4473 | ;; |
4474 | esac |
4475 | - case `/usr/bin/file conftest.$ac_objext` in |
4476 | + case `$FILECMD conftest.$ac_objext` in |
4477 | *N32*) |
4478 | emul="${emul}n32" |
4479 | ;; |
4480 | @@ -1378,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) |
4481 | # not appear in the list. |
4482 | echo 'int i;' > conftest.$ac_ext |
4483 | if AC_TRY_EVAL(ac_compile); then |
4484 | - case `/usr/bin/file conftest.o` in |
4485 | + case `$FILECMD conftest.o` in |
4486 | *32-bit*) |
4487 | case $host in |
4488 | x86_64-*kfreebsd*-gnu) |
4489 | LD="${LD-ld} -m elf_i386_fbsd" |
4490 | ;; |
4491 | x86_64-*linux*) |
4492 | - case `/usr/bin/file conftest.o` in |
4493 | + case `$FILECMD conftest.o` in |
4494 | *x86-64*) |
4495 | LD="${LD-ld} -m elf32_x86_64" |
4496 | ;; |
4497 | @@ -1453,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) |
4498 | # options accordingly. |
4499 | echo 'int i;' > conftest.$ac_ext |
4500 | if AC_TRY_EVAL(ac_compile); then |
4501 | - case `/usr/bin/file conftest.o` in |
4502 | + case `$FILECMD conftest.o` in |
4503 | *64-bit*) |
4504 | case $lt_cv_prog_gnu_ld in |
4505 | yes*) |
4506 | @@ -1492,9 +1491,22 @@ need_locks=$enable_libtool_lock |
4507 | m4_defun([_LT_PROG_AR], |
4508 | [AC_CHECK_TOOLS(AR, [ar], false) |
4509 | : ${AR=ar} |
4510 | -: ${AR_FLAGS=cr} |
4511 | _LT_DECL([], [AR], [1], [The archiver]) |
4512 | -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) |
4513 | + |
4514 | +# Use ARFLAGS variable as AR's operation code to sync the variable naming with |
4515 | +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have |
4516 | +# higher priority because thats what people were doing historically (setting |
4517 | +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS |
4518 | +# variable obsoleted/removed. |
4519 | + |
4520 | +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} |
4521 | +lt_ar_flags=$AR_FLAGS |
4522 | +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) |
4523 | + |
4524 | +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override |
4525 | +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. |
4526 | +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], |
4527 | + [Flags to create an archive]) |
4528 | |
4529 | AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], |
4530 | [lt_cv_ar_at_file=no |
4531 | @@ -1713,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl |
4532 | lt_cv_sys_max_cmd_len=8192; |
4533 | ;; |
4534 | |
4535 | - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) |
4536 | + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) |
4537 | # This has been around since 386BSD, at least. Likely further. |
4538 | if test -x /sbin/sysctl; then |
4539 | lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` |
4540 | @@ -1756,7 +1768,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl |
4541 | sysv5* | sco5v6* | sysv4.2uw2*) |
4542 | kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` |
4543 | if test -n "$kargmax"; then |
4544 | - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` |
4545 | + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` |
4546 | else |
4547 | lt_cv_sys_max_cmd_len=32768 |
4548 | fi |
4549 | @@ -2206,26 +2218,35 @@ m4_defun([_LT_CMD_STRIPLIB], |
4550 | striplib= |
4551 | old_striplib= |
4552 | AC_MSG_CHECKING([whether stripping libraries is possible]) |
4553 | -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then |
4554 | - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" |
4555 | - test -z "$striplib" && striplib="$STRIP --strip-unneeded" |
4556 | - AC_MSG_RESULT([yes]) |
4557 | +if test -z "$STRIP"; then |
4558 | + AC_MSG_RESULT([no]) |
4559 | else |
4560 | -# FIXME - insert some real tests, host_os isn't really good enough |
4561 | - case $host_os in |
4562 | - darwin*) |
4563 | - if test -n "$STRIP"; then |
4564 | + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then |
4565 | + old_striplib="$STRIP --strip-debug" |
4566 | + striplib="$STRIP --strip-unneeded" |
4567 | + AC_MSG_RESULT([yes]) |
4568 | + else |
4569 | + case $host_os in |
4570 | + darwin*) |
4571 | + # FIXME - insert some real tests, host_os isn't really good enough |
4572 | striplib="$STRIP -x" |
4573 | old_striplib="$STRIP -S" |
4574 | AC_MSG_RESULT([yes]) |
4575 | - else |
4576 | + ;; |
4577 | + freebsd*) |
4578 | + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then |
4579 | + old_striplib="$STRIP --strip-debug" |
4580 | + striplib="$STRIP --strip-unneeded" |
4581 | + AC_MSG_RESULT([yes]) |
4582 | + else |
4583 | + AC_MSG_RESULT([no]) |
4584 | + fi |
4585 | + ;; |
4586 | + *) |
4587 | AC_MSG_RESULT([no]) |
4588 | - fi |
4589 | - ;; |
4590 | - *) |
4591 | - AC_MSG_RESULT([no]) |
4592 | - ;; |
4593 | - esac |
4594 | + ;; |
4595 | + esac |
4596 | + fi |
4597 | fi |
4598 | _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) |
4599 | _LT_DECL([], [striplib], [1]) |
4600 | @@ -2548,7 +2569,7 @@ cygwin* | mingw* | pw32* | cegcc*) |
4601 | case $host_os in |
4602 | cygwin*) |
4603 | # Cygwin DLLs use 'cyg' prefix rather than 'lib' |
4604 | - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4605 | + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4606 | m4_if([$1], [],[ |
4607 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) |
4608 | ;; |
4609 | @@ -2558,14 +2579,14 @@ m4_if([$1], [],[ |
4610 | ;; |
4611 | pw32*) |
4612 | # pw32 DLLs use 'pw' prefix rather than 'lib' |
4613 | - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4614 | + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4615 | ;; |
4616 | esac |
4617 | dynamic_linker='Win32 ld.exe' |
4618 | ;; |
4619 | |
4620 | - *,cl*) |
4621 | - # Native MSVC |
4622 | + *,cl* | *,icl*) |
4623 | + # Native MSVC or ICC |
4624 | libname_spec='$name' |
4625 | soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4626 | library_names_spec='$libname.dll.lib' |
4627 | @@ -2584,7 +2605,7 @@ m4_if([$1], [],[ |
4628 | done |
4629 | IFS=$lt_save_ifs |
4630 | # Convert to MSYS style. |
4631 | - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` |
4632 | + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` |
4633 | ;; |
4634 | cygwin*) |
4635 | # Convert to unix form, then to dos form, then back to unix form |
4636 | @@ -2621,7 +2642,7 @@ m4_if([$1], [],[ |
4637 | ;; |
4638 | |
4639 | *) |
4640 | - # Assume MSVC wrapper |
4641 | + # Assume MSVC and ICC wrapper |
4642 | library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' |
4643 | dynamic_linker='Win32 ld.exe' |
4644 | ;; |
4645 | @@ -2654,7 +2675,7 @@ dgux*) |
4646 | shlibpath_var=LD_LIBRARY_PATH |
4647 | ;; |
4648 | |
4649 | -freebsd* | dragonfly*) |
4650 | +freebsd* | dragonfly* | midnightbsd*) |
4651 | # DragonFly does not have aout. When/if they implement a new |
4652 | # versioning mechanism, adjust this. |
4653 | if test -x /usr/bin/objformat; then |
4654 | @@ -2886,18 +2907,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) |
4655 | dynamic_linker='GNU/Linux ld.so' |
4656 | ;; |
4657 | |
4658 | -netbsdelf*-gnu) |
4659 | - version_type=linux |
4660 | - need_lib_prefix=no |
4661 | - need_version=no |
4662 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' |
4663 | - soname_spec='${libname}${release}${shared_ext}$major' |
4664 | - shlibpath_var=LD_LIBRARY_PATH |
4665 | - shlibpath_overrides_runpath=no |
4666 | - hardcode_into_libs=yes |
4667 | - dynamic_linker='NetBSD ld.elf_so' |
4668 | - ;; |
4669 | - |
4670 | netbsd*) |
4671 | version_type=sunos |
4672 | need_lib_prefix=no |
4673 | @@ -3465,7 +3474,7 @@ beos*) |
4674 | |
4675 | bsdi[[45]]*) |
4676 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' |
4677 | - lt_cv_file_magic_cmd='/usr/bin/file -L' |
4678 | + lt_cv_file_magic_cmd='$FILECMD -L' |
4679 | lt_cv_file_magic_test_file=/shlib/libc.so |
4680 | ;; |
4681 | |
4682 | @@ -3499,14 +3508,14 @@ darwin* | rhapsody*) |
4683 | lt_cv_deplibs_check_method=pass_all |
4684 | ;; |
4685 | |
4686 | -freebsd* | dragonfly*) |
4687 | +freebsd* | dragonfly* | midnightbsd*) |
4688 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
4689 | case $host_cpu in |
4690 | i*86 ) |
4691 | # Not sure whether the presence of OpenBSD here was a mistake. |
4692 | # Let's accept both of them until this is cleared up. |
4693 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' |
4694 | - lt_cv_file_magic_cmd=/usr/bin/file |
4695 | + lt_cv_file_magic_cmd=$FILECMD |
4696 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` |
4697 | ;; |
4698 | esac |
4699 | @@ -3520,7 +3529,7 @@ haiku*) |
4700 | ;; |
4701 | |
4702 | hpux10.20* | hpux11*) |
4703 | - lt_cv_file_magic_cmd=/usr/bin/file |
4704 | + lt_cv_file_magic_cmd=$FILECMD |
4705 | case $host_cpu in |
4706 | ia64*) |
4707 | lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' |
4708 | @@ -3557,7 +3566,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) |
4709 | lt_cv_deplibs_check_method=pass_all |
4710 | ;; |
4711 | |
4712 | -netbsd* | netbsdelf*-gnu) |
4713 | +netbsd*) |
4714 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
4715 | lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' |
4716 | else |
4717 | @@ -3567,7 +3576,7 @@ netbsd* | netbsdelf*-gnu) |
4718 | |
4719 | newos6*) |
4720 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' |
4721 | - lt_cv_file_magic_cmd=/usr/bin/file |
4722 | + lt_cv_file_magic_cmd=$FILECMD |
4723 | lt_cv_file_magic_test_file=/usr/lib/libnls.so |
4724 | ;; |
4725 | |
4726 | @@ -3694,13 +3703,13 @@ else |
4727 | mingw*) lt_bad_file=conftest.nm/nofile ;; |
4728 | *) lt_bad_file=/dev/null ;; |
4729 | esac |
4730 | - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in |
4731 | + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in |
4732 | *$lt_bad_file* | *'Invalid file or object type'*) |
4733 | lt_cv_path_NM="$tmp_nm -B" |
4734 | break 2 |
4735 | ;; |
4736 | *) |
4737 | - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in |
4738 | + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in |
4739 | */dev/null*) |
4740 | lt_cv_path_NM="$tmp_nm -p" |
4741 | break 2 |
4742 | @@ -3726,7 +3735,7 @@ else |
4743 | # Let the user override the test. |
4744 | else |
4745 | AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) |
4746 | - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in |
4747 | + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in |
4748 | *COFF*) |
4749 | DUMPBIN="$DUMPBIN -symbols -headers" |
4750 | ;; |
4751 | @@ -3966,7 +3975,7 @@ esac |
4752 | |
4753 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
4754 | # Gets list of data symbols to import. |
4755 | - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" |
4756 | + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" |
4757 | # Adjust the below global symbol transforms to fixup imported variables. |
4758 | lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" |
4759 | lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" |
4760 | @@ -3984,20 +3993,20 @@ fi |
4761 | # Transform an extracted symbol line into a proper C declaration. |
4762 | # Some systems (esp. on ia64) link data and code symbols differently, |
4763 | # so use this general approach. |
4764 | -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ |
4765 | +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ |
4766 | $lt_cdecl_hook\ |
4767 | " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ |
4768 | " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" |
4769 | |
4770 | # Transform an extracted symbol line into symbol name and symbol address |
4771 | -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ |
4772 | +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ |
4773 | $lt_c_name_hook\ |
4774 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
4775 | " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" |
4776 | |
4777 | # Transform an extracted symbol line into symbol name with lib prefix and |
4778 | # symbol address. |
4779 | -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ |
4780 | +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ |
4781 | $lt_c_name_lib_hook\ |
4782 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
4783 | " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ |
4784 | @@ -4021,7 +4030,7 @@ for ac_symprfx in "" "_"; do |
4785 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
4786 | # Fake it for dumpbin and say T for any non-static function, |
4787 | # D for any global variable and I for any imported variable. |
4788 | - # Also find C++ and __fastcall symbols from MSVC++, |
4789 | + # Also find C++ and __fastcall symbols from MSVC++ or ICC, |
4790 | # which start with @ or ?. |
4791 | lt_cv_sys_global_symbol_pipe="$AWK ['"\ |
4792 | " {last_section=section; section=\$ 3};"\ |
4793 | @@ -4039,9 +4048,9 @@ for ac_symprfx in "" "_"; do |
4794 | " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ |
4795 | " ' prfx=^$ac_symprfx]" |
4796 | else |
4797 | - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
4798 | + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
4799 | fi |
4800 | - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" |
4801 | + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" |
4802 | |
4803 | # Check to see that the pipe works correctly. |
4804 | pipe_works=no |
4805 | @@ -4063,8 +4072,7 @@ _LT_EOF |
4806 | if AC_TRY_EVAL(ac_compile); then |
4807 | # Now try to grab the symbols. |
4808 | nlist=conftest.nm |
4809 | - $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD |
4810 | - if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then |
4811 | + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then |
4812 | # Try sorting and uniquifying the output. |
4813 | if sort "$nlist" | uniq > "$nlist"T; then |
4814 | mv -f "$nlist"T "$nlist" |
4815 | @@ -4329,7 +4337,7 @@ m4_if([$1], [CXX], [ |
4816 | ;; |
4817 | esac |
4818 | ;; |
4819 | - freebsd* | dragonfly*) |
4820 | + freebsd* | dragonfly* | midnightbsd*) |
4821 | # FreeBSD uses GNU C++ |
4822 | ;; |
4823 | hpux9* | hpux10* | hpux11*) |
4824 | @@ -4412,7 +4420,7 @@ m4_if([$1], [CXX], [ |
4825 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' |
4826 | ;; |
4827 | *) |
4828 | - case `$CC -V 2>&1 | sed 5q` in |
4829 | + case `$CC -V 2>&1 | $SED 5q` in |
4830 | *Sun\ C*) |
4831 | # Sun C++ 5.9 |
4832 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' |
4833 | @@ -4436,7 +4444,7 @@ m4_if([$1], [CXX], [ |
4834 | ;; |
4835 | esac |
4836 | ;; |
4837 | - netbsd* | netbsdelf*-gnu) |
4838 | + netbsd*) |
4839 | ;; |
4840 | *qnx* | *nto*) |
4841 | # QNX uses GNU C++, but need to define -shared option too, otherwise |
4842 | @@ -4704,12 +4712,6 @@ m4_if([$1], [CXX], [ |
4843 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' |
4844 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' |
4845 | ;; |
4846 | - # flang / f18. f95 an alias for gfortran or flang on Debian |
4847 | - flang* | f18* | f95*) |
4848 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' |
4849 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' |
4850 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' |
4851 | - ;; |
4852 | # icc used to be incompatible with GCC. |
4853 | # ICC 10 doesn't accept -KPIC any more. |
4854 | icc* | ifort*) |
4855 | @@ -4754,7 +4756,7 @@ m4_if([$1], [CXX], [ |
4856 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' |
4857 | ;; |
4858 | *) |
4859 | - case `$CC -V 2>&1 | sed 5q` in |
4860 | + case `$CC -V 2>&1 | $SED 5q` in |
4861 | *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) |
4862 | # Sun Fortran 8.3 passes all unrecognized flags to the linker |
4863 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' |
4864 | @@ -4937,7 +4939,7 @@ m4_if([$1], [CXX], [ |
4865 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then |
4866 | _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' |
4867 | else |
4868 | - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' |
4869 | + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' |
4870 | fi |
4871 | ;; |
4872 | pw32*) |
4873 | @@ -4945,7 +4947,7 @@ m4_if([$1], [CXX], [ |
4874 | ;; |
4875 | cygwin* | mingw* | cegcc*) |
4876 | case $cc_basename in |
4877 | - cl*) |
4878 | + cl* | icl*) |
4879 | _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' |
4880 | ;; |
4881 | *) |
4882 | @@ -4954,9 +4956,6 @@ m4_if([$1], [CXX], [ |
4883 | ;; |
4884 | esac |
4885 | ;; |
4886 | - linux* | k*bsd*-gnu | gnu*) |
4887 | - _LT_TAGVAR(link_all_deplibs, $1)=no |
4888 | - ;; |
4889 | *) |
4890 | _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' |
4891 | ;; |
4892 | @@ -5005,23 +5004,20 @@ dnl Note also adjust exclude_expsyms for C++ above. |
4893 | |
4894 | case $host_os in |
4895 | cygwin* | mingw* | pw32* | cegcc*) |
4896 | - # FIXME: the MSVC++ port hasn't been tested in a loooong time |
4897 | + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time |
4898 | # When not using gcc, we currently assume that we are using |
4899 | - # Microsoft Visual C++. |
4900 | + # Microsoft Visual C++ or Intel C++ Compiler. |
4901 | if test yes != "$GCC"; then |
4902 | with_gnu_ld=no |
4903 | fi |
4904 | ;; |
4905 | interix*) |
4906 | - # we just hope/assume this is gcc and not c89 (= MSVC++) |
4907 | + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) |
4908 | with_gnu_ld=yes |
4909 | ;; |
4910 | openbsd* | bitrig*) |
4911 | with_gnu_ld=no |
4912 | ;; |
4913 | - linux* | k*bsd*-gnu | gnu*) |
4914 | - _LT_TAGVAR(link_all_deplibs, $1)=no |
4915 | - ;; |
4916 | esac |
4917 | |
4918 | _LT_TAGVAR(ld_shlibs, $1)=yes |
4919 | @@ -5068,7 +5064,7 @@ dnl Note also adjust exclude_expsyms for C++ above. |
4920 | _LT_TAGVAR(whole_archive_flag_spec, $1)= |
4921 | fi |
4922 | supports_anon_versioning=no |
4923 | - case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in |
4924 | + case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in |
4925 | *GNU\ gold*) supports_anon_versioning=yes ;; |
4926 | *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 |
4927 | *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... |
4928 | @@ -5180,6 +5176,7 @@ _LT_EOF |
4929 | emximp -o $lib $output_objdir/$libname.def' |
4930 | _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' |
4931 | _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes |
4932 | + _LT_TAGVAR(file_list_spec, $1)='@' |
4933 | ;; |
4934 | |
4935 | interix[[3-9]]*) |
4936 | @@ -5194,7 +5191,7 @@ _LT_EOF |
4937 | # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link |
4938 | # time. Moving up from 0x10000000 also allows more sbrk(2) space. |
4939 | _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' |
4940 | - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' |
4941 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' |
4942 | ;; |
4943 | |
4944 | gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) |
4945 | @@ -5237,7 +5234,7 @@ _LT_EOF |
4946 | _LT_TAGVAR(compiler_needs_object, $1)=yes |
4947 | ;; |
4948 | esac |
4949 | - case `$CC -V 2>&1 | sed 5q` in |
4950 | + case `$CC -V 2>&1 | $SED 5q` in |
4951 | *Sun\ C*) # Sun C 5.9 |
4952 | _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' |
4953 | _LT_TAGVAR(compiler_needs_object, $1)=yes |
4954 | @@ -5249,7 +5246,7 @@ _LT_EOF |
4955 | |
4956 | if test yes = "$supports_anon_versioning"; then |
4957 | _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ |
4958 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
4959 | + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
4960 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
4961 | $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' |
4962 | fi |
4963 | @@ -5265,7 +5262,7 @@ _LT_EOF |
4964 | _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' |
4965 | if test yes = "$supports_anon_versioning"; then |
4966 | _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ |
4967 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
4968 | + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
4969 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
4970 | $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' |
4971 | fi |
4972 | @@ -5276,7 +5273,7 @@ _LT_EOF |
4973 | fi |
4974 | ;; |
4975 | |
4976 | - netbsd* | netbsdelf*-gnu) |
4977 | + netbsd*) |
4978 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then |
4979 | _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' |
4980 | wlarc= |
4981 | @@ -5397,7 +5394,7 @@ _LT_EOF |
4982 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then |
4983 | _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' |
4984 | else |
4985 | - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' |
4986 | + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' |
4987 | fi |
4988 | aix_use_runtimelinking=no |
4989 | |
4990 | @@ -5580,12 +5577,12 @@ _LT_EOF |
4991 | |
4992 | cygwin* | mingw* | pw32* | cegcc*) |
4993 | # When not using gcc, we currently assume that we are using |
4994 | - # Microsoft Visual C++. |
4995 | + # Microsoft Visual C++ or Intel C++ Compiler. |
4996 | # hardcode_libdir_flag_spec is actually meaningless, as there is |
4997 | # no search path for DLLs. |
4998 | case $cc_basename in |
4999 | - cl*) |
5000 | - # Native MSVC |
The diff has been truncated for viewing.
I downloaded the detached signature via https, and imported the signing gpg key. The key verified both the current tarball 2.6.9, as well as the new one 2.6.10.
I also checked that the commit updating the version to 2.6.10 matches the downloaded 2.6.10 tarball.
No worrying upstream changes in 2.6.10 for us, or that would impact our delta.
+1