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 | 1 | OpenVPN (TM) -- An Open Source VPN daemon | 1 | OpenVPN (TM) -- An Open Source VPN daemon |
7 | 2 | 2 | ||
9 | 3 | Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 3 | Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
10 | 4 | 4 | ||
11 | 5 | This distribution contains multiple components, some | 5 | This distribution contains multiple components, some |
12 | 6 | of which fall under different licenses. By using OpenVPN | 6 | 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 | 1 | OpenVPN ChangeLog | 1 | OpenVPN ChangeLog |
20 | 2 | Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 2 | Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
21 | 3 | |||
22 | 4 | 2024.03.20 -- Version 2.6.10 | ||
23 | 5 | |||
24 | 6 | Christoph Schug (1): | ||
25 | 7 | Update documentation references in systemd unit files | ||
26 | 8 | |||
27 | 9 | Frank Lichtenheld (6): | ||
28 | 10 | Fix typo --data-cipher-fallback | ||
29 | 11 | samples: Remove tls-*.conf | ||
30 | 12 | check_compression_settings_valid: Do not test for LZ4 in LZO check | ||
31 | 13 | t_client.sh: Allow to skip tests | ||
32 | 14 | Update Copyright statements to 2024 | ||
33 | 15 | GHA: general update March 2024 | ||
34 | 16 | |||
35 | 17 | Lev Stipakov (4): | ||
36 | 18 | win32: Enforce loading of plugins from a trusted directory | ||
37 | 19 | interactive.c: disable remote access to the service pipe | ||
38 | 20 | interactive.c: Fix potential stack overflow issue | ||
39 | 21 | Disable DCO if proxy is set via management | ||
40 | 22 | |||
41 | 23 | Martin Rys (1): | ||
42 | 24 | openvpn-[client|server].service: Remove syslog.target | ||
43 | 25 | |||
44 | 26 | Max Fillinger (1): | ||
45 | 27 | Remove license warning from README.mbedtls | ||
46 | 28 | |||
47 | 29 | Selva Nair (1): | ||
48 | 30 | Document that auth-user-pass may be inlined | ||
49 | 31 | |||
50 | 32 | wellweek (1): | ||
51 | 33 | remove repetitive words in documentation and comments | ||
52 | 34 | |||
53 | 3 | 35 | ||
54 | 4 | 2024.02.11 -- Version 2.6.9 | 36 | 2024.02.11 -- Version 2.6.9 |
55 | 5 | 37 | ||
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 | 1 | Overview of changes in 2.6.10 | ||
62 | 2 | ============================= | ||
63 | 3 | Security fixes | ||
64 | 4 | -------------- | ||
65 | 5 | - CVE-2024-27459: Windows: fix a possible stack overflow in the | ||
66 | 6 | interactive service component which might lead to a local privilege | ||
67 | 7 | escalation. | ||
68 | 8 | Reported-by: Vladimir Tokarev <vtokarev@microsoft.com> | ||
69 | 9 | |||
70 | 10 | - CVE-2024-24974: Windows: disallow access to the interactive service | ||
71 | 11 | pipe from remote computers. | ||
72 | 12 | Reported-by: Vladimir Tokarev <vtokarev@microsoft.com> | ||
73 | 13 | |||
74 | 14 | - CVE-2024-27903: Windows: disallow loading of plugins from untrusted | ||
75 | 15 | installation paths, which could be used to attack openvpn.exe via | ||
76 | 16 | a malicious plugin. Plugins can now only be loaded from the OpenVPN | ||
77 | 17 | install directory, the Windows system directory, and possibly from | ||
78 | 18 | a directory specified by HKLM\SOFTWARE\OpenVPN\plugin_dir. | ||
79 | 19 | Reported-by: Vladimir Tokarev <vtokarev@microsoft.com> | ||
80 | 20 | |||
81 | 21 | Bug fixes | ||
82 | 22 | --------- | ||
83 | 23 | - Windows: if the win-dco driver is used (default) and the GUI requests | ||
84 | 24 | use of a proxy server, the connection would fail. Disable DCO in | ||
85 | 25 | this case. (Github: #522) | ||
86 | 26 | |||
87 | 27 | - Compression: minor bugfix in checking option consistency vs. compiled-in | ||
88 | 28 | algorithm support | ||
89 | 29 | |||
90 | 30 | - systemd unit files: remove obsolete syslog.target | ||
91 | 31 | |||
92 | 32 | User visible changes | ||
93 | 33 | -------------------- | ||
94 | 34 | - Update copyright notices to 2024 | ||
95 | 35 | |||
96 | 36 | New features | ||
97 | 37 | ------------ | ||
98 | 38 | - t_client.sh can now run pre-tests and skip a test block if needed | ||
99 | 39 | (e.g. skip NTLM proxy tests if SSL library does not support MD4) | ||
100 | 40 | |||
101 | 41 | Documentation | ||
102 | 42 | ------------- | ||
103 | 43 | - remove license warnings about mbedTLS linking (README.mbedtls) | ||
104 | 44 | |||
105 | 45 | - update documentation references in systemd unit files | ||
106 | 46 | |||
107 | 47 | - sample config files: remove obsolete tls-*.conf files | ||
108 | 48 | |||
109 | 49 | - document that auth-user-pass may be inlined | ||
110 | 50 | |||
111 | 51 | |||
112 | 1 | Overview of changes in 2.6.9 | 52 | Overview of changes in 2.6.9 |
113 | 2 | ============================ | 53 | ============================ |
114 | 3 | 54 | ||
115 | @@ -1453,7 +1504,7 @@ Control channel encryption (``--tls-crypt``) | |||
116 | 1453 | Asynchronous push reply | 1504 | Asynchronous push reply |
117 | 1454 | Plug-ins providing support for deferred authentication can benefit from a more | 1505 | Plug-ins providing support for deferred authentication can benefit from a more |
118 | 1455 | responsive authentication where the server sends PUSH_REPLY immediately once | 1506 | responsive authentication where the server sends PUSH_REPLY immediately once |
120 | 1456 | the authentication result is ready, instead of waiting for the the client to | 1507 | the authentication result is ready, instead of waiting for the client to |
121 | 1457 | to send PUSH_REQUEST once more. This requires OpenVPN to be built with | 1508 | to send PUSH_REQUEST once more. This requires OpenVPN to be built with |
122 | 1458 | ``./configure --enable-async-push``. This is a compile-time only switch. | 1509 | ``./configure --enable-async-push``. This is a compile-time only switch. |
123 | 1459 | 1510 | ||
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 | 5 | # packet encryption, packet authentication, and | 5 | # packet encryption, packet authentication, and |
130 | 6 | # packet compression. | 6 | # packet compression. |
131 | 7 | # | 7 | # |
134 | 8 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 8 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
135 | 9 | # Copyright (C) 2010-2023 David Sommerseth <dazo@eurephia.org> | 9 | # Copyright (C) 2010-2024 David Sommerseth <dazo@eurephia.org> |
136 | 10 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 10 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
137 | 11 | # | 11 | # |
138 | 12 | # This program is free software; you can redistribute it and/or modify | 12 | # 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 | 21 | # packet encryption, packet authentication, and | 21 | # packet encryption, packet authentication, and |
145 | 22 | # packet compression. | 22 | # packet compression. |
146 | 23 | # | 23 | # |
149 | 24 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 24 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
150 | 25 | # Copyright (C) 2010-2023 David Sommerseth <dazo@eurephia.org> | 25 | # Copyright (C) 2010-2024 David Sommerseth <dazo@eurephia.org> |
151 | 26 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 26 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
152 | 27 | # | 27 | # |
153 | 28 | # This program is free software; you can redistribute it and/or modify | 28 | # This program is free software; you can redistribute it and/or modify |
154 | @@ -296,6 +296,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ | |||
155 | 296 | ETAGS = @ETAGS@ | 296 | ETAGS = @ETAGS@ |
156 | 297 | EXEEXT = @EXEEXT@ | 297 | EXEEXT = @EXEEXT@ |
157 | 298 | FGREP = @FGREP@ | 298 | FGREP = @FGREP@ |
158 | 299 | FILECMD = @FILECMD@ | ||
159 | 299 | GIT = @GIT@ | 300 | GIT = @GIT@ |
160 | 300 | GREP = @GREP@ | 301 | GREP = @GREP@ |
161 | 301 | IFCONFIG = @IFCONFIG@ | 302 | 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 | 1 | OpenVPN | 1 | OpenVPN |
169 | 2 | Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 2 | Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
170 | 3 | 3 | ||
171 | 4 | OpenVPN has been written to try to avoid features | 4 | OpenVPN has been written to try to avoid features |
172 | 5 | that are not standardized well across different | 5 | 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 | 11 | 11 | ||
179 | 12 | ************************************************************************* | 12 | ************************************************************************* |
180 | 13 | 13 | ||
181 | 14 | Warning: | ||
182 | 15 | |||
183 | 16 | As of mbed TLS 2.17, it can be licensed *only* under the Apache v2.0 license. | ||
184 | 17 | That license is incompatible with OpenVPN's GPLv2. | ||
185 | 18 | |||
186 | 19 | We are currently in the process of resolving this problem, but for now, if you | ||
187 | 20 | wish to distribute OpenVPN linked with mbed TLS, there are two options: | ||
188 | 21 | |||
189 | 22 | * Ensure that your case falls under the system library exception in GPLv2, or | ||
190 | 23 | |||
191 | 24 | * Use an earlier version of mbed TLS. Version 2.16.12 is the last release | ||
192 | 25 | that may be licensed under GPLv2. Unfortunately, this version is | ||
193 | 26 | unsupported and won't receive any more updates. | ||
194 | 27 | |||
195 | 28 | ************************************************************************* | ||
196 | 29 | |||
197 | 30 | Due to limitations in the mbed TLS library, the following features are missing | 14 | Due to limitations in the mbed TLS library, the following features are missing |
198 | 31 | in the mbed TLS version of OpenVPN: | 15 | in the mbed TLS version of OpenVPN: |
199 | 32 | 16 | ||
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 | 168 | ETAGS = @ETAGS@ | 168 | ETAGS = @ETAGS@ |
206 | 169 | EXEEXT = @EXEEXT@ | 169 | EXEEXT = @EXEEXT@ |
207 | 170 | FGREP = @FGREP@ | 170 | FGREP = @FGREP@ |
208 | 171 | FILECMD = @FILECMD@ | ||
209 | 171 | GIT = @GIT@ | 172 | GIT = @GIT@ |
210 | 172 | GREP = @GREP@ | 173 | GREP = @GREP@ |
211 | 173 | IFCONFIG = @IFCONFIG@ | 174 | 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 | 1 | #! /bin/sh | 1 | #! /bin/sh |
218 | 2 | # Attempt to guess a canonical system name. | 2 | # Attempt to guess a canonical system name. |
220 | 3 | # Copyright 1992-2022 Free Software Foundation, Inc. | 3 | # Copyright 1992-2021 Free Software Foundation, Inc. |
221 | 4 | 4 | ||
222 | 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale | 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale |
223 | 6 | 6 | ||
225 | 7 | timestamp='2022-01-09' | 7 | timestamp='2021-06-03' |
226 | 8 | 8 | ||
227 | 9 | # This file is free software; you can redistribute it and/or modify it | 9 | # This file is free software; you can redistribute it and/or modify it |
228 | 10 | # under the terms of the GNU General Public License as published by | 10 | # under the terms of the GNU General Public License as published by |
230 | 11 | # the Free Software Foundation, either version 3 of the License, or | 11 | # the Free Software Foundation; either version 3 of the License, or |
231 | 12 | # (at your option) any later version. | 12 | # (at your option) any later version. |
232 | 13 | # | 13 | # |
233 | 14 | # This program is distributed in the hope that it will be useful, but | 14 | # This program is distributed in the hope that it will be useful, but |
234 | @@ -60,7 +60,7 @@ version="\ | |||
235 | 60 | GNU config.guess ($timestamp) | 60 | GNU config.guess ($timestamp) |
236 | 61 | 61 | ||
237 | 62 | Originally written by Per Bothner. | 62 | Originally written by Per Bothner. |
239 | 63 | Copyright 1992-2022 Free Software Foundation, Inc. | 63 | Copyright 1992-2021 Free Software Foundation, Inc. |
240 | 64 | 64 | ||
241 | 65 | This is free software; see the source for copying conditions. There is NO | 65 | This is free software; see the source for copying conditions. There is NO |
242 | 66 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 66 | 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 | 437 | # This test works for both compilers. | 437 | # This test works for both compilers. |
245 | 438 | if test "$CC_FOR_BUILD" != no_compiler_found; then | 438 | if test "$CC_FOR_BUILD" != no_compiler_found; then |
246 | 439 | if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ | 439 | if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ |
248 | 440 | (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ | 440 | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ |
249 | 441 | grep IS_64BIT_ARCH >/dev/null | 441 | grep IS_64BIT_ARCH >/dev/null |
250 | 442 | then | 442 | then |
251 | 443 | SUN_ARCH=x86_64 | 443 | SUN_ARCH=x86_64 |
252 | @@ -929,9 +929,6 @@ EOF | |||
253 | 929 | i*:PW*:*) | 929 | i*:PW*:*) |
254 | 930 | GUESS=$UNAME_MACHINE-pc-pw32 | 930 | GUESS=$UNAME_MACHINE-pc-pw32 |
255 | 931 | ;; | 931 | ;; |
256 | 932 | *:SerenityOS:*:*) | ||
257 | 933 | GUESS=$UNAME_MACHINE-pc-serenity | ||
258 | 934 | ;; | ||
259 | 935 | *:Interix*:*) | 932 | *:Interix*:*) |
260 | 936 | case $UNAME_MACHINE in | 933 | case $UNAME_MACHINE in |
261 | 937 | x86) | 934 | x86) |
262 | @@ -1525,9 +1522,6 @@ EOF | |||
263 | 1525 | i*86:rdos:*:*) | 1522 | i*86:rdos:*:*) |
264 | 1526 | GUESS=$UNAME_MACHINE-pc-rdos | 1523 | GUESS=$UNAME_MACHINE-pc-rdos |
265 | 1527 | ;; | 1524 | ;; |
266 | 1528 | i*86:Fiwix:*:*) | ||
267 | 1529 | GUESS=$UNAME_MACHINE-pc-fiwix | ||
268 | 1530 | ;; | ||
269 | 1531 | *:AROS:*:*) | 1525 | *:AROS:*:*) |
270 | 1532 | GUESS=$UNAME_MACHINE-unknown-aros | 1526 | GUESS=$UNAME_MACHINE-unknown-aros |
271 | 1533 | ;; | 1527 | ;; |
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 | 1 | #! /bin/sh | 1 | #! /bin/sh |
278 | 2 | # Configuration validation subroutine script. | 2 | # Configuration validation subroutine script. |
280 | 3 | # Copyright 1992-2022 Free Software Foundation, Inc. | 3 | # Copyright 1992-2021 Free Software Foundation, Inc. |
281 | 4 | 4 | ||
282 | 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale | 5 | # shellcheck disable=SC2006,SC2268 # see below for rationale |
283 | 6 | 6 | ||
285 | 7 | timestamp='2022-01-03' | 7 | timestamp='2021-08-14' |
286 | 8 | 8 | ||
287 | 9 | # This file is free software; you can redistribute it and/or modify it | 9 | # This file is free software; you can redistribute it and/or modify it |
288 | 10 | # under the terms of the GNU General Public License as published by | 10 | # under the terms of the GNU General Public License as published by |
290 | 11 | # the Free Software Foundation, either version 3 of the License, or | 11 | # the Free Software Foundation; either version 3 of the License, or |
291 | 12 | # (at your option) any later version. | 12 | # (at your option) any later version. |
292 | 13 | # | 13 | # |
293 | 14 | # This program is distributed in the hope that it will be useful, but | 14 | # 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 | 76 | version="\ | 76 | version="\ |
296 | 77 | GNU config.sub ($timestamp) | 77 | GNU config.sub ($timestamp) |
297 | 78 | 78 | ||
299 | 79 | Copyright 1992-2022 Free Software Foundation, Inc. | 79 | Copyright 1992-2021 Free Software Foundation, Inc. |
300 | 80 | 80 | ||
301 | 81 | This is free software; see the source for copying conditions. There is NO | 81 | This is free software; see the source for copying conditions. There is NO |
302 | 82 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 82 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
303 | @@ -1020,11 +1020,6 @@ case $cpu-$vendor in | |||
304 | 1020 | ;; | 1020 | ;; |
305 | 1021 | 1021 | ||
306 | 1022 | # Here we normalize CPU types with a missing or matching vendor | 1022 | # Here we normalize CPU types with a missing or matching vendor |
307 | 1023 | armh-unknown | armh-alt) | ||
308 | 1024 | cpu=armv7l | ||
309 | 1025 | vendor=alt | ||
310 | 1026 | basic_os=${basic_os:-linux-gnueabihf} | ||
311 | 1027 | ;; | ||
312 | 1028 | dpx20-unknown | dpx20-bull) | 1023 | dpx20-unknown | dpx20-bull) |
313 | 1029 | cpu=rs6000 | 1024 | cpu=rs6000 |
314 | 1030 | vendor=bull | 1025 | vendor=bull |
315 | @@ -1126,7 +1121,7 @@ case $cpu-$vendor in | |||
316 | 1126 | xscale-* | xscalee[bl]-*) | 1121 | xscale-* | xscalee[bl]-*) |
317 | 1127 | cpu=`echo "$cpu" | sed 's/^xscale/arm/'` | 1122 | cpu=`echo "$cpu" | sed 's/^xscale/arm/'` |
318 | 1128 | ;; | 1123 | ;; |
320 | 1129 | arm64-* | aarch64le-*) | 1124 | arm64-*) |
321 | 1130 | cpu=aarch64 | 1125 | cpu=aarch64 |
322 | 1131 | ;; | 1126 | ;; |
323 | 1132 | 1127 | ||
324 | @@ -1309,7 +1304,7 @@ esac | |||
325 | 1309 | if test x$basic_os != x | 1304 | if test x$basic_os != x |
326 | 1310 | then | 1305 | then |
327 | 1311 | 1306 | ||
329 | 1312 | # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just | 1307 | # First recognize some ad-hoc caes, or perhaps split kernel-os, or else just |
330 | 1313 | # set os. | 1308 | # set os. |
331 | 1314 | case $basic_os in | 1309 | case $basic_os in |
332 | 1315 | gnu/linux*) | 1310 | gnu/linux*) |
333 | @@ -1753,8 +1748,7 @@ case $os in | |||
334 | 1753 | | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | 1748 | | skyos* | haiku* | rdos* | toppers* | drops* | es* \ |
335 | 1754 | | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | 1749 | | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ |
336 | 1755 | | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | 1750 | | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ |
339 | 1756 | | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ | 1751 | | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) |
338 | 1757 | | fiwix* ) | ||
340 | 1758 | ;; | 1752 | ;; |
341 | 1759 | # This one is extra strict with allowed versions | 1753 | # This one is extra strict with allowed versions |
342 | 1760 | sco3.2v2 | sco3.2v[4-9]* | sco5v6*) | 1754 | 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 | 1 | #! /bin/sh | 1 | #! /bin/sh |
349 | 2 | # Guess values for system-dependent variables and create Makefiles. | 2 | # Guess values for system-dependent variables and create Makefiles. |
351 | 3 | # Generated by GNU Autoconf 2.71 for OpenVPN 2.6.9. | 3 | # Generated by GNU Autoconf 2.71 for OpenVPN 2.6.10. |
352 | 4 | # | 4 | # |
353 | 5 | # Report bugs to <openvpn-users@lists.sourceforge.net>. | 5 | # Report bugs to <openvpn-users@lists.sourceforge.net>. |
354 | 6 | # | 6 | # |
355 | @@ -621,8 +621,8 @@ MAKEFLAGS= | |||
356 | 621 | # Identity of this package. | 621 | # Identity of this package. |
357 | 622 | PACKAGE_NAME='OpenVPN' | 622 | PACKAGE_NAME='OpenVPN' |
358 | 623 | PACKAGE_TARNAME='openvpn' | 623 | PACKAGE_TARNAME='openvpn' |
361 | 624 | PACKAGE_VERSION='2.6.9' | 624 | PACKAGE_VERSION='2.6.10' |
362 | 625 | PACKAGE_STRING='OpenVPN 2.6.9' | 625 | PACKAGE_STRING='OpenVPN 2.6.10' |
363 | 626 | PACKAGE_BUGREPORT='openvpn-users@lists.sourceforge.net' | 626 | PACKAGE_BUGREPORT='openvpn-users@lists.sourceforge.net' |
364 | 627 | PACKAGE_URL='' | 627 | PACKAGE_URL='' |
365 | 628 | 628 | ||
366 | @@ -747,6 +747,7 @@ MANIFEST_TOOL | |||
367 | 747 | RANLIB | 747 | RANLIB |
368 | 748 | ac_ct_AR | 748 | ac_ct_AR |
369 | 749 | AR | 749 | AR |
370 | 750 | FILECMD | ||
371 | 750 | NM | 751 | NM |
372 | 751 | ac_ct_DUMPBIN | 752 | ac_ct_DUMPBIN |
373 | 752 | DUMPBIN | 753 | DUMPBIN |
374 | @@ -1522,7 +1523,7 @@ if test "$ac_init_help" = "long"; then | |||
375 | 1522 | # Omit some internal or obsolete options to make the list less imposing. | 1523 | # Omit some internal or obsolete options to make the list less imposing. |
376 | 1523 | # This message is too long to be a string in the A/UX 3.1 sh. | 1524 | # This message is too long to be a string in the A/UX 3.1 sh. |
377 | 1524 | cat <<_ACEOF | 1525 | cat <<_ACEOF |
379 | 1525 | \`configure' configures OpenVPN 2.6.9 to adapt to many kinds of systems. | 1526 | \`configure' configures OpenVPN 2.6.10 to adapt to many kinds of systems. |
380 | 1526 | 1527 | ||
381 | 1527 | Usage: $0 [OPTION]... [VAR=VALUE]... | 1528 | Usage: $0 [OPTION]... [VAR=VALUE]... |
382 | 1528 | 1529 | ||
383 | @@ -1593,7 +1594,7 @@ fi | |||
384 | 1593 | 1594 | ||
385 | 1594 | if test -n "$ac_init_help"; then | 1595 | if test -n "$ac_init_help"; then |
386 | 1595 | case $ac_init_help in | 1596 | case $ac_init_help in |
388 | 1596 | short | recursive ) echo "Configuration of OpenVPN 2.6.9:";; | 1597 | short | recursive ) echo "Configuration of OpenVPN 2.6.10:";; |
389 | 1597 | esac | 1598 | esac |
390 | 1598 | cat <<\_ACEOF | 1599 | cat <<\_ACEOF |
391 | 1599 | 1600 | ||
392 | @@ -1830,7 +1831,7 @@ fi | |||
393 | 1830 | test -n "$ac_init_help" && exit $ac_status | 1831 | test -n "$ac_init_help" && exit $ac_status |
394 | 1831 | if $ac_init_version; then | 1832 | if $ac_init_version; then |
395 | 1832 | cat <<\_ACEOF | 1833 | cat <<\_ACEOF |
397 | 1833 | OpenVPN configure 2.6.9 | 1834 | OpenVPN configure 2.6.10 |
398 | 1834 | generated by GNU Autoconf 2.71 | 1835 | generated by GNU Autoconf 2.71 |
399 | 1835 | 1836 | ||
400 | 1836 | Copyright (C) 2021 Free Software Foundation, Inc. | 1837 | Copyright (C) 2021 Free Software Foundation, Inc. |
401 | @@ -2487,7 +2488,7 @@ cat >config.log <<_ACEOF | |||
402 | 2487 | This file contains any messages produced by compilers while | 2488 | This file contains any messages produced by compilers while |
403 | 2488 | running configure, to aid debugging if configure makes a mistake. | 2489 | running configure, to aid debugging if configure makes a mistake. |
404 | 2489 | 2490 | ||
406 | 2490 | It was created by OpenVPN $as_me 2.6.9, which was | 2491 | It was created by OpenVPN $as_me 2.6.10, which was |
407 | 2491 | generated by GNU Autoconf 2.71. Invocation command line was | 2492 | generated by GNU Autoconf 2.71. Invocation command line was |
408 | 2492 | 2493 | ||
409 | 2493 | $ $0$ac_configure_args_raw | 2494 | $ $0$ac_configure_args_raw |
410 | @@ -3273,7 +3274,7 @@ OPENVPN_VERSION_MAJOR=2 | |||
411 | 3273 | 3274 | ||
412 | 3274 | OPENVPN_VERSION_MINOR=6 | 3275 | OPENVPN_VERSION_MINOR=6 |
413 | 3275 | 3276 | ||
415 | 3276 | OPENVPN_VERSION_PATCH=.9 | 3277 | OPENVPN_VERSION_PATCH=.10 |
416 | 3277 | 3278 | ||
417 | 3278 | 3279 | ||
418 | 3279 | printf "%s\n" "#define OPENVPN_VERSION_MAJOR 2" >>confdefs.h | 3280 | 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 | 3282 | printf "%s\n" "#define OPENVPN_VERSION_MINOR 6" >>confdefs.h | 3283 | printf "%s\n" "#define OPENVPN_VERSION_MINOR 6" >>confdefs.h |
421 | 3283 | 3284 | ||
422 | 3284 | 3285 | ||
424 | 3285 | printf "%s\n" "#define OPENVPN_VERSION_PATCH \".9\"" >>confdefs.h | 3286 | printf "%s\n" "#define OPENVPN_VERSION_PATCH \".10\"" >>confdefs.h |
425 | 3286 | 3287 | ||
426 | 3287 | 3288 | ||
427 | 3288 | 3289 | ||
428 | @@ -3811,7 +3812,7 @@ fi | |||
429 | 3811 | 3812 | ||
430 | 3812 | # Define the identity of the package. | 3813 | # Define the identity of the package. |
431 | 3813 | PACKAGE='openvpn' | 3814 | PACKAGE='openvpn' |
433 | 3814 | VERSION='2.6.9' | 3815 | VERSION='2.6.10' |
434 | 3815 | 3816 | ||
435 | 3816 | 3817 | ||
436 | 3817 | printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h | 3818 | printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h |
437 | @@ -6712,8 +6713,8 @@ esac | |||
438 | 6712 | 6713 | ||
439 | 6713 | 6714 | ||
440 | 6714 | 6715 | ||
443 | 6715 | macro_version='2.4.6' | 6716 | macro_version='2.4.7' |
444 | 6716 | macro_revision='2.4.6' | 6717 | macro_revision='2.4.7' |
445 | 6717 | 6718 | ||
446 | 6718 | 6719 | ||
447 | 6719 | 6720 | ||
448 | @@ -7266,13 +7267,13 @@ else | |||
449 | 7266 | mingw*) lt_bad_file=conftest.nm/nofile ;; | 7267 | mingw*) lt_bad_file=conftest.nm/nofile ;; |
450 | 7267 | *) lt_bad_file=/dev/null ;; | 7268 | *) lt_bad_file=/dev/null ;; |
451 | 7268 | esac | 7269 | esac |
453 | 7269 | case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in | 7270 | case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in |
454 | 7270 | *$lt_bad_file* | *'Invalid file or object type'*) | 7271 | *$lt_bad_file* | *'Invalid file or object type'*) |
455 | 7271 | lt_cv_path_NM="$tmp_nm -B" | 7272 | lt_cv_path_NM="$tmp_nm -B" |
456 | 7272 | break 2 | 7273 | break 2 |
457 | 7273 | ;; | 7274 | ;; |
458 | 7274 | *) | 7275 | *) |
460 | 7275 | case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in | 7276 | case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in |
461 | 7276 | */dev/null*) | 7277 | */dev/null*) |
462 | 7277 | lt_cv_path_NM="$tmp_nm -p" | 7278 | lt_cv_path_NM="$tmp_nm -p" |
463 | 7278 | break 2 | 7279 | break 2 |
464 | @@ -7410,7 +7411,7 @@ esac | |||
465 | 7410 | fi | 7411 | fi |
466 | 7411 | fi | 7412 | fi |
467 | 7412 | 7413 | ||
469 | 7413 | case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in | 7414 | case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in |
470 | 7414 | *COFF*) | 7415 | *COFF*) |
471 | 7415 | DUMPBIN="$DUMPBIN -symbols -headers" | 7416 | DUMPBIN="$DUMPBIN -symbols -headers" |
472 | 7416 | ;; | 7417 | ;; |
473 | @@ -7503,7 +7504,7 @@ else $as_nop | |||
474 | 7503 | lt_cv_sys_max_cmd_len=8192; | 7504 | lt_cv_sys_max_cmd_len=8192; |
475 | 7504 | ;; | 7505 | ;; |
476 | 7505 | 7506 | ||
478 | 7506 | bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) | 7507 | bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) |
479 | 7507 | # This has been around since 386BSD, at least. Likely further. | 7508 | # This has been around since 386BSD, at least. Likely further. |
480 | 7508 | if test -x /sbin/sysctl; then | 7509 | if test -x /sbin/sysctl; then |
481 | 7509 | lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` | 7510 | lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` |
482 | @@ -7546,7 +7547,7 @@ else $as_nop | |||
483 | 7546 | sysv5* | sco5v6* | sysv4.2uw2*) | 7547 | sysv5* | sco5v6* | sysv4.2uw2*) |
484 | 7547 | kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` | 7548 | kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` |
485 | 7548 | if test -n "$kargmax"; then | 7549 | if test -n "$kargmax"; then |
487 | 7549 | lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` | 7550 | lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` |
488 | 7550 | else | 7551 | else |
489 | 7551 | lt_cv_sys_max_cmd_len=32768 | 7552 | lt_cv_sys_max_cmd_len=32768 |
490 | 7552 | fi | 7553 | fi |
491 | @@ -7752,6 +7753,114 @@ esac | |||
492 | 7752 | 7753 | ||
493 | 7753 | 7754 | ||
494 | 7754 | if test -n "$ac_tool_prefix"; then | 7755 | if test -n "$ac_tool_prefix"; then |
495 | 7756 | # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. | ||
496 | 7757 | set dummy ${ac_tool_prefix}file; ac_word=$2 | ||
497 | 7758 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
498 | 7759 | printf %s "checking for $ac_word... " >&6; } | ||
499 | 7760 | if test ${ac_cv_prog_FILECMD+y} | ||
500 | 7761 | then : | ||
501 | 7762 | printf %s "(cached) " >&6 | ||
502 | 7763 | else $as_nop | ||
503 | 7764 | if test -n "$FILECMD"; then | ||
504 | 7765 | ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. | ||
505 | 7766 | else | ||
506 | 7767 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
507 | 7768 | for as_dir in $PATH | ||
508 | 7769 | do | ||
509 | 7770 | IFS=$as_save_IFS | ||
510 | 7771 | case $as_dir in #((( | ||
511 | 7772 | '') as_dir=./ ;; | ||
512 | 7773 | */) ;; | ||
513 | 7774 | *) as_dir=$as_dir/ ;; | ||
514 | 7775 | esac | ||
515 | 7776 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
516 | 7777 | if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then | ||
517 | 7778 | ac_cv_prog_FILECMD="${ac_tool_prefix}file" | ||
518 | 7779 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 | ||
519 | 7780 | break 2 | ||
520 | 7781 | fi | ||
521 | 7782 | done | ||
522 | 7783 | done | ||
523 | 7784 | IFS=$as_save_IFS | ||
524 | 7785 | |||
525 | 7786 | fi | ||
526 | 7787 | fi | ||
527 | 7788 | FILECMD=$ac_cv_prog_FILECMD | ||
528 | 7789 | if test -n "$FILECMD"; then | ||
529 | 7790 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 | ||
530 | 7791 | printf "%s\n" "$FILECMD" >&6; } | ||
531 | 7792 | else | ||
532 | 7793 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
533 | 7794 | printf "%s\n" "no" >&6; } | ||
534 | 7795 | fi | ||
535 | 7796 | |||
536 | 7797 | |||
537 | 7798 | fi | ||
538 | 7799 | if test -z "$ac_cv_prog_FILECMD"; then | ||
539 | 7800 | ac_ct_FILECMD=$FILECMD | ||
540 | 7801 | # Extract the first word of "file", so it can be a program name with args. | ||
541 | 7802 | set dummy file; ac_word=$2 | ||
542 | 7803 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
543 | 7804 | printf %s "checking for $ac_word... " >&6; } | ||
544 | 7805 | if test ${ac_cv_prog_ac_ct_FILECMD+y} | ||
545 | 7806 | then : | ||
546 | 7807 | printf %s "(cached) " >&6 | ||
547 | 7808 | else $as_nop | ||
548 | 7809 | if test -n "$ac_ct_FILECMD"; then | ||
549 | 7810 | ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. | ||
550 | 7811 | else | ||
551 | 7812 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
552 | 7813 | for as_dir in $PATH | ||
553 | 7814 | do | ||
554 | 7815 | IFS=$as_save_IFS | ||
555 | 7816 | case $as_dir in #((( | ||
556 | 7817 | '') as_dir=./ ;; | ||
557 | 7818 | */) ;; | ||
558 | 7819 | *) as_dir=$as_dir/ ;; | ||
559 | 7820 | esac | ||
560 | 7821 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
561 | 7822 | if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then | ||
562 | 7823 | ac_cv_prog_ac_ct_FILECMD="file" | ||
563 | 7824 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 | ||
564 | 7825 | break 2 | ||
565 | 7826 | fi | ||
566 | 7827 | done | ||
567 | 7828 | done | ||
568 | 7829 | IFS=$as_save_IFS | ||
569 | 7830 | |||
570 | 7831 | fi | ||
571 | 7832 | fi | ||
572 | 7833 | ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD | ||
573 | 7834 | if test -n "$ac_ct_FILECMD"; then | ||
574 | 7835 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 | ||
575 | 7836 | printf "%s\n" "$ac_ct_FILECMD" >&6; } | ||
576 | 7837 | else | ||
577 | 7838 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
578 | 7839 | printf "%s\n" "no" >&6; } | ||
579 | 7840 | fi | ||
580 | 7841 | |||
581 | 7842 | if test "x$ac_ct_FILECMD" = x; then | ||
582 | 7843 | FILECMD=":" | ||
583 | 7844 | else | ||
584 | 7845 | case $cross_compiling:$ac_tool_warned in | ||
585 | 7846 | yes:) | ||
586 | 7847 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
587 | 7848 | printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
588 | 7849 | ac_tool_warned=yes ;; | ||
589 | 7850 | esac | ||
590 | 7851 | FILECMD=$ac_ct_FILECMD | ||
591 | 7852 | fi | ||
592 | 7853 | else | ||
593 | 7854 | FILECMD="$ac_cv_prog_FILECMD" | ||
594 | 7855 | fi | ||
595 | 7856 | |||
596 | 7857 | |||
597 | 7858 | |||
598 | 7859 | |||
599 | 7860 | |||
600 | 7861 | |||
601 | 7862 | |||
602 | 7863 | if test -n "$ac_tool_prefix"; then | ||
603 | 7755 | # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. | 7864 | # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. |
604 | 7756 | set dummy ${ac_tool_prefix}objdump; ac_word=$2 | 7865 | set dummy ${ac_tool_prefix}objdump; ac_word=$2 |
605 | 7757 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | 7866 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 |
606 | @@ -7891,7 +8000,7 @@ beos*) | |||
607 | 7891 | 8000 | ||
608 | 7892 | bsdi[45]*) | 8001 | bsdi[45]*) |
609 | 7893 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' | 8002 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' |
611 | 7894 | lt_cv_file_magic_cmd='/usr/bin/file -L' | 8003 | lt_cv_file_magic_cmd='$FILECMD -L' |
612 | 7895 | lt_cv_file_magic_test_file=/shlib/libc.so | 8004 | lt_cv_file_magic_test_file=/shlib/libc.so |
613 | 7896 | ;; | 8005 | ;; |
614 | 7897 | 8006 | ||
615 | @@ -7925,14 +8034,14 @@ darwin* | rhapsody*) | |||
616 | 7925 | lt_cv_deplibs_check_method=pass_all | 8034 | lt_cv_deplibs_check_method=pass_all |
617 | 7926 | ;; | 8035 | ;; |
618 | 7927 | 8036 | ||
620 | 7928 | freebsd* | dragonfly*) | 8037 | freebsd* | dragonfly* | midnightbsd*) |
621 | 7929 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | 8038 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
622 | 7930 | case $host_cpu in | 8039 | case $host_cpu in |
623 | 7931 | i*86 ) | 8040 | i*86 ) |
624 | 7932 | # Not sure whether the presence of OpenBSD here was a mistake. | 8041 | # Not sure whether the presence of OpenBSD here was a mistake. |
625 | 7933 | # Let's accept both of them until this is cleared up. | 8042 | # Let's accept both of them until this is cleared up. |
626 | 7934 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' | 8043 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' |
628 | 7935 | lt_cv_file_magic_cmd=/usr/bin/file | 8044 | lt_cv_file_magic_cmd=$FILECMD |
629 | 7936 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | 8045 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` |
630 | 7937 | ;; | 8046 | ;; |
631 | 7938 | esac | 8047 | esac |
632 | @@ -7946,7 +8055,7 @@ haiku*) | |||
633 | 7946 | ;; | 8055 | ;; |
634 | 7947 | 8056 | ||
635 | 7948 | hpux10.20* | hpux11*) | 8057 | hpux10.20* | hpux11*) |
637 | 7949 | lt_cv_file_magic_cmd=/usr/bin/file | 8058 | lt_cv_file_magic_cmd=$FILECMD |
638 | 7950 | case $host_cpu in | 8059 | case $host_cpu in |
639 | 7951 | ia64*) | 8060 | ia64*) |
640 | 7952 | lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' | 8061 | 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 | 7983 | lt_cv_deplibs_check_method=pass_all | 8092 | lt_cv_deplibs_check_method=pass_all |
643 | 7984 | ;; | 8093 | ;; |
644 | 7985 | 8094 | ||
646 | 7986 | netbsd* | netbsdelf*-gnu) | 8095 | netbsd*) |
647 | 7987 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | 8096 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
648 | 7988 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' | 8097 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' |
649 | 7989 | else | 8098 | else |
650 | @@ -7993,7 +8102,7 @@ netbsd* | netbsdelf*-gnu) | |||
651 | 7993 | 8102 | ||
652 | 7994 | newos6*) | 8103 | newos6*) |
653 | 7995 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' | 8104 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' |
655 | 7996 | lt_cv_file_magic_cmd=/usr/bin/file | 8105 | lt_cv_file_magic_cmd=$FILECMD |
656 | 7997 | lt_cv_file_magic_test_file=/usr/lib/libnls.so | 8106 | lt_cv_file_magic_test_file=/usr/lib/libnls.so |
657 | 7998 | ;; | 8107 | ;; |
658 | 7999 | 8108 | ||
659 | @@ -8363,13 +8472,29 @@ esac | |||
660 | 8363 | fi | 8472 | fi |
661 | 8364 | 8473 | ||
662 | 8365 | : ${AR=ar} | 8474 | : ${AR=ar} |
663 | 8366 | : ${AR_FLAGS=cr} | ||
664 | 8367 | 8475 | ||
665 | 8368 | 8476 | ||
666 | 8369 | 8477 | ||
667 | 8370 | 8478 | ||
668 | 8371 | 8479 | ||
669 | 8372 | 8480 | ||
670 | 8481 | # Use ARFLAGS variable as AR's operation code to sync the variable naming with | ||
671 | 8482 | # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have | ||
672 | 8483 | # higher priority because thats what people were doing historically (setting | ||
673 | 8484 | # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS | ||
674 | 8485 | # variable obsoleted/removed. | ||
675 | 8486 | |||
676 | 8487 | test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} | ||
677 | 8488 | lt_ar_flags=$AR_FLAGS | ||
678 | 8489 | |||
679 | 8490 | |||
680 | 8491 | |||
681 | 8492 | |||
682 | 8493 | |||
683 | 8494 | |||
684 | 8495 | # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override | ||
685 | 8496 | # by AR_FLAGS because that was never working and AR_FLAGS is about to die. | ||
686 | 8497 | |||
687 | 8373 | 8498 | ||
688 | 8374 | 8499 | ||
689 | 8375 | 8500 | ||
690 | @@ -8786,7 +8911,7 @@ esac | |||
691 | 8786 | 8911 | ||
692 | 8787 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then | 8912 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
693 | 8788 | # Gets list of data symbols to import. | 8913 | # Gets list of data symbols to import. |
695 | 8789 | lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" | 8914 | lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" |
696 | 8790 | # Adjust the below global symbol transforms to fixup imported variables. | 8915 | # Adjust the below global symbol transforms to fixup imported variables. |
697 | 8791 | lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" | 8916 | lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" |
698 | 8792 | lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" | 8917 | lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" |
699 | @@ -8804,20 +8929,20 @@ fi | |||
700 | 8804 | # Transform an extracted symbol line into a proper C declaration. | 8929 | # Transform an extracted symbol line into a proper C declaration. |
701 | 8805 | # Some systems (esp. on ia64) link data and code symbols differently, | 8930 | # Some systems (esp. on ia64) link data and code symbols differently, |
702 | 8806 | # so use this general approach. | 8931 | # so use this general approach. |
704 | 8807 | lt_cv_sys_global_symbol_to_cdecl="sed -n"\ | 8932 | lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ |
705 | 8808 | $lt_cdecl_hook\ | 8933 | $lt_cdecl_hook\ |
706 | 8809 | " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ | 8934 | " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ |
707 | 8810 | " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" | 8935 | " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" |
708 | 8811 | 8936 | ||
709 | 8812 | # Transform an extracted symbol line into symbol name and symbol address | 8937 | # Transform an extracted symbol line into symbol name and symbol address |
711 | 8813 | lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ | 8938 | lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ |
712 | 8814 | $lt_c_name_hook\ | 8939 | $lt_c_name_hook\ |
713 | 8815 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ | 8940 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
714 | 8816 | " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" | 8941 | " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" |
715 | 8817 | 8942 | ||
716 | 8818 | # Transform an extracted symbol line into symbol name with lib prefix and | 8943 | # Transform an extracted symbol line into symbol name with lib prefix and |
717 | 8819 | # symbol address. | 8944 | # symbol address. |
719 | 8820 | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ | 8945 | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ |
720 | 8821 | $lt_c_name_lib_hook\ | 8946 | $lt_c_name_lib_hook\ |
721 | 8822 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ | 8947 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
722 | 8823 | " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ | 8948 | " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ |
723 | @@ -8841,7 +8966,7 @@ for ac_symprfx in "" "_"; do | |||
724 | 8841 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then | 8966 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
725 | 8842 | # Fake it for dumpbin and say T for any non-static function, | 8967 | # Fake it for dumpbin and say T for any non-static function, |
726 | 8843 | # D for any global variable and I for any imported variable. | 8968 | # D for any global variable and I for any imported variable. |
728 | 8844 | # Also find C++ and __fastcall symbols from MSVC++, | 8969 | # Also find C++ and __fastcall symbols from MSVC++ or ICC, |
729 | 8845 | # which start with @ or ?. | 8970 | # which start with @ or ?. |
730 | 8846 | lt_cv_sys_global_symbol_pipe="$AWK '"\ | 8971 | lt_cv_sys_global_symbol_pipe="$AWK '"\ |
731 | 8847 | " {last_section=section; section=\$ 3};"\ | 8972 | " {last_section=section; section=\$ 3};"\ |
732 | @@ -8859,9 +8984,9 @@ for ac_symprfx in "" "_"; do | |||
733 | 8859 | " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ | 8984 | " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ |
734 | 8860 | " ' prfx=^$ac_symprfx" | 8985 | " ' prfx=^$ac_symprfx" |
735 | 8861 | else | 8986 | else |
737 | 8862 | lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" | 8987 | lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
738 | 8863 | fi | 8988 | fi |
740 | 8864 | lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" | 8989 | lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" |
741 | 8865 | 8990 | ||
742 | 8866 | # Check to see that the pipe works correctly. | 8991 | # Check to see that the pipe works correctly. |
743 | 8867 | pipe_works=no | 8992 | pipe_works=no |
744 | @@ -8887,8 +9012,11 @@ _LT_EOF | |||
745 | 8887 | test $ac_status = 0; }; then | 9012 | test $ac_status = 0; }; then |
746 | 8888 | # Now try to grab the symbols. | 9013 | # Now try to grab the symbols. |
747 | 8889 | nlist=conftest.nm | 9014 | nlist=conftest.nm |
750 | 8890 | $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 | 9015 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 |
751 | 8891 | if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then | 9016 | (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 |
752 | 9017 | ac_status=$? | ||
753 | 9018 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
754 | 9019 | test $ac_status = 0; } && test -s "$nlist"; then | ||
755 | 8892 | # Try sorting and uniquifying the output. | 9020 | # Try sorting and uniquifying the output. |
756 | 8893 | if sort "$nlist" | uniq > "$nlist"T; then | 9021 | if sort "$nlist" | uniq > "$nlist"T; then |
757 | 8894 | mv -f "$nlist"T "$nlist" | 9022 | mv -f "$nlist"T "$nlist" |
758 | @@ -9061,7 +9189,7 @@ case $with_sysroot in #( | |||
759 | 9061 | fi | 9189 | fi |
760 | 9062 | ;; #( | 9190 | ;; #( |
761 | 9063 | /*) | 9191 | /*) |
763 | 9064 | lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` | 9192 | lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` |
764 | 9065 | ;; #( | 9193 | ;; #( |
765 | 9066 | no|'') | 9194 | no|'') |
766 | 9067 | ;; #( | 9195 | ;; #( |
767 | @@ -9186,7 +9314,7 @@ ia64-*-hpux*) | |||
768 | 9186 | ac_status=$? | 9314 | ac_status=$? |
769 | 9187 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 9315 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
770 | 9188 | test $ac_status = 0; }; then | 9316 | test $ac_status = 0; }; then |
772 | 9189 | case `/usr/bin/file conftest.$ac_objext` in | 9317 | case `$FILECMD conftest.$ac_objext` in |
773 | 9190 | *ELF-32*) | 9318 | *ELF-32*) |
774 | 9191 | HPUX_IA64_MODE=32 | 9319 | HPUX_IA64_MODE=32 |
775 | 9192 | ;; | 9320 | ;; |
776 | @@ -9207,7 +9335,7 @@ ia64-*-hpux*) | |||
777 | 9207 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 9335 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
778 | 9208 | test $ac_status = 0; }; then | 9336 | test $ac_status = 0; }; then |
779 | 9209 | if test yes = "$lt_cv_prog_gnu_ld"; then | 9337 | if test yes = "$lt_cv_prog_gnu_ld"; then |
781 | 9210 | case `/usr/bin/file conftest.$ac_objext` in | 9338 | case `$FILECMD conftest.$ac_objext` in |
782 | 9211 | *32-bit*) | 9339 | *32-bit*) |
783 | 9212 | LD="${LD-ld} -melf32bsmip" | 9340 | LD="${LD-ld} -melf32bsmip" |
784 | 9213 | ;; | 9341 | ;; |
785 | @@ -9219,7 +9347,7 @@ ia64-*-hpux*) | |||
786 | 9219 | ;; | 9347 | ;; |
787 | 9220 | esac | 9348 | esac |
788 | 9221 | else | 9349 | else |
790 | 9222 | case `/usr/bin/file conftest.$ac_objext` in | 9350 | case `$FILECMD conftest.$ac_objext` in |
791 | 9223 | *32-bit*) | 9351 | *32-bit*) |
792 | 9224 | LD="${LD-ld} -32" | 9352 | LD="${LD-ld} -32" |
793 | 9225 | ;; | 9353 | ;; |
794 | @@ -9245,7 +9373,7 @@ mips64*-*linux*) | |||
795 | 9245 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 9373 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
796 | 9246 | test $ac_status = 0; }; then | 9374 | test $ac_status = 0; }; then |
797 | 9247 | emul=elf | 9375 | emul=elf |
799 | 9248 | case `/usr/bin/file conftest.$ac_objext` in | 9376 | case `$FILECMD conftest.$ac_objext` in |
800 | 9249 | *32-bit*) | 9377 | *32-bit*) |
801 | 9250 | emul="${emul}32" | 9378 | emul="${emul}32" |
802 | 9251 | ;; | 9379 | ;; |
803 | @@ -9253,7 +9381,7 @@ mips64*-*linux*) | |||
804 | 9253 | emul="${emul}64" | 9381 | emul="${emul}64" |
805 | 9254 | ;; | 9382 | ;; |
806 | 9255 | esac | 9383 | esac |
808 | 9256 | case `/usr/bin/file conftest.$ac_objext` in | 9384 | case `$FILECMD conftest.$ac_objext` in |
809 | 9257 | *MSB*) | 9385 | *MSB*) |
810 | 9258 | emul="${emul}btsmip" | 9386 | emul="${emul}btsmip" |
811 | 9259 | ;; | 9387 | ;; |
812 | @@ -9261,7 +9389,7 @@ mips64*-*linux*) | |||
813 | 9261 | emul="${emul}ltsmip" | 9389 | emul="${emul}ltsmip" |
814 | 9262 | ;; | 9390 | ;; |
815 | 9263 | esac | 9391 | esac |
817 | 9264 | case `/usr/bin/file conftest.$ac_objext` in | 9392 | case `$FILECMD conftest.$ac_objext` in |
818 | 9265 | *N32*) | 9393 | *N32*) |
819 | 9266 | emul="${emul}n32" | 9394 | emul="${emul}n32" |
820 | 9267 | ;; | 9395 | ;; |
821 | @@ -9285,14 +9413,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | |||
822 | 9285 | ac_status=$? | 9413 | ac_status=$? |
823 | 9286 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 9414 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
824 | 9287 | test $ac_status = 0; }; then | 9415 | test $ac_status = 0; }; then |
826 | 9288 | case `/usr/bin/file conftest.o` in | 9416 | case `$FILECMD conftest.o` in |
827 | 9289 | *32-bit*) | 9417 | *32-bit*) |
828 | 9290 | case $host in | 9418 | case $host in |
829 | 9291 | x86_64-*kfreebsd*-gnu) | 9419 | x86_64-*kfreebsd*-gnu) |
830 | 9292 | LD="${LD-ld} -m elf_i386_fbsd" | 9420 | LD="${LD-ld} -m elf_i386_fbsd" |
831 | 9293 | ;; | 9421 | ;; |
832 | 9294 | x86_64-*linux*) | 9422 | x86_64-*linux*) |
834 | 9295 | case `/usr/bin/file conftest.o` in | 9423 | case `$FILECMD conftest.o` in |
835 | 9296 | *x86-64*) | 9424 | *x86-64*) |
836 | 9297 | LD="${LD-ld} -m elf32_x86_64" | 9425 | LD="${LD-ld} -m elf32_x86_64" |
837 | 9298 | ;; | 9426 | ;; |
838 | @@ -9400,7 +9528,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } | |||
839 | 9400 | ac_status=$? | 9528 | ac_status=$? |
840 | 9401 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 9529 | printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
841 | 9402 | test $ac_status = 0; }; then | 9530 | test $ac_status = 0; }; then |
843 | 9403 | case `/usr/bin/file conftest.o` in | 9531 | case `$FILECMD conftest.o` in |
844 | 9404 | *64-bit*) | 9532 | *64-bit*) |
845 | 9405 | case $lt_cv_prog_gnu_ld in | 9533 | case $lt_cv_prog_gnu_ld in |
846 | 9406 | yes*) | 9534 | yes*) |
847 | @@ -10183,8 +10311,8 @@ int forced_loaded() { return 2;} | |||
848 | 10183 | _LT_EOF | 10311 | _LT_EOF |
849 | 10184 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 | 10312 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 |
850 | 10185 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 | 10313 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 |
853 | 10186 | echo "$AR cr libconftest.a conftest.o" >&5 | 10314 | echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 |
854 | 10187 | $AR cr libconftest.a conftest.o 2>&5 | 10315 | $AR $AR_FLAGS libconftest.a conftest.o 2>&5 |
855 | 10188 | echo "$RANLIB libconftest.a" >&5 | 10316 | echo "$RANLIB libconftest.a" >&5 |
856 | 10189 | $RANLIB libconftest.a 2>&5 | 10317 | $RANLIB libconftest.a 2>&5 |
857 | 10190 | cat > conftest.c << _LT_EOF | 10318 | cat > conftest.c << _LT_EOF |
858 | @@ -10211,17 +10339,12 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; } | |||
859 | 10211 | _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; | 10339 | _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; |
860 | 10212 | darwin1.*) | 10340 | darwin1.*) |
861 | 10213 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; | 10341 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
873 | 10214 | darwin*) # darwin 5.x on | 10342 | darwin*) |
874 | 10215 | # if running on 10.5 or later, the deployment target defaults | 10343 | case $MACOSX_DEPLOYMENT_TARGET,$host in |
875 | 10216 | # to the OS version, if on x86, and 10.4, the deployment | 10344 | 10.[012],*|,*powerpc*-darwin[5-8]*) |
876 | 10217 | # target defaults to 10.4. Don't you love it? | 10345 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
877 | 10218 | case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in | 10346 | *) |
878 | 10219 | 10.0,*86*-darwin8*|10.0,*-darwin[912]*) | 10347 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
868 | 10220 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; | ||
869 | 10221 | 10.[012][,.]*) | ||
870 | 10222 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; | ||
871 | 10223 | 10.*|11.*) | ||
872 | 10224 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; | ||
879 | 10225 | esac | 10348 | esac |
880 | 10226 | ;; | 10349 | ;; |
881 | 10227 | esac | 10350 | esac |
882 | @@ -10908,8 +11031,8 @@ esac | |||
883 | 10908 | ofile=libtool | 11031 | ofile=libtool |
884 | 10909 | can_build_shared=yes | 11032 | can_build_shared=yes |
885 | 10910 | 11033 | ||
888 | 10911 | # All known linkers require a '.a' archive for static linking (except MSVC, | 11034 | # All known linkers require a '.a' archive for static linking (except MSVC and |
889 | 10912 | # which needs '.lib'). | 11035 | # ICC, which need '.lib'). |
890 | 10913 | libext=a | 11036 | libext=a |
891 | 10914 | 11037 | ||
892 | 10915 | with_gnu_ld=$lt_cv_prog_gnu_ld | 11038 | with_gnu_ld=$lt_cv_prog_gnu_ld |
893 | @@ -11377,12 +11500,6 @@ lt_prog_compiler_static= | |||
894 | 11377 | lt_prog_compiler_pic='-KPIC' | 11500 | lt_prog_compiler_pic='-KPIC' |
895 | 11378 | lt_prog_compiler_static='-static' | 11501 | lt_prog_compiler_static='-static' |
896 | 11379 | ;; | 11502 | ;; |
897 | 11380 | # flang / f18. f95 an alias for gfortran or flang on Debian | ||
898 | 11381 | flang* | f18* | f95*) | ||
899 | 11382 | lt_prog_compiler_wl='-Wl,' | ||
900 | 11383 | lt_prog_compiler_pic='-fPIC' | ||
901 | 11384 | lt_prog_compiler_static='-static' | ||
902 | 11385 | ;; | ||
903 | 11386 | # icc used to be incompatible with GCC. | 11503 | # icc used to be incompatible with GCC. |
904 | 11387 | # ICC 10 doesn't accept -KPIC any more. | 11504 | # ICC 10 doesn't accept -KPIC any more. |
905 | 11388 | icc* | ifort*) | 11505 | icc* | ifort*) |
906 | @@ -11427,7 +11544,7 @@ lt_prog_compiler_static= | |||
907 | 11427 | lt_prog_compiler_static='-qstaticlink' | 11544 | lt_prog_compiler_static='-qstaticlink' |
908 | 11428 | ;; | 11545 | ;; |
909 | 11429 | *) | 11546 | *) |
911 | 11430 | case `$CC -V 2>&1 | sed 5q` in | 11547 | case `$CC -V 2>&1 | $SED 5q` in |
912 | 11431 | *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) | 11548 | *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) |
913 | 11432 | # Sun Fortran 8.3 passes all unrecognized flags to the linker | 11549 | # Sun Fortran 8.3 passes all unrecognized flags to the linker |
914 | 11433 | lt_prog_compiler_pic='-KPIC' | 11550 | lt_prog_compiler_pic='-KPIC' |
915 | @@ -11850,23 +11967,20 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries | |||
916 | 11850 | 11967 | ||
917 | 11851 | case $host_os in | 11968 | case $host_os in |
918 | 11852 | cygwin* | mingw* | pw32* | cegcc*) | 11969 | cygwin* | mingw* | pw32* | cegcc*) |
920 | 11853 | # FIXME: the MSVC++ port hasn't been tested in a loooong time | 11970 | # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time |
921 | 11854 | # When not using gcc, we currently assume that we are using | 11971 | # When not using gcc, we currently assume that we are using |
923 | 11855 | # Microsoft Visual C++. | 11972 | # Microsoft Visual C++ or Intel C++ Compiler. |
924 | 11856 | if test yes != "$GCC"; then | 11973 | if test yes != "$GCC"; then |
925 | 11857 | with_gnu_ld=no | 11974 | with_gnu_ld=no |
926 | 11858 | fi | 11975 | fi |
927 | 11859 | ;; | 11976 | ;; |
928 | 11860 | interix*) | 11977 | interix*) |
930 | 11861 | # we just hope/assume this is gcc and not c89 (= MSVC++) | 11978 | # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) |
931 | 11862 | with_gnu_ld=yes | 11979 | with_gnu_ld=yes |
932 | 11863 | ;; | 11980 | ;; |
933 | 11864 | openbsd* | bitrig*) | 11981 | openbsd* | bitrig*) |
934 | 11865 | with_gnu_ld=no | 11982 | with_gnu_ld=no |
935 | 11866 | ;; | 11983 | ;; |
936 | 11867 | linux* | k*bsd*-gnu | gnu*) | ||
937 | 11868 | link_all_deplibs=no | ||
938 | 11869 | ;; | ||
939 | 11870 | esac | 11984 | esac |
940 | 11871 | 11985 | ||
941 | 11872 | ld_shlibs=yes | 11986 | ld_shlibs=yes |
942 | @@ -11913,7 +12027,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries | |||
943 | 11913 | whole_archive_flag_spec= | 12027 | whole_archive_flag_spec= |
944 | 11914 | fi | 12028 | fi |
945 | 11915 | supports_anon_versioning=no | 12029 | supports_anon_versioning=no |
947 | 11916 | case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in | 12030 | case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in |
948 | 11917 | *GNU\ gold*) supports_anon_versioning=yes ;; | 12031 | *GNU\ gold*) supports_anon_versioning=yes ;; |
949 | 11918 | *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 | 12032 | *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 |
950 | 11919 | *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... | 12033 | *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... |
951 | @@ -12025,6 +12139,7 @@ _LT_EOF | |||
952 | 12025 | emximp -o $lib $output_objdir/$libname.def' | 12139 | emximp -o $lib $output_objdir/$libname.def' |
953 | 12026 | old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' | 12140 | old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' |
954 | 12027 | enable_shared_with_static_runtimes=yes | 12141 | enable_shared_with_static_runtimes=yes |
955 | 12142 | file_list_spec='@' | ||
956 | 12028 | ;; | 12143 | ;; |
957 | 12029 | 12144 | ||
958 | 12030 | interix[3-9]*) | 12145 | interix[3-9]*) |
959 | @@ -12039,7 +12154,7 @@ _LT_EOF | |||
960 | 12039 | # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | 12154 | # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link |
961 | 12040 | # time. Moving up from 0x10000000 also allows more sbrk(2) space. | 12155 | # time. Moving up from 0x10000000 also allows more sbrk(2) space. |
962 | 12041 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' | 12156 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' |
964 | 12042 | 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' | 12157 | 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 | 12043 | ;; | 12158 | ;; |
966 | 12044 | 12159 | ||
967 | 12045 | gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) | 12160 | gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) |
968 | @@ -12082,7 +12197,7 @@ _LT_EOF | |||
969 | 12082 | compiler_needs_object=yes | 12197 | compiler_needs_object=yes |
970 | 12083 | ;; | 12198 | ;; |
971 | 12084 | esac | 12199 | esac |
973 | 12085 | case `$CC -V 2>&1 | sed 5q` in | 12200 | case `$CC -V 2>&1 | $SED 5q` in |
974 | 12086 | *Sun\ C*) # Sun C 5.9 | 12201 | *Sun\ C*) # Sun C 5.9 |
975 | 12087 | 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' | 12202 | 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 | 12088 | compiler_needs_object=yes | 12203 | compiler_needs_object=yes |
977 | @@ -12094,7 +12209,7 @@ _LT_EOF | |||
978 | 12094 | 12209 | ||
979 | 12095 | if test yes = "$supports_anon_versioning"; then | 12210 | if test yes = "$supports_anon_versioning"; then |
980 | 12096 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ | 12211 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ |
982 | 12097 | cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | 12212 | cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
983 | 12098 | echo "local: *; };" >> $output_objdir/$libname.ver~ | 12213 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
984 | 12099 | $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' | 12214 | $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' |
985 | 12100 | fi | 12215 | fi |
986 | @@ -12110,7 +12225,7 @@ _LT_EOF | |||
987 | 12110 | archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' | 12225 | archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' |
988 | 12111 | if test yes = "$supports_anon_versioning"; then | 12226 | if test yes = "$supports_anon_versioning"; then |
989 | 12112 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ | 12227 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ |
991 | 12113 | cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | 12228 | cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
992 | 12114 | echo "local: *; };" >> $output_objdir/$libname.ver~ | 12229 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
993 | 12115 | $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' | 12230 | $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' |
994 | 12116 | fi | 12231 | fi |
995 | @@ -12121,7 +12236,7 @@ _LT_EOF | |||
996 | 12121 | fi | 12236 | fi |
997 | 12122 | ;; | 12237 | ;; |
998 | 12123 | 12238 | ||
1000 | 12124 | netbsd* | netbsdelf*-gnu) | 12239 | netbsd*) |
1001 | 12125 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | 12240 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then |
1002 | 12126 | archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' | 12241 | archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' |
1003 | 12127 | wlarc= | 12242 | wlarc= |
1004 | @@ -12242,7 +12357,7 @@ _LT_EOF | |||
1005 | 12242 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | 12357 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then |
1006 | 12243 | 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' | 12358 | 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 | 12244 | else | 12359 | else |
1009 | 12245 | 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' | 12360 | 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 | 12246 | fi | 12361 | fi |
1011 | 12247 | aix_use_runtimelinking=no | 12362 | aix_use_runtimelinking=no |
1012 | 12248 | 12363 | ||
1013 | @@ -12513,12 +12628,12 @@ fi | |||
1014 | 12513 | 12628 | ||
1015 | 12514 | cygwin* | mingw* | pw32* | cegcc*) | 12629 | cygwin* | mingw* | pw32* | cegcc*) |
1016 | 12515 | # When not using gcc, we currently assume that we are using | 12630 | # When not using gcc, we currently assume that we are using |
1018 | 12516 | # Microsoft Visual C++. | 12631 | # Microsoft Visual C++ or Intel C++ Compiler. |
1019 | 12517 | # hardcode_libdir_flag_spec is actually meaningless, as there is | 12632 | # hardcode_libdir_flag_spec is actually meaningless, as there is |
1020 | 12518 | # no search path for DLLs. | 12633 | # no search path for DLLs. |
1021 | 12519 | case $cc_basename in | 12634 | case $cc_basename in |
1024 | 12520 | cl*) | 12635 | cl* | icl*) |
1025 | 12521 | # Native MSVC | 12636 | # Native MSVC or ICC |
1026 | 12522 | hardcode_libdir_flag_spec=' ' | 12637 | hardcode_libdir_flag_spec=' ' |
1027 | 12523 | allow_undefined_flag=unsupported | 12638 | allow_undefined_flag=unsupported |
1028 | 12524 | always_export_symbols=yes | 12639 | always_export_symbols=yes |
1029 | @@ -12559,7 +12674,7 @@ fi | |||
1030 | 12559 | fi' | 12674 | fi' |
1031 | 12560 | ;; | 12675 | ;; |
1032 | 12561 | *) | 12676 | *) |
1034 | 12562 | # Assume MSVC wrapper | 12677 | # Assume MSVC and ICC wrapper |
1035 | 12563 | hardcode_libdir_flag_spec=' ' | 12678 | hardcode_libdir_flag_spec=' ' |
1036 | 12564 | allow_undefined_flag=unsupported | 12679 | allow_undefined_flag=unsupported |
1037 | 12565 | # Tell ltmain to make .lib files, not .a files. | 12680 | # Tell ltmain to make .lib files, not .a files. |
1038 | @@ -12600,8 +12715,8 @@ fi | |||
1039 | 12600 | output_verbose_link_cmd=func_echo_all | 12715 | output_verbose_link_cmd=func_echo_all |
1040 | 12601 | archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" | 12716 | 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 | 12602 | module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" | 12717 | module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" |
1044 | 12603 | 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" | 12718 | 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 | 12604 | 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" | 12719 | 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 | 12605 | 12720 | ||
1047 | 12606 | else | 12721 | else |
1048 | 12607 | ld_shlibs=no | 12722 | ld_shlibs=no |
1049 | @@ -12635,7 +12750,7 @@ fi | |||
1050 | 12635 | ;; | 12750 | ;; |
1051 | 12636 | 12751 | ||
1052 | 12637 | # FreeBSD 3 and greater uses gcc -shared to do shared libraries. | 12752 | # FreeBSD 3 and greater uses gcc -shared to do shared libraries. |
1054 | 12638 | freebsd* | dragonfly*) | 12753 | freebsd* | dragonfly* | midnightbsd*) |
1055 | 12639 | archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | 12754 | archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' |
1056 | 12640 | hardcode_libdir_flag_spec='-R$libdir' | 12755 | hardcode_libdir_flag_spec='-R$libdir' |
1057 | 12641 | hardcode_direct=yes | 12756 | hardcode_direct=yes |
1058 | @@ -12798,7 +12913,6 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } | |||
1059 | 12798 | if test yes = "$lt_cv_irix_exported_symbol"; then | 12913 | if test yes = "$lt_cv_irix_exported_symbol"; then |
1060 | 12799 | 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' | 12914 | 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 | 12800 | fi | 12915 | fi |
1062 | 12801 | link_all_deplibs=no | ||
1063 | 12802 | else | 12916 | else |
1064 | 12803 | 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' | 12917 | 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 | 12804 | 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' | 12918 | 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 | 12820 | esac | 12934 | esac |
1068 | 12821 | ;; | 12935 | ;; |
1069 | 12822 | 12936 | ||
1071 | 12823 | netbsd* | netbsdelf*-gnu) | 12937 | netbsd*) |
1072 | 12824 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | 12938 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then |
1073 | 12825 | archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out | 12939 | archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out |
1074 | 12826 | else | 12940 | else |
1075 | @@ -12887,6 +13001,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } | |||
1076 | 12887 | emximp -o $lib $output_objdir/$libname.def' | 13001 | emximp -o $lib $output_objdir/$libname.def' |
1077 | 12888 | old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' | 13002 | old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' |
1078 | 12889 | enable_shared_with_static_runtimes=yes | 13003 | enable_shared_with_static_runtimes=yes |
1079 | 13004 | file_list_spec='@' | ||
1080 | 12890 | ;; | 13005 | ;; |
1081 | 12891 | 13006 | ||
1082 | 12892 | osf3*) | 13007 | osf3*) |
1083 | @@ -13579,7 +13694,7 @@ cygwin* | mingw* | pw32* | cegcc*) | |||
1084 | 13579 | case $host_os in | 13694 | case $host_os in |
1085 | 13580 | cygwin*) | 13695 | cygwin*) |
1086 | 13581 | # Cygwin DLLs use 'cyg' prefix rather than 'lib' | 13696 | # Cygwin DLLs use 'cyg' prefix rather than 'lib' |
1088 | 13582 | soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' | 13697 | soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1089 | 13583 | 13698 | ||
1090 | 13584 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" | 13699 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" |
1091 | 13585 | ;; | 13700 | ;; |
1092 | @@ -13589,14 +13704,14 @@ cygwin* | mingw* | pw32* | cegcc*) | |||
1093 | 13589 | ;; | 13704 | ;; |
1094 | 13590 | pw32*) | 13705 | pw32*) |
1095 | 13591 | # pw32 DLLs use 'pw' prefix rather than 'lib' | 13706 | # pw32 DLLs use 'pw' prefix rather than 'lib' |
1097 | 13592 | library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' | 13707 | library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1098 | 13593 | ;; | 13708 | ;; |
1099 | 13594 | esac | 13709 | esac |
1100 | 13595 | dynamic_linker='Win32 ld.exe' | 13710 | dynamic_linker='Win32 ld.exe' |
1101 | 13596 | ;; | 13711 | ;; |
1102 | 13597 | 13712 | ||
1105 | 13598 | *,cl*) | 13713 | *,cl* | *,icl*) |
1106 | 13599 | # Native MSVC | 13714 | # Native MSVC or ICC |
1107 | 13600 | libname_spec='$name' | 13715 | libname_spec='$name' |
1108 | 13601 | soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' | 13716 | soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' |
1109 | 13602 | library_names_spec='$libname.dll.lib' | 13717 | library_names_spec='$libname.dll.lib' |
1110 | @@ -13615,7 +13730,7 @@ cygwin* | mingw* | pw32* | cegcc*) | |||
1111 | 13615 | done | 13730 | done |
1112 | 13616 | IFS=$lt_save_ifs | 13731 | IFS=$lt_save_ifs |
1113 | 13617 | # Convert to MSYS style. | 13732 | # Convert to MSYS style. |
1115 | 13618 | sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` | 13733 | 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 | 13619 | ;; | 13734 | ;; |
1117 | 13620 | cygwin*) | 13735 | cygwin*) |
1118 | 13621 | # Convert to unix form, then to dos form, then back to unix form | 13736 | # Convert to unix form, then to dos form, then back to unix form |
1119 | @@ -13652,7 +13767,7 @@ cygwin* | mingw* | pw32* | cegcc*) | |||
1120 | 13652 | ;; | 13767 | ;; |
1121 | 13653 | 13768 | ||
1122 | 13654 | *) | 13769 | *) |
1124 | 13655 | # Assume MSVC wrapper | 13770 | # Assume MSVC and ICC wrapper |
1125 | 13656 | library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' | 13771 | library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' |
1126 | 13657 | dynamic_linker='Win32 ld.exe' | 13772 | dynamic_linker='Win32 ld.exe' |
1127 | 13658 | ;; | 13773 | ;; |
1128 | @@ -13685,7 +13800,7 @@ dgux*) | |||
1129 | 13685 | shlibpath_var=LD_LIBRARY_PATH | 13800 | shlibpath_var=LD_LIBRARY_PATH |
1130 | 13686 | ;; | 13801 | ;; |
1131 | 13687 | 13802 | ||
1133 | 13688 | freebsd* | dragonfly*) | 13803 | freebsd* | dragonfly* | midnightbsd*) |
1134 | 13689 | # DragonFly does not have aout. When/if they implement a new | 13804 | # DragonFly does not have aout. When/if they implement a new |
1135 | 13690 | # versioning mechanism, adjust this. | 13805 | # versioning mechanism, adjust this. |
1136 | 13691 | if test -x /usr/bin/objformat; then | 13806 | if test -x /usr/bin/objformat; then |
1137 | @@ -13939,18 +14054,6 @@ fi | |||
1138 | 13939 | dynamic_linker='GNU/Linux ld.so' | 14054 | dynamic_linker='GNU/Linux ld.so' |
1139 | 13940 | ;; | 14055 | ;; |
1140 | 13941 | 14056 | ||
1141 | 13942 | netbsdelf*-gnu) | ||
1142 | 13943 | version_type=linux | ||
1143 | 13944 | need_lib_prefix=no | ||
1144 | 13945 | need_version=no | ||
1145 | 13946 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
1146 | 13947 | soname_spec='${libname}${release}${shared_ext}$major' | ||
1147 | 13948 | shlibpath_var=LD_LIBRARY_PATH | ||
1148 | 13949 | shlibpath_overrides_runpath=no | ||
1149 | 13950 | hardcode_into_libs=yes | ||
1150 | 13951 | dynamic_linker='NetBSD ld.elf_so' | ||
1151 | 13952 | ;; | ||
1152 | 13953 | |||
1153 | 13954 | netbsd*) | 14057 | netbsd*) |
1154 | 13955 | version_type=sunos | 14058 | version_type=sunos |
1155 | 13956 | need_lib_prefix=no | 14059 | need_lib_prefix=no |
1156 | @@ -14850,30 +14953,41 @@ striplib= | |||
1157 | 14850 | old_striplib= | 14953 | old_striplib= |
1158 | 14851 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 | 14954 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 |
1159 | 14852 | printf %s "checking whether stripping libraries is possible... " >&6; } | 14955 | printf %s "checking whether stripping libraries is possible... " >&6; } |
1165 | 14853 | if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then | 14956 | if test -z "$STRIP"; then |
1166 | 14854 | test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" | 14957 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1167 | 14855 | test -z "$striplib" && striplib="$STRIP --strip-unneeded" | 14958 | printf "%s\n" "no" >&6; } |
1163 | 14856 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
1164 | 14857 | printf "%s\n" "yes" >&6; } | ||
1168 | 14858 | else | 14959 | else |
1173 | 14859 | # FIXME - insert some real tests, host_os isn't really good enough | 14960 | if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then |
1174 | 14860 | case $host_os in | 14961 | old_striplib="$STRIP --strip-debug" |
1175 | 14861 | darwin*) | 14962 | striplib="$STRIP --strip-unneeded" |
1176 | 14862 | if test -n "$STRIP"; then | 14963 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
1177 | 14964 | printf "%s\n" "yes" >&6; } | ||
1178 | 14965 | else | ||
1179 | 14966 | case $host_os in | ||
1180 | 14967 | darwin*) | ||
1181 | 14968 | # FIXME - insert some real tests, host_os isn't really good enough | ||
1182 | 14863 | striplib="$STRIP -x" | 14969 | striplib="$STRIP -x" |
1183 | 14864 | old_striplib="$STRIP -S" | 14970 | old_striplib="$STRIP -S" |
1184 | 14865 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 14971 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
1185 | 14866 | printf "%s\n" "yes" >&6; } | 14972 | printf "%s\n" "yes" >&6; } |
1188 | 14867 | else | 14973 | ;; |
1189 | 14868 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 14974 | freebsd*) |
1190 | 14975 | if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then | ||
1191 | 14976 | old_striplib="$STRIP --strip-debug" | ||
1192 | 14977 | striplib="$STRIP --strip-unneeded" | ||
1193 | 14978 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
1194 | 14979 | printf "%s\n" "yes" >&6; } | ||
1195 | 14980 | else | ||
1196 | 14981 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
1197 | 14869 | printf "%s\n" "no" >&6; } | 14982 | printf "%s\n" "no" >&6; } |
1202 | 14870 | fi | 14983 | fi |
1203 | 14871 | ;; | 14984 | ;; |
1204 | 14872 | *) | 14985 | *) |
1205 | 14873 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 14986 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
1206 | 14874 | printf "%s\n" "no" >&6; } | 14987 | printf "%s\n" "no" >&6; } |
1209 | 14875 | ;; | 14988 | ;; |
1210 | 14876 | esac | 14989 | esac |
1211 | 14990 | fi | ||
1212 | 14877 | fi | 14991 | fi |
1213 | 14878 | 14992 | ||
1214 | 14879 | 14993 | ||
1215 | @@ -20103,7 +20217,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | |||
1216 | 20103 | # report actual input values of CONFIG_FILES etc. instead of their | 20217 | # report actual input values of CONFIG_FILES etc. instead of their |
1217 | 20104 | # values after options handling. | 20218 | # values after options handling. |
1218 | 20105 | ac_log=" | 20219 | ac_log=" |
1220 | 20106 | This file was extended by OpenVPN $as_me 2.6.9, which was | 20220 | This file was extended by OpenVPN $as_me 2.6.10, which was |
1221 | 20107 | generated by GNU Autoconf 2.71. Invocation command line was | 20221 | generated by GNU Autoconf 2.71. Invocation command line was |
1222 | 20108 | 20222 | ||
1223 | 20109 | CONFIG_FILES = $CONFIG_FILES | 20223 | CONFIG_FILES = $CONFIG_FILES |
1224 | @@ -20171,7 +20285,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ | |||
1225 | 20171 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | 20285 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
1226 | 20172 | ac_cs_config='$ac_cs_config_escaped' | 20286 | ac_cs_config='$ac_cs_config_escaped' |
1227 | 20173 | ac_cs_version="\\ | 20287 | ac_cs_version="\\ |
1229 | 20174 | OpenVPN config.status 2.6.9 | 20288 | OpenVPN config.status 2.6.10 |
1230 | 20175 | configured by $0, generated by GNU Autoconf 2.71, | 20289 | configured by $0, generated by GNU Autoconf 2.71, |
1231 | 20176 | with options \\"\$ac_cs_config\\" | 20290 | with options \\"\$ac_cs_config\\" |
1232 | 20177 | 20291 | ||
1233 | @@ -20337,12 +20451,14 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q | |||
1234 | 20337 | lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' | 20451 | lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' |
1235 | 20338 | reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' | 20452 | reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' |
1236 | 20339 | reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' | 20453 | reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' |
1237 | 20454 | FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' | ||
1238 | 20340 | deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' | 20455 | deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' |
1239 | 20341 | file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' | 20456 | file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' |
1240 | 20342 | file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' | 20457 | file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' |
1241 | 20343 | want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' | 20458 | want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' |
1242 | 20344 | sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' | 20459 | sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' |
1243 | 20345 | AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' | 20460 | AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' |
1244 | 20461 | lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' | ||
1245 | 20346 | AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' | 20462 | AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' |
1246 | 20347 | archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' | 20463 | archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' |
1247 | 20348 | STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' | 20464 | STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' |
1248 | @@ -20508,13 +20624,13 @@ LN_S \ | |||
1249 | 20508 | lt_SP2NL \ | 20624 | lt_SP2NL \ |
1250 | 20509 | lt_NL2SP \ | 20625 | lt_NL2SP \ |
1251 | 20510 | reload_flag \ | 20626 | reload_flag \ |
1252 | 20627 | FILECMD \ | ||
1253 | 20511 | deplibs_check_method \ | 20628 | deplibs_check_method \ |
1254 | 20512 | file_magic_cmd \ | 20629 | file_magic_cmd \ |
1255 | 20513 | file_magic_glob \ | 20630 | file_magic_glob \ |
1256 | 20514 | want_nocaseglob \ | 20631 | want_nocaseglob \ |
1257 | 20515 | sharedlib_from_linklib_cmd \ | 20632 | sharedlib_from_linklib_cmd \ |
1258 | 20516 | AR \ | 20633 | AR \ |
1259 | 20517 | AR_FLAGS \ | ||
1260 | 20518 | archiver_list_spec \ | 20634 | archiver_list_spec \ |
1261 | 20519 | STRIP \ | 20635 | STRIP \ |
1262 | 20520 | RANLIB \ | 20636 | RANLIB \ |
1263 | @@ -21396,6 +21512,7 @@ See \`config.log' for more details" "$LINENO" 5; } | |||
1264 | 21396 | cat <<_LT_EOF >> "$cfgfile" | 21512 | cat <<_LT_EOF >> "$cfgfile" |
1265 | 21397 | #! $SHELL | 21513 | #! $SHELL |
1266 | 21398 | # Generated automatically by $as_me ($PACKAGE) $VERSION | 21514 | # Generated automatically by $as_me ($PACKAGE) $VERSION |
1267 | 21515 | # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
1268 | 21399 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. | 21516 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. |
1269 | 21400 | 21517 | ||
1270 | 21401 | # Provide generalized library-building support services. | 21518 | # Provide generalized library-building support services. |
1271 | @@ -21524,6 +21641,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd | |||
1272 | 21524 | # convert \$build files to toolchain format. | 21641 | # convert \$build files to toolchain format. |
1273 | 21525 | to_tool_file_cmd=$lt_cv_to_tool_file_cmd | 21642 | to_tool_file_cmd=$lt_cv_to_tool_file_cmd |
1274 | 21526 | 21643 | ||
1275 | 21644 | # A file(cmd) program that detects file types. | ||
1276 | 21645 | FILECMD=$lt_FILECMD | ||
1277 | 21646 | |||
1278 | 21527 | # Method to check whether dependent libraries are shared objects. | 21647 | # Method to check whether dependent libraries are shared objects. |
1279 | 21528 | deplibs_check_method=$lt_deplibs_check_method | 21648 | deplibs_check_method=$lt_deplibs_check_method |
1280 | 21529 | 21649 | ||
1281 | @@ -21542,8 +21662,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd | |||
1282 | 21542 | # The archiver. | 21662 | # The archiver. |
1283 | 21543 | AR=$lt_AR | 21663 | AR=$lt_AR |
1284 | 21544 | 21664 | ||
1285 | 21665 | # Flags to create an archive (by configure). | ||
1286 | 21666 | lt_ar_flags=$lt_ar_flags | ||
1287 | 21667 | |||
1288 | 21545 | # Flags to create an archive. | 21668 | # Flags to create an archive. |
1290 | 21546 | AR_FLAGS=$lt_AR_FLAGS | 21669 | AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} |
1291 | 21547 | 21670 | ||
1292 | 21548 | # How to feed a file listing to the archiver. | 21671 | # How to feed a file listing to the archiver. |
1293 | 21549 | archiver_list_spec=$lt_archiver_list_spec | 21672 | archiver_list_spec=$lt_archiver_list_spec |
1294 | @@ -21919,7 +22042,7 @@ ltmain=$ac_aux_dir/ltmain.sh | |||
1295 | 21919 | # if finds mixed CR/LF and LF-only lines. Since sed operates in | 22042 | # if finds mixed CR/LF and LF-only lines. Since sed operates in |
1296 | 21920 | # text mode, it properly converts lines to CR/LF. This bash problem | 22043 | # text mode, it properly converts lines to CR/LF. This bash problem |
1297 | 21921 | # is reportedly fixed, but why not run on old versions too? | 22044 | # is reportedly fixed, but why not run on old versions too? |
1299 | 21922 | sed '$q' "$ltmain" >> "$cfgfile" \ | 22045 | $SED '$q' "$ltmain" >> "$cfgfile" \ |
1300 | 21923 | || (rm -f "$cfgfile"; exit 1) | 22046 | || (rm -f "$cfgfile"; exit 1) |
1301 | 21924 | 22047 | ||
1302 | 21925 | mv -f "$cfgfile" "$ofile" || | 22048 | 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 | 4 | dnl packet encryption, packet authentication, and | 4 | dnl packet encryption, packet authentication, and |
1309 | 5 | dnl packet compression. | 5 | dnl packet compression. |
1310 | 6 | dnl | 6 | dnl |
1312 | 7 | dnl Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 7 | dnl Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1313 | 8 | dnl Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 8 | dnl Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1314 | 9 | dnl | 9 | dnl |
1315 | 10 | dnl This program is free software; you can redistribute it and/or modify | 10 | 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 | 89 | # | 89 | # |
1322 | 90 | # NOTE: It is needed to check the exit code of OpenSSL explicitly. OpenSSL | 90 | # NOTE: It is needed to check the exit code of OpenSSL explicitly. OpenSSL |
1323 | 91 | # can in some circumstances give a "good" result if it could not | 91 | # can in some circumstances give a "good" result if it could not |
1325 | 92 | # reach the the OSCP server. In this case, the exit code will indicate | 92 | # reach the OSCP server. In this case, the exit code will indicate |
1326 | 93 | # if OpenSSL itself failed or not. If OpenSSL's exit code is not 0, | 93 | # if OpenSSL itself failed or not. If OpenSSL's exit code is not 0, |
1327 | 94 | # don't trust the OpenSSL status. | 94 | # don't trust the OpenSSL status. |
1328 | 95 | 95 | ||
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 | 5 | # packet encryption, packet authentication, and | 5 | # packet encryption, packet authentication, and |
1335 | 6 | # packet compression. | 6 | # packet compression. |
1336 | 7 | # | 7 | # |
1338 | 8 | # Copyright (C) 2022-2023 OpenVPN Inc <sales@openvpn.net> | 8 | # Copyright (C) 2022-2024 OpenVPN Inc <sales@openvpn.net> |
1339 | 9 | # Copyright (C) 2022-2022 Lev Stipakov <lev@lestisoftware.fi> | 9 | # Copyright (C) 2022-2022 Lev Stipakov <lev@lestisoftware.fi> |
1340 | 10 | # | 10 | # |
1341 | 11 | # This program is free software; you can redistribute it and/or modify | 11 | # 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 | 5 | # packet encryption, packet authentication, and | 5 | # packet encryption, packet authentication, and |
1348 | 6 | # packet compression. | 6 | # packet compression. |
1349 | 7 | # | 7 | # |
1351 | 8 | # Copyright (C) 2022-2023 OpenVPN Inc <sales@openvpn.net> | 8 | # Copyright (C) 2022-2024 OpenVPN Inc <sales@openvpn.net> |
1352 | 9 | # Copyright (C) 2022-2022 Lev Stipakov <lev@lestisoftware.fi> | 9 | # Copyright (C) 2022-2022 Lev Stipakov <lev@lestisoftware.fi> |
1353 | 10 | # | 10 | # |
1354 | 11 | # This program is free software; you can redistribute it and/or modify | 11 | # 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 | 1 | openvpn (2.6.10-0ubuntu1) oracular; urgency=medium | ||
1361 | 2 | |||
1362 | 3 | * New upstream version 2.6.10 (LP: #2064436) | ||
1363 | 4 | - Updates: | ||
1364 | 5 | + t_client.sh can now run pre-tests and skip a test block if needed. | ||
1365 | 6 | + Remove license warnings about mbedTLS linking. | ||
1366 | 7 | + Update documentation references in systemd unit files. | ||
1367 | 8 | + Remove obsolete tls-*.conf sample files. | ||
1368 | 9 | + document that auth-user-pass may be inlined. | ||
1369 | 10 | - Bug fixes: | ||
1370 | 11 | + Fix checking option consistency for compiled-in compression algorithm | ||
1371 | 12 | support. | ||
1372 | 13 | + Remove obsolete syslog.target in systemd unit files. | ||
1373 | 14 | + Additional Windows bug fixes. | ||
1374 | 15 | - See https://community.openvpn.net/openvpn/wiki/ChangesInOpenvpn26 for | ||
1375 | 16 | additional bug fixes and information. | ||
1376 | 17 | * d/p/systemd.patch: Remove - Fixed upstream | ||
1377 | 18 | |||
1378 | 19 | -- Lena Voytek <lena.voytek@canonical.com> Wed, 01 May 2024 10:02:39 -0700 | ||
1379 | 20 | |||
1380 | 1 | openvpn (2.6.9-1ubuntu4) noble; urgency=high | 21 | openvpn (2.6.9-1ubuntu4) noble; urgency=high |
1381 | 2 | 22 | ||
1382 | 3 | * No change rebuild against libssl3t64. | 23 | * 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 | 2 | auth-pam_libpam_so_filename.patch | 2 | auth-pam_libpam_so_filename.patch |
1389 | 3 | #debian_nogroup_for_sample_files.patch | 3 | #debian_nogroup_for_sample_files.patch |
1390 | 4 | openvpn-pkcs11warn.patch | 4 | openvpn-pkcs11warn.patch |
1391 | 5 | systemd.patch | ||
1392 | diff --git a/debian/patches/systemd.patch b/debian/patches/systemd.patch | |||
1393 | 6 | deleted file mode 100644 | 5 | deleted file mode 100644 |
1394 | index ccbecfd..0000000 | |||
1395 | --- a/debian/patches/systemd.patch | |||
1396 | +++ /dev/null | |||
1397 | @@ -1,29 +0,0 @@ | |||
1398 | 1 | Description: remove syslog.target | ||
1399 | 2 | Author: Jörg Frings-Fürst <debian@jff.email> | ||
1400 | 3 | Last-Update: 2018-07-29 | ||
1401 | 4 | --- | ||
1402 | 5 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ | ||
1403 | 6 | Index: trunk/distro/systemd/openvpn-client@.service.in | ||
1404 | 7 | =================================================================== | ||
1405 | 8 | --- trunk.orig/distro/systemd/openvpn-client@.service.in | ||
1406 | 9 | +++ trunk/distro/systemd/openvpn-client@.service.in | ||
1407 | 10 | @@ -1,6 +1,6 @@ | ||
1408 | 11 | [Unit] | ||
1409 | 12 | Description=OpenVPN tunnel for %I | ||
1410 | 13 | -After=syslog.target network-online.target | ||
1411 | 14 | +After=network-online.target | ||
1412 | 15 | Wants=network-online.target | ||
1413 | 16 | Documentation=man:openvpn(8) | ||
1414 | 17 | Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage | ||
1415 | 18 | Index: trunk/distro/systemd/openvpn-server@.service.in | ||
1416 | 19 | =================================================================== | ||
1417 | 20 | --- trunk.orig/distro/systemd/openvpn-server@.service.in | ||
1418 | 21 | +++ trunk/distro/systemd/openvpn-server@.service.in | ||
1419 | 22 | @@ -1,6 +1,6 @@ | ||
1420 | 23 | [Unit] | ||
1421 | 24 | Description=OpenVPN service for %I | ||
1422 | 25 | -After=syslog.target network-online.target | ||
1423 | 26 | +After=network-online.target | ||
1424 | 27 | Wants=network-online.target | ||
1425 | 28 | Documentation=man:openvpn(8) | ||
1426 | 29 | 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 | 5 | # packet encryption, packet authentication, and | 5 | # packet encryption, packet authentication, and |
1433 | 6 | # packet compression. | 6 | # packet compression. |
1434 | 7 | # | 7 | # |
1436 | 8 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 8 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1437 | 9 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 9 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1438 | 10 | # | 10 | # |
1439 | 11 | 11 | ||
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 | 21 | # packet encryption, packet authentication, and | 21 | # packet encryption, packet authentication, and |
1446 | 22 | # packet compression. | 22 | # packet compression. |
1447 | 23 | # | 23 | # |
1449 | 24 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 24 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1450 | 25 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 25 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1451 | 26 | # | 26 | # |
1452 | 27 | VPATH = @srcdir@ | 27 | VPATH = @srcdir@ |
1453 | @@ -227,6 +227,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ | |||
1454 | 227 | ETAGS = @ETAGS@ | 227 | ETAGS = @ETAGS@ |
1455 | 228 | EXEEXT = @EXEEXT@ | 228 | EXEEXT = @EXEEXT@ |
1456 | 229 | FGREP = @FGREP@ | 229 | FGREP = @FGREP@ |
1457 | 230 | FILECMD = @FILECMD@ | ||
1458 | 230 | GIT = @GIT@ | 231 | GIT = @GIT@ |
1459 | 231 | GREP = @GREP@ | 232 | GREP = @GREP@ |
1460 | 232 | IFCONFIG = @IFCONFIG@ | 233 | 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 | 5 | # packet encryption, packet authentication, and | 5 | # packet encryption, packet authentication, and |
1467 | 6 | # packet compression. | 6 | # packet compression. |
1468 | 7 | # | 7 | # |
1470 | 8 | # Copyright (C) 2017-2023 OpenVPN Inc <sales@openvpn.net> | 8 | # Copyright (C) 2017-2024 OpenVPN Inc <sales@openvpn.net> |
1471 | 9 | # | 9 | # |
1472 | 10 | 10 | ||
1473 | 11 | %.service: %.service.in Makefile | 11 | %.service: %.service.in Makefile |
1475 | 12 | $(AM_V_GEN)sed -e 's|\@sbindir\@|$(sbindir)|' \ | 12 | $(AM_V_GEN)sed \ |
1476 | 13 | -e 's|\@OPENVPN_VERSION_MAJOR\@|$(OPENVPN_VERSION_MAJOR)|g' \ | ||
1477 | 14 | -e 's|\@OPENVPN_VERSION_MINOR\@|$(OPENVPN_VERSION_MINOR)|g' \ | ||
1478 | 15 | -e 's|\@sbindir\@|$(sbindir)|g' \ | ||
1479 | 13 | $< > $@.tmp && mv $@.tmp $@ | 16 | $< > $@.tmp && mv $@.tmp $@ |
1480 | 14 | 17 | ||
1481 | 15 | EXTRA_DIST = \ | 18 | 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 | 21 | # packet encryption, packet authentication, and | 21 | # packet encryption, packet authentication, and |
1488 | 22 | # packet compression. | 22 | # packet compression. |
1489 | 23 | # | 23 | # |
1491 | 24 | # Copyright (C) 2017-2023 OpenVPN Inc <sales@openvpn.net> | 24 | # Copyright (C) 2017-2024 OpenVPN Inc <sales@openvpn.net> |
1492 | 25 | # | 25 | # |
1493 | 26 | 26 | ||
1494 | 27 | VPATH = @srcdir@ | 27 | VPATH = @srcdir@ |
1495 | @@ -201,6 +201,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ | |||
1496 | 201 | ETAGS = @ETAGS@ | 201 | ETAGS = @ETAGS@ |
1497 | 202 | EXEEXT = @EXEEXT@ | 202 | EXEEXT = @EXEEXT@ |
1498 | 203 | FGREP = @FGREP@ | 203 | FGREP = @FGREP@ |
1499 | 204 | FILECMD = @FILECMD@ | ||
1500 | 204 | GIT = @GIT@ | 205 | GIT = @GIT@ |
1501 | 205 | GREP = @GREP@ | 206 | GREP = @GREP@ |
1502 | 206 | IFCONFIG = @IFCONFIG@ | 207 | IFCONFIG = @IFCONFIG@ |
1503 | @@ -649,7 +650,10 @@ uninstall-am: uninstall-dist_docDATA uninstall-systemdunitDATA \ | |||
1504 | 649 | 650 | ||
1505 | 650 | 651 | ||
1506 | 651 | %.service: %.service.in Makefile | 652 | %.service: %.service.in Makefile |
1508 | 652 | $(AM_V_GEN)sed -e 's|\@sbindir\@|$(sbindir)|' \ | 653 | $(AM_V_GEN)sed \ |
1509 | 654 | -e 's|\@OPENVPN_VERSION_MAJOR\@|$(OPENVPN_VERSION_MAJOR)|g' \ | ||
1510 | 655 | -e 's|\@OPENVPN_VERSION_MINOR\@|$(OPENVPN_VERSION_MINOR)|g' \ | ||
1511 | 656 | -e 's|\@sbindir\@|$(sbindir)|g' \ | ||
1512 | 653 | $< > $@.tmp && mv $@.tmp $@ | 657 | $< > $@.tmp && mv $@.tmp $@ |
1513 | 654 | 658 | ||
1514 | 655 | @ENABLE_SYSTEMD_TRUE@install-data-hook: | 659 | @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 | 1 | [Unit] | 1 | [Unit] |
1521 | 2 | Description=OpenVPN tunnel for %I | 2 | Description=OpenVPN tunnel for %I |
1523 | 3 | After=syslog.target network-online.target | 3 | After=network-online.target |
1524 | 4 | Wants=network-online.target | 4 | Wants=network-online.target |
1525 | 5 | Documentation=man:openvpn(8) | 5 | Documentation=man:openvpn(8) |
1527 | 6 | Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage | 6 | Documentation=https://openvpn.net/community-resources/reference-manual-for-openvpn-@OPENVPN_VERSION_MAJOR@-@OPENVPN_VERSION_MINOR@/ |
1528 | 7 | Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO | 7 | Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO |
1529 | 8 | 8 | ||
1530 | 9 | [Service] | 9 | [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 | 1 | [Unit] | 1 | [Unit] |
1537 | 2 | Description=OpenVPN service for %I | 2 | Description=OpenVPN service for %I |
1539 | 3 | After=syslog.target network-online.target | 3 | After=network-online.target |
1540 | 4 | Wants=network-online.target | 4 | Wants=network-online.target |
1541 | 5 | Documentation=man:openvpn(8) | 5 | Documentation=man:openvpn(8) |
1543 | 6 | Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage | 6 | Documentation=https://openvpn.net/community-resources/reference-manual-for-openvpn-@OPENVPN_VERSION_MAJOR@-@OPENVPN_VERSION_MINOR@/ |
1544 | 7 | Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO | 7 | Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO |
1545 | 8 | 8 | ||
1546 | 9 | [Service] | 9 | [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 | 5 | # packet encryption, packet authentication, and | 5 | # packet encryption, packet authentication, and |
1553 | 6 | # packet compression. | 6 | # packet compression. |
1554 | 7 | # | 7 | # |
1556 | 8 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 8 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1557 | 9 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 9 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1558 | 10 | # | 10 | # |
1559 | 11 | 11 | ||
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 | 21 | # packet encryption, packet authentication, and | 21 | # packet encryption, packet authentication, and |
1566 | 22 | # packet compression. | 22 | # packet compression. |
1567 | 23 | # | 23 | # |
1569 | 24 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 24 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
1570 | 25 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 25 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
1571 | 26 | # | 26 | # |
1572 | 27 | 27 | ||
1573 | @@ -290,6 +290,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ | |||
1574 | 290 | ETAGS = @ETAGS@ | 290 | ETAGS = @ETAGS@ |
1575 | 291 | EXEEXT = @EXEEXT@ | 291 | EXEEXT = @EXEEXT@ |
1576 | 292 | FGREP = @FGREP@ | 292 | FGREP = @FGREP@ |
1577 | 293 | FILECMD = @FILECMD@ | ||
1578 | 293 | GIT = @GIT@ | 294 | GIT = @GIT@ |
1579 | 294 | GREP = @GREP@ | 295 | GREP = @GREP@ |
1580 | 295 | IFCONFIG = @IFCONFIG@ | 296 | 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 | 168 | ETAGS = @ETAGS@ | 168 | ETAGS = @ETAGS@ |
1587 | 169 | EXEEXT = @EXEEXT@ | 169 | EXEEXT = @EXEEXT@ |
1588 | 170 | FGREP = @FGREP@ | 170 | FGREP = @FGREP@ |
1589 | 171 | FILECMD = @FILECMD@ | ||
1590 | 171 | GIT = @GIT@ | 172 | GIT = @GIT@ |
1591 | 172 | GREP = @GREP@ | 173 | GREP = @GREP@ |
1592 | 173 | IFCONFIG = @IFCONFIG@ | 174 | 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 | 8 | OpenVPN 2.5 and later behaviour | 8 | OpenVPN 2.5 and later behaviour |
1599 | 9 | -------------------------------- | 9 | -------------------------------- |
1600 | 10 | When both client and server are at least running OpenVPN 2.5, that the order of | 10 | When both client and server are at least running OpenVPN 2.5, that the order of |
1602 | 11 | the ciphers of the server's ``--data-ciphers`` is used to pick the the data cipher. | 11 | the ciphers of the server's ``--data-ciphers`` is used to pick the data cipher. |
1603 | 12 | That means that the first cipher in that list that is also in the client's | 12 | That means that the first cipher in that list that is also in the client's |
1604 | 13 | ``--data-ciphers`` list is chosen. If no common cipher is found the client is rejected | 13 | ``--data-ciphers`` list is chosen. If no common cipher is found the client is rejected |
1605 | 14 | with a AUTH_FAILED message (as seen in client log): | 14 | 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 | 73 | If ``up`` is omitted, username/password will be prompted from the | 73 | If ``up`` is omitted, username/password will be prompted from the |
1612 | 74 | console. | 74 | console. |
1613 | 75 | 75 | ||
1614 | 76 | This option can also be inlined | ||
1615 | 77 | :: | ||
1616 | 78 | |||
1617 | 79 | <auth-user-pass> | ||
1618 | 80 | username | ||
1619 | 81 | [password] | ||
1620 | 82 | </auth-user-pass> | ||
1621 | 83 | |||
1622 | 84 | where password is optional, and will be prompted from the console if | ||
1623 | 85 | missing. | ||
1624 | 86 | |||
1625 | 76 | The server configuration must specify an ``--auth-user-pass-verify`` | 87 | The server configuration must specify an ``--auth-user-pass-verify`` |
1626 | 77 | script to verify the username/password provided by the client. | 88 | script to verify the username/password provided by the client. |
1627 | 78 | 89 | ||
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 | 75 | to the configuration if no other compression options are present. | 75 | to the configuration if no other compression options are present. |
1634 | 76 | - 2.4.x or lower: The cipher in ``--cipher`` is appended to | 76 | - 2.4.x or lower: The cipher in ``--cipher`` is appended to |
1635 | 77 | ``--data-ciphers``. | 77 | ``--data-ciphers``. |
1637 | 78 | - 2.3.x or lower: ``--data-cipher-fallback`` is automatically added with | 78 | - 2.3.x or lower: ``--data-ciphers-fallback`` is automatically added with |
1638 | 79 | the same cipher as ``--cipher``. | 79 | the same cipher as ``--cipher``. |
1639 | 80 | - 2.3.6 or lower: ``--tls-version-min 1.0`` is added to the configuration | 80 | - 2.3.6 or lower: ``--tls-version-min 1.0`` is added to the configuration |
1640 | 81 | when ``--tls-version-min`` is not explicitly set. | 81 | 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 | 5 | ``--cert``, ``--dh``, ``--extra-certs``, ``--key``, ``--pkcs12``, | 5 | ``--cert``, ``--dh``, ``--extra-certs``, ``--key``, ``--pkcs12``, |
1647 | 6 | ``--secret``, ``--crl-verify``, ``--http-proxy-user-pass``, ``--tls-auth``, | 6 | ``--secret``, ``--crl-verify``, ``--http-proxy-user-pass``, ``--tls-auth``, |
1648 | 7 | ``--auth-gen-token-secret``, ``--peer-fingerprint``, ``--tls-crypt``, | 7 | ``--auth-gen-token-secret``, ``--peer-fingerprint``, ``--tls-crypt``, |
1650 | 8 | ``--tls-crypt-v2`` and ``--verify-hash`` options. | 8 | ``--tls-crypt-v2``, ``--verify-hash`` and ``--auth-user-pass`` options. |
1651 | 9 | 9 | ||
1652 | 10 | Each inline file started by the line ``<option>`` and ended by the line | 10 | Each inline file started by the line ``<option>`` and ended by the line |
1653 | 11 | ``</option>`` | 11 | ``</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 | 235 | address and subnet mask just as a physical ethernet adapter would be | 235 | address and subnet mask just as a physical ethernet adapter would be |
1660 | 236 | similarly configured. If you are attempting to connect to a remote | 236 | similarly configured. If you are attempting to connect to a remote |
1661 | 237 | ethernet bridge, the IP address and subnet should be set to values which | 237 | ethernet bridge, the IP address and subnet should be set to values which |
1663 | 238 | would be valid on the the bridged ethernet segment (note also that DHCP | 238 | would be valid on the bridged ethernet segment (note also that DHCP |
1664 | 239 | can be used for the same purpose). | 239 | can be used for the same purpose). |
1665 | 240 | 240 | ||
1666 | 241 | This option, while primarily a proxy for the ``ifconfig``\(8) command, | 241 | 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 | 584 | One of the advantages of persistent tunnels is that they eliminate the | 584 | One of the advantages of persistent tunnels is that they eliminate the |
1669 | 585 | need for separate ``--up`` and ``--down`` scripts to run the appropriate | 585 | need for separate ``--up`` and ``--down`` scripts to run the appropriate |
1670 | 586 | ``ifconfig``\(8) and ``route``\(8) commands. These commands can be | 586 | ``ifconfig``\(8) and ``route``\(8) commands. These commands can be |
1672 | 587 | placed in the the same shell script which starts or terminates an | 587 | placed in the same shell script which starts or terminates an |
1673 | 588 | OpenVPN session. | 588 | OpenVPN session. |
1674 | 589 | 589 | ||
1675 | 590 | Another advantage is that open connections through the TUN/TAP-based | 590 | 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 | 1 | .\" Man page generated from reStructuredText. | 1 | .\" Man page generated from reStructuredText. |
1682 | 2 | . | 2 | . |
1683 | 3 | .TH OPENVPN EXAMPLES 5 "" "" "Configuration files" | ||
1684 | 4 | .SH NAME | ||
1685 | 5 | openvpn examples \- Secure IP tunnel daemon | ||
1686 | 6 | . | 3 | . |
1687 | 7 | .nr rst2man-indent-level 0 | 4 | .nr rst2man-indent-level 0 |
1688 | 8 | . | 5 | . |
1689 | @@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] | |||
1690 | 30 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] | 27 | .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] |
1691 | 31 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u | 28 | .in \\n[rst2man-indent\\n[rst2man-indent-level]]u |
1692 | 32 | .. | 29 | .. |
1693 | 30 | .TH "OPENVPN EXAMPLES" 5 "" "" "Configuration files" | ||
1694 | 31 | .SH NAME | ||
1695 | 32 | openvpn examples \- Secure IP tunnel daemon | ||
1696 | 33 | .SH INTRODUCTION | 33 | .SH INTRODUCTION |
1697 | 34 | .sp | 34 | .sp |
1698 | 35 | This man page gives a few simple examples to create OpenVPN setups and configuration files. | 35 | This man page gives a few simple examples to create OpenVPN setups and configuration files. |
1699 | @@ -464,7 +464,7 @@ On bob: | |||
1700 | 464 | .ft C | 464 | .ft C |
1701 | 465 | openvpn \-\-ifconfig 10.4.0.1 10.4.0.2 \-\-tls\-server \-\-dev tun \-\-dh none \e | 465 | openvpn \-\-ifconfig 10.4.0.1 10.4.0.2 \-\-tls\-server \-\-dev tun \-\-dh none \e |
1702 | 466 | \-\-cert bob.pem \-\-key bob.pem \-\-cipher AES\-256\-GCM \e | 466 | \-\-cert bob.pem \-\-key bob.pem \-\-cipher AES\-256\-GCM \e |
1704 | 467 | \-\-peer\-fingerprint "$fingerprint_of_alices_cert" | 467 | \-\-peer\-fingerprint \(dq$fingerprint_of_alices_cert\(dq |
1705 | 468 | .ft P | 468 | .ft P |
1706 | 469 | .fi | 469 | .fi |
1707 | 470 | .UNINDENT | 470 | .UNINDENT |
1708 | @@ -479,7 +479,7 @@ On alice: | |||
1709 | 479 | openvpn \-\-remote bob.example.com \-\-tls\-client \-\-dev tun1 \e | 479 | openvpn \-\-remote bob.example.com \-\-tls\-client \-\-dev tun1 \e |
1710 | 480 | \-\-ifconfig 10.4.0.2 10.4.0.1 \-\-cipher AES\-256\-GCM \e | 480 | \-\-ifconfig 10.4.0.2 10.4.0.1 \-\-cipher AES\-256\-GCM \e |
1711 | 481 | \-\-cert alice.pem \-\-key alice.pem \e | 481 | \-\-cert alice.pem \-\-key alice.pem \e |
1713 | 482 | \-\-peer\-fingerprint "$fingerprint_of_bobs_cert" | 482 | \-\-peer\-fingerprint \(dq$fingerprint_of_bobs_cert\(dq |
1714 | 483 | .ft P | 483 | .ft P |
1715 | 484 | .fi | 484 | .fi |
1716 | 485 | .UNINDENT | 485 | .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 @@ | |||
1723 | 1 | <?xml version="1.0" encoding="utf-8" ?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
1724 | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
1725 | 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
1726 | 4 | <head> | 4 | <head> |
1727 | 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
1729 | 6 | <meta name="generator" content="Docutils 0.16: http://docutils.sourceforge.net/" /> | 6 | <meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" /> |
1730 | 7 | <title>openvpn examples</title> | 7 | <title>openvpn examples</title> |
1731 | 8 | <style type="text/css"> | 8 | <style type="text/css"> |
1732 | 9 | 9 | ||
1733 | 10 | /* | 10 | /* |
1734 | 11 | :Author: David Goodger (goodger@python.org) | 11 | :Author: David Goodger (goodger@python.org) |
1736 | 12 | :Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ | 12 | :Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ |
1737 | 13 | :Copyright: This stylesheet has been placed in the public domain. | 13 | :Copyright: This stylesheet has been placed in the public domain. |
1738 | 14 | 14 | ||
1739 | 15 | Default cascading style sheet for the HTML output of Docutils. | 15 | Default cascading style sheet for the HTML output of Docutils. |
1740 | 16 | 16 | ||
1742 | 17 | See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to | 17 | See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to |
1743 | 18 | customize this style sheet. | 18 | customize this style sheet. |
1744 | 19 | */ | 19 | */ |
1745 | 20 | 20 | ||
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 | 76 | .sp | 76 | .sp |
1752 | 77 | OpenVPN allows any option to be placed either on the command line or in | 77 | OpenVPN allows any option to be placed either on the command line or in |
1753 | 78 | a configuration file. Though all command line options are preceded by a | 78 | a configuration file. Though all command line options are preceded by a |
1755 | 79 | double\-leading\-dash ("\-\-"), this prefix can be removed when an option is | 79 | double\-leading\-dash (\(dq\-\-\(dq), this prefix can be removed when an option is |
1756 | 80 | placed in a configuration file. | 80 | placed in a configuration file. |
1757 | 81 | .SS Generic Options | 81 | .SS Generic Options |
1758 | 82 | .sp | 82 | .sp |
1759 | @@ -105,7 +105,7 @@ It is always cached. | |||
1760 | 105 | .BI \-\-cd \ dir | 105 | .BI \-\-cd \ dir |
1761 | 106 | Change directory to \fBdir\fP prior to reading any files such as | 106 | Change directory to \fBdir\fP prior to reading any files such as |
1762 | 107 | configuration files, key files, scripts, etc. \fBdir\fP should be an | 107 | configuration files, key files, scripts, etc. \fBdir\fP should be an |
1764 | 108 | absolute path, with a leading "/", and without any references to the | 108 | absolute path, with a leading \(dq/\(dq, and without any references to the |
1765 | 109 | current directory such as \fB\&.\fP or \fB\&..\fP\&. | 109 | current directory such as \fB\&.\fP or \fB\&..\fP\&. |
1766 | 110 | .sp | 110 | .sp |
1767 | 111 | This option is useful when you are running OpenVPN in \fB\-\-daemon\fP mode, | 111 | 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 | 158 | 2.4.x or lower: The cipher in \fB\-\-cipher\fP is appended to | 158 | 2.4.x or lower: The cipher in \fB\-\-cipher\fP is appended to |
1770 | 159 | \fB\-\-data\-ciphers\fP\&. | 159 | \fB\-\-data\-ciphers\fP\&. |
1771 | 160 | .IP \(bu 2 | 160 | .IP \(bu 2 |
1773 | 161 | 2.3.x or lower: \fB\-\-data\-cipher\-fallback\fP is automatically added with | 161 | 2.3.x or lower: \fB\-\-data\-ciphers\-fallback\fP is automatically added with |
1774 | 162 | the same cipher as \fB\-\-cipher\fP\&. | 162 | the same cipher as \fB\-\-cipher\fP\&. |
1775 | 163 | .IP \(bu 2 | 163 | .IP \(bu 2 |
1776 | 164 | 2.3.6 or lower: \fB\-\-tls\-version\-min 1.0\fP is added to the configuration | 164 | 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 | 178 | .sp | 178 | .sp |
1779 | 179 | Note that configuration files can be nested to a reasonable depth. | 179 | Note that configuration files can be nested to a reasonable depth. |
1780 | 180 | .sp | 180 | .sp |
1783 | 181 | Double quotation or single quotation characters ("", \(aq\(aq) can be used to | 181 | Double quotation or single quotation characters (\(dq\(dq, \(aq\(aq) can be used to |
1784 | 182 | enclose single parameters containing whitespace, and "#" or ";" | 182 | enclose single parameters containing whitespace, and \(dq#\(dq or \(dq;\(dq |
1785 | 183 | characters in the first column can be used to denote comments. | 183 | characters in the first column can be used to denote comments. |
1786 | 184 | .sp | 184 | .sp |
1787 | 185 | Note that OpenVPN 2.0 and higher performs backslash\-based shell escaping | 185 | Note that OpenVPN 2.0 and higher performs backslash\-based shell escaping |
1788 | @@ -191,7 +191,7 @@ should be observed: | |||
1789 | 191 | .nf | 191 | .nf |
1790 | 192 | .ft C | 192 | .ft C |
1791 | 193 | \e\e Maps to a single backslash character (\e). | 193 | \e\e Maps to a single backslash character (\e). |
1793 | 194 | \e" Pass a literal doublequote character ("), don\(aqt | 194 | \e\(dq Pass a literal doublequote character (\(dq), don\(aqt |
1794 | 195 | interpret it as enclosing a parameter. | 195 | interpret it as enclosing a parameter. |
1795 | 196 | \e[SPACE] Pass a literal space or tab character, don\(aqt | 196 | \e[SPACE] Pass a literal space or tab character, don\(aqt |
1796 | 197 | interpret it as a parameter delimiter. | 197 | interpret it as a parameter delimiter. |
1797 | @@ -206,7 +206,7 @@ For example on Windows, use double backslashes to represent pathnames: | |||
1798 | 206 | .sp | 206 | .sp |
1799 | 207 | .nf | 207 | .nf |
1800 | 208 | .ft C | 208 | .ft C |
1802 | 209 | secret "c:\e\eOpenVPN\e\esecret.key" | 209 | secret \(dqc:\e\eOpenVPN\e\esecret.key\(dq |
1803 | 210 | .ft P | 210 | .ft P |
1804 | 211 | .fi | 211 | .fi |
1805 | 212 | .UNINDENT | 212 | .UNINDENT |
1806 | @@ -295,7 +295,7 @@ on console) and \fB\-\-auth\-nocache\fP will fail as soon as key | |||
1807 | 295 | renegotiation (and reauthentication) occurs. | 295 | renegotiation (and reauthentication) occurs. |
1808 | 296 | .TP | 296 | .TP |
1809 | 297 | .B \-\-disable\-dco | 297 | .B \-\-disable\-dco |
1811 | 298 | Disable "data channel offload" (DCO). | 298 | Disable \(dqdata channel offload\(dq (DCO). |
1812 | 299 | .sp | 299 | .sp |
1813 | 300 | On Linux don\(aqt use the ovpn\-dco device driver, but rather rely on the | 300 | On Linux don\(aqt use the ovpn\-dco device driver, but rather rely on the |
1814 | 301 | legacy tun module. | 301 | legacy tun module. |
1815 | @@ -304,7 +304,7 @@ You may want to use this option if your server needs to allow clients | |||
1816 | 304 | older than version 2.4 to connect. | 304 | older than version 2.4 to connect. |
1817 | 305 | .TP | 305 | .TP |
1818 | 306 | .B \-\-disable\-occ | 306 | .B \-\-disable\-occ |
1820 | 307 | \fBDEPRECATED\fP Disable "options consistency check" (OCC) in configurations | 307 | \fBDEPRECATED\fP Disable \(dqoptions consistency check\(dq (OCC) in configurations |
1821 | 308 | that do not use TLS. | 308 | that do not use TLS. |
1822 | 309 | .sp | 309 | .sp |
1823 | 310 | Don\(aqt output a warning message if option inconsistencies are detected | 310 | Don\(aqt output a warning message if option inconsistencies are detected |
1824 | @@ -946,7 +946,7 @@ for the client, for example: | |||
1825 | 946 | .nf | 946 | .nf |
1826 | 947 | .ft C | 947 | .ft C |
1827 | 948 | comp\-lzo yes | 948 | comp\-lzo yes |
1829 | 949 | push "comp\-lzo yes" | 949 | push \(dqcomp\-lzo yes\(dq |
1830 | 950 | .ft P | 950 | .ft P |
1831 | 951 | .fi | 951 | .fi |
1832 | 952 | .UNINDENT | 952 | .UNINDENT |
1833 | @@ -1140,7 +1140,7 @@ To make use of this feature, the \fB\-\-client\-connect\fP script or | |||
1834 | 1140 | .sp | 1140 | .sp |
1835 | 1141 | .nf | 1141 | .nf |
1836 | 1142 | .ft C | 1142 | .ft C |
1838 | 1143 | push "auth\-token UNIQUE_TOKEN_VALUE" | 1143 | push \(dqauth\-token UNIQUE_TOKEN_VALUE\(dq |
1839 | 1144 | .ft P | 1144 | .ft P |
1840 | 1145 | .fi | 1145 | .fi |
1841 | 1146 | .UNINDENT | 1146 | .UNINDENT |
1842 | @@ -1184,6 +1184,24 @@ lines. If the password line is missing, OpenVPN will prompt for one. | |||
1843 | 1184 | If \fBup\fP is omitted, username/password will be prompted from the | 1184 | If \fBup\fP is omitted, username/password will be prompted from the |
1844 | 1185 | console. | 1185 | console. |
1845 | 1186 | .sp | 1186 | .sp |
1846 | 1187 | This option can also be inlined | ||
1847 | 1188 | .INDENT 7.0 | ||
1848 | 1189 | .INDENT 3.5 | ||
1849 | 1190 | .sp | ||
1850 | 1191 | .nf | ||
1851 | 1192 | .ft C | ||
1852 | 1193 | <auth\-user\-pass> | ||
1853 | 1194 | username | ||
1854 | 1195 | [password] | ||
1855 | 1196 | </auth\-user\-pass> | ||
1856 | 1197 | .ft P | ||
1857 | 1198 | .fi | ||
1858 | 1199 | .UNINDENT | ||
1859 | 1200 | .UNINDENT | ||
1860 | 1201 | .sp | ||
1861 | 1202 | where password is optional, and will be prompted from the console if | ||
1862 | 1203 | missing. | ||
1863 | 1204 | .sp | ||
1864 | 1187 | The server configuration must specify an \fB\-\-auth\-user\-pass\-verify\fP | 1205 | The server configuration must specify an \fB\-\-auth\-user\-pass\-verify\fP |
1865 | 1188 | script to verify the username/password provided by the client. | 1206 | script to verify the username/password provided by the client. |
1866 | 1189 | .TP | 1207 | .TP |
1867 | @@ -1407,7 +1425,7 @@ If the optional \fBbytes\fP parameter is included, exit if less than | |||
1868 | 1407 | in \fBn\fP seconds. | 1425 | in \fBn\fP seconds. |
1869 | 1408 | .sp | 1426 | .sp |
1870 | 1409 | In any case, OpenVPN\(aqs internal ping packets (which are just keepalives) | 1427 | In any case, OpenVPN\(aqs internal ping packets (which are just keepalives) |
1872 | 1410 | and TLS control packets are not considered "activity", nor are they | 1428 | and TLS control packets are not considered \(dqactivity\(dq, nor are they |
1873 | 1411 | counted as traffic, as they are used internally by OpenVPN and are not | 1429 | counted as traffic, as they are used internally by OpenVPN and are not |
1874 | 1412 | an indication of actual user activity. | 1430 | an indication of actual user activity. |
1875 | 1413 | .TP | 1431 | .TP |
1876 | @@ -1469,7 +1487,7 @@ that | |||
1877 | 1469 | .sp | 1487 | .sp |
1878 | 1470 | .nf | 1488 | .nf |
1879 | 1471 | .ft C | 1489 | .ft C |
1881 | 1472 | pull\-filter ignore "route" | 1490 | pull\-filter ignore \(dqroute\(dq |
1882 | 1473 | .ft P | 1491 | .ft P |
1883 | 1474 | .fi | 1492 | .fi |
1884 | 1475 | .UNINDENT | 1493 | .UNINDENT |
1885 | @@ -1483,8 +1501,8 @@ embed spaces. | |||
1886 | 1483 | .sp | 1501 | .sp |
1887 | 1484 | .nf | 1502 | .nf |
1888 | 1485 | .ft C | 1503 | .ft C |
1891 | 1486 | pull\-filter accept "route 192.168.1." | 1504 | pull\-filter accept \(dqroute 192.168.1.\(dq |
1892 | 1487 | pull\-filter ignore "route " | 1505 | pull\-filter ignore \(dqroute \(dq |
1893 | 1488 | .ft P | 1506 | .ft P |
1894 | 1489 | .fi | 1507 | .fi |
1895 | 1490 | .UNINDENT | 1508 | .UNINDENT |
1896 | @@ -1701,8 +1719,8 @@ kind of basic load\-balancing measure. | |||
1897 | 1701 | .TP | 1719 | .TP |
1898 | 1702 | .B \-\-remote\-random\-hostname | 1720 | .B \-\-remote\-random\-hostname |
1899 | 1703 | Prepend a random string (6 bytes, 12 hex characters) to hostname to | 1721 | Prepend a random string (6 bytes, 12 hex characters) to hostname to |
1902 | 1704 | prevent DNS caching. For example, "foo.bar.gov" would be modified to | 1722 | prevent DNS caching. For example, \(dqfoo.bar.gov\(dq would be modified to |
1903 | 1705 | "<random\-chars>.foo.bar.gov". | 1723 | \(dq<random\-chars>.foo.bar.gov\(dq. |
1904 | 1706 | .TP | 1724 | .TP |
1905 | 1707 | .BI \-\-resolv\-retry \ n | 1725 | .BI \-\-resolv\-retry \ n |
1906 | 1708 | If hostname resolve fails for \fB\-\-remote\fP, retry resolve for \fBn\fP | 1726 | 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 | 1800 | http\-proxy proxy.example.net 3128 auto | 1818 | http\-proxy proxy.example.net 3128 auto |
1909 | 1801 | http\-proxy\-user\-pass authfile.txt | 1819 | http\-proxy\-user\-pass authfile.txt |
1910 | 1802 | # basic authentication, specify credentials inline | 1820 | # basic authentication, specify credentials inline |
1912 | 1803 | http\-proxy proxy.example.net 3128 "" basic | 1821 | http\-proxy proxy.example.net 3128 \(dq\(dq basic |
1913 | 1804 | <http\-proxy\-user\-pass> | 1822 | <http\-proxy\-user\-pass> |
1914 | 1805 | username | 1823 | username |
1915 | 1806 | password | 1824 | password |
1916 | @@ -1841,7 +1859,7 @@ options. | |||
1917 | 1841 | Set HTTP version number to \fBversion\fP (default \fB1.0\fP). | 1859 | Set HTTP version number to \fBversion\fP (default \fB1.0\fP). |
1918 | 1842 | .TP | 1860 | .TP |
1919 | 1843 | .B \fBAGENT\fP \fBuser\-agent\fP | 1861 | .B \fBAGENT\fP \fBuser\-agent\fP |
1921 | 1844 | Set HTTP "User\-Agent" string to \fBuser\-agent\fP\&. | 1862 | Set HTTP \(dqUser\-Agent\(dq string to \fBuser\-agent\fP\&. |
1922 | 1845 | .TP | 1863 | .TP |
1923 | 1846 | .B \fBCUSTOM\-HEADER\fP \fBname\fP \fBcontent\fP | 1864 | .B \fBCUSTOM\-HEADER\fP \fBname\fP \fBcontent\fP |
1924 | 1847 | Adds the custom Header with \fBname\fP as name and \fBcontent\fP as | 1865 | 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 | 1987 | based on other factors (such as the setting of X509 certificate fields). | 2005 | based on other factors (such as the setting of X509 certificate fields). |
1927 | 1988 | When this option is used, and a connecting client does not submit a | 2006 | When this option is used, and a connecting client does not submit a |
1928 | 1989 | username/password, the user\-defined authentication module/script will | 2007 | username/password, the user\-defined authentication module/script will |
1930 | 1990 | see the username and password as being set to empty strings (""). The | 2008 | see the username and password as being set to empty strings (\(dq\(dq). The |
1931 | 1991 | authentication module/script MUST have logic to detect this condition | 2009 | authentication module/script MUST have logic to detect this condition |
1932 | 1992 | and respond accordingly. | 2010 | and respond accordingly. |
1933 | 1993 | .TP | 2011 | .TP |
1934 | @@ -2002,7 +2020,7 @@ directory for a file having the same name as the client\(aqs X509 common | |||
1935 | 2002 | name. If a matching file exists, it will be opened and parsed for | 2020 | name. If a matching file exists, it will be opened and parsed for |
1936 | 2003 | client\-specific configuration options. If no matching file is found, | 2021 | client\-specific configuration options. If no matching file is found, |
1937 | 2004 | OpenVPN will instead try to open and parse a default file called | 2022 | OpenVPN will instead try to open and parse a default file called |
1939 | 2005 | "DEFAULT", which may be provided but is not required. Note that the | 2023 | \(dqDEFAULT\(dq, which may be provided but is not required. Note that the |
1940 | 2006 | configuration files must be readable by the OpenVPN process after it has | 2024 | configuration files must be readable by the OpenVPN process after it has |
1941 | 2007 | dropped it\(aqs root privileges. | 2025 | dropped it\(aqs root privileges. |
1942 | 2008 | .sp | 2026 | .sp |
1943 | @@ -2025,7 +2043,7 @@ single tun or tap interface, it is effectively a router. The | |||
1944 | 2025 | client\-to\-client traffic rather than pushing all client\-originating | 2043 | client\-to\-client traffic rather than pushing all client\-originating |
1945 | 2026 | traffic to the TUN/TAP interface. | 2044 | traffic to the TUN/TAP interface. |
1946 | 2027 | .sp | 2045 | .sp |
1948 | 2028 | When this option is used, each client will "see" the other clients which | 2046 | When this option is used, each client will \(dqsee\(dq the other clients which |
1949 | 2029 | are currently connected. Otherwise, each client will only see the | 2047 | are currently connected. Otherwise, each client will only see the |
1950 | 2030 | server. Don\(aqt use this option if you want to firewall tunnel traffic | 2048 | server. Don\(aqt use this option if you want to firewall tunnel traffic |
1951 | 2031 | using custom, per\-client rules. | 2049 | using custom, per\-client rules. |
1952 | @@ -2308,10 +2326,10 @@ using \fB\-\-client\-config\-dir\fP or dynamically generated using a | |||
1953 | 2308 | \fB\-\-client\-connect\fP script. | 2326 | \fB\-\-client\-connect\fP script. |
1954 | 2309 | .sp | 2327 | .sp |
1955 | 2310 | The \fB\-\-iroute\fP directive also has an important interaction with | 2328 | The \fB\-\-iroute\fP directive also has an important interaction with |
1957 | 2311 | \fB\-\-push "route ..."\fP\&. \fB\-\-iroute\fP essentially defines a subnet which | 2329 | \fB\-\-push \(dqroute ...\(dq\fP\&. \fB\-\-iroute\fP essentially defines a subnet which |
1958 | 2312 | is owned by a particular client (we will call this client \fIA\fP). If you | 2330 | is owned by a particular client (we will call this client \fIA\fP). If you |
1959 | 2313 | would like other clients to be able to reach \fIA\fP\(aqs subnet, you can use | 2331 | would like other clients to be able to reach \fIA\fP\(aqs subnet, you can use |
1961 | 2314 | \fB\-\-push "route ..."\fP together with \fB\-\-client\-to\-client\fP to effect | 2332 | \fB\-\-push \(dqroute ...\(dq\fP together with \fB\-\-client\-to\-client\fP to effect |
1962 | 2315 | this. In order for all clients to see \fIA\fP\(aqs subnet, OpenVPN must push | 2333 | this. In order for all clients to see \fIA\fP\(aqs subnet, OpenVPN must push |
1963 | 2316 | this route to all clients EXCEPT for \fIA\fP, since the subnet is already | 2334 | this route to all clients EXCEPT for \fIA\fP, since the subnet is already |
1964 | 2317 | owned by \fIA\fP\&. OpenVPN accomplishes this by not not pushing a route to | 2335 | owned by \fIA\fP\&. OpenVPN accomplishes this by not not pushing a route to |
1965 | @@ -2397,7 +2415,7 @@ Not implemented on Windows. | |||
1966 | 2397 | .TP | 2415 | .TP |
1967 | 2398 | .BI \-\-push \ option | 2416 | .BI \-\-push \ option |
1968 | 2399 | Push a config file option back to the client for remote execution. Note | 2417 | Push a config file option back to the client for remote execution. Note |
1970 | 2400 | that \fBoption\fP must be enclosed in double quotes (\fB""\fP). The | 2418 | that \fBoption\fP must be enclosed in double quotes (\fB\(dq\(dq\fP). The |
1971 | 2401 | client must specify \fB\-\-pull\fP in its config file. The set of options | 2419 | client must specify \fB\-\-pull\fP in its config file. The set of options |
1972 | 2402 | which can be pushed is limited by both feasibility and security. Some | 2420 | which can be pushed is limited by both feasibility and security. Some |
1973 | 2403 | options such as those which would execute scripts are banned, since they | 2421 | 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 | 2415 | \fB\-\-rcvbuf\fP, \fB\-\-session\-timeout\fP | 2433 | \fB\-\-rcvbuf\fP, \fB\-\-session\-timeout\fP |
1976 | 2416 | .TP | 2434 | .TP |
1977 | 2417 | .BI \-\-push\-remove \ opt | 2435 | .BI \-\-push\-remove \ opt |
1979 | 2418 | Selectively remove all \fB\-\-push\fP options matching "opt" from the option | 2436 | Selectively remove all \fB\-\-push\fP options matching \(dqopt\(dq from the option |
1980 | 2419 | list for a client. \fBopt\fP is matched as a substring against the whole | 2437 | list for a client. \fBopt\fP is matched as a substring against the whole |
1981 | 2420 | option string to\-be\-pushed to the client, so \fB\-\-push\-remove route\fP | 2438 | option string to\-be\-pushed to the client, so \fB\-\-push\-remove route\fP |
1982 | 2421 | would remove all \fB\-\-push route ...\fP and \fB\-\-push route\-ipv6 ...\fP | 2439 | would remove all \fB\-\-push route ...\fP and \fB\-\-push route\-ipv6 ...\fP |
1984 | 2422 | statements, while \fB\-\-push\-remove "route\-ipv6 2001:"\fP would only remove | 2440 | statements, while \fB\-\-push\-remove \(dqroute\-ipv6 2001:\(dq\fP would only remove |
1985 | 2423 | IPv6 routes for \fB2001:...\fP networks. | 2441 | IPv6 routes for \fB2001:...\fP networks. |
1986 | 2424 | .sp | 2442 | .sp |
1987 | 2425 | \fB\-\-push\-remove\fP can only be used in a client\-specific context, like in | 2443 | \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 | 2478 | .ft C | 2496 | .ft C |
1990 | 2479 | mode server | 2497 | mode server |
1991 | 2480 | tls\-server | 2498 | tls\-server |
1993 | 2481 | push "topology [topology]" | 2499 | push \(dqtopology [topology]\(dq |
1994 | 2482 | 2500 | ||
1995 | 2483 | if dev tun AND (topology == net30 OR topology == p2p): | 2501 | if dev tun AND (topology == net30 OR topology == p2p): |
1996 | 2484 | ifconfig 10.8.0.1 10.8.0.2 | 2502 | ifconfig 10.8.0.1 10.8.0.2 |
1997 | @@ -2486,15 +2504,15 @@ if dev tun AND (topology == net30 OR topology == p2p): | |||
1998 | 2486 | ifconfig\-pool 10.8.0.4 10.8.0.251 | 2504 | ifconfig\-pool 10.8.0.4 10.8.0.251 |
1999 | 2487 | route 10.8.0.0 255.255.255.0 | 2505 | route 10.8.0.0 255.255.255.0 |
2000 | 2488 | if client\-to\-client: | 2506 | if client\-to\-client: |
2002 | 2489 | push "route 10.8.0.0 255.255.255.0" | 2507 | push \(dqroute 10.8.0.0 255.255.255.0\(dq |
2003 | 2490 | else if topology == net30: | 2508 | else if topology == net30: |
2005 | 2491 | push "route 10.8.0.1" | 2509 | push \(dqroute 10.8.0.1\(dq |
2006 | 2492 | 2510 | ||
2007 | 2493 | if dev tap OR (dev tun AND topology == subnet): | 2511 | if dev tap OR (dev tun AND topology == subnet): |
2008 | 2494 | ifconfig 10.8.0.1 255.255.255.0 | 2512 | ifconfig 10.8.0.1 255.255.255.0 |
2009 | 2495 | if !nopool: | 2513 | if !nopool: |
2010 | 2496 | ifconfig\-pool 10.8.0.2 10.8.0.253 255.255.255.0 | 2514 | ifconfig\-pool 10.8.0.2 10.8.0.253 255.255.255.0 |
2012 | 2497 | push "route\-gateway 10.8.0.1" | 2515 | push \(dqroute\-gateway 10.8.0.1\(dq |
2013 | 2498 | if route\-gateway unset: | 2516 | if route\-gateway unset: |
2014 | 2499 | route\-gateway 10.8.0.2 | 2517 | route\-gateway 10.8.0.2 |
2015 | 2500 | .ft P | 2518 | .ft P |
2016 | @@ -2535,7 +2553,7 @@ To configure ethernet bridging, you must first use your OS\(aqs bridging | |||
2017 | 2535 | capability to bridge the TAP interface with the ethernet NIC interface. | 2553 | capability to bridge the TAP interface with the ethernet NIC interface. |
2018 | 2536 | For example, on Linux this is done with the \fBbrctl\fP tool, and with | 2554 | For example, on Linux this is done with the \fBbrctl\fP tool, and with |
2019 | 2537 | Windows XP it is done in the Network Connections Panel by selecting the | 2555 | Windows XP it is done in the Network Connections Panel by selecting the |
2021 | 2538 | ethernet and TAP adapters and right\-clicking on "Bridge Connections". | 2556 | ethernet and TAP adapters and right\-clicking on \(dqBridge Connections\(dq. |
2022 | 2539 | .sp | 2557 | .sp |
2023 | 2540 | Next you you must manually set the IP/netmask on the bridge interface. | 2558 | Next you you must manually set the IP/netmask on the bridge interface. |
2024 | 2541 | The \fBgateway\fP and \fBnetmask\fP parameters to \fB\-\-server\-bridge\fP can be | 2559 | The \fBgateway\fP and \fBnetmask\fP parameters to \fB\-\-server\-bridge\fP can be |
2025 | @@ -2557,7 +2575,7 @@ mode server | |||
2026 | 2557 | tls\-server | 2575 | tls\-server |
2027 | 2558 | 2576 | ||
2028 | 2559 | ifconfig\-pool 10.8.0.128 10.8.0.254 255.255.255.0 | 2577 | ifconfig\-pool 10.8.0.128 10.8.0.254 255.255.255.0 |
2030 | 2560 | push "route\-gateway 10.8.0.4" | 2578 | push \(dqroute\-gateway 10.8.0.4\(dq |
2031 | 2561 | .ft P | 2579 | .ft P |
2032 | 2562 | .fi | 2580 | .fi |
2033 | 2563 | .UNINDENT | 2581 | .UNINDENT |
2034 | @@ -2573,7 +2591,7 @@ follows: | |||
2035 | 2573 | mode server | 2591 | mode server |
2036 | 2574 | tls\-server | 2592 | tls\-server |
2037 | 2575 | 2593 | ||
2039 | 2576 | push "route\-gateway dhcp" | 2594 | push \(dqroute\-gateway dhcp\(dq |
2040 | 2577 | .ft P | 2595 | .ft P |
2041 | 2578 | .fi | 2596 | .fi |
2042 | 2579 | .UNINDENT | 2597 | .UNINDENT |
2043 | @@ -2695,11 +2713,11 @@ port of the switch. All client ports are in untagged mode and the server | |||
2044 | 2695 | TAP device is VLAN\-tagged, untagged or accepts both, depending on the | 2713 | TAP device is VLAN\-tagged, untagged or accepts both, depending on the |
2045 | 2696 | \fB\-\-vlan\-accept\fP setting. | 2714 | \fB\-\-vlan\-accept\fP setting. |
2046 | 2697 | .sp | 2715 | .sp |
2048 | 2698 | Ethernet frames with a prepended 802.1Q tag are called "tagged". If the | 2716 | Ethernet frames with a prepended 802.1Q tag are called \(dqtagged\(dq. If the |
2049 | 2699 | VLAN Identifier (VID) field in such a tag is non\-zero, the frame is | 2717 | VLAN Identifier (VID) field in such a tag is non\-zero, the frame is |
2053 | 2700 | called "VLAN\-tagged". If the VID is zero, but the Priority Control Point | 2718 | called \(dqVLAN\-tagged\(dq. If the VID is zero, but the Priority Control Point |
2054 | 2701 | (PCP) field is non\-zero, the frame is called "prio\-tagged". If there is | 2719 | (PCP) field is non\-zero, the frame is called \(dqprio\-tagged\(dq. If there is |
2055 | 2702 | no 802.1Q tag, the frame is "untagged". | 2720 | no 802.1Q tag, the frame is \(dquntagged\(dq. |
2056 | 2703 | .sp | 2721 | .sp |
2057 | 2704 | Using the \fB\-\-vlan\-pvid v\fP option once per client (see | 2722 | Using the \fB\-\-vlan\-pvid v\fP option once per client (see |
2058 | 2705 | \-\-client\-config\-dir), each port can be associated with a certain VID. | 2723 | \-\-client\-config\-dir), each port can be associated with a certain VID. |
2059 | @@ -2751,8 +2769,8 @@ untagged or tagged mode respectively. | |||
2060 | 2751 | .TP | 2769 | .TP |
2061 | 2752 | .B \fINote\fP: | 2770 | .B \fINote\fP: |
2062 | 2753 | Some vendors refer to switch ports running in \fBtagged\fP mode | 2771 | Some vendors refer to switch ports running in \fBtagged\fP mode |
2065 | 2754 | as "trunk ports" and switch ports running in \fBuntagged\fP mode | 2772 | as \(dqtrunk ports\(dq and switch ports running in \fBuntagged\fP mode |
2066 | 2755 | as "access ports". | 2773 | as \(dqaccess ports\(dq. |
2067 | 2756 | .UNINDENT | 2774 | .UNINDENT |
2068 | 2757 | .sp | 2775 | .sp |
2069 | 2758 | Packets forwarded from clients to the server are VLAN\-tagged with the | 2776 | 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 | 2763 | are tagged with 1 by default. | 2781 | are tagged with 1 by default. |
2072 | 2764 | .TP | 2782 | .TP |
2073 | 2765 | .BI \-\-vlan\-pvid \ v | 2783 | .BI \-\-vlan\-pvid \ v |
2075 | 2766 | Specifies which VLAN identifier a "port" is associated with. Only valid | 2784 | Specifies which VLAN identifier a \(dqport\(dq is associated with. Only valid |
2076 | 2767 | when \fB\-\-vlan\-tagging\fP is specified. | 2785 | when \fB\-\-vlan\-tagging\fP is specified. |
2077 | 2768 | .sp | 2786 | .sp |
2078 | 2769 | In the client context, the setting specifies which VLAN ID a client is | 2787 | 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 | 2775 | global value defaults to \fB1\fP\&. If no \fB\-\-vlan\-pvid\fP is specified in | 2793 | global value defaults to \fB1\fP\&. If no \fB\-\-vlan\-pvid\fP is specified in |
2081 | 2776 | the client context, the global value is inherited. | 2794 | the client context, the global value is inherited. |
2082 | 2777 | .sp | 2795 | .sp |
2085 | 2778 | In some switch implementations, the \fIPVID\fP is also referred to as "Native | 2796 | In some switch implementations, the \fIPVID\fP is also referred to as \(dqNative |
2086 | 2779 | VLAN". | 2797 | VLAN\(dq. |
2087 | 2780 | .UNINDENT | 2798 | .UNINDENT |
2088 | 2781 | .SH ENCRYPTION OPTIONS | 2799 | .SH ENCRYPTION OPTIONS |
2089 | 2782 | .SS SSL Library information | 2800 | .SS SSL Library information |
2090 | @@ -3252,7 +3270,7 @@ This option is not supported in mbed TLS builds of OpenVPN. | |||
2091 | 3252 | Specify a \fBfile\fP containing one or more PEM certs (concatenated | 3270 | Specify a \fBfile\fP containing one or more PEM certs (concatenated |
2092 | 3253 | together) that complete the local certificate chain. | 3271 | together) that complete the local certificate chain. |
2093 | 3254 | .sp | 3272 | .sp |
2095 | 3255 | This option is useful for "split" CAs, where the CA for server certs is | 3273 | This option is useful for \(dqsplit\(dq CAs, where the CA for server certs is |
2096 | 3256 | different than the CA for client certs. Putting certs in this file | 3274 | different than the CA for client certs. Putting certs in this file |
2097 | 3257 | allows them to be used to complete the local certificate chain without | 3275 | allows them to be used to complete the local certificate chain without |
2098 | 3258 | trusting them to verify the peer\-submitted certificate, as would be the | 3276 | 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 | 3342 | .nf | 3360 | .nf |
2101 | 3343 | .ft C | 3361 | .ft C |
2102 | 3344 | remote\-cert\-ku | 3362 | remote\-cert\-ku |
2104 | 3345 | remote\-cert\-eku "TLS Web Client Authentication" | 3363 | remote\-cert\-eku \(dqTLS Web Client Authentication\(dq |
2105 | 3346 | .ft P | 3364 | .ft P |
2106 | 3347 | .fi | 3365 | .fi |
2107 | 3348 | .UNINDENT | 3366 | .UNINDENT |
2108 | @@ -3355,7 +3373,7 @@ The \fB\-\-remote\-cert\-tls server\fP option is equivalent to | |||
2109 | 3355 | .nf | 3373 | .nf |
2110 | 3356 | .ft C | 3374 | .ft C |
2111 | 3357 | remote\-cert\-ku | 3375 | remote\-cert\-ku |
2113 | 3358 | remote\-cert\-eku "TLS Web Server Authentication" | 3376 | remote\-cert\-eku \(dqTLS Web Server Authentication\(dq |
2114 | 3359 | .ft P | 3377 | .ft P |
2115 | 3360 | .fi | 3378 | .fi |
2116 | 3361 | .UNINDENT | 3379 | .UNINDENT |
2117 | @@ -3386,7 +3404,7 @@ tls\-auth file 1 | |||
2118 | 3386 | .UNINDENT | 3404 | .UNINDENT |
2119 | 3387 | .UNINDENT | 3405 | .UNINDENT |
2120 | 3388 | .sp | 3406 | .sp |
2122 | 3389 | In a nutshell, \fB\-\-tls\-auth\fP enables a kind of "HMAC firewall" on | 3407 | In a nutshell, \fB\-\-tls\-auth\fP enables a kind of \(dqHMAC firewall\(dq on |
2123 | 3390 | OpenVPN\(aqs TCP/UDP port, where TLS control channel packets bearing an | 3408 | OpenVPN\(aqs TCP/UDP port, where TLS control channel packets bearing an |
2124 | 3391 | incorrect HMAC signature can be dropped immediately without response. | 3409 | incorrect HMAC signature can be dropped immediately without response. |
2125 | 3392 | .sp | 3410 | .sp |
2126 | @@ -3457,7 +3475,7 @@ OpenSSL 1.1+ restricts the list per default to | |||
2127 | 3457 | .sp | 3475 | .sp |
2128 | 3458 | .nf | 3476 | .nf |
2129 | 3459 | .ft C | 3477 | .ft C |
2131 | 3460 | "X25519:secp256r1:X448:secp521r1:secp384r1". | 3478 | \(dqX25519:secp256r1:X448:secp521r1:secp384r1\(dq. |
2132 | 3461 | .ft P | 3479 | .ft P |
2133 | 3462 | .fi | 3480 | .fi |
2134 | 3463 | .UNINDENT | 3481 | .UNINDENT |
2135 | @@ -3500,16 +3518,16 @@ use the following approximation: | |||
2136 | 3500 | .INDENT 7.0 | 3518 | .INDENT 7.0 |
2137 | 3501 | .TP | 3519 | .TP |
2138 | 3502 | .B \fBinsecure\fP | 3520 | .B \fBinsecure\fP |
2140 | 3503 | sets "security level 0" | 3521 | sets \(dqsecurity level 0\(dq |
2141 | 3504 | .TP | 3522 | .TP |
2142 | 3505 | .B \fBlegacy\fP (default) | 3523 | .B \fBlegacy\fP (default) |
2144 | 3506 | sets "security level 1" | 3524 | sets \(dqsecurity level 1\(dq |
2145 | 3507 | .TP | 3525 | .TP |
2146 | 3508 | .B \fBpreferred\fP | 3526 | .B \fBpreferred\fP |
2148 | 3509 | sets "security level 2" | 3527 | sets \(dqsecurity level 2\(dq |
2149 | 3510 | .TP | 3528 | .TP |
2150 | 3511 | .B \fBsuiteb\fP | 3529 | .B \fBsuiteb\fP |
2152 | 3512 | sets "security level 3" and \fB\-\-tls\-cipher "SUITEB128"\fP\&. | 3530 | sets \(dqsecurity level 3\(dq and \fB\-\-tls\-cipher \(dqSUITEB128\(dq\fP\&. |
2153 | 3513 | .UNINDENT | 3531 | .UNINDENT |
2154 | 3514 | .sp | 3532 | .sp |
2155 | 3515 | OpenVPN will migrate to \(aqpreferred\(aq as default in the future. Please | 3533 | OpenVPN will migrate to \(aqpreferred\(aq as default in the future. Please |
2156 | @@ -3526,7 +3544,7 @@ break your connection. Use with care! | |||
2157 | 3526 | .INDENT 0.0 | 3544 | .INDENT 0.0 |
2158 | 3527 | .TP | 3545 | .TP |
2159 | 3528 | .BI \-\-tls\-cipher \ l | 3546 | .BI \-\-tls\-cipher \ l |
2161 | 3529 | A list \fBl\fP of allowable TLS ciphers delimited by a colon ("\fB:\fP"). | 3547 | A list \fBl\fP of allowable TLS ciphers delimited by a colon (\(dq\fB:\fP\(dq). |
2162 | 3530 | .sp | 3548 | .sp |
2163 | 3531 | These setting can be used to ensure that certain cipher suites are used | 3549 | These setting can be used to ensure that certain cipher suites are used |
2164 | 3532 | (or not used) for the TLS connection. OpenVPN uses TLS to secure the | 3550 | (or not used) for the TLS connection. OpenVPN uses TLS to secure the |
2165 | @@ -3570,7 +3588,7 @@ connection, | |||
2166 | 3570 | .IP \(bu 2 | 3588 | .IP \(bu 2 |
2167 | 3571 | makes it harder to identify OpenVPN traffic as such, | 3589 | makes it harder to identify OpenVPN traffic as such, |
2168 | 3572 | .IP \(bu 2 | 3590 | .IP \(bu 2 |
2170 | 3573 | provides "poor\-man\(aqs" post\-quantum security, against attackers who will | 3591 | provides \(dqpoor\-man\(aqs\(dq post\-quantum security, against attackers who will |
2171 | 3574 | never know the pre\-shared key (i.e. no forward secrecy). | 3592 | never know the pre\-shared key (i.e. no forward secrecy). |
2172 | 3575 | .UNINDENT | 3593 | .UNINDENT |
2173 | 3576 | .sp | 3594 | .sp |
2174 | @@ -3690,7 +3708,7 @@ them. | |||
2175 | 3690 | .TP | 3708 | .TP |
2176 | 3691 | .BI \-\-tls\-version\-min \ args | 3709 | .BI \-\-tls\-version\-min \ args |
2177 | 3692 | Sets the minimum TLS version we will accept from the peer (default in | 3710 | Sets the minimum TLS version we will accept from the peer (default in |
2179 | 3693 | 2.6.0 and later is "1.2"). | 3711 | 2.6.0 and later is \(dq1.2\(dq). |
2180 | 3694 | .sp | 3712 | .sp |
2181 | 3695 | Valid syntax: | 3713 | Valid syntax: |
2182 | 3696 | .INDENT 7.0 | 3714 | .INDENT 7.0 |
2183 | @@ -3903,7 +3921,7 @@ Examples: | |||
2184 | 3903 | .ft C | 3921 | .ft C |
2185 | 3904 | x509\-track CN # exports only X509_0_CN | 3922 | x509\-track CN # exports only X509_0_CN |
2186 | 3905 | x509\-track +CN # exports X509_{n}_CN for chain | 3923 | x509\-track +CN # exports X509_{n}_CN for chain |
2188 | 3906 | x509\-track basicConstraints # exports value of "X509v3 Basic Constraints" | 3924 | x509\-track basicConstraints # exports value of \(dqX509v3 Basic Constraints\(dq |
2189 | 3907 | x509\-track SHA256 # exports SHA256 fingerprint | 3925 | x509\-track SHA256 # exports SHA256 fingerprint |
2190 | 3908 | .ft P | 3926 | .ft P |
2191 | 3909 | .fi | 3927 | .fi |
2192 | @@ -4084,7 +4102,7 @@ different backwards compatibility mechanism with older server and clients. | |||
2193 | 4084 | .SS OpenVPN 2.5 and later behaviour | 4102 | .SS OpenVPN 2.5 and later behaviour |
2194 | 4085 | .sp | 4103 | .sp |
2195 | 4086 | When both client and server are at least running OpenVPN 2.5, that the order of | 4104 | When both client and server are at least running OpenVPN 2.5, that the order of |
2197 | 4087 | the ciphers of the server\(aqs \fB\-\-data\-ciphers\fP is used to pick the the data cipher. | 4105 | the ciphers of the server\(aqs \fB\-\-data\-ciphers\fP is used to pick the data cipher. |
2198 | 4088 | That means that the first cipher in that list that is also in the client\(aqs | 4106 | That means that the first cipher in that list that is also in the client\(aqs |
2199 | 4089 | \fB\-\-data\-ciphers\fP list is chosen. If no common cipher is found the client is rejected | 4107 | \fB\-\-data\-ciphers\fP list is chosen. If no common cipher is found the client is rejected |
2200 | 4090 | with a AUTH_FAILED message (as seen in client log): | 4108 | 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 | 4105 | .SS OpenVPN 2.4 clients | 4123 | .SS OpenVPN 2.4 clients |
2203 | 4106 | .sp | 4124 | .sp |
2204 | 4107 | The negotiation support in OpenVPN 2.4 was the first iteration of the implementation | 4125 | The negotiation support in OpenVPN 2.4 was the first iteration of the implementation |
2206 | 4108 | and still had some quirks. Its main goal was "upgrade to AES\-256\-GCM when possible". | 4126 | and still had some quirks. Its main goal was \(dqupgrade to AES\-256\-GCM when possible\(dq. |
2207 | 4109 | An OpenVPN 2.4 client that is built against a crypto library that supports AES in GCM | 4127 | An OpenVPN 2.4 client that is built against a crypto library that supports AES in GCM |
2208 | 4110 | mode and does not have \fB\-\-ncp\-disable\fP will always announce support for | 4128 | mode and does not have \fB\-\-ncp\-disable\fP will always announce support for |
2209 | 4111 | \fIAES\-256\-GCM\fP and \fIAES\-128\-GCM\fP to a server by sending \fBIV_NCP=2\fP\&. | 4129 | \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 | 4285 | if mode server: | 4303 | if mode server: |
2212 | 4286 | ping 10 # Argument: interval | 4304 | ping 10 # Argument: interval |
2213 | 4287 | ping\-restart 120 # Argument: timeout*2 | 4305 | ping\-restart 120 # Argument: timeout*2 |
2216 | 4288 | push "ping 10" # Argument: interval | 4306 | push \(dqping 10\(dq # Argument: interval |
2217 | 4289 | push "ping\-restart 60" # Argument: timeout | 4307 | push \(dqping\-restart 60\(dq # Argument: timeout |
2218 | 4290 | else | 4308 | else |
2219 | 4291 | ping 10 # Argument: interval | 4309 | ping 10 # Argument: interval |
2220 | 4292 | ping\-restart 60 # Argument: timeout | 4310 | 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 | 4613 | value for \fBn\fP\&. Satellite links in particular often require this. | 4631 | value for \fBn\fP\&. Satellite links in particular often require this. |
2223 | 4614 | .sp | 4632 | .sp |
2224 | 4615 | If you run OpenVPN at \fB\-\-verb 4\fP, you will see the message | 4633 | If you run OpenVPN at \fB\-\-verb 4\fP, you will see the message |
2226 | 4616 | "PID_ERR replay\-window backtrack occurred [x]" every time the maximum sequence | 4634 | \(dqPID_ERR replay\-window backtrack occurred [x]\(dq every time the maximum sequence |
2227 | 4617 | number backtrack seen thus far increases. This can be used to calibrate | 4635 | number backtrack seen thus far increases. This can be used to calibrate |
2228 | 4618 | \fBn\fP\&. | 4636 | \fBn\fP\&. |
2229 | 4619 | .sp | 4637 | .sp |
2230 | @@ -4702,7 +4720,7 @@ The macro expands as follows: | |||
2231 | 4702 | .ft C | 4720 | .ft C |
2232 | 4703 | if mode server: | 4721 | if mode server: |
2233 | 4704 | socket\-flags TCP_NODELAY | 4722 | socket\-flags TCP_NODELAY |
2235 | 4705 | push "socket\-flags TCP_NODELAY" | 4723 | push \(dqsocket\-flags TCP_NODELAY\(dq |
2236 | 4706 | .ft P | 4724 | .ft P |
2237 | 4707 | .fi | 4725 | .fi |
2238 | 4708 | .UNINDENT | 4726 | .UNINDENT |
2239 | @@ -4781,14 +4799,14 @@ clients leaking around IPv4\-only VPN services). | |||
2240 | 4781 | .UNINDENT | 4799 | .UNINDENT |
2241 | 4782 | .TP | 4800 | .TP |
2242 | 4783 | .B \fBServer config\fP | 4801 | .B \fBServer config\fP |
2244 | 4784 | Push a "valid" ipv6 config to the client and block on the server | 4802 | Push a \(dqvalid\(dq ipv6 config to the client and block on the server |
2245 | 4785 | .INDENT 7.0 | 4803 | .INDENT 7.0 |
2246 | 4786 | .INDENT 3.5 | 4804 | .INDENT 3.5 |
2247 | 4787 | .sp | 4805 | .sp |
2248 | 4788 | .nf | 4806 | .nf |
2249 | 4789 | .ft C | 4807 | .ft C |
2252 | 4790 | \-\-push "ifconfig\-ipv6 fd15:53b6:dead::2/64 fd15:53b6:dead::1" | 4808 | \-\-push \(dqifconfig\-ipv6 fd15:53b6:dead::2/64 fd15:53b6:dead::1\(dq |
2253 | 4791 | \-\-push "redirect\-gateway ipv6" | 4809 | \-\-push \(dqredirect\-gateway ipv6\(dq |
2254 | 4792 | \-\-block\-ipv6 | 4810 | \-\-block\-ipv6 |
2255 | 4793 | .ft P | 4811 | .ft P |
2256 | 4794 | .fi | 4812 | .fi |
2257 | @@ -4842,7 +4860,7 @@ On most platforms, \fBtunN\fP (e.g. tun2, tun30) and \fBtapN\fP | |||
2258 | 4842 | (e.g. tap3) will create a numbered tun/tap interface with the number | 4860 | (e.g. tap3) will create a numbered tun/tap interface with the number |
2259 | 4843 | specified \- this is useful if multiple OpenVPN instances are active, | 4861 | specified \- this is useful if multiple OpenVPN instances are active, |
2260 | 4844 | and the instance\-to\-device mapping needs to be known. Some platforms | 4862 | and the instance\-to\-device mapping needs to be known. Some platforms |
2262 | 4845 | do not support "numbered tap", so trying \fB\-\-dev tap3\fP will fail. | 4863 | do not support \(dqnumbered tap\(dq, so trying \fB\-\-dev tap3\fP will fail. |
2263 | 4846 | .sp | 4864 | .sp |
2264 | 4847 | Arbitrary device names (e.g. \fB\-\-dev tun\-home\fP) will only work on | 4865 | Arbitrary device names (e.g. \fB\-\-dev tun\-home\fP) will only work on |
2265 | 4848 | FreeBSD (with the DCO kernel driver for \fBtun\fP devices) and Linux | 4866 | FreeBSD (with the DCO kernel driver for \fBtun\fP devices) and Linux |
2266 | @@ -5011,11 +5029,11 @@ across the VPN. | |||
2267 | 5011 | .sp | 5029 | .sp |
2268 | 5012 | For TAP devices, which provide the ability to create virtual ethernet | 5030 | For TAP devices, which provide the ability to create virtual ethernet |
2269 | 5013 | segments, or TUN devices in \fB\-\-topology subnet\fP mode (which create | 5031 | segments, or TUN devices in \fB\-\-topology subnet\fP mode (which create |
2271 | 5014 | virtual "multipoint networks"), \fB\-\-ifconfig\fP is used to set an IP | 5032 | virtual \(dqmultipoint networks\(dq), \fB\-\-ifconfig\fP is used to set an IP |
2272 | 5015 | address and subnet mask just as a physical ethernet adapter would be | 5033 | address and subnet mask just as a physical ethernet adapter would be |
2273 | 5016 | similarly configured. If you are attempting to connect to a remote | 5034 | similarly configured. If you are attempting to connect to a remote |
2274 | 5017 | ethernet bridge, the IP address and subnet should be set to values which | 5035 | ethernet bridge, the IP address and subnet should be set to values which |
2276 | 5018 | would be valid on the the bridged ethernet segment (note also that DHCP | 5036 | would be valid on the bridged ethernet segment (note also that DHCP |
2277 | 5019 | can be used for the same purpose). | 5037 | can be used for the same purpose). |
2278 | 5020 | .sp | 5038 | .sp |
2279 | 5021 | This option, while primarily a proxy for the \fBifconfig\fP(8) command, | 5039 | 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 | 5082 | on the local host. | 5100 | on the local host. |
2282 | 5083 | .sp | 5101 | .sp |
2283 | 5084 | This option will also silence warnings about potential address conflicts | 5102 | This option will also silence warnings about potential address conflicts |
2286 | 5085 | which occasionally annoy more experienced users by triggering "false | 5103 | which occasionally annoy more experienced users by triggering \(dqfalse |
2287 | 5086 | positive" warnings. | 5104 | positive\(dq warnings. |
2288 | 5087 | .TP | 5105 | .TP |
2289 | 5088 | .BI \-\-lladdr \ address | 5106 | .BI \-\-lladdr \ address |
2290 | 5089 | Specify the link layer address, more commonly known as the MAC address. | 5107 | Specify the link layer address, more commonly known as the MAC address. |
2291 | @@ -5348,8 +5366,8 @@ works on Windows as well. | |||
2292 | 5348 | .UNINDENT | 5366 | .UNINDENT |
2293 | 5349 | .sp | 5367 | .sp |
2294 | 5350 | \fINote:\fP Using \fB\-\-topology subnet\fP changes the interpretation of the | 5368 | \fINote:\fP Using \fB\-\-topology subnet\fP changes the interpretation of the |
2297 | 5351 | arguments of \fB\-\-ifconfig\fP to mean "address netmask", no longer "local | 5369 | arguments of \fB\-\-ifconfig\fP to mean \(dqaddress netmask\(dq, no longer \(dqlocal |
2298 | 5352 | remote". | 5370 | remote\(dq. |
2299 | 5353 | .TP | 5371 | .TP |
2300 | 5354 | .BI \-\-tun\-mtu \ args | 5372 | .BI \-\-tun\-mtu \ args |
2301 | 5355 | Valid syntaxes: | 5373 | Valid syntaxes: |
2302 | @@ -5422,7 +5440,7 @@ deleted or the machine is rebooted. | |||
2303 | 5422 | One of the advantages of persistent tunnels is that they eliminate the | 5440 | One of the advantages of persistent tunnels is that they eliminate the |
2304 | 5423 | need for separate \fB\-\-up\fP and \fB\-\-down\fP scripts to run the appropriate | 5441 | need for separate \fB\-\-up\fP and \fB\-\-down\fP scripts to run the appropriate |
2305 | 5424 | \fBifconfig\fP(8) and \fBroute\fP(8) commands. These commands can be | 5442 | \fBifconfig\fP(8) and \fBroute\fP(8) commands. These commands can be |
2307 | 5425 | placed in the the same shell script which starts or terminates an | 5443 | placed in the same shell script which starts or terminates an |
2308 | 5426 | OpenVPN session. | 5444 | OpenVPN session. |
2309 | 5427 | .sp | 5445 | .sp |
2310 | 5428 | Another advantage is that open connections through the TUN/TAP\-based | 5446 | 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 | 5658 | message. To avoid race conditions, this file should be written before | 5676 | message. To avoid race conditions, this file should be written before |
2313 | 5659 | \fBauth_control_file\fP\&. | 5677 | \fBauth_control_file\fP\&. |
2314 | 5660 | .sp | 5678 | .sp |
2317 | 5661 | This auth fail reason can be something simple like "User has been permanently | 5679 | This auth fail reason can be something simple like \(dqUser has been permanently |
2318 | 5662 | disabled" but there are also some special auth failed messages. | 5680 | disabled\(dq but there are also some special auth failed messages. |
2319 | 5663 | .sp | 5681 | .sp |
2320 | 5664 | The \fBTEMP\fP message indicates that the authentication | 5682 | The \fBTEMP\fP message indicates that the authentication |
2321 | 5665 | temporarily failed and that the client should continue to retry to connect. | 5683 | 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 | 5867 | .INDENT 7.0 | 5885 | .INDENT 7.0 |
2324 | 5868 | .TP | 5886 | .TP |
2325 | 5869 | .B \fB$1\fP \- [operation] | 5887 | .B \fB$1\fP \- [operation] |
2327 | 5870 | \fB"add"\fP, \fB"update"\fP, or \fB"delete"\fP based on whether | 5888 | \fB\(dqadd\(dq\fP, \fB\(dqupdate\(dq\fP, or \fB\(dqdelete\(dq\fP based on whether |
2328 | 5871 | or not the address is being added to, modified, or deleted from | 5889 | or not the address is being added to, modified, or deleted from |
2329 | 5872 | OpenVPN\(aqs internal routing table. | 5890 | OpenVPN\(aqs internal routing table. |
2330 | 5873 | .TP | 5891 | .TP |
2331 | 5874 | .B \fB$2\fP \- [address] | 5892 | .B \fB$2\fP \- [address] |
2332 | 5875 | The address being learned or unlearned. This can be an IPv4 address | 5893 | The address being learned or unlearned. This can be an IPv4 address |
2336 | 5876 | such as \fB"198.162.10.14"\fP, an IPv4 subnet such as | 5894 | such as \fB\(dq198.162.10.14\(dq\fP, an IPv4 subnet such as |
2337 | 5877 | \fB"198.162.10.0/24"\fP, or an ethernet MAC address (when | 5895 | \fB\(dq198.162.10.0/24\(dq\fP, or an ethernet MAC address (when |
2338 | 5878 | \fB\-\-dev tap\fP is being used) such as \fB"00:FF:01:02:03:04"\fP\&. | 5896 | \fB\-\-dev tap\fP is being used) such as \fB\(dq00:FF:01:02:03:04\(dq\fP\&. |
2339 | 5879 | .TP | 5897 | .TP |
2340 | 5880 | .B \fB$3\fP \- [common name] | 5898 | .B \fB$3\fP \- [common name] |
2341 | 5881 | The common name on the certificate associated with the client linked | 5899 | The common name on the certificate associated with the client linked |
2344 | 5882 | to this address. Only present for \fB"add"\fP or \fB"update"\fP | 5900 | to this address. Only present for \fB\(dqadd\(dq\fP or \fB\(dqupdate\(dq\fP |
2345 | 5883 | operations, not \fB"delete"\fP\&. | 5901 | operations, not \fB\(dqdelete\(dq\fP\&. |
2346 | 5884 | .UNINDENT | 5902 | .UNINDENT |
2347 | 5885 | .sp | 5903 | .sp |
2349 | 5886 | On \fB"add"\fP or \fB"update"\fP methods, if the script returns | 5904 | On \fB\(dqadd\(dq\fP or \fB\(dqupdate\(dq\fP methods, if the script returns |
2350 | 5887 | a failure code (non\-zero), OpenVPN will reject the address and will not | 5905 | a failure code (non\-zero), OpenVPN will reject the address and will not |
2351 | 5888 | modify its internal routing table. | 5906 | modify its internal routing table. |
2352 | 5889 | .sp | 5907 | .sp |
2353 | @@ -6137,10 +6155,10 @@ TCP/UDP connection establishment with peer. | |||
2354 | 6137 | .sp | 6155 | .sp |
2355 | 6138 | In \fB\-\-proto udp\fP mode, this option normally requires the use of | 6156 | In \fB\-\-proto udp\fP mode, this option normally requires the use of |
2356 | 6139 | \fB\-\-ping\fP to allow connection initiation to be sensed in the absence of | 6157 | \fB\-\-ping\fP to allow connection initiation to be sensed in the absence of |
2358 | 6140 | tunnel data, since UDP is a "connectionless" protocol. | 6158 | tunnel data, since UDP is a \(dqconnectionless\(dq protocol. |
2359 | 6141 | .sp | 6159 | .sp |
2360 | 6142 | On Windows, this option will delay the TAP\-Win32 media state | 6160 | On Windows, this option will delay the TAP\-Win32 media state |
2362 | 6143 | transitioning to "connected" until connection establishment, i.e. the | 6161 | transitioning to \(dqconnected\(dq until connection establishment, i.e. the |
2363 | 6144 | receipt of the first authenticated packet from the peer. | 6162 | receipt of the first authenticated packet from the peer. |
2364 | 6145 | .TP | 6163 | .TP |
2365 | 6146 | .B \-\-up\-restart | 6164 | .B \-\-up\-restart |
2366 | @@ -6186,13 +6204,13 @@ starting with OpenVPN 2.0.1, the username is passed to the | |||
2367 | 6186 | without string remapping. | 6204 | without string remapping. |
2368 | 6187 | .TP | 6205 | .TP |
2369 | 6188 | .B \fI\-\-auth\-user\-pass password\fP | 6206 | .B \fI\-\-auth\-user\-pass password\fP |
2371 | 6189 | Any "printable" character except CR or LF. Printable is defined to be | 6207 | Any \(dqprintable\(dq character except CR or LF. Printable is defined to be |
2372 | 6190 | a character which will cause the C library isprint() function to | 6208 | a character which will cause the C library isprint() function to |
2373 | 6191 | return true. | 6209 | return true. |
2374 | 6192 | .TP | 6210 | .TP |
2375 | 6193 | .B \fI\-\-client\-config\-dir filename as derived from common name or\(gausername\fP | 6211 | .B \fI\-\-client\-config\-dir filename as derived from common name or\(gausername\fP |
2378 | 6194 | Alphanumeric, underbar (\(aq_\(aq), dash (\(aq\-\(aq), and dot (\(aq.\(aq) except for "." | 6212 | Alphanumeric, underbar (\(aq_\(aq), dash (\(aq\-\(aq), and dot (\(aq.\(aq) except for \(dq.\(dq |
2379 | 6195 | or ".." as standalone strings. As of v2.0.1\-rc6, the at (\(aq@\(aq) character | 6213 | or \(dq..\(dq as standalone strings. As of v2.0.1\-rc6, the at (\(aq@\(aq) character |
2380 | 6196 | has been added as well for compatibility with the common name character | 6214 | has been added as well for compatibility with the common name character |
2381 | 6197 | class. | 6215 | class. |
2382 | 6198 | .TP | 6216 | .TP |
2383 | @@ -6265,12 +6283,12 @@ Name of first \fB\-\-config\fP file. Set on program initiation and reset on | |||
2384 | 6265 | SIGHUP. | 6283 | SIGHUP. |
2385 | 6266 | .TP | 6284 | .TP |
2386 | 6267 | .B \fBdaemon\fP | 6285 | .B \fBdaemon\fP |
2388 | 6268 | Set to "1" if the \fB\-\-daemon\fP directive is specified, or "0" otherwise. | 6286 | Set to \(dq1\(dq if the \fB\-\-daemon\fP directive is specified, or \(dq0\(dq otherwise. |
2389 | 6269 | Set on program initiation and reset on SIGHUP. | 6287 | Set on program initiation and reset on SIGHUP. |
2390 | 6270 | .TP | 6288 | .TP |
2391 | 6271 | .B \fBdaemon_log_redirect\fP | 6289 | .B \fBdaemon_log_redirect\fP |
2394 | 6272 | Set to "1" if the \fB\-\-log\fP or \fB\-\-log\-append\fP directives are | 6290 | Set to \(dq1\(dq if the \fB\-\-log\fP or \fB\-\-log\-append\fP directives are |
2395 | 6273 | specified, or "0" otherwise. Set on program initiation and reset on | 6291 | specified, or \(dq0\(dq otherwise. Set on program initiation and reset on |
2396 | 6274 | SIGHUP. | 6292 | SIGHUP. |
2397 | 6275 | .TP | 6293 | .TP |
2398 | 6276 | .B \fBdev\fP | 6294 | .B \fBdev\fP |
2399 | @@ -6431,7 +6449,7 @@ script execution. | |||
2400 | 6431 | A set of variables which define each route to be added, and are set | 6449 | A set of variables which define each route to be added, and are set |
2401 | 6432 | prior to \fB\-\-up\fP script execution. | 6450 | prior to \fB\-\-up\fP script execution. |
2402 | 6433 | .sp | 6451 | .sp |
2404 | 6434 | \fBparm\fP will be one of \fBnetwork\fP, \fBnetmask"\fP, | 6452 | \fBparm\fP will be one of \fBnetwork\fP, \fBnetmask\(dq\fP, |
2405 | 6435 | \fBgateway\fP, or \fBmetric\fP\&. | 6453 | \fBgateway\fP, or \fBmetric\fP\&. |
2406 | 6436 | .sp | 6454 | .sp |
2407 | 6437 | \fBn\fP is the OpenVPN route number, starting from 1. | 6455 | \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 | 6456 | command line or configuration file. | 6474 | command line or configuration file. |
2410 | 6457 | .TP | 6475 | .TP |
2411 | 6458 | .B \fBscript_context\fP | 6476 | .B \fBscript_context\fP |
2413 | 6459 | Set to "init" or "restart" prior to up/down script execution. For more | 6477 | Set to \(dqinit\(dq or \(dqrestart\(dq prior to up/down script execution. For more |
2414 | 6460 | information, see documentation for \fB\-\-up\fP\&. | 6478 | information, see documentation for \fB\-\-up\fP\&. |
2415 | 6461 | .TP | 6479 | .TP |
2416 | 6462 | .B \fBscript_type\fP | 6480 | .B \fBscript_type\fP |
2417 | @@ -6503,8 +6521,8 @@ of \fB\-\-tls\-verify\fP script. | |||
2418 | 6503 | The serial number of the certificate from the remote peer, where \fBn\fP | 6521 | The serial number of the certificate from the remote peer, where \fBn\fP |
2419 | 6504 | is the verification level. Only set for TLS connections. Set prior to | 6522 | is the verification level. Only set for TLS connections. Set prior to |
2420 | 6505 | execution of \fB\-\-tls\-verify\fP script. This is in the form of a decimal | 6523 | execution of \fB\-\-tls\-verify\fP script. This is in the form of a decimal |
2423 | 6506 | string like "933971680", which is suitable for doing serial\-based OCSP | 6524 | string like \(dq933971680\(dq, which is suitable for doing serial\-based OCSP |
2424 | 6507 | queries (with OpenSSL, do not prepend "0x" to the string) If something | 6525 | queries (with OpenSSL, do not prepend \(dq0x\(dq to the string) If something |
2425 | 6508 | goes wrong while reading the value from the certificate it will be an | 6526 | goes wrong while reading the value from the certificate it will be an |
2426 | 6509 | empty string, so your code should check that. See the | 6527 | empty string, so your code should check that. See the |
2427 | 6510 | \fBcontrib/OCSP_check/OCSP_check.sh\fP script for an example. | 6528 | \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 | 6552 | execution of \fB\-\-tls\-verify\fP script. This variable is similar to | 6570 | execution of \fB\-\-tls\-verify\fP script. This variable is similar to |
2430 | 6553 | \fBtls_id_{n}\fP except the component X509 subject fields are broken | 6571 | \fBtls_id_{n}\fP except the component X509 subject fields are broken |
2431 | 6554 | out, and no string remapping occurs on these field values (except for | 6572 | out, and no string remapping occurs on these field values (except for |
2433 | 6555 | remapping of control characters to "\fB_\fP"). For example, the | 6573 | remapping of control characters to \(dq\fB_\fP\(dq). For example, the |
2434 | 6556 | following variables would be set on the OpenVPN server using the sample | 6574 | following variables would be set on the OpenVPN server using the sample |
2435 | 6557 | client certificate in sample\-keys (client.crt). Note that the | 6575 | client certificate in sample\-keys (client.crt). Note that the |
2436 | 6558 | verification level is 0 for the client certificate and 1 for the CA | 6576 | verification level is 0 for the client certificate and 1 for the CA |
2437 | @@ -6631,7 +6649,7 @@ clients. | |||
2438 | 6631 | .sp | 6649 | .sp |
2439 | 6632 | While the management port is designed for programmatic control of | 6650 | While the management port is designed for programmatic control of |
2440 | 6633 | OpenVPN by other applications, it is possible to telnet to the port, | 6651 | OpenVPN by other applications, it is possible to telnet to the port, |
2442 | 6634 | using a telnet client in "raw" mode. Once connected, type \fBhelp\fP | 6652 | using a telnet client in \(dqraw\(dq mode. Once connected, type \fBhelp\fP |
2443 | 6635 | for a list of commands. | 6653 | for a list of commands. |
2444 | 6636 | .sp | 6654 | .sp |
2445 | 6637 | For detailed documentation on the management interface, see the | 6655 | For detailed documentation on the management interface, see the |
2446 | @@ -6755,7 +6773,7 @@ Valid syntax: | |||
2447 | 6755 | .nf | 6773 | .nf |
2448 | 6756 | .ft C | 6774 | .ft C |
2449 | 6757 | plugin module\-name | 6775 | plugin module\-name |
2451 | 6758 | plugin module\-name "arguments" | 6776 | plugin module\-name \(dqarguments\(dq |
2452 | 6759 | .ft P | 6777 | .ft P |
2453 | 6760 | .fi | 6778 | .fi |
2454 | 6761 | .UNINDENT | 6779 | .UNINDENT |
2455 | @@ -6765,7 +6783,7 @@ The \fBmodule\-name\fP needs to be the first | |||
2456 | 6765 | argument, indicating the plug\-in to load. The second argument is an | 6783 | argument, indicating the plug\-in to load. The second argument is an |
2457 | 6766 | optional init string which will be passed directly to the plug\-in. | 6784 | optional init string which will be passed directly to the plug\-in. |
2458 | 6767 | If the init consists of multiple arguments it must be enclosed in | 6785 | If the init consists of multiple arguments it must be enclosed in |
2460 | 6768 | double\-quotes ("). Multiple plugin modules may be loaded into one | 6786 | double\-quotes (\(dq). Multiple plugin modules may be loaded into one |
2461 | 6769 | OpenVPN process. | 6787 | OpenVPN process. |
2462 | 6770 | .sp | 6788 | .sp |
2463 | 6771 | The \fBmodule\-name\fP argument can be just a filename or a filename | 6789 | The \fBmodule\-name\fP argument can be just a filename or a filename |
2464 | @@ -6865,7 +6883,7 @@ certificate\(aqs subject: | |||
2465 | 6865 | .sp | 6883 | .sp |
2466 | 6866 | .nf | 6884 | .nf |
2467 | 6867 | .ft C | 6885 | .ft C |
2469 | 6868 | cryptoapicert "SUBJ:Peter Runestig" | 6886 | cryptoapicert \(dqSUBJ:Peter Runestig\(dq |
2470 | 6869 | .ft P | 6887 | .ft P |
2471 | 6870 | .fi | 6888 | .fi |
2472 | 6871 | .UNINDENT | 6889 | .UNINDENT |
2473 | @@ -6877,7 +6895,7 @@ To select a certificate, based on certificate\(aqs thumbprint (SHA1 hash): | |||
2474 | 6877 | .sp | 6895 | .sp |
2475 | 6878 | .nf | 6896 | .nf |
2476 | 6879 | .ft C | 6897 | .ft C |
2478 | 6880 | cryptoapicert "THUMB:f6 49 24 41 01 b4 ..." | 6898 | cryptoapicert \(dqTHUMB:f6 49 24 41 01 b4 ...\(dq |
2479 | 6881 | .ft P | 6899 | .ft P |
2480 | 6882 | .fi | 6900 | .fi |
2481 | 6883 | .UNINDENT | 6901 | .UNINDENT |
2482 | @@ -6893,7 +6911,7 @@ issuer name: | |||
2483 | 6893 | .sp | 6911 | .sp |
2484 | 6894 | .nf | 6912 | .nf |
2485 | 6895 | .ft C | 6913 | .ft C |
2487 | 6896 | cryptoapicert "ISSUER:Sample CA" | 6914 | cryptoapicert \(dqISSUER:Sample CA\(dq |
2488 | 6897 | .ft P | 6915 | .ft P |
2489 | 6898 | .fi | 6916 | .fi |
2490 | 6899 | .UNINDENT | 6917 | .UNINDENT |
2491 | @@ -6911,7 +6929,7 @@ OpenVPN 2.4.1. | |||
2492 | 6911 | Ask Windows to renew the TAP adapter lease on startup. This option is | 6929 | Ask Windows to renew the TAP adapter lease on startup. This option is |
2493 | 6912 | normally unnecessary, as Windows automatically triggers a DHCP | 6930 | normally unnecessary, as Windows automatically triggers a DHCP |
2494 | 6913 | renegotiation on the TAP adapter when it comes up, however if you set | 6931 | renegotiation on the TAP adapter when it comes up, however if you set |
2496 | 6914 | the TAP\-Win32 adapter Media Status property to "Always Connected", you | 6932 | the TAP\-Win32 adapter Media Status property to \(dqAlways Connected\(dq, you |
2497 | 6915 | may need this flag. | 6933 | may need this flag. |
2498 | 6916 | .TP | 6934 | .TP |
2499 | 6917 | .BI \-\-ip\-win32 \ method | 6935 | .BI \-\-ip\-win32 \ method |
2500 | @@ -6929,13 +6947,13 @@ expects the adapter to be set to. | |||
2501 | 6929 | .B \fBdynamic [offset] [lease\-time]\fP | 6947 | .B \fBdynamic [offset] [lease\-time]\fP |
2502 | 6930 | Automatically set the IP address and netmask by replying to DHCP | 6948 | Automatically set the IP address and netmask by replying to DHCP |
2503 | 6931 | query messages generated by the kernel. This mode is probably the | 6949 | query messages generated by the kernel. This mode is probably the |
2505 | 6932 | "cleanest" solution for setting the TCP/IP properties since it | 6950 | \(dqcleanest\(dq solution for setting the TCP/IP properties since it |
2506 | 6933 | uses the well\-known DHCP protocol. There are, however, two | 6951 | uses the well\-known DHCP protocol. There are, however, two |
2507 | 6934 | prerequisites for using this mode: | 6952 | prerequisites for using this mode: |
2508 | 6935 | .INDENT 7.0 | 6953 | .INDENT 7.0 |
2509 | 6936 | .IP 1. 3 | 6954 | .IP 1. 3 |
2510 | 6937 | The TCP/IP properties for the TAP\-Win32 adapter must be set | 6955 | The TCP/IP properties for the TAP\-Win32 adapter must be set |
2512 | 6938 | to "Obtain an IP address automatically", and | 6956 | to \(dqObtain an IP address automatically\(dq, and |
2513 | 6939 | .IP 2. 3 | 6957 | .IP 2. 3 |
2514 | 6940 | OpenVPN needs to claim an IP address in the subnet for use | 6958 | OpenVPN needs to claim an IP address in the subnet for use |
2515 | 6941 | as the virtual DHCP server address. | 6959 | as the virtual DHCP server address. |
2516 | @@ -6955,7 +6973,7 @@ address + offset. If offset is negative, the DHCP server will | |||
2517 | 6955 | masquerade as the IP address at broadcast address + offset. | 6973 | masquerade as the IP address at broadcast address + offset. |
2518 | 6956 | .sp | 6974 | .sp |
2519 | 6957 | The Windows \fBipconfig /all\fP command can be used to show what | 6975 | The Windows \fBipconfig /all\fP command can be used to show what |
2521 | 6958 | Windows thinks the DHCP server address is. OpenVPN will "claim" | 6976 | Windows thinks the DHCP server address is. OpenVPN will \(dqclaim\(dq |
2522 | 6959 | this address, so make sure to use a free address. Having said that, | 6977 | this address, so make sure to use a free address. Having said that, |
2523 | 6960 | different OpenVPN instantiations, including different ends of | 6978 | different OpenVPN instantiations, including different ends of |
2524 | 6961 | the same connection, can share the same virtual DHCP server | 6979 | 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 | 6969 | .TP | 6987 | .TP |
2527 | 6970 | .B \fBnetsh\fP | 6988 | .B \fBnetsh\fP |
2528 | 6971 | Automatically set the IP address and netmask using the Windows | 6989 | Automatically set the IP address and netmask using the Windows |
2530 | 6972 | command\-line "netsh" command. This method appears to work correctly | 6990 | command\-line \(dqnetsh\(dq command. This method appears to work correctly |
2531 | 6973 | on Windows XP but not Windows 2000. | 6991 | on Windows XP but not Windows 2000. |
2532 | 6974 | .TP | 6992 | .TP |
2533 | 6975 | .B \fBipapi\fP | 6993 | .B \fBipapi\fP |
2534 | @@ -6977,8 +6995,8 @@ Automatically set the IP address and netmask using the Windows IP | |||
2535 | 6977 | Helper API. This approach does not have ideal semantics, though | 6995 | Helper API. This approach does not have ideal semantics, though |
2536 | 6978 | testing has indicated that it works okay in practice. If you use | 6996 | testing has indicated that it works okay in practice. If you use |
2537 | 6979 | this option, it is best to leave the TCP/IP properties for the | 6997 | this option, it is best to leave the TCP/IP properties for the |
2540 | 6980 | TAP\-Win32 adapter in their default state, i.e. "Obtain an IP | 6998 | TAP\-Win32 adapter in their default state, i.e. \(dqObtain an IP |
2541 | 6981 | address automatically." | 6999 | address automatically.\(dq |
2542 | 6982 | .TP | 7000 | .TP |
2543 | 6983 | .B \fBadaptive\fP (Default) | 7001 | .B \fBadaptive\fP (Default) |
2544 | 6984 | Try \fBdynamic\fP method initially and fail over to \fBnetsh\fP | 7002 | 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 | 6991 | future OpenVPN startups using the \fBadaptive\fP mode to use | 7009 | future OpenVPN startups using the \fBadaptive\fP mode to use |
2547 | 6992 | \fBnetsh\fP immediately, rather than trying \fBdynamic\fP first. | 7010 | \fBnetsh\fP immediately, rather than trying \fBdynamic\fP first. |
2548 | 6993 | .sp | 7011 | .sp |
2550 | 6994 | To "unstick" the \fBadaptive\fP mode from using \fBnetsh\fP, | 7012 | To \(dqunstick\(dq the \fBadaptive\fP mode from using \fBnetsh\fP, |
2551 | 6995 | run OpenVPN at least once using the \fBdynamic\fP mode to restore | 7013 | run OpenVPN at least once using the \fBdynamic\fP mode to restore |
2552 | 6996 | the TAP\-Win32 adapter TCP/IP properties to a DHCP configuration. | 7014 | the TAP\-Win32 adapter TCP/IP properties to a DHCP configuration. |
2553 | 6997 | .UNINDENT | 7015 | .UNINDENT |
2554 | 6998 | .TP | 7016 | .TP |
2555 | 6999 | .B \-\-pause\-exit | 7017 | .B \-\-pause\-exit |
2557 | 7000 | Put up a "press any key to continue" message on the console prior to | 7018 | Put up a \(dqpress any key to continue\(dq message on the console prior to |
2558 | 7001 | OpenVPN program exit. This option is automatically used by the Windows | 7019 | OpenVPN program exit. This option is automatically used by the Windows |
2559 | 7002 | explorer when OpenVPN is run on a configuration file using the | 7020 | explorer when OpenVPN is run on a configuration file using the |
2560 | 7003 | right\-click explorer menu. | 7021 | right\-click explorer menu. |
2561 | @@ -7084,7 +7102,7 @@ be the middle two addresses of a /30 subnet (netmask 255.255.255.252). | |||
2562 | 7084 | .TP | 7102 | .TP |
2563 | 7085 | .BI \-\-tap\-sleep \ n | 7103 | .BI \-\-tap\-sleep \ n |
2564 | 7086 | Cause OpenVPN to sleep for \fBn\fP seconds immediately after the TAP\-Win32 | 7104 | Cause OpenVPN to sleep for \fBn\fP seconds immediately after the TAP\-Win32 |
2566 | 7087 | adapter state is set to "connected". | 7105 | adapter state is set to \(dqconnected\(dq. |
2567 | 7088 | .sp | 7106 | .sp |
2568 | 7089 | This option is intended to be used to troubleshoot problems with the | 7107 | This option is intended to be used to troubleshoot problems with the |
2569 | 7090 | \fB\-\-ifconfig\fP and \fB\-\-ip\-win32\fP options, and is used to give the | 7108 | \fB\-\-ifconfig\fP and \fB\-\-ip\-win32\fP options, and is used to give the |
2570 | @@ -7287,7 +7305,7 @@ group. | |||
2571 | 7287 | An OpenVPN client will try each connection profile sequentially until it | 7305 | An OpenVPN client will try each connection profile sequentially until it |
2572 | 7288 | achieves a successful connection. | 7306 | achieves a successful connection. |
2573 | 7289 | .sp | 7307 | .sp |
2575 | 7290 | \fB\-\-remote\-random\fP can be used to initially "scramble" the connection | 7308 | \fB\-\-remote\-random\fP can be used to initially \(dqscramble\(dq the connection |
2576 | 7291 | list. | 7309 | list. |
2577 | 7292 | .sp | 7310 | .sp |
2578 | 7293 | Here is an example of connection profile usage: | 7311 | 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 | 7360 | \fB\-\-cert\fP, \fB\-\-dh\fP, \fB\-\-extra\-certs\fP, \fB\-\-key\fP, \fB\-\-pkcs12\fP, | 7378 | \fB\-\-cert\fP, \fB\-\-dh\fP, \fB\-\-extra\-certs\fP, \fB\-\-key\fP, \fB\-\-pkcs12\fP, |
2581 | 7361 | \fB\-\-secret\fP, \fB\-\-crl\-verify\fP, \fB\-\-http\-proxy\-user\-pass\fP, \fB\-\-tls\-auth\fP, | 7379 | \fB\-\-secret\fP, \fB\-\-crl\-verify\fP, \fB\-\-http\-proxy\-user\-pass\fP, \fB\-\-tls\-auth\fP, |
2582 | 7362 | \fB\-\-auth\-gen\-token\-secret\fP, \fB\-\-peer\-fingerprint\fP, \fB\-\-tls\-crypt\fP, | 7380 | \fB\-\-auth\-gen\-token\-secret\fP, \fB\-\-peer\-fingerprint\fP, \fB\-\-tls\-crypt\fP, |
2584 | 7363 | \fB\-\-tls\-crypt\-v2\fP and \fB\-\-verify\-hash\fP options. | 7381 | \fB\-\-tls\-crypt\-v2\fP, \fB\-\-verify\-hash\fP and \fB\-\-auth\-user\-pass\fP options. |
2585 | 7364 | .sp | 7382 | .sp |
2586 | 7365 | Each inline file started by the line \fB<option>\fP and ended by the line | 7383 | Each inline file started by the line \fB<option>\fP and ended by the line |
2587 | 7366 | \fB</option>\fP | 7384 | \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 @@ | |||
2594 | 1 | <?xml version="1.0" encoding="utf-8" ?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2595 | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2596 | 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
2597 | 4 | <head> | 4 | <head> |
2598 | 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
2600 | 6 | <meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> | 6 | <meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" /> |
2601 | 7 | <title>openvpn</title> | 7 | <title>openvpn</title> |
2602 | 8 | <style type="text/css"> | 8 | <style type="text/css"> |
2603 | 9 | 9 | ||
2604 | 10 | /* | 10 | /* |
2605 | 11 | :Author: David Goodger (goodger@python.org) | 11 | :Author: David Goodger (goodger@python.org) |
2607 | 12 | :Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $ | 12 | :Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ |
2608 | 13 | :Copyright: This stylesheet has been placed in the public domain. | 13 | :Copyright: This stylesheet has been placed in the public domain. |
2609 | 14 | 14 | ||
2610 | 15 | Default cascading style sheet for the HTML output of Docutils. | 15 | Default cascading style sheet for the HTML output of Docutils. |
2611 | 16 | 16 | ||
2613 | 17 | See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to | 17 | See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to |
2614 | 18 | customize this style sheet. | 18 | customize this style sheet. |
2615 | 19 | */ | 19 | */ |
2616 | 20 | 20 | ||
2617 | @@ -492,7 +492,7 @@ version specified.</p> | |||
2618 | 492 | to the configuration if no other compression options are present.</li> | 492 | to the configuration if no other compression options are present.</li> |
2619 | 493 | <li>2.4.x or lower: The cipher in <tt class="docutils literal"><span class="pre">--cipher</span></tt> is appended to | 493 | <li>2.4.x or lower: The cipher in <tt class="docutils literal"><span class="pre">--cipher</span></tt> is appended to |
2620 | 494 | <tt class="docutils literal"><span class="pre">--data-ciphers</span></tt>.</li> | 494 | <tt class="docutils literal"><span class="pre">--data-ciphers</span></tt>.</li> |
2622 | 495 | <li>2.3.x or lower: <tt class="docutils literal"><span class="pre">--data-cipher-fallback</span></tt> is automatically added with | 495 | <li>2.3.x or lower: <tt class="docutils literal"><span class="pre">--data-ciphers-fallback</span></tt> is automatically added with |
2623 | 496 | the same cipher as <tt class="docutils literal"><span class="pre">--cipher</span></tt>.</li> | 496 | the same cipher as <tt class="docutils literal"><span class="pre">--cipher</span></tt>.</li> |
2624 | 497 | <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 | 497 | <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 | 498 | when <tt class="docutils literal"><span class="pre">--tls-version-min</span></tt> is not explicitly set.</li> | 498 | 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 | 1353 | lines. If the password line is missing, OpenVPN will prompt for one.</p> | 1353 | lines. If the password line is missing, OpenVPN will prompt for one.</p> |
2628 | 1354 | <p>If <tt class="docutils literal">up</tt> is omitted, username/password will be prompted from the | 1354 | <p>If <tt class="docutils literal">up</tt> is omitted, username/password will be prompted from the |
2629 | 1355 | console.</p> | 1355 | console.</p> |
2630 | 1356 | <p>This option can also be inlined</p> | ||
2631 | 1357 | <pre class="literal-block"> | ||
2632 | 1358 | <auth-user-pass> | ||
2633 | 1359 | username | ||
2634 | 1360 | [password] | ||
2635 | 1361 | </auth-user-pass> | ||
2636 | 1362 | </pre> | ||
2637 | 1363 | <p>where password is optional, and will be prompted from the console if | ||
2638 | 1364 | missing.</p> | ||
2639 | 1356 | <p class="last">The server configuration must specify an <tt class="docutils literal"><span class="pre">--auth-user-pass-verify</span></tt> | 1365 | <p class="last">The server configuration must specify an <tt class="docutils literal"><span class="pre">--auth-user-pass-verify</span></tt> |
2640 | 1357 | script to verify the username/password provided by the client.</p> | 1366 | script to verify the username/password provided by the client.</p> |
2641 | 1358 | </td></tr> | 1367 | </td></tr> |
2642 | @@ -3612,7 +3621,7 @@ different backwards compatibility mechanism with older server and clients.</p> | |||
2643 | 3612 | <div class="section" id="openvpn-2-5-and-later-behaviour"> | 3621 | <div class="section" id="openvpn-2-5-and-later-behaviour"> |
2644 | 3613 | <h2>OpenVPN 2.5 and later behaviour</h2> | 3622 | <h2>OpenVPN 2.5 and later behaviour</h2> |
2645 | 3614 | <p>When both client and server are at least running OpenVPN 2.5, that the order of | 3623 | <p>When both client and server are at least running OpenVPN 2.5, that the order of |
2647 | 3615 | 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. | 3624 | 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 | 3616 | That means that the first cipher in that list that is also in the client's | 3625 | That means that the first cipher in that list that is also in the client's |
2649 | 3617 | <tt class="docutils literal"><span class="pre">--data-ciphers</span></tt> list is chosen. If no common cipher is found the client is rejected | 3626 | <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 | 3618 | with a AUTH_FAILED message (as seen in client log):</p> | 3627 | 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 | 4387 | address and subnet mask just as a physical ethernet adapter would be | 4396 | address and subnet mask just as a physical ethernet adapter would be |
2653 | 4388 | similarly configured. If you are attempting to connect to a remote | 4397 | similarly configured. If you are attempting to connect to a remote |
2654 | 4389 | ethernet bridge, the IP address and subnet should be set to values which | 4398 | ethernet bridge, the IP address and subnet should be set to values which |
2656 | 4390 | would be valid on the the bridged ethernet segment (note also that DHCP | 4399 | would be valid on the bridged ethernet segment (note also that DHCP |
2657 | 4391 | can be used for the same purpose).</p> | 4400 | can be used for the same purpose).</p> |
2658 | 4392 | <p>This option, while primarily a proxy for the <tt class="docutils literal">ifconfig</tt>(8) command, | 4401 | <p>This option, while primarily a proxy for the <tt class="docutils literal">ifconfig</tt>(8) command, |
2659 | 4393 | is designed to simplify TUN/TAP tunnel configuration by providing a | 4402 | is designed to simplify TUN/TAP tunnel configuration by providing a |
2660 | @@ -4720,7 +4729,7 @@ deleted or the machine is rebooted.</p> | |||
2661 | 4720 | <p>One of the advantages of persistent tunnels is that they eliminate the | 4729 | <p>One of the advantages of persistent tunnels is that they eliminate the |
2662 | 4721 | 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 | 4730 | 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 | 4722 | <tt class="docutils literal">ifconfig</tt>(8) and <tt class="docutils literal">route</tt>(8) commands. These commands can be | 4731 | <tt class="docutils literal">ifconfig</tt>(8) and <tt class="docutils literal">route</tt>(8) commands. These commands can be |
2665 | 4723 | placed in the the same shell script which starts or terminates an | 4732 | placed in the same shell script which starts or terminates an |
2666 | 4724 | OpenVPN session.</p> | 4733 | OpenVPN session.</p> |
2667 | 4725 | <p>Another advantage is that open connections through the TUN/TAP-based | 4734 | <p>Another advantage is that open connections through the TUN/TAP-based |
2668 | 4726 | tunnel will not be reset if the OpenVPN peer restarts. This can be | 4735 | 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 | 6343 | <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>, | 6352 | <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 | 6344 | <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>, | 6353 | <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 | 6345 | <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>, | 6354 | <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>, |
2674 | 6346 | <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> | 6355 | <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 | 6347 | <p>Each inline file started by the line <tt class="docutils literal"><option></tt> and ended by the line | 6356 | <p>Each inline file started by the line <tt class="docutils literal"><option></tt> and ended by the line |
2676 | 6348 | <tt class="docutils literal"></option></tt></p> | 6357 | <tt class="docutils literal"></option></tt></p> |
2677 | 6349 | <p>Here is an example of an inline file usage</p> | 6358 | <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 | 5 | # packet encryption, packet authentication, and | 5 | # packet encryption, packet authentication, and |
2684 | 6 | # packet compression. | 6 | # packet compression. |
2685 | 7 | # | 7 | # |
2687 | 8 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 8 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2688 | 9 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 9 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
2689 | 10 | # | 10 | # |
2690 | 11 | 11 | ||
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 | 21 | # packet encryption, packet authentication, and | 21 | # packet encryption, packet authentication, and |
2697 | 22 | # packet compression. | 22 | # packet compression. |
2698 | 23 | # | 23 | # |
2700 | 24 | # Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 24 | # Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2701 | 25 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> | 25 | # Copyright (C) 2006-2012 Alon Bar-Lev <alon.barlev@gmail.com> |
2702 | 26 | # | 26 | # |
2703 | 27 | 27 | ||
2704 | @@ -216,6 +216,7 @@ ENABLE_UNITTESTS = @ENABLE_UNITTESTS@ | |||
2705 | 216 | ETAGS = @ETAGS@ | 216 | ETAGS = @ETAGS@ |
2706 | 217 | EXEEXT = @EXEEXT@ | 217 | EXEEXT = @EXEEXT@ |
2707 | 218 | FGREP = @FGREP@ | 218 | FGREP = @FGREP@ |
2708 | 219 | FILECMD = @FILECMD@ | ||
2709 | 219 | GIT = @GIT@ | 220 | GIT = @GIT@ |
2710 | 220 | GREP = @GREP@ | 221 | GREP = @GREP@ |
2711 | 221 | IFCONFIG = @IFCONFIG@ | 222 | 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 | 5 | * packet encryption, packet authentication, and | 5 | * packet encryption, packet authentication, and |
2718 | 6 | * packet compression. | 6 | * packet compression. |
2719 | 7 | * | 7 | * |
2721 | 8 | * Copyright (C) 2013-2023 Heiko Hund <heiko.hund@sophos.com> | 8 | * Copyright (C) 2013-2024 Heiko Hund <heiko.hund@sophos.com> |
2722 | 9 | * | 9 | * |
2723 | 10 | * This program is free software; you can redistribute it and/or modify | 10 | * This program is free software; you can redistribute it and/or modify |
2724 | 11 | * it under the terms of the GNU General Public License version 2 | 11 | * 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 | 6 | * packet encryption, packet authentication, and | 6 | * packet encryption, packet authentication, and |
2731 | 7 | * packet compression. | 7 | * packet compression. |
2732 | 8 | * | 8 | * |
2734 | 9 | * Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 9 | * Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2735 | 10 | * | 10 | * |
2736 | 11 | * This program is free software; you can redistribute it and/or modify | 11 | * This program is free software; you can redistribute it and/or modify |
2737 | 12 | * it under the terms of the GNU General Public License version 2 | 12 | * it under the terms of the GNU General Public License version 2 |
2738 | @@ -53,7 +53,7 @@ extern "C" { | |||
2739 | 53 | */ | 53 | */ |
2740 | 54 | #define OPENVPN_VERSION_MAJOR 2 | 54 | #define OPENVPN_VERSION_MAJOR 2 |
2741 | 55 | #define OPENVPN_VERSION_MINOR 6 | 55 | #define OPENVPN_VERSION_MINOR 6 |
2743 | 56 | #define OPENVPN_VERSION_PATCH ".9" | 56 | #define OPENVPN_VERSION_PATCH ".10" |
2744 | 57 | 57 | ||
2745 | 58 | /* | 58 | /* |
2746 | 59 | * Plug-in types. These types correspond to the set of script callbacks | 59 | * 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 | 5 | * packet encryption, packet authentication, and | 5 | * packet encryption, packet authentication, and |
2753 | 6 | * packet compression. | 6 | * packet compression. |
2754 | 7 | * | 7 | * |
2756 | 8 | * Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net> | 8 | * Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net> |
2757 | 9 | * | 9 | * |
2758 | 10 | * This program is free software; you can redistribute it and/or modify | 10 | * This program is free software; you can redistribute it and/or modify |
2759 | 11 | * it under the terms of the GNU General Public License version 2 | 11 | * it under the terms of the GNU General Public License version 2 |
2760 | diff --git a/ltmain.sh b/ltmain.sh | |||
2761 | 12 | old mode 100755 | 12 | old mode 100755 |
2762 | 13 | new mode 100644 | 13 | new mode 100644 |
2763 | index 540a92a..2a50d7f | |||
2764 | --- a/ltmain.sh | |||
2765 | +++ b/ltmain.sh | |||
2766 | @@ -1,12 +1,12 @@ | |||
2768 | 1 | #! /bin/sh | 1 | #! /usr/bin/env sh |
2769 | 2 | ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in | 2 | ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in |
2771 | 3 | ## by inline-source v2014-01-03.01 | 3 | ## by inline-source v2019-02-19.15 |
2772 | 4 | 4 | ||
2774 | 5 | # libtool (GNU libtool) 2.4.6 | 5 | # libtool (GNU libtool) 2.4.7 |
2775 | 6 | # Provide generalized library-building support services. | 6 | # Provide generalized library-building support services. |
2776 | 7 | # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | 7 | # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 |
2777 | 8 | 8 | ||
2779 | 9 | # Copyright (C) 1996-2015 Free Software Foundation, Inc. | 9 | # Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. |
2780 | 10 | # This is free software; see the source for copying conditions. There is NO | 10 | # This is free software; see the source for copying conditions. There is NO |
2781 | 11 | # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 11 | # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
2782 | 12 | 12 | ||
2783 | @@ -31,8 +31,8 @@ | |||
2784 | 31 | 31 | ||
2785 | 32 | PROGRAM=libtool | 32 | PROGRAM=libtool |
2786 | 33 | PACKAGE=libtool | 33 | PACKAGE=libtool |
2789 | 34 | VERSION="2.4.6 Debian-2.4.6-15build2" | 34 | VERSION=2.4.7 |
2790 | 35 | package_revision=2.4.6 | 35 | package_revision=2.4.7 |
2791 | 36 | 36 | ||
2792 | 37 | 37 | ||
2793 | 38 | ## ------ ## | 38 | ## ------ ## |
2794 | @@ -64,34 +64,25 @@ package_revision=2.4.6 | |||
2795 | 64 | # libraries, which are installed to $pkgauxdir. | 64 | # libraries, which are installed to $pkgauxdir. |
2796 | 65 | 65 | ||
2797 | 66 | # Set a version string for this script. | 66 | # Set a version string for this script. |
2799 | 67 | scriptversion=2015-01-20.17; # UTC | 67 | scriptversion=2019-02-19.15; # UTC |
2800 | 68 | 68 | ||
2801 | 69 | # General shell script boiler plate, and helper functions. | 69 | # General shell script boiler plate, and helper functions. |
2802 | 70 | # Written by Gary V. Vaughan, 2004 | 70 | # Written by Gary V. Vaughan, 2004 |
2803 | 71 | 71 | ||
2825 | 72 | # Copyright (C) 2004-2015 Free Software Foundation, Inc. | 72 | # This is free software. There is NO warranty; not even for |
2826 | 73 | # This is free software; see the source for copying conditions. There is NO | 73 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
2827 | 74 | # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 74 | # |
2828 | 75 | 75 | # Copyright (C) 2004-2019, 2021 Bootstrap Authors | |
2829 | 76 | # This program is free software; you can redistribute it and/or modify | 76 | # |
2830 | 77 | # it under the terms of the GNU General Public License as published by | 77 | # This file is dual licensed under the terms of the MIT license |
2831 | 78 | # the Free Software Foundation; either version 3 of the License, or | 78 | # <https://opensource.org/license/MIT>, and GPL version 2 or later |
2832 | 79 | # (at your option) any later version. | 79 | # <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of |
2833 | 80 | 80 | # these licenses when using or redistributing this software or any of | |
2834 | 81 | # As a special exception to the GNU General Public License, if you distribute | 81 | # the files within it. See the URLs above, or the file `LICENSE` |
2835 | 82 | # this file as part of a program or library that is built using GNU Libtool, | 82 | # included in the Bootstrap distribution for the full license texts. |
2815 | 83 | # you may include this file under the same distribution terms that you use | ||
2816 | 84 | # for the rest of that program. | ||
2817 | 85 | |||
2818 | 86 | # This program is distributed in the hope that it will be useful, | ||
2819 | 87 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2820 | 88 | # MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU | ||
2821 | 89 | # General Public License for more details. | ||
2822 | 90 | |||
2823 | 91 | # You should have received a copy of the GNU General Public License | ||
2824 | 92 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
2836 | 93 | 83 | ||
2838 | 94 | # Please report bugs or propose patches to gary@gnu.org. | 84 | # Please report bugs or propose patches to: |
2839 | 85 | # <https://github.com/gnulib-modules/bootstrap/issues> | ||
2840 | 95 | 86 | ||
2841 | 96 | 87 | ||
2842 | 97 | ## ------ ## | 88 | ## ------ ## |
2843 | @@ -139,9 +130,12 @@ do | |||
2844 | 139 | _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" | 130 | _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" |
2845 | 140 | fi" | 131 | fi" |
2846 | 141 | done | 132 | done |
2850 | 142 | 133 | # These NLS vars are set unconditionally (bootstrap issue #24). Unset those | |
2851 | 143 | # CDPATH. | 134 | # in case the environment reset is needed later and the $save_* variant is not |
2852 | 144 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | 135 | # defined (see the code above). |
2853 | 136 | LC_ALL=C | ||
2854 | 137 | LANGUAGE=C | ||
2855 | 138 | export LANGUAGE LC_ALL | ||
2856 | 145 | 139 | ||
2857 | 146 | # Make sure IFS has a sensible default | 140 | # Make sure IFS has a sensible default |
2858 | 147 | sp=' ' | 141 | sp=' ' |
2859 | @@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then | |||
2860 | 159 | fi | 153 | fi |
2861 | 160 | 154 | ||
2862 | 161 | 155 | ||
2863 | 156 | # func_unset VAR | ||
2864 | 157 | # -------------- | ||
2865 | 158 | # Portably unset VAR. | ||
2866 | 159 | # In some shells, an 'unset VAR' statement leaves a non-zero return | ||
2867 | 160 | # status if VAR is already unset, which might be problematic if the | ||
2868 | 161 | # statement is used at the end of a function (thus poisoning its return | ||
2869 | 162 | # value) or when 'set -e' is active (causing even a spurious abort of | ||
2870 | 163 | # the script in this case). | ||
2871 | 164 | func_unset () | ||
2872 | 165 | { | ||
2873 | 166 | { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } | ||
2874 | 167 | } | ||
2875 | 168 | |||
2876 | 169 | |||
2877 | 170 | # Make sure CDPATH doesn't cause `cd` commands to output the target dir. | ||
2878 | 171 | func_unset CDPATH | ||
2879 | 172 | |||
2880 | 173 | # Make sure ${,E,F}GREP behave sanely. | ||
2881 | 174 | func_unset GREP_OPTIONS | ||
2882 | 175 | |||
2883 | 162 | 176 | ||
2884 | 163 | ## ------------------------- ## | 177 | ## ------------------------- ## |
2885 | 164 | ## Locate command utilities. ## | 178 | ## Locate command utilities. ## |
2886 | @@ -259,7 +273,7 @@ test -z "$SED" && { | |||
2887 | 259 | rm -f conftest.in conftest.tmp conftest.nl conftest.out | 273 | rm -f conftest.in conftest.tmp conftest.nl conftest.out |
2888 | 260 | } | 274 | } |
2889 | 261 | 275 | ||
2891 | 262 | func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin | 276 | func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" |
2892 | 263 | rm -f conftest.sed | 277 | rm -f conftest.sed |
2893 | 264 | SED=$func_path_progs_result | 278 | SED=$func_path_progs_result |
2894 | 265 | } | 279 | } |
2895 | @@ -295,7 +309,7 @@ test -z "$GREP" && { | |||
2896 | 295 | rm -f conftest.in conftest.tmp conftest.nl conftest.out | 309 | rm -f conftest.in conftest.tmp conftest.nl conftest.out |
2897 | 296 | } | 310 | } |
2898 | 297 | 311 | ||
2900 | 298 | func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin | 312 | func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" |
2901 | 299 | GREP=$func_path_progs_result | 313 | GREP=$func_path_progs_result |
2902 | 300 | } | 314 | } |
2903 | 301 | 315 | ||
2904 | @@ -360,6 +374,35 @@ sed_double_backslash="\ | |||
2905 | 360 | s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g | 374 | s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g |
2906 | 361 | s/\n//g" | 375 | s/\n//g" |
2907 | 362 | 376 | ||
2908 | 377 | # require_check_ifs_backslash | ||
2909 | 378 | # --------------------------- | ||
2910 | 379 | # Check if we can use backslash as IFS='\' separator, and set | ||
2911 | 380 | # $check_ifs_backshlash_broken to ':' or 'false'. | ||
2912 | 381 | require_check_ifs_backslash=func_require_check_ifs_backslash | ||
2913 | 382 | func_require_check_ifs_backslash () | ||
2914 | 383 | { | ||
2915 | 384 | _G_save_IFS=$IFS | ||
2916 | 385 | IFS='\' | ||
2917 | 386 | _G_check_ifs_backshlash='a\\b' | ||
2918 | 387 | for _G_i in $_G_check_ifs_backshlash | ||
2919 | 388 | do | ||
2920 | 389 | case $_G_i in | ||
2921 | 390 | a) | ||
2922 | 391 | check_ifs_backshlash_broken=false | ||
2923 | 392 | ;; | ||
2924 | 393 | '') | ||
2925 | 394 | break | ||
2926 | 395 | ;; | ||
2927 | 396 | *) | ||
2928 | 397 | check_ifs_backshlash_broken=: | ||
2929 | 398 | break | ||
2930 | 399 | ;; | ||
2931 | 400 | esac | ||
2932 | 401 | done | ||
2933 | 402 | IFS=$_G_save_IFS | ||
2934 | 403 | require_check_ifs_backslash=: | ||
2935 | 404 | } | ||
2936 | 405 | |||
2937 | 363 | 406 | ||
2938 | 364 | ## ----------------- ## | 407 | ## ----------------- ## |
2939 | 365 | ## Global variables. ## | 408 | ## Global variables. ## |
2940 | @@ -387,7 +430,7 @@ EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. | |||
2941 | 387 | # putting '$debug_cmd' at the start of all your functions, you can get | 430 | # putting '$debug_cmd' at the start of all your functions, you can get |
2942 | 388 | # bash to show function call trace with: | 431 | # bash to show function call trace with: |
2943 | 389 | # | 432 | # |
2945 | 390 | # debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name | 433 | # debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name |
2946 | 391 | debug_cmd=${debug_cmd-":"} | 434 | debug_cmd=${debug_cmd-":"} |
2947 | 392 | exit_cmd=: | 435 | exit_cmd=: |
2948 | 393 | 436 | ||
2949 | @@ -580,16 +623,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then | |||
2950 | 580 | { | 623 | { |
2951 | 581 | $debug_cmd | 624 | $debug_cmd |
2952 | 582 | 625 | ||
2955 | 583 | func_quote_for_eval "$2" | 626 | func_quote_arg pretty "$2" |
2956 | 584 | eval "$1+=\\ \$func_quote_for_eval_result" | 627 | eval "$1+=\\ \$func_quote_arg_result" |
2957 | 585 | }' | 628 | }' |
2958 | 586 | else | 629 | else |
2959 | 587 | func_append_quoted () | 630 | func_append_quoted () |
2960 | 588 | { | 631 | { |
2961 | 589 | $debug_cmd | 632 | $debug_cmd |
2962 | 590 | 633 | ||
2965 | 591 | func_quote_for_eval "$2" | 634 | func_quote_arg pretty "$2" |
2966 | 592 | eval "$1=\$$1\\ \$func_quote_for_eval_result" | 635 | eval "$1=\$$1\\ \$func_quote_arg_result" |
2967 | 593 | } | 636 | } |
2968 | 594 | fi | 637 | fi |
2969 | 595 | 638 | ||
2970 | @@ -1091,85 +1134,203 @@ func_relative_path () | |||
2971 | 1091 | } | 1134 | } |
2972 | 1092 | 1135 | ||
2973 | 1093 | 1136 | ||
2984 | 1094 | # func_quote_for_eval ARG... | 1137 | # func_quote_portable EVAL ARG |
2985 | 1095 | # -------------------------- | 1138 | # ---------------------------- |
2986 | 1096 | # Aesthetically quote ARGs to be evaled later. | 1139 | # Internal function to portably implement func_quote_arg. Note that we still |
2987 | 1097 | # This function returns two values: | 1140 | # keep attention to performance here so we as much as possible try to avoid |
2988 | 1098 | # i) func_quote_for_eval_result | 1141 | # calling sed binary (so far O(N) complexity as long as func_append is O(1)). |
2989 | 1099 | # double-quoted, suitable for a subsequent eval | 1142 | func_quote_portable () |
2980 | 1100 | # ii) func_quote_for_eval_unquoted_result | ||
2981 | 1101 | # has all characters that are still active within double | ||
2982 | 1102 | # quotes backslashified. | ||
2983 | 1103 | func_quote_for_eval () | ||
2990 | 1104 | { | 1143 | { |
2991 | 1105 | $debug_cmd | 1144 | $debug_cmd |
2992 | 1106 | 1145 | ||
3006 | 1107 | func_quote_for_eval_unquoted_result= | 1146 | $require_check_ifs_backslash |
3007 | 1108 | func_quote_for_eval_result= | 1147 | |
3008 | 1109 | while test 0 -lt $#; do | 1148 | func_quote_portable_result=$2 |
3009 | 1110 | case $1 in | 1149 | |
3010 | 1111 | *[\\\`\"\$]*) | 1150 | # one-time-loop (easy break) |
3011 | 1112 | _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; | 1151 | while true |
3012 | 1113 | *) | 1152 | do |
3013 | 1114 | _G_unquoted_arg=$1 ;; | 1153 | if $1; then |
3014 | 1115 | esac | 1154 | func_quote_portable_result=`$ECHO "$2" | $SED \ |
3015 | 1116 | if test -n "$func_quote_for_eval_unquoted_result"; then | 1155 | -e "$sed_double_quote_subst" -e "$sed_double_backslash"` |
3016 | 1117 | func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" | 1156 | break |
3004 | 1118 | else | ||
3005 | 1119 | func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" | ||
3017 | 1120 | fi | 1157 | fi |
3018 | 1121 | 1158 | ||
3027 | 1122 | case $_G_unquoted_arg in | 1159 | # Quote for eval. |
3028 | 1123 | # Double-quote args containing shell metacharacters to delay | 1160 | case $func_quote_portable_result in |
3029 | 1124 | # word splitting, command substitution and variable expansion | 1161 | *[\\\`\"\$]*) |
3030 | 1125 | # for a subsequent eval. | 1162 | # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string |
3031 | 1126 | # Many Bourne shells cannot handle close brackets correctly | 1163 | # contains the shell wildcard characters. |
3032 | 1127 | # in scan sets, so we specify it separately. | 1164 | case $check_ifs_backshlash_broken$func_quote_portable_result in |
3033 | 1128 | *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") | 1165 | :*|*[\[\*\?]*) |
3034 | 1129 | _G_quoted_arg=\"$_G_unquoted_arg\" | 1166 | func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ |
3035 | 1167 | | $SED "$sed_quote_subst"` | ||
3036 | 1168 | break | ||
3037 | 1169 | ;; | ||
3038 | 1170 | esac | ||
3039 | 1171 | |||
3040 | 1172 | func_quote_portable_old_IFS=$IFS | ||
3041 | 1173 | for _G_char in '\' '`' '"' '$' | ||
3042 | 1174 | do | ||
3043 | 1175 | # STATE($1) PREV($2) SEPARATOR($3) | ||
3044 | 1176 | set start "" "" | ||
3045 | 1177 | func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy | ||
3046 | 1178 | IFS=$_G_char | ||
3047 | 1179 | for _G_part in $func_quote_portable_result | ||
3048 | 1180 | do | ||
3049 | 1181 | case $1 in | ||
3050 | 1182 | quote) | ||
3051 | 1183 | func_append func_quote_portable_result "$3$2" | ||
3052 | 1184 | set quote "$_G_part" "\\$_G_char" | ||
3053 | 1185 | ;; | ||
3054 | 1186 | start) | ||
3055 | 1187 | set first "" "" | ||
3056 | 1188 | func_quote_portable_result= | ||
3057 | 1189 | ;; | ||
3058 | 1190 | first) | ||
3059 | 1191 | set quote "$_G_part" "" | ||
3060 | 1192 | ;; | ||
3061 | 1193 | esac | ||
3062 | 1194 | done | ||
3063 | 1195 | done | ||
3064 | 1196 | IFS=$func_quote_portable_old_IFS | ||
3065 | 1130 | ;; | 1197 | ;; |
3069 | 1131 | *) | 1198 | *) ;; |
3067 | 1132 | _G_quoted_arg=$_G_unquoted_arg | ||
3068 | 1133 | ;; | ||
3070 | 1134 | esac | 1199 | esac |
3078 | 1135 | 1200 | break | |
3072 | 1136 | if test -n "$func_quote_for_eval_result"; then | ||
3073 | 1137 | func_append func_quote_for_eval_result " $_G_quoted_arg" | ||
3074 | 1138 | else | ||
3075 | 1139 | func_append func_quote_for_eval_result "$_G_quoted_arg" | ||
3076 | 1140 | fi | ||
3077 | 1141 | shift | ||
3079 | 1142 | done | 1201 | done |
3080 | 1202 | |||
3081 | 1203 | func_quote_portable_unquoted_result=$func_quote_portable_result | ||
3082 | 1204 | case $func_quote_portable_result in | ||
3083 | 1205 | # double-quote args containing shell metacharacters to delay | ||
3084 | 1206 | # word splitting, command substitution and variable expansion | ||
3085 | 1207 | # for a subsequent eval. | ||
3086 | 1208 | # many bourne shells cannot handle close brackets correctly | ||
3087 | 1209 | # in scan sets, so we specify it separately. | ||
3088 | 1210 | *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") | ||
3089 | 1211 | func_quote_portable_result=\"$func_quote_portable_result\" | ||
3090 | 1212 | ;; | ||
3091 | 1213 | esac | ||
3092 | 1143 | } | 1214 | } |
3093 | 1144 | 1215 | ||
3094 | 1145 | 1216 | ||
3102 | 1146 | # func_quote_for_expand ARG | 1217 | # func_quotefast_eval ARG |
3103 | 1147 | # ------------------------- | 1218 | # ----------------------- |
3104 | 1148 | # Aesthetically quote ARG to be evaled later; same as above, | 1219 | # Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', |
3105 | 1149 | # but do not quote variable references. | 1220 | # but optimized for speed. Result is stored in $func_quotefast_eval. |
3106 | 1150 | func_quote_for_expand () | 1221 | if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then |
3107 | 1151 | { | 1222 | printf -v _GL_test_printf_tilde %q '~' |
3108 | 1152 | $debug_cmd | 1223 | if test '\~' = "$_GL_test_printf_tilde"; then |
3109 | 1224 | func_quotefast_eval () | ||
3110 | 1225 | { | ||
3111 | 1226 | printf -v func_quotefast_eval_result %q "$1" | ||
3112 | 1227 | } | ||
3113 | 1228 | else | ||
3114 | 1229 | # Broken older Bash implementations. Make those faster too if possible. | ||
3115 | 1230 | func_quotefast_eval () | ||
3116 | 1231 | { | ||
3117 | 1232 | case $1 in | ||
3118 | 1233 | '~'*) | ||
3119 | 1234 | func_quote_portable false "$1" | ||
3120 | 1235 | func_quotefast_eval_result=$func_quote_portable_result | ||
3121 | 1236 | ;; | ||
3122 | 1237 | *) | ||
3123 | 1238 | printf -v func_quotefast_eval_result %q "$1" | ||
3124 | 1239 | ;; | ||
3125 | 1240 | esac | ||
3126 | 1241 | } | ||
3127 | 1242 | fi | ||
3128 | 1243 | else | ||
3129 | 1244 | func_quotefast_eval () | ||
3130 | 1245 | { | ||
3131 | 1246 | func_quote_portable false "$1" | ||
3132 | 1247 | func_quotefast_eval_result=$func_quote_portable_result | ||
3133 | 1248 | } | ||
3134 | 1249 | fi | ||
3135 | 1153 | 1250 | ||
3142 | 1154 | case $1 in | 1251 | |
3143 | 1155 | *[\\\`\"]*) | 1252 | # func_quote_arg MODEs ARG |
3144 | 1156 | _G_arg=`$ECHO "$1" | $SED \ | 1253 | # ------------------------ |
3145 | 1157 | -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; | 1254 | # Quote one ARG to be evaled later. MODEs argument may contain zero or more |
3146 | 1158 | *) | 1255 | # specifiers listed below separated by ',' character. This function returns two |
3147 | 1159 | _G_arg=$1 ;; | 1256 | # values: |
3148 | 1257 | # i) func_quote_arg_result | ||
3149 | 1258 | # double-quoted (when needed), suitable for a subsequent eval | ||
3150 | 1259 | # ii) func_quote_arg_unquoted_result | ||
3151 | 1260 | # has all characters that are still active within double | ||
3152 | 1261 | # quotes backslashified. Available only if 'unquoted' is specified. | ||
3153 | 1262 | # | ||
3154 | 1263 | # Available modes: | ||
3155 | 1264 | # ---------------- | ||
3156 | 1265 | # 'eval' (default) | ||
3157 | 1266 | # - escape shell special characters | ||
3158 | 1267 | # 'expand' | ||
3159 | 1268 | # - the same as 'eval'; but do not quote variable references | ||
3160 | 1269 | # 'pretty' | ||
3161 | 1270 | # - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might | ||
3162 | 1271 | # be used later in func_quote to get output like: 'echo "a b"' instead | ||
3163 | 1272 | # of 'echo a\ b'. This is slower than default on some shells. | ||
3164 | 1273 | # 'unquoted' | ||
3165 | 1274 | # - produce also $func_quote_arg_unquoted_result which does not contain | ||
3166 | 1275 | # wrapping double-quotes. | ||
3167 | 1276 | # | ||
3168 | 1277 | # Examples for 'func_quote_arg pretty,unquoted string': | ||
3169 | 1278 | # | ||
3170 | 1279 | # string | *_result | *_unquoted_result | ||
3171 | 1280 | # ------------+-----------------------+------------------- | ||
3172 | 1281 | # " | \" | \" | ||
3173 | 1282 | # a b | "a b" | a b | ||
3174 | 1283 | # "a b" | "\"a b\"" | \"a b\" | ||
3175 | 1284 | # * | "*" | * | ||
3176 | 1285 | # z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" | ||
3177 | 1286 | # | ||
3178 | 1287 | # Examples for 'func_quote_arg pretty,unquoted,expand string': | ||
3179 | 1288 | # | ||
3180 | 1289 | # string | *_result | *_unquoted_result | ||
3181 | 1290 | # --------------+---------------------+-------------------- | ||
3182 | 1291 | # z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" | ||
3183 | 1292 | func_quote_arg () | ||
3184 | 1293 | { | ||
3185 | 1294 | _G_quote_expand=false | ||
3186 | 1295 | case ,$1, in | ||
3187 | 1296 | *,expand,*) | ||
3188 | 1297 | _G_quote_expand=: | ||
3189 | 1298 | ;; | ||
3190 | 1160 | esac | 1299 | esac |
3191 | 1161 | 1300 | ||
3199 | 1162 | case $_G_arg in | 1301 | case ,$1, in |
3200 | 1163 | # Double-quote args containing shell metacharacters to delay | 1302 | *,pretty,*|*,expand,*|*,unquoted,*) |
3201 | 1164 | # word splitting and command substitution for a subsequent eval. | 1303 | func_quote_portable $_G_quote_expand "$2" |
3202 | 1165 | # Many Bourne shells cannot handle close brackets correctly | 1304 | func_quote_arg_result=$func_quote_portable_result |
3203 | 1166 | # in scan sets, so we specify it separately. | 1305 | func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result |
3204 | 1167 | *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") | 1306 | ;; |
3205 | 1168 | _G_arg=\"$_G_arg\" | 1307 | *) |
3206 | 1308 | # Faster quote-for-eval for some shells. | ||
3207 | 1309 | func_quotefast_eval "$2" | ||
3208 | 1310 | func_quote_arg_result=$func_quotefast_eval_result | ||
3209 | 1169 | ;; | 1311 | ;; |
3210 | 1170 | esac | 1312 | esac |
3211 | 1313 | } | ||
3212 | 1314 | |||
3213 | 1171 | 1315 | ||
3215 | 1172 | func_quote_for_expand_result=$_G_arg | 1316 | # func_quote MODEs ARGs... |
3216 | 1317 | # ------------------------ | ||
3217 | 1318 | # Quote all ARGs to be evaled later and join them into single command. See | ||
3218 | 1319 | # func_quote_arg's description for more info. | ||
3219 | 1320 | func_quote () | ||
3220 | 1321 | { | ||
3221 | 1322 | $debug_cmd | ||
3222 | 1323 | _G_func_quote_mode=$1 ; shift | ||
3223 | 1324 | func_quote_result= | ||
3224 | 1325 | while test 0 -lt $#; do | ||
3225 | 1326 | func_quote_arg "$_G_func_quote_mode" "$1" | ||
3226 | 1327 | if test -n "$func_quote_result"; then | ||
3227 | 1328 | func_append func_quote_result " $func_quote_arg_result" | ||
3228 | 1329 | else | ||
3229 | 1330 | func_append func_quote_result "$func_quote_arg_result" | ||
3230 | 1331 | fi | ||
3231 | 1332 | shift | ||
3232 | 1333 | done | ||
3233 | 1173 | } | 1334 | } |
3234 | 1174 | 1335 | ||
3235 | 1175 | 1336 | ||
3236 | @@ -1215,8 +1376,8 @@ func_show_eval () | |||
3237 | 1215 | _G_cmd=$1 | 1376 | _G_cmd=$1 |
3238 | 1216 | _G_fail_exp=${2-':'} | 1377 | _G_fail_exp=${2-':'} |
3239 | 1217 | 1378 | ||
3242 | 1218 | func_quote_for_expand "$_G_cmd" | 1379 | func_quote_arg pretty,expand "$_G_cmd" |
3243 | 1219 | eval "func_notquiet $func_quote_for_expand_result" | 1380 | eval "func_notquiet $func_quote_arg_result" |
3244 | 1220 | 1381 | ||
3245 | 1221 | $opt_dry_run || { | 1382 | $opt_dry_run || { |
3246 | 1222 | eval "$_G_cmd" | 1383 | eval "$_G_cmd" |
3247 | @@ -1241,8 +1402,8 @@ func_show_eval_locale () | |||
3248 | 1241 | _G_fail_exp=${2-':'} | 1402 | _G_fail_exp=${2-':'} |
3249 | 1242 | 1403 | ||
3250 | 1243 | $opt_quiet || { | 1404 | $opt_quiet || { |
3253 | 1244 | func_quote_for_expand "$_G_cmd" | 1405 | func_quote_arg expand,pretty "$_G_cmd" |
3254 | 1245 | eval "func_echo $func_quote_for_expand_result" | 1406 | eval "func_echo $func_quote_arg_result" |
3255 | 1246 | } | 1407 | } |
3256 | 1247 | 1408 | ||
3257 | 1248 | $opt_dry_run || { | 1409 | $opt_dry_run || { |
3258 | @@ -1369,30 +1530,26 @@ func_lt_ver () | |||
3259 | 1369 | # End: | 1530 | # End: |
3260 | 1370 | #! /bin/sh | 1531 | #! /bin/sh |
3261 | 1371 | 1532 | ||
3262 | 1372 | # Set a version string for this script. | ||
3263 | 1373 | scriptversion=2015-10-07.11; # UTC | ||
3264 | 1374 | |||
3265 | 1375 | # A portable, pluggable option parser for Bourne shell. | 1533 | # A portable, pluggable option parser for Bourne shell. |
3266 | 1376 | # Written by Gary V. Vaughan, 2010 | 1534 | # Written by Gary V. Vaughan, 2010 |
3267 | 1377 | 1535 | ||
3281 | 1378 | # Copyright (C) 2010-2015 Free Software Foundation, Inc. | 1536 | # This is free software. There is NO warranty; not even for |
3282 | 1379 | # This is free software; see the source for copying conditions. There is NO | 1537 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
3283 | 1380 | # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 1538 | # |
3284 | 1381 | 1539 | # Copyright (C) 2010-2019, 2021 Bootstrap Authors | |
3285 | 1382 | # This program is free software: you can redistribute it and/or modify | 1540 | # |
3286 | 1383 | # it under the terms of the GNU General Public License as published by | 1541 | # This file is dual licensed under the terms of the MIT license |
3287 | 1384 | # the Free Software Foundation, either version 3 of the License, or | 1542 | # <https://opensource.org/license/MIT>, and GPL version 2 or later |
3288 | 1385 | # (at your option) any later version. | 1543 | # <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of |
3289 | 1386 | 1544 | # these licenses when using or redistributing this software or any of | |
3290 | 1387 | # This program is distributed in the hope that it will be useful, | 1545 | # the files within it. See the URLs above, or the file `LICENSE` |
3291 | 1388 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 1546 | # included in the Bootstrap distribution for the full license texts. |
3279 | 1389 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
3280 | 1390 | # GNU General Public License for more details. | ||
3292 | 1391 | 1547 | ||
3295 | 1392 | # You should have received a copy of the GNU General Public License | 1548 | # Please report bugs or propose patches to: |
3296 | 1393 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 1549 | # <https://github.com/gnulib-modules/bootstrap/issues> |
3297 | 1394 | 1550 | ||
3299 | 1395 | # Please report bugs or propose patches to gary@gnu.org. | 1551 | # Set a version string for this script. |
3300 | 1552 | scriptversion=2019-02-19.15; # UTC | ||
3301 | 1396 | 1553 | ||
3302 | 1397 | 1554 | ||
3303 | 1398 | ## ------ ## | 1555 | ## ------ ## |
3304 | @@ -1415,7 +1572,7 @@ scriptversion=2015-10-07.11; # UTC | |||
3305 | 1415 | # | 1572 | # |
3306 | 1416 | # In order for the '--version' option to work, you will need to have a | 1573 | # In order for the '--version' option to work, you will need to have a |
3307 | 1417 | # suitably formatted comment like the one at the top of this file | 1574 | # suitably formatted comment like the one at the top of this file |
3309 | 1418 | # starting with '# Written by ' and ending with '# warranty; '. | 1575 | # starting with '# Written by ' and ending with '# Copyright'. |
3310 | 1419 | # | 1576 | # |
3311 | 1420 | # For '-h' and '--help' to work, you will also need a one line | 1577 | # For '-h' and '--help' to work, you will also need a one line |
3312 | 1421 | # description of your script's purpose in a comment directly above the | 1578 | # description of your script's purpose in a comment directly above the |
3313 | @@ -1427,7 +1584,7 @@ scriptversion=2015-10-07.11; # UTC | |||
3314 | 1427 | # to display verbose messages only when your user has specified | 1584 | # to display verbose messages only when your user has specified |
3315 | 1428 | # '--verbose'. | 1585 | # '--verbose'. |
3316 | 1429 | # | 1586 | # |
3318 | 1430 | # After sourcing this file, you can plug processing for additional | 1587 | # After sourcing this file, you can plug in processing for additional |
3319 | 1431 | # options by amending the variables from the 'Configuration' section | 1588 | # options by amending the variables from the 'Configuration' section |
3320 | 1432 | # below, and following the instructions in the 'Option parsing' | 1589 | # below, and following the instructions in the 'Option parsing' |
3321 | 1433 | # section further down. | 1590 | # section further down. |
3322 | @@ -1476,8 +1633,8 @@ fatal_help="Try '\$progname --help' for more information." | |||
3323 | 1476 | ## ------------------------- ## | 1633 | ## ------------------------- ## |
3324 | 1477 | 1634 | ||
3325 | 1478 | # This section contains functions for adding, removing, and running hooks | 1635 | # This section contains functions for adding, removing, and running hooks |
3328 | 1479 | # to the main code. A hook is just a named list of of function, that can | 1636 | # in the main code. A hook is just a list of function names that can be |
3329 | 1480 | # be run in order later on. | 1637 | # run in order later on. |
3330 | 1481 | 1638 | ||
3331 | 1482 | # func_hookable FUNC_NAME | 1639 | # func_hookable FUNC_NAME |
3332 | 1483 | # ----------------------- | 1640 | # ----------------------- |
3333 | @@ -1510,7 +1667,8 @@ func_add_hook () | |||
3334 | 1510 | 1667 | ||
3335 | 1511 | # func_remove_hook FUNC_NAME HOOK_FUNC | 1668 | # func_remove_hook FUNC_NAME HOOK_FUNC |
3336 | 1512 | # ------------------------------------ | 1669 | # ------------------------------------ |
3338 | 1513 | # Remove HOOK_FUNC from the list of functions called by FUNC_NAME. | 1670 | # Remove HOOK_FUNC from the list of hook functions to be called by |
3339 | 1671 | # FUNC_NAME. | ||
3340 | 1514 | func_remove_hook () | 1672 | func_remove_hook () |
3341 | 1515 | { | 1673 | { |
3342 | 1516 | $debug_cmd | 1674 | $debug_cmd |
3343 | @@ -1519,10 +1677,28 @@ func_remove_hook () | |||
3344 | 1519 | } | 1677 | } |
3345 | 1520 | 1678 | ||
3346 | 1521 | 1679 | ||
3347 | 1680 | # func_propagate_result FUNC_NAME_A FUNC_NAME_B | ||
3348 | 1681 | # --------------------------------------------- | ||
3349 | 1682 | # If the *_result variable of FUNC_NAME_A _is set_, assign its value to | ||
3350 | 1683 | # *_result variable of FUNC_NAME_B. | ||
3351 | 1684 | func_propagate_result () | ||
3352 | 1685 | { | ||
3353 | 1686 | $debug_cmd | ||
3354 | 1687 | |||
3355 | 1688 | func_propagate_result_result=: | ||
3356 | 1689 | if eval "test \"\${${1}_result+set}\" = set" | ||
3357 | 1690 | then | ||
3358 | 1691 | eval "${2}_result=\$${1}_result" | ||
3359 | 1692 | else | ||
3360 | 1693 | func_propagate_result_result=false | ||
3361 | 1694 | fi | ||
3362 | 1695 | } | ||
3363 | 1696 | |||
3364 | 1697 | |||
3365 | 1522 | # func_run_hooks FUNC_NAME [ARG]... | 1698 | # func_run_hooks FUNC_NAME [ARG]... |
3366 | 1523 | # --------------------------------- | 1699 | # --------------------------------- |
3367 | 1524 | # Run all hook functions registered to FUNC_NAME. | 1700 | # Run all hook functions registered to FUNC_NAME. |
3369 | 1525 | # It is assumed that the list of hook functions contains nothing more | 1701 | # It's assumed that the list of hook functions contains nothing more |
3370 | 1526 | # than a whitespace-delimited list of legal shell function names, and | 1702 | # than a whitespace-delimited list of legal shell function names, and |
3371 | 1527 | # no effort is wasted trying to catch shell meta-characters or preserve | 1703 | # no effort is wasted trying to catch shell meta-characters or preserve |
3372 | 1528 | # whitespace. | 1704 | # whitespace. |
3373 | @@ -1530,26 +1706,21 @@ func_run_hooks () | |||
3374 | 1530 | { | 1706 | { |
3375 | 1531 | $debug_cmd | 1707 | $debug_cmd |
3376 | 1532 | 1708 | ||
3377 | 1533 | _G_rc_run_hooks=false | ||
3378 | 1534 | |||
3379 | 1535 | case " $hookable_fns " in | 1709 | case " $hookable_fns " in |
3380 | 1536 | *" $1 "*) ;; | 1710 | *" $1 "*) ;; |
3382 | 1537 | *) func_fatal_error "'$1' does not support hook funcions.n" ;; | 1711 | *) func_fatal_error "'$1' does not support hook functions." ;; |
3383 | 1538 | esac | 1712 | esac |
3384 | 1539 | 1713 | ||
3385 | 1540 | eval _G_hook_fns=\$$1_hooks; shift | 1714 | eval _G_hook_fns=\$$1_hooks; shift |
3386 | 1541 | 1715 | ||
3387 | 1542 | for _G_hook in $_G_hook_fns; do | 1716 | for _G_hook in $_G_hook_fns; do |
3394 | 1543 | if eval $_G_hook '"$@"'; then | 1717 | func_unset "${_G_hook}_result" |
3395 | 1544 | # store returned options list back into positional | 1718 | eval $_G_hook '${1+"$@"}' |
3396 | 1545 | # parameters for next 'cmd' execution. | 1719 | func_propagate_result $_G_hook func_run_hooks |
3397 | 1546 | eval _G_hook_result=\$${_G_hook}_result | 1720 | if $func_propagate_result_result; then |
3398 | 1547 | eval set dummy "$_G_hook_result"; shift | 1721 | eval set dummy "$func_run_hooks_result"; shift |
3393 | 1548 | _G_rc_run_hooks=: | ||
3399 | 1549 | fi | 1722 | fi |
3400 | 1550 | done | 1723 | done |
3401 | 1551 | |||
3402 | 1552 | $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result | ||
3403 | 1553 | } | 1724 | } |
3404 | 1554 | 1725 | ||
3405 | 1555 | 1726 | ||
3406 | @@ -1559,14 +1730,16 @@ func_run_hooks () | |||
3407 | 1559 | ## --------------- ## | 1730 | ## --------------- ## |
3408 | 1560 | 1731 | ||
3409 | 1561 | # In order to add your own option parsing hooks, you must accept the | 1732 | # In order to add your own option parsing hooks, you must accept the |
3418 | 1562 | # full positional parameter list in your hook function, you may remove/edit | 1733 | # full positional parameter list from your hook function. You may remove |
3419 | 1563 | # any options that you action, and then pass back the remaining unprocessed | 1734 | # or edit any options that you action, and then pass back the remaining |
3420 | 1564 | # options in '<hooked_function_name>_result', escaped suitably for | 1735 | # unprocessed options in '<hooked_function_name>_result', escaped |
3421 | 1565 | # 'eval'. In this case you also must return $EXIT_SUCCESS to let the | 1736 | # suitably for 'eval'. |
3422 | 1566 | # hook's caller know that it should pay attention to | 1737 | # |
3423 | 1567 | # '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that | 1738 | # The '<hooked_function_name>_result' variable is automatically unset |
3424 | 1568 | # arguments are left untouched by the hook and therefore caller will ignore the | 1739 | # before your hook gets called; for best performance, only set the |
3425 | 1569 | # result variable. | 1740 | # *_result variable when necessary (i.e. don't call the 'func_quote' |
3426 | 1741 | # function unnecessarily because it can be an expensive operation on some | ||
3427 | 1742 | # machines). | ||
3428 | 1570 | # | 1743 | # |
3429 | 1571 | # Like this: | 1744 | # Like this: |
3430 | 1572 | # | 1745 | # |
3431 | @@ -1578,11 +1751,8 @@ func_run_hooks () | |||
3432 | 1578 | # usage_message=$usage_message' | 1751 | # usage_message=$usage_message' |
3433 | 1579 | # -s, --silent don'\''t print informational messages | 1752 | # -s, --silent don'\''t print informational messages |
3434 | 1580 | # ' | 1753 | # ' |
3440 | 1581 | # # No change in '$@' (ignored completely by this hook). There is | 1754 | # # No change in '$@' (ignored completely by this hook). Leave |
3441 | 1582 | # # no need to do the equivalent (but slower) action: | 1755 | # # my_options_prep_result variable intact. |
3437 | 1583 | # # func_quote_for_eval ${1+"$@"} | ||
3438 | 1584 | # # my_options_prep_result=$func_quote_for_eval_result | ||
3439 | 1585 | # false | ||
3442 | 1586 | # } | 1756 | # } |
3443 | 1587 | # func_add_hook func_options_prep my_options_prep | 1757 | # func_add_hook func_options_prep my_options_prep |
3444 | 1588 | # | 1758 | # |
3445 | @@ -1593,7 +1763,7 @@ func_run_hooks () | |||
3446 | 1593 | # | 1763 | # |
3447 | 1594 | # args_changed=false | 1764 | # args_changed=false |
3448 | 1595 | # | 1765 | # |
3450 | 1596 | # # Note that for efficiency, we parse as many options as we can | 1766 | # # Note that, for efficiency, we parse as many options as we can |
3451 | 1597 | # # recognise in a loop before passing the remainder back to the | 1767 | # # recognise in a loop before passing the remainder back to the |
3452 | 1598 | # # caller on the first unrecognised argument we encounter. | 1768 | # # caller on the first unrecognised argument we encounter. |
3453 | 1599 | # while test $# -gt 0; do | 1769 | # while test $# -gt 0; do |
3454 | @@ -1610,18 +1780,17 @@ func_run_hooks () | |||
3455 | 1610 | # args_changed=: | 1780 | # args_changed=: |
3456 | 1611 | # ;; | 1781 | # ;; |
3457 | 1612 | # *) # Make sure the first unrecognised option "$_G_opt" | 1782 | # *) # Make sure the first unrecognised option "$_G_opt" |
3460 | 1613 | # # is added back to "$@", we could need that later | 1783 | # # is added back to "$@" in case we need it later, |
3461 | 1614 | # # if $args_changed is true. | 1784 | # # if $args_changed was set to 'true'. |
3462 | 1615 | # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; | 1785 | # set dummy "$_G_opt" ${1+"$@"}; shift; break ;; |
3463 | 1616 | # esac | 1786 | # esac |
3464 | 1617 | # done | 1787 | # done |
3465 | 1618 | # | 1788 | # |
3466 | 1789 | # # Only call 'func_quote' here if we processed at least one argument. | ||
3467 | 1619 | # if $args_changed; then | 1790 | # if $args_changed; then |
3470 | 1620 | # func_quote_for_eval ${1+"$@"} | 1791 | # func_quote eval ${1+"$@"} |
3471 | 1621 | # my_silent_option_result=$func_quote_for_eval_result | 1792 | # my_silent_option_result=$func_quote_result |
3472 | 1622 | # fi | 1793 | # fi |
3473 | 1623 | # | ||
3474 | 1624 | # $args_changed | ||
3475 | 1625 | # } | 1794 | # } |
3476 | 1626 | # func_add_hook func_parse_options my_silent_option | 1795 | # func_add_hook func_parse_options my_silent_option |
3477 | 1627 | # | 1796 | # |
3478 | @@ -1632,8 +1801,6 @@ func_run_hooks () | |||
3479 | 1632 | # | 1801 | # |
3480 | 1633 | # $opt_silent && $opt_verbose && func_fatal_help "\ | 1802 | # $opt_silent && $opt_verbose && func_fatal_help "\ |
3481 | 1634 | # '--silent' and '--verbose' options are mutually exclusive." | 1803 | # '--silent' and '--verbose' options are mutually exclusive." |
3482 | 1635 | # | ||
3483 | 1636 | # false | ||
3484 | 1637 | # } | 1804 | # } |
3485 | 1638 | # func_add_hook func_validate_options my_option_validation | 1805 | # func_add_hook func_validate_options my_option_validation |
3486 | 1639 | # | 1806 | # |
3487 | @@ -1649,13 +1816,8 @@ func_options_finish () | |||
3488 | 1649 | { | 1816 | { |
3489 | 1650 | $debug_cmd | 1817 | $debug_cmd |
3490 | 1651 | 1818 | ||
3498 | 1652 | _G_func_options_finish_exit=false | 1819 | func_run_hooks func_options ${1+"$@"} |
3499 | 1653 | if func_run_hooks func_options ${1+"$@"}; then | 1820 | func_propagate_result func_run_hooks func_options_finish |
3493 | 1654 | func_options_finish_result=$func_run_hooks_result | ||
3494 | 1655 | _G_func_options_finish_exit=: | ||
3495 | 1656 | fi | ||
3496 | 1657 | |||
3497 | 1658 | $_G_func_options_finish_exit | ||
3500 | 1659 | } | 1821 | } |
3501 | 1660 | 1822 | ||
3502 | 1661 | 1823 | ||
3503 | @@ -1668,28 +1830,27 @@ func_options () | |||
3504 | 1668 | { | 1830 | { |
3505 | 1669 | $debug_cmd | 1831 | $debug_cmd |
3506 | 1670 | 1832 | ||
3508 | 1671 | _G_rc_options=false | 1833 | _G_options_quoted=false |
3509 | 1672 | 1834 | ||
3510 | 1673 | for my_func in options_prep parse_options validate_options options_finish | 1835 | for my_func in options_prep parse_options validate_options options_finish |
3511 | 1674 | do | 1836 | do |
3516 | 1675 | if eval func_$my_func '${1+"$@"}'; then | 1837 | func_unset func_${my_func}_result |
3517 | 1676 | eval _G_res_var='$'"func_${my_func}_result" | 1838 | func_unset func_run_hooks_result |
3518 | 1677 | eval set dummy "$_G_res_var" ; shift | 1839 | eval func_$my_func '${1+"$@"}' |
3519 | 1678 | _G_rc_options=: | 1840 | func_propagate_result func_$my_func func_options |
3520 | 1841 | if $func_propagate_result_result; then | ||
3521 | 1842 | eval set dummy "$func_options_result"; shift | ||
3522 | 1843 | _G_options_quoted=: | ||
3523 | 1679 | fi | 1844 | fi |
3524 | 1680 | done | 1845 | done |
3525 | 1681 | 1846 | ||
3537 | 1682 | # Save modified positional parameters for caller. As a top-level | 1847 | $_G_options_quoted || { |
3538 | 1683 | # options-parser function we always need to set the 'func_options_result' | 1848 | # As we (func_options) are top-level options-parser function and |
3539 | 1684 | # variable (regardless the $_G_rc_options value). | 1849 | # nobody quoted "$@" for us yet, we need to do it explicitly for |
3540 | 1685 | if $_G_rc_options; then | 1850 | # caller. |
3541 | 1686 | func_options_result=$_G_res_var | 1851 | func_quote eval ${1+"$@"} |
3542 | 1687 | else | 1852 | func_options_result=$func_quote_result |
3543 | 1688 | func_quote_for_eval ${1+"$@"} | 1853 | } |
3533 | 1689 | func_options_result=$func_quote_for_eval_result | ||
3534 | 1690 | fi | ||
3535 | 1691 | |||
3536 | 1692 | $_G_rc_options | ||
3544 | 1693 | } | 1854 | } |
3545 | 1694 | 1855 | ||
3546 | 1695 | 1856 | ||
3547 | @@ -1699,8 +1860,7 @@ func_options () | |||
3548 | 1699 | # Note that when calling hook functions, we pass through the list of | 1860 | # Note that when calling hook functions, we pass through the list of |
3549 | 1700 | # positional parameters. If a hook function modifies that list, and | 1861 | # positional parameters. If a hook function modifies that list, and |
3550 | 1701 | # needs to propagate that back to rest of this script, then the complete | 1862 | # needs to propagate that back to rest of this script, then the complete |
3553 | 1702 | # modified list must be put in 'func_run_hooks_result' before | 1863 | # modified list must be put in 'func_run_hooks_result' before returning. |
3552 | 1703 | # returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). | ||
3554 | 1704 | func_hookable func_options_prep | 1864 | func_hookable func_options_prep |
3555 | 1705 | func_options_prep () | 1865 | func_options_prep () |
3556 | 1706 | { | 1866 | { |
3557 | @@ -1710,14 +1870,8 @@ func_options_prep () | |||
3558 | 1710 | opt_verbose=false | 1870 | opt_verbose=false |
3559 | 1711 | opt_warning_types= | 1871 | opt_warning_types= |
3560 | 1712 | 1872 | ||
3569 | 1713 | _G_rc_options_prep=false | 1873 | func_run_hooks func_options_prep ${1+"$@"} |
3570 | 1714 | if func_run_hooks func_options_prep ${1+"$@"}; then | 1874 | func_propagate_result func_run_hooks func_options_prep |
3563 | 1715 | _G_rc_options_prep=: | ||
3564 | 1716 | # save modified positional parameters for caller | ||
3565 | 1717 | func_options_prep_result=$func_run_hooks_result | ||
3566 | 1718 | fi | ||
3567 | 1719 | |||
3568 | 1720 | $_G_rc_options_prep | ||
3571 | 1721 | } | 1875 | } |
3572 | 1722 | 1876 | ||
3573 | 1723 | 1877 | ||
3574 | @@ -1729,27 +1883,32 @@ func_parse_options () | |||
3575 | 1729 | { | 1883 | { |
3576 | 1730 | $debug_cmd | 1884 | $debug_cmd |
3577 | 1731 | 1885 | ||
3581 | 1732 | func_parse_options_result= | 1886 | _G_parse_options_requote=false |
3579 | 1733 | |||
3580 | 1734 | _G_rc_parse_options=false | ||
3582 | 1735 | # this just eases exit handling | 1887 | # this just eases exit handling |
3583 | 1736 | while test $# -gt 0; do | 1888 | while test $# -gt 0; do |
3584 | 1737 | # Defer to hook functions for initial option parsing, so they | 1889 | # Defer to hook functions for initial option parsing, so they |
3585 | 1738 | # get priority in the event of reusing an option name. | 1890 | # get priority in the event of reusing an option name. |
3589 | 1739 | if func_run_hooks func_parse_options ${1+"$@"}; then | 1891 | func_run_hooks func_parse_options ${1+"$@"} |
3590 | 1740 | eval set dummy "$func_run_hooks_result"; shift | 1892 | func_propagate_result func_run_hooks func_parse_options |
3591 | 1741 | _G_rc_parse_options=: | 1893 | if $func_propagate_result_result; then |
3592 | 1894 | eval set dummy "$func_parse_options_result"; shift | ||
3593 | 1895 | # Even though we may have changed "$@", we passed the "$@" array | ||
3594 | 1896 | # down into the hook and it quoted it for us (because we are in | ||
3595 | 1897 | # this if-branch). No need to quote it again. | ||
3596 | 1898 | _G_parse_options_requote=false | ||
3597 | 1742 | fi | 1899 | fi |
3598 | 1743 | 1900 | ||
3599 | 1744 | # Break out of the loop if we already parsed every option. | 1901 | # Break out of the loop if we already parsed every option. |
3600 | 1745 | test $# -gt 0 || break | 1902 | test $# -gt 0 || break |
3601 | 1746 | 1903 | ||
3602 | 1904 | # We expect that one of the options parsed in this function matches | ||
3603 | 1905 | # and thus we remove _G_opt from "$@" and need to re-quote. | ||
3604 | 1747 | _G_match_parse_options=: | 1906 | _G_match_parse_options=: |
3605 | 1748 | _G_opt=$1 | 1907 | _G_opt=$1 |
3606 | 1749 | shift | 1908 | shift |
3607 | 1750 | case $_G_opt in | 1909 | case $_G_opt in |
3608 | 1751 | --debug|-x) debug_cmd='set -x' | 1910 | --debug|-x) debug_cmd='set -x' |
3610 | 1752 | func_echo "enabling shell trace mode" | 1911 | func_echo "enabling shell trace mode" >&2 |
3611 | 1753 | $debug_cmd | 1912 | $debug_cmd |
3612 | 1754 | ;; | 1913 | ;; |
3613 | 1755 | 1914 | ||
3614 | @@ -1760,7 +1919,7 @@ func_parse_options () | |||
3615 | 1760 | 1919 | ||
3616 | 1761 | --warnings|--warning|-W) | 1920 | --warnings|--warning|-W) |
3617 | 1762 | if test $# = 0 && func_missing_arg $_G_opt; then | 1921 | if test $# = 0 && func_missing_arg $_G_opt; then |
3619 | 1763 | _G_rc_parse_options=: | 1922 | _G_parse_options_requote=: |
3620 | 1764 | break | 1923 | break |
3621 | 1765 | fi | 1924 | fi |
3622 | 1766 | case " $warning_categories $1" in | 1925 | case " $warning_categories $1" in |
3623 | @@ -1815,7 +1974,7 @@ func_parse_options () | |||
3624 | 1815 | shift | 1974 | shift |
3625 | 1816 | ;; | 1975 | ;; |
3626 | 1817 | 1976 | ||
3628 | 1818 | --) _G_rc_parse_options=: ; break ;; | 1977 | --) _G_parse_options_requote=: ; break ;; |
3629 | 1819 | -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; | 1978 | -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; |
3630 | 1820 | *) set dummy "$_G_opt" ${1+"$@"}; shift | 1979 | *) set dummy "$_G_opt" ${1+"$@"}; shift |
3631 | 1821 | _G_match_parse_options=false | 1980 | _G_match_parse_options=false |
3632 | @@ -1823,17 +1982,16 @@ func_parse_options () | |||
3633 | 1823 | ;; | 1982 | ;; |
3634 | 1824 | esac | 1983 | esac |
3635 | 1825 | 1984 | ||
3637 | 1826 | $_G_match_parse_options && _G_rc_parse_options=: | 1985 | if $_G_match_parse_options; then |
3638 | 1986 | _G_parse_options_requote=: | ||
3639 | 1987 | fi | ||
3640 | 1827 | done | 1988 | done |
3641 | 1828 | 1989 | ||
3644 | 1829 | 1990 | if $_G_parse_options_requote; then | |
3643 | 1830 | if $_G_rc_parse_options; then | ||
3645 | 1831 | # save modified positional parameters for caller | 1991 | # save modified positional parameters for caller |
3648 | 1832 | func_quote_for_eval ${1+"$@"} | 1992 | func_quote eval ${1+"$@"} |
3649 | 1833 | func_parse_options_result=$func_quote_for_eval_result | 1993 | func_parse_options_result=$func_quote_result |
3650 | 1834 | fi | 1994 | fi |
3651 | 1835 | |||
3652 | 1836 | $_G_rc_parse_options | ||
3653 | 1837 | } | 1995 | } |
3654 | 1838 | 1996 | ||
3655 | 1839 | 1997 | ||
3656 | @@ -1846,21 +2004,14 @@ func_validate_options () | |||
3657 | 1846 | { | 2004 | { |
3658 | 1847 | $debug_cmd | 2005 | $debug_cmd |
3659 | 1848 | 2006 | ||
3660 | 1849 | _G_rc_validate_options=false | ||
3661 | 1850 | |||
3662 | 1851 | # Display all warnings if -W was not given. | 2007 | # Display all warnings if -W was not given. |
3663 | 1852 | test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" | 2008 | test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" |
3664 | 1853 | 2009 | ||
3670 | 1854 | if func_run_hooks func_validate_options ${1+"$@"}; then | 2010 | func_run_hooks func_validate_options ${1+"$@"} |
3671 | 1855 | # save modified positional parameters for caller | 2011 | func_propagate_result func_run_hooks func_validate_options |
3667 | 1856 | func_validate_options_result=$func_run_hooks_result | ||
3668 | 1857 | _G_rc_validate_options=: | ||
3669 | 1858 | fi | ||
3672 | 1859 | 2012 | ||
3673 | 1860 | # Bail if the options were screwed! | 2013 | # Bail if the options were screwed! |
3674 | 1861 | $exit_cmd $EXIT_FAILURE | 2014 | $exit_cmd $EXIT_FAILURE |
3675 | 1862 | |||
3676 | 1863 | $_G_rc_validate_options | ||
3677 | 1864 | } | 2015 | } |
3678 | 1865 | 2016 | ||
3679 | 1866 | 2017 | ||
3680 | @@ -1916,8 +2067,8 @@ func_missing_arg () | |||
3681 | 1916 | 2067 | ||
3682 | 1917 | # func_split_equals STRING | 2068 | # func_split_equals STRING |
3683 | 1918 | # ------------------------ | 2069 | # ------------------------ |
3686 | 1919 | # Set func_split_equals_lhs and func_split_equals_rhs shell variables after | 2070 | # Set func_split_equals_lhs and func_split_equals_rhs shell variables |
3687 | 1920 | # splitting STRING at the '=' sign. | 2071 | # after splitting STRING at the '=' sign. |
3688 | 1921 | test -z "$_G_HAVE_XSI_OPS" \ | 2072 | test -z "$_G_HAVE_XSI_OPS" \ |
3689 | 1922 | && (eval 'x=a/b/c; | 2073 | && (eval 'x=a/b/c; |
3690 | 1923 | test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ | 2074 | test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ |
3691 | @@ -1932,8 +2083,9 @@ then | |||
3692 | 1932 | 2083 | ||
3693 | 1933 | func_split_equals_lhs=${1%%=*} | 2084 | func_split_equals_lhs=${1%%=*} |
3694 | 1934 | func_split_equals_rhs=${1#*=} | 2085 | func_split_equals_rhs=${1#*=} |
3697 | 1935 | test "x$func_split_equals_lhs" = "x$1" \ | 2086 | if test "x$func_split_equals_lhs" = "x$1"; then |
3698 | 1936 | && func_split_equals_rhs= | 2087 | func_split_equals_rhs= |
3699 | 2088 | fi | ||
3700 | 1937 | }' | 2089 | }' |
3701 | 1938 | else | 2090 | else |
3702 | 1939 | # ...otherwise fall back to using expr, which is often a shell builtin. | 2091 | # ...otherwise fall back to using expr, which is often a shell builtin. |
3703 | @@ -1943,7 +2095,7 @@ else | |||
3704 | 1943 | 2095 | ||
3705 | 1944 | func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` | 2096 | func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` |
3706 | 1945 | func_split_equals_rhs= | 2097 | func_split_equals_rhs= |
3708 | 1946 | test "x$func_split_equals_lhs" = "x$1" \ | 2098 | test "x$func_split_equals_lhs=" = "x$1" \ |
3709 | 1947 | || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` | 2099 | || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` |
3710 | 1948 | } | 2100 | } |
3711 | 1949 | fi #func_split_equals | 2101 | fi #func_split_equals |
3712 | @@ -1969,7 +2121,7 @@ else | |||
3713 | 1969 | { | 2121 | { |
3714 | 1970 | $debug_cmd | 2122 | $debug_cmd |
3715 | 1971 | 2123 | ||
3717 | 1972 | func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` | 2124 | func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` |
3718 | 1973 | func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` | 2125 | func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` |
3719 | 1974 | } | 2126 | } |
3720 | 1975 | fi #func_split_short_opt | 2127 | fi #func_split_short_opt |
3721 | @@ -2011,31 +2163,44 @@ func_usage_message () | |||
3722 | 2011 | # func_version | 2163 | # func_version |
3723 | 2012 | # ------------ | 2164 | # ------------ |
3724 | 2013 | # Echo version message to standard output and exit. | 2165 | # Echo version message to standard output and exit. |
3725 | 2166 | # The version message is extracted from the calling file's header | ||
3726 | 2167 | # comments, with leading '# ' stripped: | ||
3727 | 2168 | # 1. First display the progname and version | ||
3728 | 2169 | # 2. Followed by the header comment line matching /^# Written by / | ||
3729 | 2170 | # 3. Then a blank line followed by the first following line matching | ||
3730 | 2171 | # /^# Copyright / | ||
3731 | 2172 | # 4. Immediately followed by any lines between the previous matches, | ||
3732 | 2173 | # except lines preceding the intervening completely blank line. | ||
3733 | 2174 | # For example, see the header comments of this file. | ||
3734 | 2014 | func_version () | 2175 | func_version () |
3735 | 2015 | { | 2176 | { |
3736 | 2016 | $debug_cmd | 2177 | $debug_cmd |
3737 | 2017 | 2178 | ||
3738 | 2018 | printf '%s\n' "$progname $scriptversion" | 2179 | printf '%s\n' "$progname $scriptversion" |
3739 | 2019 | $SED -n ' | 2180 | $SED -n ' |
3753 | 2020 | /(C)/!b go | 2181 | /^# Written by /!b |
3754 | 2021 | :more | 2182 | s|^# ||; p; n |
3755 | 2022 | /\./!{ | 2183 | |
3756 | 2023 | N | 2184 | :fwd2blnk |
3757 | 2024 | s|\n# | | | 2185 | /./ { |
3758 | 2025 | b more | 2186 | n |
3759 | 2026 | } | 2187 | b fwd2blnk |
3747 | 2027 | :go | ||
3748 | 2028 | /^# Written by /,/# warranty; / { | ||
3749 | 2029 | s|^# || | ||
3750 | 2030 | s|^# *$|| | ||
3751 | 2031 | s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| | ||
3752 | 2032 | p | ||
3760 | 2033 | } | 2188 | } |
3764 | 2034 | /^# Written by / { | 2189 | p; n |
3765 | 2035 | s|^# || | 2190 | |
3766 | 2036 | p | 2191 | :holdwrnt |
3767 | 2192 | s|^# || | ||
3768 | 2193 | s|^# *$|| | ||
3769 | 2194 | /^Copyright /!{ | ||
3770 | 2195 | /./H | ||
3771 | 2196 | n | ||
3772 | 2197 | b holdwrnt | ||
3773 | 2037 | } | 2198 | } |
3775 | 2038 | /^warranty; /q' < "$progpath" | 2199 | |
3776 | 2200 | s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| | ||
3777 | 2201 | G | ||
3778 | 2202 | s|\(\n\)\n*|\1|g | ||
3779 | 2203 | p; q' < "$progpath" | ||
3780 | 2039 | 2204 | ||
3781 | 2040 | exit $? | 2205 | exit $? |
3782 | 2041 | } | 2206 | } |
3783 | @@ -2045,12 +2210,12 @@ func_version () | |||
3784 | 2045 | # mode: shell-script | 2210 | # mode: shell-script |
3785 | 2046 | # sh-indentation: 2 | 2211 | # sh-indentation: 2 |
3786 | 2047 | # eval: (add-hook 'before-save-hook 'time-stamp) | 2212 | # eval: (add-hook 'before-save-hook 'time-stamp) |
3788 | 2048 | # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" | 2213 | # time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" |
3789 | 2049 | # time-stamp-time-zone: "UTC" | 2214 | # time-stamp-time-zone: "UTC" |
3790 | 2050 | # End: | 2215 | # End: |
3791 | 2051 | 2216 | ||
3792 | 2052 | # Set a version string. | 2217 | # Set a version string. |
3794 | 2053 | scriptversion='(GNU libtool) 2.4.6' | 2218 | scriptversion='(GNU libtool) 2.4.7' |
3795 | 2054 | 2219 | ||
3796 | 2055 | 2220 | ||
3797 | 2056 | # func_echo ARG... | 2221 | # func_echo ARG... |
3798 | @@ -2141,12 +2306,12 @@ include the following information: | |||
3799 | 2141 | compiler: $LTCC | 2306 | compiler: $LTCC |
3800 | 2142 | compiler flags: $LTCFLAGS | 2307 | compiler flags: $LTCFLAGS |
3801 | 2143 | linker: $LD (gnu? $with_gnu_ld) | 2308 | linker: $LD (gnu? $with_gnu_ld) |
3803 | 2144 | version: $progname $scriptversion Debian-2.4.6-15build2 | 2309 | version: $progname (GNU libtool) 2.4.7 |
3804 | 2145 | automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` | 2310 | automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` |
3805 | 2146 | autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` | 2311 | autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` |
3806 | 2147 | 2312 | ||
3807 | 2148 | Report bugs to <bug-libtool@gnu.org>. | 2313 | Report bugs to <bug-libtool@gnu.org>. |
3809 | 2149 | GNU libtool home page: <http://www.gnu.org/s/libtool/>. | 2314 | GNU libtool home page: <http://www.gnu.org/software/libtool/>. |
3810 | 2150 | General help using GNU software: <http://www.gnu.org/gethelp/>." | 2315 | General help using GNU software: <http://www.gnu.org/gethelp/>." |
3811 | 2151 | exit 0 | 2316 | exit 0 |
3812 | 2152 | } | 2317 | } |
3813 | @@ -2197,7 +2362,7 @@ fi | |||
3814 | 2197 | # a configuration failure hint, and exit. | 2362 | # a configuration failure hint, and exit. |
3815 | 2198 | func_fatal_configuration () | 2363 | func_fatal_configuration () |
3816 | 2199 | { | 2364 | { |
3818 | 2200 | func__fatal_error ${1+"$@"} \ | 2365 | func_fatal_error ${1+"$@"} \ |
3819 | 2201 | "See the $PACKAGE documentation for more information." \ | 2366 | "See the $PACKAGE documentation for more information." \ |
3820 | 2202 | "Fatal configuration error." | 2367 | "Fatal configuration error." |
3821 | 2203 | } | 2368 | } |
3822 | @@ -2375,11 +2540,9 @@ libtool_options_prep () | |||
3823 | 2375 | 2540 | ||
3824 | 2376 | if $_G_rc_lt_options_prep; then | 2541 | if $_G_rc_lt_options_prep; then |
3825 | 2377 | # Pass back the list of options. | 2542 | # Pass back the list of options. |
3828 | 2378 | func_quote_for_eval ${1+"$@"} | 2543 | func_quote eval ${1+"$@"} |
3829 | 2379 | libtool_options_prep_result=$func_quote_for_eval_result | 2544 | libtool_options_prep_result=$func_quote_result |
3830 | 2380 | fi | 2545 | fi |
3831 | 2381 | |||
3832 | 2382 | $_G_rc_lt_options_prep | ||
3833 | 2383 | } | 2546 | } |
3834 | 2384 | func_add_hook func_options_prep libtool_options_prep | 2547 | func_add_hook func_options_prep libtool_options_prep |
3835 | 2385 | 2548 | ||
3836 | @@ -2482,11 +2645,9 @@ libtool_parse_options () | |||
3837 | 2482 | 2645 | ||
3838 | 2483 | if $_G_rc_lt_parse_options; then | 2646 | if $_G_rc_lt_parse_options; then |
3839 | 2484 | # save modified positional parameters for caller | 2647 | # save modified positional parameters for caller |
3842 | 2485 | func_quote_for_eval ${1+"$@"} | 2648 | func_quote eval ${1+"$@"} |
3843 | 2486 | libtool_parse_options_result=$func_quote_for_eval_result | 2649 | libtool_parse_options_result=$func_quote_result |
3844 | 2487 | fi | 2650 | fi |
3845 | 2488 | |||
3846 | 2489 | $_G_rc_lt_parse_options | ||
3847 | 2490 | } | 2651 | } |
3848 | 2491 | func_add_hook func_parse_options libtool_parse_options | 2652 | func_add_hook func_parse_options libtool_parse_options |
3849 | 2492 | 2653 | ||
3850 | @@ -2543,8 +2704,8 @@ libtool_validate_options () | |||
3851 | 2543 | } | 2704 | } |
3852 | 2544 | 2705 | ||
3853 | 2545 | # Pass back the unparsed argument list | 2706 | # Pass back the unparsed argument list |
3856 | 2546 | func_quote_for_eval ${1+"$@"} | 2707 | func_quote eval ${1+"$@"} |
3857 | 2547 | libtool_validate_options_result=$func_quote_for_eval_result | 2708 | libtool_validate_options_result=$func_quote_result |
3858 | 2548 | } | 2709 | } |
3859 | 2549 | func_add_hook func_validate_options libtool_validate_options | 2710 | func_add_hook func_validate_options libtool_validate_options |
3860 | 2550 | 2711 | ||
3861 | @@ -3510,8 +3671,8 @@ func_mode_compile () | |||
3862 | 3510 | esac | 3671 | esac |
3863 | 3511 | done | 3672 | done |
3864 | 3512 | 3673 | ||
3867 | 3513 | func_quote_for_eval "$libobj" | 3674 | func_quote_arg pretty "$libobj" |
3868 | 3514 | test "X$libobj" != "X$func_quote_for_eval_result" \ | 3675 | test "X$libobj" != "X$func_quote_arg_result" \ |
3869 | 3515 | && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ | 3676 | && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ |
3870 | 3516 | && func_warning "libobj name '$libobj' may not contain shell special characters." | 3677 | && func_warning "libobj name '$libobj' may not contain shell special characters." |
3871 | 3517 | func_dirname_and_basename "$obj" "/" "" | 3678 | func_dirname_and_basename "$obj" "/" "" |
3872 | @@ -3584,8 +3745,8 @@ compiler." | |||
3873 | 3584 | 3745 | ||
3874 | 3585 | func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 | 3746 | func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 |
3875 | 3586 | srcfile=$func_to_tool_file_result | 3747 | srcfile=$func_to_tool_file_result |
3878 | 3587 | func_quote_for_eval "$srcfile" | 3748 | func_quote_arg pretty "$srcfile" |
3879 | 3588 | qsrcfile=$func_quote_for_eval_result | 3749 | qsrcfile=$func_quote_arg_result |
3880 | 3589 | 3750 | ||
3881 | 3590 | # Only build a PIC object if we are building libtool libraries. | 3751 | # Only build a PIC object if we are building libtool libraries. |
3882 | 3591 | if test yes = "$build_libtool_libs"; then | 3752 | if test yes = "$build_libtool_libs"; then |
3883 | @@ -3740,7 +3901,8 @@ This mode accepts the following additional options: | |||
3884 | 3740 | -prefer-non-pic try to build non-PIC objects only | 3901 | -prefer-non-pic try to build non-PIC objects only |
3885 | 3741 | -shared do not build a '.o' file suitable for static linking | 3902 | -shared do not build a '.o' file suitable for static linking |
3886 | 3742 | -static only build a '.o' file suitable for static linking | 3903 | -static only build a '.o' file suitable for static linking |
3888 | 3743 | -Wc,FLAG pass FLAG directly to the compiler | 3904 | -Wc,FLAG |
3889 | 3905 | -Xcompiler FLAG pass FLAG directly to the compiler | ||
3890 | 3744 | 3906 | ||
3891 | 3745 | COMPILE-COMMAND is a command to be used in creating a 'standard' object file | 3907 | COMPILE-COMMAND is a command to be used in creating a 'standard' object file |
3892 | 3746 | from the given SOURCEFILE. | 3908 | from the given SOURCEFILE. |
3893 | @@ -3846,6 +4008,8 @@ The following components of LINK-COMMAND are treated specially: | |||
3894 | 3846 | -weak LIBNAME declare that the target provides the LIBNAME interface | 4008 | -weak LIBNAME declare that the target provides the LIBNAME interface |
3895 | 3847 | -Wc,FLAG | 4009 | -Wc,FLAG |
3896 | 3848 | -Xcompiler FLAG pass linker-specific FLAG directly to the compiler | 4010 | -Xcompiler FLAG pass linker-specific FLAG directly to the compiler |
3897 | 4011 | -Wa,FLAG | ||
3898 | 4012 | -Xassembler FLAG pass linker-specific FLAG directly to the assembler | ||
3899 | 3849 | -Wl,FLAG | 4013 | -Wl,FLAG |
3900 | 3850 | -Xlinker FLAG pass linker-specific FLAG directly to the linker | 4014 | -Xlinker FLAG pass linker-specific FLAG directly to the linker |
3901 | 3851 | -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) | 4015 | -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) |
3902 | @@ -4188,8 +4352,8 @@ func_mode_install () | |||
3903 | 4188 | case $nonopt in *shtool*) :;; *) false;; esac | 4352 | case $nonopt in *shtool*) :;; *) false;; esac |
3904 | 4189 | then | 4353 | then |
3905 | 4190 | # Aesthetically quote it. | 4354 | # Aesthetically quote it. |
3908 | 4191 | func_quote_for_eval "$nonopt" | 4355 | func_quote_arg pretty "$nonopt" |
3909 | 4192 | install_prog="$func_quote_for_eval_result " | 4356 | install_prog="$func_quote_arg_result " |
3910 | 4193 | arg=$1 | 4357 | arg=$1 |
3911 | 4194 | shift | 4358 | shift |
3912 | 4195 | else | 4359 | else |
3913 | @@ -4199,8 +4363,8 @@ func_mode_install () | |||
3914 | 4199 | 4363 | ||
3915 | 4200 | # The real first argument should be the name of the installation program. | 4364 | # The real first argument should be the name of the installation program. |
3916 | 4201 | # Aesthetically quote it. | 4365 | # Aesthetically quote it. |
3919 | 4202 | func_quote_for_eval "$arg" | 4366 | func_quote_arg pretty "$arg" |
3920 | 4203 | func_append install_prog "$func_quote_for_eval_result" | 4367 | func_append install_prog "$func_quote_arg_result" |
3921 | 4204 | install_shared_prog=$install_prog | 4368 | install_shared_prog=$install_prog |
3922 | 4205 | case " $install_prog " in | 4369 | case " $install_prog " in |
3923 | 4206 | *[\\\ /]cp\ *) install_cp=: ;; | 4370 | *[\\\ /]cp\ *) install_cp=: ;; |
3924 | @@ -4257,12 +4421,12 @@ func_mode_install () | |||
3925 | 4257 | esac | 4421 | esac |
3926 | 4258 | 4422 | ||
3927 | 4259 | # Aesthetically quote the argument. | 4423 | # Aesthetically quote the argument. |
3930 | 4260 | func_quote_for_eval "$arg" | 4424 | func_quote_arg pretty "$arg" |
3931 | 4261 | func_append install_prog " $func_quote_for_eval_result" | 4425 | func_append install_prog " $func_quote_arg_result" |
3932 | 4262 | if test -n "$arg2"; then | 4426 | if test -n "$arg2"; then |
3934 | 4263 | func_quote_for_eval "$arg2" | 4427 | func_quote_arg pretty "$arg2" |
3935 | 4264 | fi | 4428 | fi |
3937 | 4265 | func_append install_shared_prog " $func_quote_for_eval_result" | 4429 | func_append install_shared_prog " $func_quote_arg_result" |
3938 | 4266 | done | 4430 | done |
3939 | 4267 | 4431 | ||
3940 | 4268 | test -z "$install_prog" && \ | 4432 | test -z "$install_prog" && \ |
3941 | @@ -4273,8 +4437,8 @@ func_mode_install () | |||
3942 | 4273 | 4437 | ||
3943 | 4274 | if test -n "$install_override_mode" && $no_mode; then | 4438 | if test -n "$install_override_mode" && $no_mode; then |
3944 | 4275 | if $install_cp; then :; else | 4439 | if $install_cp; then :; else |
3947 | 4276 | func_quote_for_eval "$install_override_mode" | 4440 | func_quote_arg pretty "$install_override_mode" |
3948 | 4277 | func_append install_shared_prog " -m $func_quote_for_eval_result" | 4441 | func_append install_shared_prog " -m $func_quote_arg_result" |
3949 | 4278 | fi | 4442 | fi |
3950 | 4279 | fi | 4443 | fi |
3951 | 4280 | 4444 | ||
3952 | @@ -4570,8 +4734,8 @@ func_mode_install () | |||
3953 | 4570 | relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` | 4734 | relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` |
3954 | 4571 | 4735 | ||
3955 | 4572 | $opt_quiet || { | 4736 | $opt_quiet || { |
3958 | 4573 | func_quote_for_expand "$relink_command" | 4737 | func_quote_arg expand,pretty "$relink_command" |
3959 | 4574 | eval "func_echo $func_quote_for_expand_result" | 4738 | eval "func_echo $func_quote_arg_result" |
3960 | 4575 | } | 4739 | } |
3961 | 4576 | if eval "$relink_command"; then : | 4740 | if eval "$relink_command"; then : |
3962 | 4577 | else | 4741 | else |
3963 | @@ -5350,7 +5514,8 @@ else | |||
3964 | 5350 | if test \"\$libtool_execute_magic\" != \"$magic\"; then | 5514 | if test \"\$libtool_execute_magic\" != \"$magic\"; then |
3965 | 5351 | file=\"\$0\"" | 5515 | file=\"\$0\"" |
3966 | 5352 | 5516 | ||
3968 | 5353 | qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` | 5517 | func_quote_arg pretty "$ECHO" |
3969 | 5518 | qECHO=$func_quote_arg_result | ||
3970 | 5354 | $ECHO "\ | 5519 | $ECHO "\ |
3971 | 5355 | 5520 | ||
3972 | 5356 | # A function that is used when there is no print builtin or printf. | 5521 | # A function that is used when there is no print builtin or printf. |
3973 | @@ -5360,7 +5525,7 @@ func_fallback_echo () | |||
3974 | 5360 | \$1 | 5525 | \$1 |
3975 | 5361 | _LTECHO_EOF' | 5526 | _LTECHO_EOF' |
3976 | 5362 | } | 5527 | } |
3978 | 5363 | ECHO=\"$qECHO\" | 5528 | ECHO=$qECHO |
3979 | 5364 | fi | 5529 | fi |
3980 | 5365 | 5530 | ||
3981 | 5366 | # Very basic option parsing. These options are (a) specific to | 5531 | # Very basic option parsing. These options are (a) specific to |
3982 | @@ -6703,9 +6868,9 @@ func_mode_link () | |||
3983 | 6703 | while test "$#" -gt 0; do | 6868 | while test "$#" -gt 0; do |
3984 | 6704 | arg=$1 | 6869 | arg=$1 |
3985 | 6705 | shift | 6870 | shift |
3989 | 6706 | func_quote_for_eval "$arg" | 6871 | func_quote_arg pretty,unquoted "$arg" |
3990 | 6707 | qarg=$func_quote_for_eval_unquoted_result | 6872 | qarg=$func_quote_arg_unquoted_result |
3991 | 6708 | func_append libtool_args " $func_quote_for_eval_result" | 6873 | func_append libtool_args " $func_quote_arg_result" |
3992 | 6709 | 6874 | ||
3993 | 6710 | # If the previous option needs an argument, assign it. | 6875 | # If the previous option needs an argument, assign it. |
3994 | 6711 | if test -n "$prev"; then | 6876 | if test -n "$prev"; then |
3995 | @@ -6941,6 +7106,13 @@ func_mode_link () | |||
3996 | 6941 | prev= | 7106 | prev= |
3997 | 6942 | continue | 7107 | continue |
3998 | 6943 | ;; | 7108 | ;; |
3999 | 7109 | xassembler) | ||
4000 | 7110 | func_append compiler_flags " -Xassembler $qarg" | ||
4001 | 7111 | prev= | ||
4002 | 7112 | func_append compile_command " -Xassembler $qarg" | ||
4003 | 7113 | func_append finalize_command " -Xassembler $qarg" | ||
4004 | 7114 | continue | ||
4005 | 7115 | ;; | ||
4006 | 6944 | xcclinker) | 7116 | xcclinker) |
4007 | 6945 | func_append linker_flags " $qarg" | 7117 | func_append linker_flags " $qarg" |
4008 | 6946 | func_append compiler_flags " $qarg" | 7118 | func_append compiler_flags " $qarg" |
4009 | @@ -7111,7 +7283,7 @@ func_mode_link () | |||
4010 | 7111 | # These systems don't actually have a C library (as such) | 7283 | # These systems don't actually have a C library (as such) |
4011 | 7112 | test X-lc = "X$arg" && continue | 7284 | test X-lc = "X$arg" && continue |
4012 | 7113 | ;; | 7285 | ;; |
4014 | 7114 | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) | 7286 | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) |
4015 | 7115 | # Do not include libc due to us having libc/libc_r. | 7287 | # Do not include libc due to us having libc/libc_r. |
4016 | 7116 | test X-lc = "X$arg" && continue | 7288 | test X-lc = "X$arg" && continue |
4017 | 7117 | ;; | 7289 | ;; |
4018 | @@ -7131,7 +7303,7 @@ func_mode_link () | |||
4019 | 7131 | esac | 7303 | esac |
4020 | 7132 | elif test X-lc_r = "X$arg"; then | 7304 | elif test X-lc_r = "X$arg"; then |
4021 | 7133 | case $host in | 7305 | case $host in |
4023 | 7134 | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) | 7306 | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) |
4024 | 7135 | # Do not include libc_r directly, use -pthread flag. | 7307 | # Do not include libc_r directly, use -pthread flag. |
4025 | 7136 | continue | 7308 | continue |
4026 | 7137 | ;; | 7309 | ;; |
4027 | @@ -7161,8 +7333,20 @@ func_mode_link () | |||
4028 | 7161 | prev=xcompiler | 7333 | prev=xcompiler |
4029 | 7162 | continue | 7334 | continue |
4030 | 7163 | ;; | 7335 | ;; |
4033 | 7164 | 7336 | # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. | |
4034 | 7165 | -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ | 7337 | -pthread) |
4035 | 7338 | case $host in | ||
4036 | 7339 | *solaris2*) ;; | ||
4037 | 7340 | *) | ||
4038 | 7341 | case "$new_inherited_linker_flags " in | ||
4039 | 7342 | *" $arg "*) ;; | ||
4040 | 7343 | * ) func_append new_inherited_linker_flags " $arg" ;; | ||
4041 | 7344 | esac | ||
4042 | 7345 | ;; | ||
4043 | 7346 | esac | ||
4044 | 7347 | continue | ||
4045 | 7348 | ;; | ||
4046 | 7349 | -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ | ||
4047 | 7166 | |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) | 7350 | |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) |
4048 | 7167 | func_append compiler_flags " $arg" | 7351 | func_append compiler_flags " $arg" |
4049 | 7168 | func_append compile_command " $arg" | 7352 | func_append compile_command " $arg" |
4050 | @@ -7303,9 +7487,9 @@ func_mode_link () | |||
4051 | 7303 | save_ifs=$IFS; IFS=, | 7487 | save_ifs=$IFS; IFS=, |
4052 | 7304 | for flag in $args; do | 7488 | for flag in $args; do |
4053 | 7305 | IFS=$save_ifs | 7489 | IFS=$save_ifs |
4057 | 7306 | func_quote_for_eval "$flag" | 7490 | func_quote_arg pretty "$flag" |
4058 | 7307 | func_append arg " $func_quote_for_eval_result" | 7491 | func_append arg " $func_quote_arg_result" |
4059 | 7308 | func_append compiler_flags " $func_quote_for_eval_result" | 7492 | func_append compiler_flags " $func_quote_arg_result" |
4060 | 7309 | done | 7493 | done |
4061 | 7310 | IFS=$save_ifs | 7494 | IFS=$save_ifs |
4062 | 7311 | func_stripname ' ' '' "$arg" | 7495 | func_stripname ' ' '' "$arg" |
4063 | @@ -7319,16 +7503,21 @@ func_mode_link () | |||
4064 | 7319 | save_ifs=$IFS; IFS=, | 7503 | save_ifs=$IFS; IFS=, |
4065 | 7320 | for flag in $args; do | 7504 | for flag in $args; do |
4066 | 7321 | IFS=$save_ifs | 7505 | IFS=$save_ifs |
4071 | 7322 | func_quote_for_eval "$flag" | 7506 | func_quote_arg pretty "$flag" |
4072 | 7323 | func_append arg " $wl$func_quote_for_eval_result" | 7507 | func_append arg " $wl$func_quote_arg_result" |
4073 | 7324 | func_append compiler_flags " $wl$func_quote_for_eval_result" | 7508 | func_append compiler_flags " $wl$func_quote_arg_result" |
4074 | 7325 | func_append linker_flags " $func_quote_for_eval_result" | 7509 | func_append linker_flags " $func_quote_arg_result" |
4075 | 7326 | done | 7510 | done |
4076 | 7327 | IFS=$save_ifs | 7511 | IFS=$save_ifs |
4077 | 7328 | func_stripname ' ' '' "$arg" | 7512 | func_stripname ' ' '' "$arg" |
4078 | 7329 | arg=$func_stripname_result | 7513 | arg=$func_stripname_result |
4079 | 7330 | ;; | 7514 | ;; |
4080 | 7331 | 7515 | ||
4081 | 7516 | -Xassembler) | ||
4082 | 7517 | prev=xassembler | ||
4083 | 7518 | continue | ||
4084 | 7519 | ;; | ||
4085 | 7520 | |||
4086 | 7332 | -Xcompiler) | 7521 | -Xcompiler) |
4087 | 7333 | prev=xcompiler | 7522 | prev=xcompiler |
4088 | 7334 | continue | 7523 | continue |
4089 | @@ -7346,8 +7535,8 @@ func_mode_link () | |||
4090 | 7346 | 7535 | ||
4091 | 7347 | # -msg_* for osf cc | 7536 | # -msg_* for osf cc |
4092 | 7348 | -msg_*) | 7537 | -msg_*) |
4095 | 7349 | func_quote_for_eval "$arg" | 7538 | func_quote_arg pretty "$arg" |
4096 | 7350 | arg=$func_quote_for_eval_result | 7539 | arg=$func_quote_arg_result |
4097 | 7351 | ;; | 7540 | ;; |
4098 | 7352 | 7541 | ||
4099 | 7353 | # Flags to be passed through unchanged, with rationale: | 7542 | # Flags to be passed through unchanged, with rationale: |
4100 | @@ -7368,14 +7557,13 @@ func_mode_link () | |||
4101 | 7368 | # -stdlib=* select c++ std lib with clang | 7557 | # -stdlib=* select c++ std lib with clang |
4102 | 7369 | # -fsanitize=* Clang/GCC memory and address sanitizer | 7558 | # -fsanitize=* Clang/GCC memory and address sanitizer |
4103 | 7370 | # -fuse-ld=* Linker select flags for GCC | 7559 | # -fuse-ld=* Linker select flags for GCC |
4106 | 7371 | # -static-* direct GCC to link specific libraries statically | 7560 | # -Wa,* Pass flags directly to the assembler |
4105 | 7372 | # -fcilkplus Cilk Plus language extension features for C/C++ | ||
4107 | 7373 | -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ | 7561 | -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ |
4108 | 7374 | -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ | 7562 | -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ |
4109 | 7375 | -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ | 7563 | -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ |
4113 | 7376 | -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) | 7564 | -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) |
4114 | 7377 | func_quote_for_eval "$arg" | 7565 | func_quote_arg pretty "$arg" |
4115 | 7378 | arg=$func_quote_for_eval_result | 7566 | arg=$func_quote_arg_result |
4116 | 7379 | func_append compile_command " $arg" | 7567 | func_append compile_command " $arg" |
4117 | 7380 | func_append finalize_command " $arg" | 7568 | func_append finalize_command " $arg" |
4118 | 7381 | func_append compiler_flags " $arg" | 7569 | func_append compiler_flags " $arg" |
4119 | @@ -7396,15 +7584,15 @@ func_mode_link () | |||
4120 | 7396 | continue | 7584 | continue |
4121 | 7397 | else | 7585 | else |
4122 | 7398 | # Otherwise treat like 'Some other compiler flag' below | 7586 | # Otherwise treat like 'Some other compiler flag' below |
4125 | 7399 | func_quote_for_eval "$arg" | 7587 | func_quote_arg pretty "$arg" |
4126 | 7400 | arg=$func_quote_for_eval_result | 7588 | arg=$func_quote_arg_result |
4127 | 7401 | fi | 7589 | fi |
4128 | 7402 | ;; | 7590 | ;; |
4129 | 7403 | 7591 | ||
4130 | 7404 | # Some other compiler flag. | 7592 | # Some other compiler flag. |
4131 | 7405 | -* | +*) | 7593 | -* | +*) |
4134 | 7406 | func_quote_for_eval "$arg" | 7594 | func_quote_arg pretty "$arg" |
4135 | 7407 | arg=$func_quote_for_eval_result | 7595 | arg=$func_quote_arg_result |
4136 | 7408 | ;; | 7596 | ;; |
4137 | 7409 | 7597 | ||
4138 | 7410 | *.$objext) | 7598 | *.$objext) |
4139 | @@ -7524,8 +7712,8 @@ func_mode_link () | |||
4140 | 7524 | *) | 7712 | *) |
4141 | 7525 | # Unknown arguments in both finalize_command and compile_command need | 7713 | # Unknown arguments in both finalize_command and compile_command need |
4142 | 7526 | # to be aesthetically quoted because they are evaled later. | 7714 | # to be aesthetically quoted because they are evaled later. |
4145 | 7527 | func_quote_for_eval "$arg" | 7715 | func_quote_arg pretty "$arg" |
4146 | 7528 | arg=$func_quote_for_eval_result | 7716 | arg=$func_quote_arg_result |
4147 | 7529 | ;; | 7717 | ;; |
4148 | 7530 | esac # arg | 7718 | esac # arg |
4149 | 7531 | 7719 | ||
4150 | @@ -7666,10 +7854,7 @@ func_mode_link () | |||
4151 | 7666 | case $pass in | 7854 | case $pass in |
4152 | 7667 | dlopen) libs=$dlfiles ;; | 7855 | dlopen) libs=$dlfiles ;; |
4153 | 7668 | dlpreopen) libs=$dlprefiles ;; | 7856 | dlpreopen) libs=$dlprefiles ;; |
4158 | 7669 | link) | 7857 | link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; |
4155 | 7670 | libs="$deplibs %DEPLIBS%" | ||
4156 | 7671 | test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" | ||
4157 | 7672 | ;; | ||
4159 | 7673 | esac | 7858 | esac |
4160 | 7674 | fi | 7859 | fi |
4161 | 7675 | if test lib,dlpreopen = "$linkmode,$pass"; then | 7860 | if test lib,dlpreopen = "$linkmode,$pass"; then |
4162 | @@ -7988,19 +8173,19 @@ func_mode_link () | |||
4163 | 7988 | # It is a libtool convenience library, so add in its objects. | 8173 | # It is a libtool convenience library, so add in its objects. |
4164 | 7989 | func_append convenience " $ladir/$objdir/$old_library" | 8174 | func_append convenience " $ladir/$objdir/$old_library" |
4165 | 7990 | func_append old_convenience " $ladir/$objdir/$old_library" | 8175 | func_append old_convenience " $ladir/$objdir/$old_library" |
4166 | 7991 | tmp_libs= | ||
4167 | 7992 | for deplib in $dependency_libs; do | ||
4168 | 7993 | deplibs="$deplib $deplibs" | ||
4169 | 7994 | if $opt_preserve_dup_deps; then | ||
4170 | 7995 | case "$tmp_libs " in | ||
4171 | 7996 | *" $deplib "*) func_append specialdeplibs " $deplib" ;; | ||
4172 | 7997 | esac | ||
4173 | 7998 | fi | ||
4174 | 7999 | func_append tmp_libs " $deplib" | ||
4175 | 8000 | done | ||
4176 | 8001 | elif test prog != "$linkmode" && test lib != "$linkmode"; then | 8176 | elif test prog != "$linkmode" && test lib != "$linkmode"; then |
4177 | 8002 | func_fatal_error "'$lib' is not a convenience library" | 8177 | func_fatal_error "'$lib' is not a convenience library" |
4178 | 8003 | fi | 8178 | fi |
4179 | 8179 | tmp_libs= | ||
4180 | 8180 | for deplib in $dependency_libs; do | ||
4181 | 8181 | deplibs="$deplib $deplibs" | ||
4182 | 8182 | if $opt_preserve_dup_deps; then | ||
4183 | 8183 | case "$tmp_libs " in | ||
4184 | 8184 | *" $deplib "*) func_append specialdeplibs " $deplib" ;; | ||
4185 | 8185 | esac | ||
4186 | 8186 | fi | ||
4187 | 8187 | func_append tmp_libs " $deplib" | ||
4188 | 8188 | done | ||
4189 | 8004 | continue | 8189 | continue |
4190 | 8005 | fi # $pass = conv | 8190 | fi # $pass = conv |
4191 | 8006 | 8191 | ||
4192 | @@ -8733,7 +8918,7 @@ func_mode_link () | |||
4193 | 8733 | test CXX = "$tagname" && { | 8918 | test CXX = "$tagname" && { |
4194 | 8734 | case $host_os in | 8919 | case $host_os in |
4195 | 8735 | linux*) | 8920 | linux*) |
4197 | 8736 | case `$CC -V 2>&1 | sed 5q` in | 8921 | case `$CC -V 2>&1 | $SED 5q` in |
4198 | 8737 | *Sun\ C*) # Sun C++ 5.9 | 8922 | *Sun\ C*) # Sun C++ 5.9 |
4199 | 8738 | func_suncc_cstd_abi | 8923 | func_suncc_cstd_abi |
4200 | 8739 | 8924 | ||
4201 | @@ -8906,7 +9091,7 @@ func_mode_link () | |||
4202 | 8906 | # | 9091 | # |
4203 | 8907 | case $version_type in | 9092 | case $version_type in |
4204 | 8908 | # correct linux to gnu/linux during the next big refactor | 9093 | # correct linux to gnu/linux during the next big refactor |
4206 | 8909 | darwin|freebsd-elf|linux|osf|windows|none) | 9094 | darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) |
4207 | 8910 | func_arith $number_major + $number_minor | 9095 | func_arith $number_major + $number_minor |
4208 | 8911 | current=$func_arith_result | 9096 | current=$func_arith_result |
4209 | 8912 | age=$number_minor | 9097 | age=$number_minor |
4210 | @@ -8924,9 +9109,6 @@ func_mode_link () | |||
4211 | 8924 | revision=$number_minor | 9109 | revision=$number_minor |
4212 | 8925 | lt_irix_increment=no | 9110 | lt_irix_increment=no |
4213 | 8926 | ;; | 9111 | ;; |
4214 | 8927 | *) | ||
4215 | 8928 | func_fatal_configuration "$modename: unknown library version type '$version_type'" | ||
4216 | 8929 | ;; | ||
4217 | 8930 | esac | 9112 | esac |
4218 | 8931 | ;; | 9113 | ;; |
4219 | 8932 | no) | 9114 | no) |
4220 | @@ -9000,7 +9182,7 @@ func_mode_link () | |||
4221 | 9000 | versuffix=.$current.$revision | 9182 | versuffix=.$current.$revision |
4222 | 9001 | ;; | 9183 | ;; |
4223 | 9002 | 9184 | ||
4225 | 9003 | freebsd-elf) | 9185 | freebsd-elf | midnightbsd-elf) |
4226 | 9004 | func_arith $current - $age | 9186 | func_arith $current - $age |
4227 | 9005 | major=.$func_arith_result | 9187 | major=.$func_arith_result |
4228 | 9006 | versuffix=$major.$age.$revision | 9188 | versuffix=$major.$age.$revision |
4229 | @@ -9226,7 +9408,7 @@ func_mode_link () | |||
4230 | 9226 | *-*-netbsd*) | 9408 | *-*-netbsd*) |
4231 | 9227 | # Don't link with libc until the a.out ld.so is fixed. | 9409 | # Don't link with libc until the a.out ld.so is fixed. |
4232 | 9228 | ;; | 9410 | ;; |
4234 | 9229 | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) | 9411 | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) |
4235 | 9230 | # Do not include libc due to us having libc/libc_r. | 9412 | # Do not include libc due to us having libc/libc_r. |
4236 | 9231 | ;; | 9413 | ;; |
4237 | 9232 | *-*-sco3.2v5* | *-*-sco5v6*) | 9414 | *-*-sco3.2v5* | *-*-sco5v6*) |
4238 | @@ -10037,8 +10219,8 @@ EOF | |||
4239 | 10037 | for cmd in $concat_cmds; do | 10219 | for cmd in $concat_cmds; do |
4240 | 10038 | IFS=$save_ifs | 10220 | IFS=$save_ifs |
4241 | 10039 | $opt_quiet || { | 10221 | $opt_quiet || { |
4244 | 10040 | func_quote_for_expand "$cmd" | 10222 | func_quote_arg expand,pretty "$cmd" |
4245 | 10041 | eval "func_echo $func_quote_for_expand_result" | 10223 | eval "func_echo $func_quote_arg_result" |
4246 | 10042 | } | 10224 | } |
4247 | 10043 | $opt_dry_run || eval "$cmd" || { | 10225 | $opt_dry_run || eval "$cmd" || { |
4248 | 10044 | lt_exit=$? | 10226 | lt_exit=$? |
4249 | @@ -10131,8 +10313,8 @@ EOF | |||
4250 | 10131 | eval cmd=\"$cmd\" | 10313 | eval cmd=\"$cmd\" |
4251 | 10132 | IFS=$save_ifs | 10314 | IFS=$save_ifs |
4252 | 10133 | $opt_quiet || { | 10315 | $opt_quiet || { |
4255 | 10134 | func_quote_for_expand "$cmd" | 10316 | func_quote_arg expand,pretty "$cmd" |
4256 | 10135 | eval "func_echo $func_quote_for_expand_result" | 10317 | eval "func_echo $func_quote_arg_result" |
4257 | 10136 | } | 10318 | } |
4258 | 10137 | $opt_dry_run || eval "$cmd" || { | 10319 | $opt_dry_run || eval "$cmd" || { |
4259 | 10138 | lt_exit=$? | 10320 | lt_exit=$? |
4260 | @@ -10606,12 +10788,13 @@ EOF | |||
4261 | 10606 | elif eval var_value=\$$var; test -z "$var_value"; then | 10788 | elif eval var_value=\$$var; test -z "$var_value"; then |
4262 | 10607 | relink_command="$var=; export $var; $relink_command" | 10789 | relink_command="$var=; export $var; $relink_command" |
4263 | 10608 | else | 10790 | else |
4266 | 10609 | func_quote_for_eval "$var_value" | 10791 | func_quote_arg pretty "$var_value" |
4267 | 10610 | relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" | 10792 | relink_command="$var=$func_quote_arg_result; export $var; $relink_command" |
4268 | 10611 | fi | 10793 | fi |
4269 | 10612 | done | 10794 | done |
4272 | 10613 | relink_command="(cd `pwd`; $relink_command)" | 10795 | func_quote eval cd "`pwd`" |
4273 | 10614 | relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` | 10796 | func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" |
4274 | 10797 | relink_command=$func_quote_arg_unquoted_result | ||
4275 | 10615 | fi | 10798 | fi |
4276 | 10616 | 10799 | ||
4277 | 10617 | # Only actually do things if not in dry run mode. | 10800 | # Only actually do things if not in dry run mode. |
4278 | @@ -10851,13 +11034,15 @@ EOF | |||
4279 | 10851 | elif eval var_value=\$$var; test -z "$var_value"; then | 11034 | elif eval var_value=\$$var; test -z "$var_value"; then |
4280 | 10852 | relink_command="$var=; export $var; $relink_command" | 11035 | relink_command="$var=; export $var; $relink_command" |
4281 | 10853 | else | 11036 | else |
4284 | 10854 | func_quote_for_eval "$var_value" | 11037 | func_quote_arg pretty,unquoted "$var_value" |
4285 | 10855 | relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" | 11038 | relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" |
4286 | 10856 | fi | 11039 | fi |
4287 | 10857 | done | 11040 | done |
4288 | 10858 | # Quote the link command for shipping. | 11041 | # Quote the link command for shipping. |
4291 | 10859 | relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" | 11042 | func_quote eval cd "`pwd`" |
4292 | 10860 | relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` | 11043 | relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" |
4293 | 11044 | func_quote_arg pretty,unquoted "$relink_command" | ||
4294 | 11045 | relink_command=$func_quote_arg_unquoted_result | ||
4295 | 10861 | if test yes = "$hardcode_automatic"; then | 11046 | if test yes = "$hardcode_automatic"; then |
4296 | 10862 | relink_command= | 11047 | relink_command= |
4297 | 10863 | fi | 11048 | 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 | 1 | # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- | 1 | # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- |
4304 | 2 | # | 2 | # |
4306 | 3 | # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. | 3 | # Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software |
4307 | 4 | # Foundation, Inc. | ||
4308 | 4 | # Written by Gordon Matzigkeit, 1996 | 5 | # Written by Gordon Matzigkeit, 1996 |
4309 | 5 | # | 6 | # |
4310 | 6 | # This file is free software; the Free Software Foundation gives | 7 | # This file is free software; the Free Software Foundation gives |
4311 | @@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl | |||
4312 | 31 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 32 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
4313 | 32 | ]) | 33 | ]) |
4314 | 33 | 34 | ||
4316 | 34 | # serial 58 LT_INIT | 35 | # serial 59 LT_INIT |
4317 | 35 | 36 | ||
4318 | 36 | 37 | ||
4319 | 37 | # LT_PREREQ(VERSION) | 38 | # LT_PREREQ(VERSION) |
4320 | @@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl | |||
4321 | 181 | m4_require([_LT_CHECK_SHELL_FEATURES])dnl | 182 | m4_require([_LT_CHECK_SHELL_FEATURES])dnl |
4322 | 182 | m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl | 183 | m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl |
4323 | 183 | m4_require([_LT_CMD_RELOAD])dnl | 184 | m4_require([_LT_CMD_RELOAD])dnl |
4324 | 185 | m4_require([_LT_DECL_FILECMD])dnl | ||
4325 | 184 | m4_require([_LT_CHECK_MAGIC_METHOD])dnl | 186 | m4_require([_LT_CHECK_MAGIC_METHOD])dnl |
4326 | 185 | m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl | 187 | m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl |
4327 | 186 | m4_require([_LT_CMD_OLD_ARCHIVE])dnl | 188 | m4_require([_LT_CMD_OLD_ARCHIVE])dnl |
4328 | @@ -219,8 +221,8 @@ esac | |||
4329 | 219 | ofile=libtool | 221 | ofile=libtool |
4330 | 220 | can_build_shared=yes | 222 | can_build_shared=yes |
4331 | 221 | 223 | ||
4334 | 222 | # All known linkers require a '.a' archive for static linking (except MSVC, | 224 | # All known linkers require a '.a' archive for static linking (except MSVC and |
4335 | 223 | # which needs '.lib'). | 225 | # ICC, which need '.lib'). |
4336 | 224 | libext=a | 226 | libext=a |
4337 | 225 | 227 | ||
4338 | 226 | with_gnu_ld=$lt_cv_prog_gnu_ld | 228 | with_gnu_ld=$lt_cv_prog_gnu_ld |
4339 | @@ -728,6 +730,7 @@ _LT_CONFIG_SAVE_COMMANDS([ | |||
4340 | 728 | cat <<_LT_EOF >> "$cfgfile" | 730 | cat <<_LT_EOF >> "$cfgfile" |
4341 | 729 | #! $SHELL | 731 | #! $SHELL |
4342 | 730 | # Generated automatically by $as_me ($PACKAGE) $VERSION | 732 | # Generated automatically by $as_me ($PACKAGE) $VERSION |
4343 | 733 | # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
4344 | 731 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. | 734 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. |
4345 | 732 | 735 | ||
4346 | 733 | # Provide generalized library-building support services. | 736 | # Provide generalized library-building support services. |
4347 | @@ -777,7 +780,7 @@ _LT_EOF | |||
4348 | 777 | # if finds mixed CR/LF and LF-only lines. Since sed operates in | 780 | # if finds mixed CR/LF and LF-only lines. Since sed operates in |
4349 | 778 | # text mode, it properly converts lines to CR/LF. This bash problem | 781 | # text mode, it properly converts lines to CR/LF. This bash problem |
4350 | 779 | # is reportedly fixed, but why not run on old versions too? | 782 | # is reportedly fixed, but why not run on old versions too? |
4352 | 780 | sed '$q' "$ltmain" >> "$cfgfile" \ | 783 | $SED '$q' "$ltmain" >> "$cfgfile" \ |
4353 | 781 | || (rm -f "$cfgfile"; exit 1) | 784 | || (rm -f "$cfgfile"; exit 1) |
4354 | 782 | 785 | ||
4355 | 783 | mv -f "$cfgfile" "$ofile" || | 786 | mv -f "$cfgfile" "$ofile" || |
4356 | @@ -1041,8 +1044,8 @@ int forced_loaded() { return 2;} | |||
4357 | 1041 | _LT_EOF | 1044 | _LT_EOF |
4358 | 1042 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD | 1045 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD |
4359 | 1043 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD | 1046 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD |
4362 | 1044 | echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD | 1047 | echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD |
4363 | 1045 | $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD | 1048 | $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD |
4364 | 1046 | echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD | 1049 | echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD |
4365 | 1047 | $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD | 1050 | $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD |
4366 | 1048 | cat > conftest.c << _LT_EOF | 1051 | cat > conftest.c << _LT_EOF |
4367 | @@ -1066,17 +1069,12 @@ _LT_EOF | |||
4368 | 1066 | _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; | 1069 | _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; |
4369 | 1067 | darwin1.*) | 1070 | darwin1.*) |
4370 | 1068 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; | 1071 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
4382 | 1069 | darwin*) # darwin 5.x on | 1072 | darwin*) |
4383 | 1070 | # if running on 10.5 or later, the deployment target defaults | 1073 | case $MACOSX_DEPLOYMENT_TARGET,$host in |
4384 | 1071 | # to the OS version, if on x86, and 10.4, the deployment | 1074 | 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) |
4385 | 1072 | # target defaults to 10.4. Don't you love it? | 1075 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; |
4386 | 1073 | case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in | 1076 | *) |
4387 | 1074 | 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) | 1077 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; |
4377 | 1075 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; | ||
4378 | 1076 | 10.[[012]][[,.]]*) | ||
4379 | 1077 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; | ||
4380 | 1078 | 10.*|11.*) | ||
4381 | 1079 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; | ||
4388 | 1080 | esac | 1078 | esac |
4389 | 1081 | ;; | 1079 | ;; |
4390 | 1082 | esac | 1080 | esac |
4391 | @@ -1125,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], | |||
4392 | 1125 | output_verbose_link_cmd=func_echo_all | 1123 | output_verbose_link_cmd=func_echo_all |
4393 | 1126 | _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" | 1124 | _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 | 1127 | _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" | 1125 | _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" |
4397 | 1128 | _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" | 1126 | _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 | 1129 | _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" | 1127 | _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 | 1130 | m4_if([$1], [CXX], | 1128 | m4_if([$1], [CXX], |
4400 | 1131 | [ if test yes != "$lt_cv_apple_cc_single_mod"; then | 1129 | [ if test yes != "$lt_cv_apple_cc_single_mod"; then |
4401 | 1132 | _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" | 1130 | _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" |
4403 | 1133 | _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" | 1131 | _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 | 1134 | fi | 1132 | fi |
4405 | 1135 | ],[]) | 1133 | ],[]) |
4406 | 1136 | else | 1134 | else |
4407 | @@ -1244,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) | |||
4408 | 1244 | # _LT_WITH_SYSROOT | 1242 | # _LT_WITH_SYSROOT |
4409 | 1245 | # ---------------- | 1243 | # ---------------- |
4410 | 1246 | AC_DEFUN([_LT_WITH_SYSROOT], | 1244 | AC_DEFUN([_LT_WITH_SYSROOT], |
4412 | 1247 | [AC_MSG_CHECKING([for sysroot]) | 1245 | [m4_require([_LT_DECL_SED])dnl |
4413 | 1246 | AC_MSG_CHECKING([for sysroot]) | ||
4414 | 1248 | AC_ARG_WITH([sysroot], | 1247 | AC_ARG_WITH([sysroot], |
4415 | 1249 | [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], | 1248 | [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], |
4416 | 1250 | [Search for dependent libraries within DIR (or the compiler's sysroot | 1249 | [Search for dependent libraries within DIR (or the compiler's sysroot |
4417 | @@ -1261,7 +1260,7 @@ case $with_sysroot in #( | |||
4418 | 1261 | fi | 1260 | fi |
4419 | 1262 | ;; #( | 1261 | ;; #( |
4420 | 1263 | /*) | 1262 | /*) |
4422 | 1264 | lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` | 1263 | lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` |
4423 | 1265 | ;; #( | 1264 | ;; #( |
4424 | 1266 | no|'') | 1265 | no|'') |
4425 | 1267 | ;; #( | 1266 | ;; #( |
4426 | @@ -1291,7 +1290,7 @@ ia64-*-hpux*) | |||
4427 | 1291 | # options accordingly. | 1290 | # options accordingly. |
4428 | 1292 | echo 'int i;' > conftest.$ac_ext | 1291 | echo 'int i;' > conftest.$ac_ext |
4429 | 1293 | if AC_TRY_EVAL(ac_compile); then | 1292 | if AC_TRY_EVAL(ac_compile); then |
4431 | 1294 | case `/usr/bin/file conftest.$ac_objext` in | 1293 | case `$FILECMD conftest.$ac_objext` in |
4432 | 1295 | *ELF-32*) | 1294 | *ELF-32*) |
4433 | 1296 | HPUX_IA64_MODE=32 | 1295 | HPUX_IA64_MODE=32 |
4434 | 1297 | ;; | 1296 | ;; |
4435 | @@ -1308,7 +1307,7 @@ ia64-*-hpux*) | |||
4436 | 1308 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext | 1307 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext |
4437 | 1309 | if AC_TRY_EVAL(ac_compile); then | 1308 | if AC_TRY_EVAL(ac_compile); then |
4438 | 1310 | if test yes = "$lt_cv_prog_gnu_ld"; then | 1309 | if test yes = "$lt_cv_prog_gnu_ld"; then |
4440 | 1311 | case `/usr/bin/file conftest.$ac_objext` in | 1310 | case `$FILECMD conftest.$ac_objext` in |
4441 | 1312 | *32-bit*) | 1311 | *32-bit*) |
4442 | 1313 | LD="${LD-ld} -melf32bsmip" | 1312 | LD="${LD-ld} -melf32bsmip" |
4443 | 1314 | ;; | 1313 | ;; |
4444 | @@ -1320,7 +1319,7 @@ ia64-*-hpux*) | |||
4445 | 1320 | ;; | 1319 | ;; |
4446 | 1321 | esac | 1320 | esac |
4447 | 1322 | else | 1321 | else |
4449 | 1323 | case `/usr/bin/file conftest.$ac_objext` in | 1322 | case `$FILECMD conftest.$ac_objext` in |
4450 | 1324 | *32-bit*) | 1323 | *32-bit*) |
4451 | 1325 | LD="${LD-ld} -32" | 1324 | LD="${LD-ld} -32" |
4452 | 1326 | ;; | 1325 | ;; |
4453 | @@ -1342,7 +1341,7 @@ mips64*-*linux*) | |||
4454 | 1342 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext | 1341 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext |
4455 | 1343 | if AC_TRY_EVAL(ac_compile); then | 1342 | if AC_TRY_EVAL(ac_compile); then |
4456 | 1344 | emul=elf | 1343 | emul=elf |
4458 | 1345 | case `/usr/bin/file conftest.$ac_objext` in | 1344 | case `$FILECMD conftest.$ac_objext` in |
4459 | 1346 | *32-bit*) | 1345 | *32-bit*) |
4460 | 1347 | emul="${emul}32" | 1346 | emul="${emul}32" |
4461 | 1348 | ;; | 1347 | ;; |
4462 | @@ -1350,7 +1349,7 @@ mips64*-*linux*) | |||
4463 | 1350 | emul="${emul}64" | 1349 | emul="${emul}64" |
4464 | 1351 | ;; | 1350 | ;; |
4465 | 1352 | esac | 1351 | esac |
4467 | 1353 | case `/usr/bin/file conftest.$ac_objext` in | 1352 | case `$FILECMD conftest.$ac_objext` in |
4468 | 1354 | *MSB*) | 1353 | *MSB*) |
4469 | 1355 | emul="${emul}btsmip" | 1354 | emul="${emul}btsmip" |
4470 | 1356 | ;; | 1355 | ;; |
4471 | @@ -1358,7 +1357,7 @@ mips64*-*linux*) | |||
4472 | 1358 | emul="${emul}ltsmip" | 1357 | emul="${emul}ltsmip" |
4473 | 1359 | ;; | 1358 | ;; |
4474 | 1360 | esac | 1359 | esac |
4476 | 1361 | case `/usr/bin/file conftest.$ac_objext` in | 1360 | case `$FILECMD conftest.$ac_objext` in |
4477 | 1362 | *N32*) | 1361 | *N32*) |
4478 | 1363 | emul="${emul}n32" | 1362 | emul="${emul}n32" |
4479 | 1364 | ;; | 1363 | ;; |
4480 | @@ -1378,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | |||
4481 | 1378 | # not appear in the list. | 1377 | # not appear in the list. |
4482 | 1379 | echo 'int i;' > conftest.$ac_ext | 1378 | echo 'int i;' > conftest.$ac_ext |
4483 | 1380 | if AC_TRY_EVAL(ac_compile); then | 1379 | if AC_TRY_EVAL(ac_compile); then |
4485 | 1381 | case `/usr/bin/file conftest.o` in | 1380 | case `$FILECMD conftest.o` in |
4486 | 1382 | *32-bit*) | 1381 | *32-bit*) |
4487 | 1383 | case $host in | 1382 | case $host in |
4488 | 1384 | x86_64-*kfreebsd*-gnu) | 1383 | x86_64-*kfreebsd*-gnu) |
4489 | 1385 | LD="${LD-ld} -m elf_i386_fbsd" | 1384 | LD="${LD-ld} -m elf_i386_fbsd" |
4490 | 1386 | ;; | 1385 | ;; |
4491 | 1387 | x86_64-*linux*) | 1386 | x86_64-*linux*) |
4493 | 1388 | case `/usr/bin/file conftest.o` in | 1387 | case `$FILECMD conftest.o` in |
4494 | 1389 | *x86-64*) | 1388 | *x86-64*) |
4495 | 1390 | LD="${LD-ld} -m elf32_x86_64" | 1389 | LD="${LD-ld} -m elf32_x86_64" |
4496 | 1391 | ;; | 1390 | ;; |
4497 | @@ -1453,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | |||
4498 | 1453 | # options accordingly. | 1452 | # options accordingly. |
4499 | 1454 | echo 'int i;' > conftest.$ac_ext | 1453 | echo 'int i;' > conftest.$ac_ext |
4500 | 1455 | if AC_TRY_EVAL(ac_compile); then | 1454 | if AC_TRY_EVAL(ac_compile); then |
4502 | 1456 | case `/usr/bin/file conftest.o` in | 1455 | case `$FILECMD conftest.o` in |
4503 | 1457 | *64-bit*) | 1456 | *64-bit*) |
4504 | 1458 | case $lt_cv_prog_gnu_ld in | 1457 | case $lt_cv_prog_gnu_ld in |
4505 | 1459 | yes*) | 1458 | yes*) |
4506 | @@ -1492,9 +1491,22 @@ need_locks=$enable_libtool_lock | |||
4507 | 1492 | m4_defun([_LT_PROG_AR], | 1491 | m4_defun([_LT_PROG_AR], |
4508 | 1493 | [AC_CHECK_TOOLS(AR, [ar], false) | 1492 | [AC_CHECK_TOOLS(AR, [ar], false) |
4509 | 1494 | : ${AR=ar} | 1493 | : ${AR=ar} |
4510 | 1495 | : ${AR_FLAGS=cr} | ||
4511 | 1496 | _LT_DECL([], [AR], [1], [The archiver]) | 1494 | _LT_DECL([], [AR], [1], [The archiver]) |
4513 | 1497 | _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) | 1495 | |
4514 | 1496 | # Use ARFLAGS variable as AR's operation code to sync the variable naming with | ||
4515 | 1497 | # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have | ||
4516 | 1498 | # higher priority because thats what people were doing historically (setting | ||
4517 | 1499 | # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS | ||
4518 | 1500 | # variable obsoleted/removed. | ||
4519 | 1501 | |||
4520 | 1502 | test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} | ||
4521 | 1503 | lt_ar_flags=$AR_FLAGS | ||
4522 | 1504 | _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) | ||
4523 | 1505 | |||
4524 | 1506 | # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override | ||
4525 | 1507 | # by AR_FLAGS because that was never working and AR_FLAGS is about to die. | ||
4526 | 1508 | _LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], | ||
4527 | 1509 | [Flags to create an archive]) | ||
4528 | 1498 | 1510 | ||
4529 | 1499 | AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], | 1511 | AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], |
4530 | 1500 | [lt_cv_ar_at_file=no | 1512 | [lt_cv_ar_at_file=no |
4531 | @@ -1713,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl | |||
4532 | 1713 | lt_cv_sys_max_cmd_len=8192; | 1725 | lt_cv_sys_max_cmd_len=8192; |
4533 | 1714 | ;; | 1726 | ;; |
4534 | 1715 | 1727 | ||
4536 | 1716 | bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) | 1728 | bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) |
4537 | 1717 | # This has been around since 386BSD, at least. Likely further. | 1729 | # This has been around since 386BSD, at least. Likely further. |
4538 | 1718 | if test -x /sbin/sysctl; then | 1730 | if test -x /sbin/sysctl; then |
4539 | 1719 | lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` | 1731 | 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 | 1756 | sysv5* | sco5v6* | sysv4.2uw2*) | 1768 | sysv5* | sco5v6* | sysv4.2uw2*) |
4542 | 1757 | kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` | 1769 | kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` |
4543 | 1758 | if test -n "$kargmax"; then | 1770 | if test -n "$kargmax"; then |
4545 | 1759 | lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` | 1771 | lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` |
4546 | 1760 | else | 1772 | else |
4547 | 1761 | lt_cv_sys_max_cmd_len=32768 | 1773 | lt_cv_sys_max_cmd_len=32768 |
4548 | 1762 | fi | 1774 | fi |
4549 | @@ -2206,26 +2218,35 @@ m4_defun([_LT_CMD_STRIPLIB], | |||
4550 | 2206 | striplib= | 2218 | striplib= |
4551 | 2207 | old_striplib= | 2219 | old_striplib= |
4552 | 2208 | AC_MSG_CHECKING([whether stripping libraries is possible]) | 2220 | AC_MSG_CHECKING([whether stripping libraries is possible]) |
4557 | 2209 | if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then | 2221 | if test -z "$STRIP"; then |
4558 | 2210 | test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" | 2222 | AC_MSG_RESULT([no]) |
4555 | 2211 | test -z "$striplib" && striplib="$STRIP --strip-unneeded" | ||
4556 | 2212 | AC_MSG_RESULT([yes]) | ||
4559 | 2213 | else | 2223 | else |
4564 | 2214 | # FIXME - insert some real tests, host_os isn't really good enough | 2224 | if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then |
4565 | 2215 | case $host_os in | 2225 | old_striplib="$STRIP --strip-debug" |
4566 | 2216 | darwin*) | 2226 | striplib="$STRIP --strip-unneeded" |
4567 | 2217 | if test -n "$STRIP"; then | 2227 | AC_MSG_RESULT([yes]) |
4568 | 2228 | else | ||
4569 | 2229 | case $host_os in | ||
4570 | 2230 | darwin*) | ||
4571 | 2231 | # FIXME - insert some real tests, host_os isn't really good enough | ||
4572 | 2218 | striplib="$STRIP -x" | 2232 | striplib="$STRIP -x" |
4573 | 2219 | old_striplib="$STRIP -S" | 2233 | old_striplib="$STRIP -S" |
4574 | 2220 | AC_MSG_RESULT([yes]) | 2234 | AC_MSG_RESULT([yes]) |
4576 | 2221 | else | 2235 | ;; |
4577 | 2236 | freebsd*) | ||
4578 | 2237 | if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then | ||
4579 | 2238 | old_striplib="$STRIP --strip-debug" | ||
4580 | 2239 | striplib="$STRIP --strip-unneeded" | ||
4581 | 2240 | AC_MSG_RESULT([yes]) | ||
4582 | 2241 | else | ||
4583 | 2242 | AC_MSG_RESULT([no]) | ||
4584 | 2243 | fi | ||
4585 | 2244 | ;; | ||
4586 | 2245 | *) | ||
4587 | 2222 | AC_MSG_RESULT([no]) | 2246 | AC_MSG_RESULT([no]) |
4594 | 2223 | fi | 2247 | ;; |
4595 | 2224 | ;; | 2248 | esac |
4596 | 2225 | *) | 2249 | fi |
4591 | 2226 | AC_MSG_RESULT([no]) | ||
4592 | 2227 | ;; | ||
4593 | 2228 | esac | ||
4597 | 2229 | fi | 2250 | fi |
4598 | 2230 | _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) | 2251 | _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) |
4599 | 2231 | _LT_DECL([], [striplib], [1]) | 2252 | _LT_DECL([], [striplib], [1]) |
4600 | @@ -2548,7 +2569,7 @@ cygwin* | mingw* | pw32* | cegcc*) | |||
4601 | 2548 | case $host_os in | 2569 | case $host_os in |
4602 | 2549 | cygwin*) | 2570 | cygwin*) |
4603 | 2550 | # Cygwin DLLs use 'cyg' prefix rather than 'lib' | 2571 | # Cygwin DLLs use 'cyg' prefix rather than 'lib' |
4605 | 2551 | soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' | 2572 | soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4606 | 2552 | m4_if([$1], [],[ | 2573 | m4_if([$1], [],[ |
4607 | 2553 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) | 2574 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) |
4608 | 2554 | ;; | 2575 | ;; |
4609 | @@ -2558,14 +2579,14 @@ m4_if([$1], [],[ | |||
4610 | 2558 | ;; | 2579 | ;; |
4611 | 2559 | pw32*) | 2580 | pw32*) |
4612 | 2560 | # pw32 DLLs use 'pw' prefix rather than 'lib' | 2581 | # pw32 DLLs use 'pw' prefix rather than 'lib' |
4614 | 2561 | library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' | 2582 | library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4615 | 2562 | ;; | 2583 | ;; |
4616 | 2563 | esac | 2584 | esac |
4617 | 2564 | dynamic_linker='Win32 ld.exe' | 2585 | dynamic_linker='Win32 ld.exe' |
4618 | 2565 | ;; | 2586 | ;; |
4619 | 2566 | 2587 | ||
4622 | 2567 | *,cl*) | 2588 | *,cl* | *,icl*) |
4623 | 2568 | # Native MSVC | 2589 | # Native MSVC or ICC |
4624 | 2569 | libname_spec='$name' | 2590 | libname_spec='$name' |
4625 | 2570 | soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' | 2591 | soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' |
4626 | 2571 | library_names_spec='$libname.dll.lib' | 2592 | library_names_spec='$libname.dll.lib' |
4627 | @@ -2584,7 +2605,7 @@ m4_if([$1], [],[ | |||
4628 | 2584 | done | 2605 | done |
4629 | 2585 | IFS=$lt_save_ifs | 2606 | IFS=$lt_save_ifs |
4630 | 2586 | # Convert to MSYS style. | 2607 | # Convert to MSYS style. |
4632 | 2587 | sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` | 2608 | 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 | 2588 | ;; | 2609 | ;; |
4634 | 2589 | cygwin*) | 2610 | cygwin*) |
4635 | 2590 | # Convert to unix form, then to dos form, then back to unix form | 2611 | # Convert to unix form, then to dos form, then back to unix form |
4636 | @@ -2621,7 +2642,7 @@ m4_if([$1], [],[ | |||
4637 | 2621 | ;; | 2642 | ;; |
4638 | 2622 | 2643 | ||
4639 | 2623 | *) | 2644 | *) |
4641 | 2624 | # Assume MSVC wrapper | 2645 | # Assume MSVC and ICC wrapper |
4642 | 2625 | library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' | 2646 | library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' |
4643 | 2626 | dynamic_linker='Win32 ld.exe' | 2647 | dynamic_linker='Win32 ld.exe' |
4644 | 2627 | ;; | 2648 | ;; |
4645 | @@ -2654,7 +2675,7 @@ dgux*) | |||
4646 | 2654 | shlibpath_var=LD_LIBRARY_PATH | 2675 | shlibpath_var=LD_LIBRARY_PATH |
4647 | 2655 | ;; | 2676 | ;; |
4648 | 2656 | 2677 | ||
4650 | 2657 | freebsd* | dragonfly*) | 2678 | freebsd* | dragonfly* | midnightbsd*) |
4651 | 2658 | # DragonFly does not have aout. When/if they implement a new | 2679 | # DragonFly does not have aout. When/if they implement a new |
4652 | 2659 | # versioning mechanism, adjust this. | 2680 | # versioning mechanism, adjust this. |
4653 | 2660 | if test -x /usr/bin/objformat; then | 2681 | if test -x /usr/bin/objformat; then |
4654 | @@ -2886,18 +2907,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) | |||
4655 | 2886 | dynamic_linker='GNU/Linux ld.so' | 2907 | dynamic_linker='GNU/Linux ld.so' |
4656 | 2887 | ;; | 2908 | ;; |
4657 | 2888 | 2909 | ||
4658 | 2889 | netbsdelf*-gnu) | ||
4659 | 2890 | version_type=linux | ||
4660 | 2891 | need_lib_prefix=no | ||
4661 | 2892 | need_version=no | ||
4662 | 2893 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
4663 | 2894 | soname_spec='${libname}${release}${shared_ext}$major' | ||
4664 | 2895 | shlibpath_var=LD_LIBRARY_PATH | ||
4665 | 2896 | shlibpath_overrides_runpath=no | ||
4666 | 2897 | hardcode_into_libs=yes | ||
4667 | 2898 | dynamic_linker='NetBSD ld.elf_so' | ||
4668 | 2899 | ;; | ||
4669 | 2900 | |||
4670 | 2901 | netbsd*) | 2910 | netbsd*) |
4671 | 2902 | version_type=sunos | 2911 | version_type=sunos |
4672 | 2903 | need_lib_prefix=no | 2912 | need_lib_prefix=no |
4673 | @@ -3465,7 +3474,7 @@ beos*) | |||
4674 | 3465 | 3474 | ||
4675 | 3466 | bsdi[[45]]*) | 3475 | bsdi[[45]]*) |
4676 | 3467 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' | 3476 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' |
4678 | 3468 | lt_cv_file_magic_cmd='/usr/bin/file -L' | 3477 | lt_cv_file_magic_cmd='$FILECMD -L' |
4679 | 3469 | lt_cv_file_magic_test_file=/shlib/libc.so | 3478 | lt_cv_file_magic_test_file=/shlib/libc.so |
4680 | 3470 | ;; | 3479 | ;; |
4681 | 3471 | 3480 | ||
4682 | @@ -3499,14 +3508,14 @@ darwin* | rhapsody*) | |||
4683 | 3499 | lt_cv_deplibs_check_method=pass_all | 3508 | lt_cv_deplibs_check_method=pass_all |
4684 | 3500 | ;; | 3509 | ;; |
4685 | 3501 | 3510 | ||
4687 | 3502 | freebsd* | dragonfly*) | 3511 | freebsd* | dragonfly* | midnightbsd*) |
4688 | 3503 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | 3512 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
4689 | 3504 | case $host_cpu in | 3513 | case $host_cpu in |
4690 | 3505 | i*86 ) | 3514 | i*86 ) |
4691 | 3506 | # Not sure whether the presence of OpenBSD here was a mistake. | 3515 | # Not sure whether the presence of OpenBSD here was a mistake. |
4692 | 3507 | # Let's accept both of them until this is cleared up. | 3516 | # Let's accept both of them until this is cleared up. |
4693 | 3508 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' | 3517 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' |
4695 | 3509 | lt_cv_file_magic_cmd=/usr/bin/file | 3518 | lt_cv_file_magic_cmd=$FILECMD |
4696 | 3510 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | 3519 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` |
4697 | 3511 | ;; | 3520 | ;; |
4698 | 3512 | esac | 3521 | esac |
4699 | @@ -3520,7 +3529,7 @@ haiku*) | |||
4700 | 3520 | ;; | 3529 | ;; |
4701 | 3521 | 3530 | ||
4702 | 3522 | hpux10.20* | hpux11*) | 3531 | hpux10.20* | hpux11*) |
4704 | 3523 | lt_cv_file_magic_cmd=/usr/bin/file | 3532 | lt_cv_file_magic_cmd=$FILECMD |
4705 | 3524 | case $host_cpu in | 3533 | case $host_cpu in |
4706 | 3525 | ia64*) | 3534 | ia64*) |
4707 | 3526 | lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' | 3535 | 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 | 3557 | lt_cv_deplibs_check_method=pass_all | 3566 | lt_cv_deplibs_check_method=pass_all |
4710 | 3558 | ;; | 3567 | ;; |
4711 | 3559 | 3568 | ||
4713 | 3560 | netbsd* | netbsdelf*-gnu) | 3569 | netbsd*) |
4714 | 3561 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | 3570 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then |
4715 | 3562 | lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' | 3571 | lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' |
4716 | 3563 | else | 3572 | else |
4717 | @@ -3567,7 +3576,7 @@ netbsd* | netbsdelf*-gnu) | |||
4718 | 3567 | 3576 | ||
4719 | 3568 | newos6*) | 3577 | newos6*) |
4720 | 3569 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' | 3578 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' |
4722 | 3570 | lt_cv_file_magic_cmd=/usr/bin/file | 3579 | lt_cv_file_magic_cmd=$FILECMD |
4723 | 3571 | lt_cv_file_magic_test_file=/usr/lib/libnls.so | 3580 | lt_cv_file_magic_test_file=/usr/lib/libnls.so |
4724 | 3572 | ;; | 3581 | ;; |
4725 | 3573 | 3582 | ||
4726 | @@ -3694,13 +3703,13 @@ else | |||
4727 | 3694 | mingw*) lt_bad_file=conftest.nm/nofile ;; | 3703 | mingw*) lt_bad_file=conftest.nm/nofile ;; |
4728 | 3695 | *) lt_bad_file=/dev/null ;; | 3704 | *) lt_bad_file=/dev/null ;; |
4729 | 3696 | esac | 3705 | esac |
4731 | 3697 | case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in | 3706 | case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in |
4732 | 3698 | *$lt_bad_file* | *'Invalid file or object type'*) | 3707 | *$lt_bad_file* | *'Invalid file or object type'*) |
4733 | 3699 | lt_cv_path_NM="$tmp_nm -B" | 3708 | lt_cv_path_NM="$tmp_nm -B" |
4734 | 3700 | break 2 | 3709 | break 2 |
4735 | 3701 | ;; | 3710 | ;; |
4736 | 3702 | *) | 3711 | *) |
4738 | 3703 | case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in | 3712 | case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in |
4739 | 3704 | */dev/null*) | 3713 | */dev/null*) |
4740 | 3705 | lt_cv_path_NM="$tmp_nm -p" | 3714 | lt_cv_path_NM="$tmp_nm -p" |
4741 | 3706 | break 2 | 3715 | break 2 |
4742 | @@ -3726,7 +3735,7 @@ else | |||
4743 | 3726 | # Let the user override the test. | 3735 | # Let the user override the test. |
4744 | 3727 | else | 3736 | else |
4745 | 3728 | AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) | 3737 | AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) |
4747 | 3729 | case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in | 3738 | case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in |
4748 | 3730 | *COFF*) | 3739 | *COFF*) |
4749 | 3731 | DUMPBIN="$DUMPBIN -symbols -headers" | 3740 | DUMPBIN="$DUMPBIN -symbols -headers" |
4750 | 3732 | ;; | 3741 | ;; |
4751 | @@ -3966,7 +3975,7 @@ esac | |||
4752 | 3966 | 3975 | ||
4753 | 3967 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then | 3976 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
4754 | 3968 | # Gets list of data symbols to import. | 3977 | # Gets list of data symbols to import. |
4756 | 3969 | lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" | 3978 | lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" |
4757 | 3970 | # Adjust the below global symbol transforms to fixup imported variables. | 3979 | # Adjust the below global symbol transforms to fixup imported variables. |
4758 | 3971 | lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" | 3980 | lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" |
4759 | 3972 | lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" | 3981 | lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" |
4760 | @@ -3984,20 +3993,20 @@ fi | |||
4761 | 3984 | # Transform an extracted symbol line into a proper C declaration. | 3993 | # Transform an extracted symbol line into a proper C declaration. |
4762 | 3985 | # Some systems (esp. on ia64) link data and code symbols differently, | 3994 | # Some systems (esp. on ia64) link data and code symbols differently, |
4763 | 3986 | # so use this general approach. | 3995 | # so use this general approach. |
4765 | 3987 | lt_cv_sys_global_symbol_to_cdecl="sed -n"\ | 3996 | lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ |
4766 | 3988 | $lt_cdecl_hook\ | 3997 | $lt_cdecl_hook\ |
4767 | 3989 | " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ | 3998 | " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ |
4768 | 3990 | " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" | 3999 | " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" |
4769 | 3991 | 4000 | ||
4770 | 3992 | # Transform an extracted symbol line into symbol name and symbol address | 4001 | # Transform an extracted symbol line into symbol name and symbol address |
4772 | 3993 | lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ | 4002 | lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ |
4773 | 3994 | $lt_c_name_hook\ | 4003 | $lt_c_name_hook\ |
4774 | 3995 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ | 4004 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
4775 | 3996 | " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" | 4005 | " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" |
4776 | 3997 | 4006 | ||
4777 | 3998 | # Transform an extracted symbol line into symbol name with lib prefix and | 4007 | # Transform an extracted symbol line into symbol name with lib prefix and |
4778 | 3999 | # symbol address. | 4008 | # symbol address. |
4780 | 4000 | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ | 4009 | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ |
4781 | 4001 | $lt_c_name_lib_hook\ | 4010 | $lt_c_name_lib_hook\ |
4782 | 4002 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ | 4011 | " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ |
4783 | 4003 | " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ | 4012 | " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ |
4784 | @@ -4021,7 +4030,7 @@ for ac_symprfx in "" "_"; do | |||
4785 | 4021 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then | 4030 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then |
4786 | 4022 | # Fake it for dumpbin and say T for any non-static function, | 4031 | # Fake it for dumpbin and say T for any non-static function, |
4787 | 4023 | # D for any global variable and I for any imported variable. | 4032 | # D for any global variable and I for any imported variable. |
4789 | 4024 | # Also find C++ and __fastcall symbols from MSVC++, | 4033 | # Also find C++ and __fastcall symbols from MSVC++ or ICC, |
4790 | 4025 | # which start with @ or ?. | 4034 | # which start with @ or ?. |
4791 | 4026 | lt_cv_sys_global_symbol_pipe="$AWK ['"\ | 4035 | lt_cv_sys_global_symbol_pipe="$AWK ['"\ |
4792 | 4027 | " {last_section=section; section=\$ 3};"\ | 4036 | " {last_section=section; section=\$ 3};"\ |
4793 | @@ -4039,9 +4048,9 @@ for ac_symprfx in "" "_"; do | |||
4794 | 4039 | " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ | 4048 | " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ |
4795 | 4040 | " ' prfx=^$ac_symprfx]" | 4049 | " ' prfx=^$ac_symprfx]" |
4796 | 4041 | else | 4050 | else |
4798 | 4042 | lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" | 4051 | lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" |
4799 | 4043 | fi | 4052 | fi |
4801 | 4044 | lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" | 4053 | lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" |
4802 | 4045 | 4054 | ||
4803 | 4046 | # Check to see that the pipe works correctly. | 4055 | # Check to see that the pipe works correctly. |
4804 | 4047 | pipe_works=no | 4056 | pipe_works=no |
4805 | @@ -4063,8 +4072,7 @@ _LT_EOF | |||
4806 | 4063 | if AC_TRY_EVAL(ac_compile); then | 4072 | if AC_TRY_EVAL(ac_compile); then |
4807 | 4064 | # Now try to grab the symbols. | 4073 | # Now try to grab the symbols. |
4808 | 4065 | nlist=conftest.nm | 4074 | nlist=conftest.nm |
4811 | 4066 | $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD | 4075 | if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then |
4810 | 4067 | if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then | ||
4812 | 4068 | # Try sorting and uniquifying the output. | 4076 | # Try sorting and uniquifying the output. |
4813 | 4069 | if sort "$nlist" | uniq > "$nlist"T; then | 4077 | if sort "$nlist" | uniq > "$nlist"T; then |
4814 | 4070 | mv -f "$nlist"T "$nlist" | 4078 | mv -f "$nlist"T "$nlist" |
4815 | @@ -4329,7 +4337,7 @@ m4_if([$1], [CXX], [ | |||
4816 | 4329 | ;; | 4337 | ;; |
4817 | 4330 | esac | 4338 | esac |
4818 | 4331 | ;; | 4339 | ;; |
4820 | 4332 | freebsd* | dragonfly*) | 4340 | freebsd* | dragonfly* | midnightbsd*) |
4821 | 4333 | # FreeBSD uses GNU C++ | 4341 | # FreeBSD uses GNU C++ |
4822 | 4334 | ;; | 4342 | ;; |
4823 | 4335 | hpux9* | hpux10* | hpux11*) | 4343 | hpux9* | hpux10* | hpux11*) |
4824 | @@ -4412,7 +4420,7 @@ m4_if([$1], [CXX], [ | |||
4825 | 4412 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | 4420 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' |
4826 | 4413 | ;; | 4421 | ;; |
4827 | 4414 | *) | 4422 | *) |
4829 | 4415 | case `$CC -V 2>&1 | sed 5q` in | 4423 | case `$CC -V 2>&1 | $SED 5q` in |
4830 | 4416 | *Sun\ C*) | 4424 | *Sun\ C*) |
4831 | 4417 | # Sun C++ 5.9 | 4425 | # Sun C++ 5.9 |
4832 | 4418 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | 4426 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' |
4833 | @@ -4436,7 +4444,7 @@ m4_if([$1], [CXX], [ | |||
4834 | 4436 | ;; | 4444 | ;; |
4835 | 4437 | esac | 4445 | esac |
4836 | 4438 | ;; | 4446 | ;; |
4838 | 4439 | netbsd* | netbsdelf*-gnu) | 4447 | netbsd*) |
4839 | 4440 | ;; | 4448 | ;; |
4840 | 4441 | *qnx* | *nto*) | 4449 | *qnx* | *nto*) |
4841 | 4442 | # QNX uses GNU C++, but need to define -shared option too, otherwise | 4450 | # QNX uses GNU C++, but need to define -shared option too, otherwise |
4842 | @@ -4704,12 +4712,6 @@ m4_if([$1], [CXX], [ | |||
4843 | 4704 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | 4712 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' |
4844 | 4705 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | 4713 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' |
4845 | 4706 | ;; | 4714 | ;; |
4846 | 4707 | # flang / f18. f95 an alias for gfortran or flang on Debian | ||
4847 | 4708 | flang* | f18* | f95*) | ||
4848 | 4709 | _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4849 | 4710 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
4850 | 4711 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
4851 | 4712 | ;; | ||
4852 | 4713 | # icc used to be incompatible with GCC. | 4715 | # icc used to be incompatible with GCC. |
4853 | 4714 | # ICC 10 doesn't accept -KPIC any more. | 4716 | # ICC 10 doesn't accept -KPIC any more. |
4854 | 4715 | icc* | ifort*) | 4717 | icc* | ifort*) |
4855 | @@ -4754,7 +4756,7 @@ m4_if([$1], [CXX], [ | |||
4856 | 4754 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | 4756 | _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' |
4857 | 4755 | ;; | 4757 | ;; |
4858 | 4756 | *) | 4758 | *) |
4860 | 4757 | case `$CC -V 2>&1 | sed 5q` in | 4759 | case `$CC -V 2>&1 | $SED 5q` in |
4861 | 4758 | *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) | 4760 | *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) |
4862 | 4759 | # Sun Fortran 8.3 passes all unrecognized flags to the linker | 4761 | # Sun Fortran 8.3 passes all unrecognized flags to the linker |
4863 | 4760 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | 4762 | _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' |
4864 | @@ -4937,7 +4939,7 @@ m4_if([$1], [CXX], [ | |||
4865 | 4937 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | 4939 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then |
4866 | 4938 | _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' | 4940 | _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 | 4939 | else | 4941 | else |
4869 | 4940 | _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' | 4942 | _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 | 4941 | fi | 4943 | fi |
4871 | 4942 | ;; | 4944 | ;; |
4872 | 4943 | pw32*) | 4945 | pw32*) |
4873 | @@ -4945,7 +4947,7 @@ m4_if([$1], [CXX], [ | |||
4874 | 4945 | ;; | 4947 | ;; |
4875 | 4946 | cygwin* | mingw* | cegcc*) | 4948 | cygwin* | mingw* | cegcc*) |
4876 | 4947 | case $cc_basename in | 4949 | case $cc_basename in |
4878 | 4948 | cl*) | 4950 | cl* | icl*) |
4879 | 4949 | _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' | 4951 | _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' |
4880 | 4950 | ;; | 4952 | ;; |
4881 | 4951 | *) | 4953 | *) |
4882 | @@ -4954,9 +4956,6 @@ m4_if([$1], [CXX], [ | |||
4883 | 4954 | ;; | 4956 | ;; |
4884 | 4955 | esac | 4957 | esac |
4885 | 4956 | ;; | 4958 | ;; |
4886 | 4957 | linux* | k*bsd*-gnu | gnu*) | ||
4887 | 4958 | _LT_TAGVAR(link_all_deplibs, $1)=no | ||
4888 | 4959 | ;; | ||
4889 | 4960 | *) | 4959 | *) |
4890 | 4961 | _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | 4960 | _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' |
4891 | 4962 | ;; | 4961 | ;; |
4892 | @@ -5005,23 +5004,20 @@ dnl Note also adjust exclude_expsyms for C++ above. | |||
4893 | 5005 | 5004 | ||
4894 | 5006 | case $host_os in | 5005 | case $host_os in |
4895 | 5007 | cygwin* | mingw* | pw32* | cegcc*) | 5006 | cygwin* | mingw* | pw32* | cegcc*) |
4897 | 5008 | # FIXME: the MSVC++ port hasn't been tested in a loooong time | 5007 | # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time |
4898 | 5009 | # When not using gcc, we currently assume that we are using | 5008 | # When not using gcc, we currently assume that we are using |
4900 | 5010 | # Microsoft Visual C++. | 5009 | # Microsoft Visual C++ or Intel C++ Compiler. |
4901 | 5011 | if test yes != "$GCC"; then | 5010 | if test yes != "$GCC"; then |
4902 | 5012 | with_gnu_ld=no | 5011 | with_gnu_ld=no |
4903 | 5013 | fi | 5012 | fi |
4904 | 5014 | ;; | 5013 | ;; |
4905 | 5015 | interix*) | 5014 | interix*) |
4907 | 5016 | # we just hope/assume this is gcc and not c89 (= MSVC++) | 5015 | # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) |
4908 | 5017 | with_gnu_ld=yes | 5016 | with_gnu_ld=yes |
4909 | 5018 | ;; | 5017 | ;; |
4910 | 5019 | openbsd* | bitrig*) | 5018 | openbsd* | bitrig*) |
4911 | 5020 | with_gnu_ld=no | 5019 | with_gnu_ld=no |
4912 | 5021 | ;; | 5020 | ;; |
4913 | 5022 | linux* | k*bsd*-gnu | gnu*) | ||
4914 | 5023 | _LT_TAGVAR(link_all_deplibs, $1)=no | ||
4915 | 5024 | ;; | ||
4916 | 5025 | esac | 5021 | esac |
4917 | 5026 | 5022 | ||
4918 | 5027 | _LT_TAGVAR(ld_shlibs, $1)=yes | 5023 | _LT_TAGVAR(ld_shlibs, $1)=yes |
4919 | @@ -5068,7 +5064,7 @@ dnl Note also adjust exclude_expsyms for C++ above. | |||
4920 | 5068 | _LT_TAGVAR(whole_archive_flag_spec, $1)= | 5064 | _LT_TAGVAR(whole_archive_flag_spec, $1)= |
4921 | 5069 | fi | 5065 | fi |
4922 | 5070 | supports_anon_versioning=no | 5066 | supports_anon_versioning=no |
4924 | 5071 | case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in | 5067 | case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in |
4925 | 5072 | *GNU\ gold*) supports_anon_versioning=yes ;; | 5068 | *GNU\ gold*) supports_anon_versioning=yes ;; |
4926 | 5073 | *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 | 5069 | *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 |
4927 | 5074 | *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... | 5070 | *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... |
4928 | @@ -5180,6 +5176,7 @@ _LT_EOF | |||
4929 | 5180 | emximp -o $lib $output_objdir/$libname.def' | 5176 | emximp -o $lib $output_objdir/$libname.def' |
4930 | 5181 | _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' | 5177 | _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' |
4931 | 5182 | _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | 5178 | _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes |
4932 | 5179 | _LT_TAGVAR(file_list_spec, $1)='@' | ||
4933 | 5183 | ;; | 5180 | ;; |
4934 | 5184 | 5181 | ||
4935 | 5185 | interix[[3-9]]*) | 5182 | interix[[3-9]]*) |
4936 | @@ -5194,7 +5191,7 @@ _LT_EOF | |||
4937 | 5194 | # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | 5191 | # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link |
4938 | 5195 | # time. Moving up from 0x10000000 also allows more sbrk(2) space. | 5192 | # time. Moving up from 0x10000000 also allows more sbrk(2) space. |
4939 | 5196 | _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' | 5193 | _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' |
4941 | 5197 | _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' | 5194 | _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 | 5198 | ;; | 5195 | ;; |
4943 | 5199 | 5196 | ||
4944 | 5200 | gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) | 5197 | gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) |
4945 | @@ -5237,7 +5234,7 @@ _LT_EOF | |||
4946 | 5237 | _LT_TAGVAR(compiler_needs_object, $1)=yes | 5234 | _LT_TAGVAR(compiler_needs_object, $1)=yes |
4947 | 5238 | ;; | 5235 | ;; |
4948 | 5239 | esac | 5236 | esac |
4950 | 5240 | case `$CC -V 2>&1 | sed 5q` in | 5237 | case `$CC -V 2>&1 | $SED 5q` in |
4951 | 5241 | *Sun\ C*) # Sun C 5.9 | 5238 | *Sun\ C*) # Sun C 5.9 |
4952 | 5242 | _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' | 5239 | _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 | 5243 | _LT_TAGVAR(compiler_needs_object, $1)=yes | 5240 | _LT_TAGVAR(compiler_needs_object, $1)=yes |
4954 | @@ -5249,7 +5246,7 @@ _LT_EOF | |||
4955 | 5249 | 5246 | ||
4956 | 5250 | if test yes = "$supports_anon_versioning"; then | 5247 | if test yes = "$supports_anon_versioning"; then |
4957 | 5251 | _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | 5248 | _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ |
4959 | 5252 | cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | 5249 | cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
4960 | 5253 | echo "local: *; };" >> $output_objdir/$libname.ver~ | 5250 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
4961 | 5254 | $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' | 5251 | $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' |
4962 | 5255 | fi | 5252 | fi |
4963 | @@ -5265,7 +5262,7 @@ _LT_EOF | |||
4964 | 5265 | _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' | 5262 | _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' |
4965 | 5266 | if test yes = "$supports_anon_versioning"; then | 5263 | if test yes = "$supports_anon_versioning"; then |
4966 | 5267 | _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | 5264 | _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ |
4968 | 5268 | cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | 5265 | cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ |
4969 | 5269 | echo "local: *; };" >> $output_objdir/$libname.ver~ | 5266 | echo "local: *; };" >> $output_objdir/$libname.ver~ |
4970 | 5270 | $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' | 5267 | $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' |
4971 | 5271 | fi | 5268 | fi |
4972 | @@ -5276,7 +5273,7 @@ _LT_EOF | |||
4973 | 5276 | fi | 5273 | fi |
4974 | 5277 | ;; | 5274 | ;; |
4975 | 5278 | 5275 | ||
4977 | 5279 | netbsd* | netbsdelf*-gnu) | 5276 | netbsd*) |
4978 | 5280 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | 5277 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then |
4979 | 5281 | _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' | 5278 | _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' |
4980 | 5282 | wlarc= | 5279 | wlarc= |
4981 | @@ -5397,7 +5394,7 @@ _LT_EOF | |||
4982 | 5397 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | 5394 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then |
4983 | 5398 | _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' | 5395 | _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 | 5399 | else | 5396 | else |
4986 | 5400 | _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' | 5397 | _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 | 5401 | fi | 5398 | fi |
4988 | 5402 | aix_use_runtimelinking=no | 5399 | aix_use_runtimelinking=no |
4989 | 5403 | 5400 | ||
4990 | @@ -5580,12 +5577,12 @@ _LT_EOF | |||
4991 | 5580 | 5577 | ||
4992 | 5581 | cygwin* | mingw* | pw32* | cegcc*) | 5578 | cygwin* | mingw* | pw32* | cegcc*) |
4993 | 5582 | # When not using gcc, we currently assume that we are using | 5579 | # When not using gcc, we currently assume that we are using |
4995 | 5583 | # Microsoft Visual C++. | 5580 | # Microsoft Visual C++ or Intel C++ Compiler. |
4996 | 5584 | # hardcode_libdir_flag_spec is actually meaningless, as there is | 5581 | # hardcode_libdir_flag_spec is actually meaningless, as there is |
4997 | 5585 | # no search path for DLLs. | 5582 | # no search path for DLLs. |
4998 | 5586 | case $cc_basename in | 5583 | case $cc_basename in |
4999 | 5587 | cl*) | ||
5000 | 5588 | # 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