diff options
author | james <james@e7ae566f-a301-0410-adde-c780ea21d3b5> | 2005-10-17 13:20:21 +0000 |
---|---|---|
committer | james <james@e7ae566f-a301-0410-adde-c780ea21d3b5> | 2005-10-17 13:20:21 +0000 |
commit | 90e105d2186fc96d9884857ac5fa4bc73e16705c (patch) | |
tree | 086806f81c70847361e13421950076ad0cd06855 | |
parent | e1f07509eb84d0c523d3fe882ed1b963abb686d4 (diff) | |
download | openvpn-90e105d2186fc96d9884857ac5fa4bc73e16705c.tar.gz openvpn-90e105d2186fc96d9884857ac5fa4bc73e16705c.tar.xz openvpn-90e105d2186fc96d9884857ac5fa4bc73e16705c.zip |
Fixed double fork bug.
Pre-2.1_beta5
git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@656 e7ae566f-a301-0410-adde-c780ea21d3b5
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | init.c | 6 | ||||
-rw-r--r-- | openvpn.h | 6 |
4 files changed, 11 insertions, 7 deletions
@@ -3,6 +3,10 @@ Copyright (C) 2002-2005 OpenVPN Solutions LLC <info@openvpn.net> $Id$ +2005.10.xx -- Version 2.1-beta5 + +* More PKCS#11 additions/changes (Alon Bar-Lev). + 2005.10.17 -- Version 2.1-beta4 * Fixed bug introduced in 2.1-beta3 where management diff --git a/configure.ac b/configure.ac index 1056887..7d9298b 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.50) -AC_INIT([OpenVPN], [2.1_beta4], [openvpn-users@lists.sourceforge.net], [openvpn]) +AC_INIT([OpenVPN], [2.1_beta5], [openvpn-users@lists.sourceforge.net], [openvpn]) AM_CONFIG_HEADER(config.h) AC_CONFIG_SRCDIR(syshead.h) @@ -1860,7 +1860,7 @@ do_compute_occ_strings (struct context *c) static void do_init_first_time (struct context *c) { - if (c->first_time && !c->c2.did_we_daemonize) + if (c->first_time && !c->did_we_daemonize) { /* get user and/or group that we want to setuid/setgid to */ c->c2.uid_gid_specified = @@ -1871,10 +1871,10 @@ do_init_first_time (struct context *c) get_pid_file (c->options.writepid, &c->c2.pid_state); /* become a daemon if --daemon */ - c->c2.did_we_daemonize = possibly_become_daemon (&c->options, c->first_time); + c->did_we_daemonize = possibly_become_daemon (&c->options, c->first_time); /* should we disable paging? */ - if (c->options.mlock && c->c2.did_we_daemonize) + if (c->options.mlock && c->did_we_daemonize) do_mlockall (true); /* call again in case we daemonized */ /* save process ID in a file */ @@ -346,9 +346,6 @@ struct context_2 struct user_state user_state; struct group_state group_state; - /* temporary variable */ - bool did_we_daemonize; - /* should we print R|W|r|w to console on packet transfers? */ bool log_rw; @@ -453,6 +450,9 @@ struct context struct plugin_list *plugins; bool plugins_owned; + /* set to true after we daemonize */ + bool did_we_daemonize; + /* level 1 context is preserved for SIGUSR1 restarts, but initialized for SIGHUP restarts */ |