summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2012-06-18 20:39:04 +0200
committerDavid Sommerseth <davids@redhat.com>2012-06-22 12:17:33 +0200
commitea5e091ea0732184c4cef82889b1a5d15f14828d (patch)
tree9e5764d0301709baffe8d554ec8ed7e15cfdb0ab
parent6eb064d8715d865882aabc33a0faaa4435323839 (diff)
downloadopenvpn-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.c7
-rw-r--r--src/openvpn/options.h4
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;