|
|
|
@ -24,6 +24,7 @@
@@ -24,6 +24,7 @@
|
|
|
|
|
#include <errno.h> |
|
|
|
|
#include <signal.h> |
|
|
|
|
#include <stdio.h> |
|
|
|
|
#include <pwd.h> |
|
|
|
|
|
|
|
|
|
#include "trackerlogic.h" |
|
|
|
|
#include "scan_urlencoded_query.h" |
|
|
|
@ -736,6 +737,7 @@ static void ot_try_bind( char ip[4], uint16 port, int is_tcp ) {
@@ -736,6 +737,7 @@ static void ot_try_bind( char ip[4], uint16 port, int is_tcp ) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main( int argc, char **argv ) { |
|
|
|
|
struct passwd *pws = NULL; |
|
|
|
|
char serverip[4] = {0,0,0,0}; |
|
|
|
|
char *serverdir = "."; |
|
|
|
|
int scanon = 1; |
|
|
|
@ -759,8 +761,15 @@ int main( int argc, char **argv ) {
@@ -759,8 +761,15 @@ int main( int argc, char **argv ) {
|
|
|
|
|
ot_try_bind( serverip, 6969, 1 ); |
|
|
|
|
ot_try_bind( serverip, 6969, 0 ); |
|
|
|
|
} |
|
|
|
|
setegid( (gid_t)-2 ); setuid( (uid_t)-2 ); |
|
|
|
|
setgid( (gid_t)-2 ); seteuid( (uid_t)-2 ); |
|
|
|
|
|
|
|
|
|
pws = getpwnam( "nobody "); |
|
|
|
|
if( !pws ) { |
|
|
|
|
setegid( (gid_t)-2 ); setuid( (uid_t)-2 ); |
|
|
|
|
setgid( (gid_t)-2 ); seteuid( (uid_t)-2 ); |
|
|
|
|
} else { |
|
|
|
|
setegid( pws->pw_gid ); setuid( pws->pw_uid ); |
|
|
|
|
setgid( pws->pw_gid ); seteuid( pws->pw_uid ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
signal( SIGPIPE, SIG_IGN ); |
|
|
|
|
signal( SIGINT, graceful ); |
|
|
|
|