From 90e105d2186fc96d9884857ac5fa4bc73e16705c Mon Sep 17 00:00:00 2001 From: james Date: Mon, 17 Oct 2005 13:20:21 +0000 Subject: 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 --- ChangeLog | 4 ++++ configure.ac | 2 +- init.c | 6 +++--- openvpn.h | 6 +++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 87d2f5b..cc763c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,10 @@ Copyright (C) 2002-2005 OpenVPN Solutions LLC $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) diff --git a/init.c b/init.c index 879c777..c2fb6cf 100644 --- a/init.c +++ b/init.c @@ -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 */ diff --git a/openvpn.h b/openvpn.h index 78bb67b..a8d4f5e 100644 --- a/openvpn.h +++ b/openvpn.h @@ -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 */ -- cgit v1.2.3