From e8174227dec7cb107600a227647fa1abedcb5e63 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 30 Jan 2009 18:26:31 +0000 Subject: droping privileges is now possible without chroot added groupname command line option --- src/anytun.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/anytun.cpp') diff --git a/src/anytun.cpp b/src/anytun.cpp index 19c4587..8f6a0c9 100644 --- a/src/anytun.cpp +++ b/src/anytun.cpp @@ -346,6 +346,8 @@ int main(int argc, char* argv[]) } #ifndef NO_DAEMON + PrivInfo privs(gOpt.getUsername(), gOpt.getGroupname()); + std::ofstream pidFile; if(gOpt.getPidFile() != "") { pidFile.open(gOpt.getPidFile().c_str()); @@ -412,10 +414,12 @@ int main(int argc, char* argv[]) } #endif #ifndef NO_DAEMON - if(gOpt.getChroot()) - chrootAndDrop(gOpt.getChrootDir(), gOpt.getUsername()); - if(gOpt.getDaemonize()) - { + if(gOpt.getChrootDir() != "") + do_chroot(gOpt.getChrootDir()); + + privs.drop(); + + if(gOpt.getDaemonize()) { daemonize(); daemonized = true; } -- cgit v1.2.3