version 1.1.1.1.2.2, 2011/10/13 16:08:52
|
version 1.1.1.1.2.4, 2011/10/14 12:03:10
|
Line 53 int Verbose;
|
Line 53 int Verbose;
|
u_int Crypted = 1; |
u_int Crypted = 1; |
proc_head_t pH; |
proc_head_t pH; |
int bpfLEN, Timeout, Daemon = 1; |
int bpfLEN, Timeout, Daemon = 1; |
|
char Key[STRSIZ]; |
|
|
|
static struct tagProc *proc; |
|
static sched_root_task_t *root; |
|
|
extern char compiled[], compiledby[], compilehost[]; |
extern char compiled[], compiledby[], compilehost[]; |
|
|
static void |
static void |
Line 67 Usage()
|
Line 71 Usage()
|
"\t-U <user>\tRun service with other user\n" |
"\t-U <user>\tRun service with other user\n" |
"\t-C <dir>\tRun service into chroot directory\n" |
"\t-C <dir>\tRun service into chroot directory\n" |
"\t-t <timeout>\tTimeout of login if no activity (default is 0 sec)\n" |
"\t-t <timeout>\tTimeout of login if no activity (default is 0 sec)\n" |
|
"\t-k <key>\tService cipher key\n" |
"\t-u\t\tSwitch to unencrypted traffic between hosts\n" |
"\t-u\t\tSwitch to unencrypted traffic between hosts\n" |
"\t-b\t\tRun into batch mode (default is daemon mode)\n" |
"\t-b\t\tRun into batch mode (default is daemon mode)\n" |
"\t-v\t\tVerbose (more -v, more verbosity ...)\n" |
"\t-v\t\tVerbose (more -v, more verbosity ...)\n" |
Line 78 static void
|
Line 83 static void
|
sig(int s) |
sig(int s) |
{ |
{ |
int state; |
int state; |
|
pid_t pid; |
|
|
switch (s) { |
switch (s) { |
case SIGHUP: |
case SIGHUP: |
Line 92 sig(int s)
|
Line 98 sig(int s)
|
break; |
break; |
case SIGCHLD: |
case SIGCHLD: |
VERB(1) LOG("Got SIGCHLD!\n"); |
VERB(1) LOG("Got SIGCHLD!\n"); |
while (waitpid(-1, &state, WNOHANG) > 0); | while ((pid = waitpid(-1, &state, WNOHANG)) > 0) |
| stopProcess(root, &pH, pid, icmpTx); |
break; |
break; |
} |
} |
} |
} |
Line 123 main(int argc, char **argv)
|
Line 130 main(int argc, char **argv)
|
long id = ANSH_ID; |
long id = ANSH_ID; |
char ch, szUser[STRSIZ] = "root", szChroot[STRSIZ] = "/"; |
char ch, szUser[STRSIZ] = "root", szChroot[STRSIZ] = "/"; |
struct sigaction sact; |
struct sigaction sact; |
sched_root_task_t *root = NULL; |
|
struct tagProc *proc; |
|
|
|
while ((ch = getopt(argc, argv, "hvubt:a:i:U:C:")) != -1) | strlcpy(Key, DEFAULT_KEY, sizeof Key); |
| |
| while ((ch = getopt(argc, argv, "hvubt:a:i:U:C:k:")) != -1) |
switch (ch) { |
switch (ch) { |
case 'U': |
case 'U': |
pass = getpwnam(optarg); |
pass = getpwnam(optarg); |
Line 152 main(int argc, char **argv)
|
Line 159 main(int argc, char **argv)
|
break; |
break; |
case 't': |
case 't': |
Timeout = abs(strtol(optarg, NULL, 0)); |
Timeout = abs(strtol(optarg, NULL, 0)); |
|
break; |
|
case 'k': |
|
strlcpy(Key, optarg, sizeof Key); |
break; |
break; |
case 'a': |
case 'a': |
host = gethostbyname(optarg); |
host = gethostbyname(optarg); |