tpws : dropcaps

This commit is contained in:
bolvan 2019-05-19 15:37:05 +03:00
parent 352f93ced2
commit 8b9d7f56d3
10 changed files with 26 additions and 4 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -12,7 +12,7 @@ define Package/tpws
CATEGORY:=Network
TITLE:=tpws
SUBMENU:=Zapret
DEPENDS:=+zlib
DEPENDS:=+zlib +libcap
endef
define Build/Prepare

View File

@ -23,6 +23,7 @@
#include <getopt.h>
#include <pwd.h>
#include <signal.h>
#include <sys/capability.h>
#include "tpws.h"
#include "tpws_conn.h"
@ -789,6 +790,26 @@ void daemonize()
/* stderror */
}
bool dropcaps()
{
cap_t capabilities;
capabilities = cap_init();
if (cap_clear(capabilities))
{
perror("cap_init");
return false;
}
if (cap_set_proc(capabilities))
{
perror("cap_set_proc");
cap_free(capabilities);
return false;
}
cap_free(capabilities);
return true;
}
bool droproot()
{
if (params.uid || params.gid)
@ -804,9 +825,10 @@ bool droproot()
return false;
}
}
return true;
return dropcaps();
}
bool writepid(const char *filename)
{
FILE *F;