diff options
author | Arne Schwabe <arne@rfc2549.org> | 2012-06-18 20:39:04 +0200 |
---|---|---|
committer | David Sommerseth <davids@redhat.com> | 2012-06-22 12:17:33 +0200 |
commit | ea5e091ea0732184c4cef82889b1a5d15f14828d (patch) | |
tree | 9e5764d0301709baffe8d554ec8ed7e15cfdb0ab | |
parent | 6eb064d8715d865882aabc33a0faaa4435323839 (diff) | |
download | openvpn-ea5e091ea0732184c4cef82889b1a5d15f14828d.tar.gz openvpn-ea5e091ea0732184c4cef82889b1a5d15f14828d.tar.xz openvpn-ea5e091ea0732184c4cef82889b1a5d15f14828d.zip |
Only use tmpdir if tmp_dir is really used.
This fixes starting openvpn compiled as client only version of systems
that have no /tmp (Android). --tmp-dir could only be set if P2MP_SERVER
has been enabled too.
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: 1340044749-10694-2-git-send-email-arne@rfc2549.org
URL: http://article.gmane.org/gmane.network.openvpn.devel/6741
Signed-off-by: David Sommerseth <davids@redhat.com>
-rw-r--r-- | src/openvpn/options.c | 7 | ||||
-rw-r--r-- | src/openvpn/options.h | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/openvpn/options.c b/src/openvpn/options.c index 1cb6068..6eac407 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -858,6 +858,8 @@ init_options (struct options *o, const bool init_gc) o->pkcs11_pin_cache_period = -1; #endif /* ENABLE_PKCS11 */ +/* tmp is only used in P2MP server context */ +#if P2MP_SERVER /* Set default --tmp-dir */ #ifdef WIN32 /* On Windows, find temp dir via enviroment variables */ @@ -869,6 +871,7 @@ init_options (struct options *o, const bool init_gc) o->tmp_dir = "/tmp"; } #endif /* WIN32 */ +#endif /* P2MP_SERVER */ } void @@ -2766,8 +2769,6 @@ options_postprocess_filechecks (struct options *options) R_OK|X_OK, "--chroot directory"); errs |= check_file_access (CHKACC_DIRPATH|CHKACC_FILEXSTWR, options->writepid, R_OK|W_OK, "--writepid"); - errs |= check_file_access (CHKACC_FILE, options->tmp_dir, - R_OK|W_OK|X_OK, "Temporary directory (--tmp-dir)"); /* ** Log related ** */ errs |= check_file_access (CHKACC_DIRPATH|CHKACC_FILEXSTWR, options->status_file, @@ -2781,6 +2782,8 @@ options_postprocess_filechecks (struct options *options) #if P2MP_SERVER errs |= check_file_access (CHKACC_FILE, options->client_config_dir, R_OK|X_OK, "--client-config-dir"); + errs |= check_file_access (CHKACC_FILE, options->tmp_dir, + R_OK|W_OK|X_OK, "Temporary directory (--tmp-dir)"); /* ** Script hooks that accept an optionally quoted and/or escaped executable path, ** */ /* ** optionally followed by arguments ** */ diff --git a/src/openvpn/options.h b/src/openvpn/options.h index 9b6adea..ee0c69d 100644 --- a/src/openvpn/options.h +++ b/src/openvpn/options.h @@ -399,11 +399,13 @@ struct options struct plugin_option_list *plugin_list; #endif - const char *tmp_dir; + #if P2MP #if P2MP_SERVER + /* the tmp dir is for now only used in the P2P server context */ + const char *tmp_dir; bool server_defined; in_addr_t server_network; in_addr_t server_netmask; |