mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-06-11 09:50:26 -04:00
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
This commit is contained in:
parent
e1f07509eb
commit
90e105d218
4 changed files with 11 additions and 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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
6
init.c
6
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 */
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Reference in a new issue