Diff for /ansh/src/anshd.c between versions 1.1.1.1.2.2 and 1.1.1.1.2.3

version 1.1.1.1.2.2, 2011/10/10 09:11:48 version 1.1.1.1.2.3, 2011/10/10 13:56:30
Line 26  Usage() Line 26  Usage()
                 "=== %s === %s@%s ===\n\n"                  "=== %s === %s@%s ===\n\n"
                 " Syntax: anshd [options]\n\n"                  " Syntax: anshd [options]\n\n"
                 "\t-d <dev>\tBind to host interface, like 'em0' (default is first host interface)\n"                  "\t-d <dev>\tBind to host interface, like 'em0' (default is first host interface)\n"
                 "\t-i <id>\tService ID (default is 42)\n"  
                 "\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"
Line 79  main(int argc, char **argv) Line 78  main(int argc, char **argv)
 {  {
         struct passwd *pass;          struct passwd *pass;
         int fd, h = 0, uid = 0, gid = 0;          int fd, h = 0, uid = 0, gid = 0;
         long id = ANSH_ID;  
         char ch, szUser[STRSIZ] = "root", szChroot[STRSIZ] = "/", szDev[STRSIZ] = { 0 };          char ch, szUser[STRSIZ] = "root", szChroot[STRSIZ] = "/", szDev[STRSIZ] = { 0 };
         struct sigaction sact;          struct sigaction sact;
         sched_root_task_t *root = NULL;          sched_root_task_t *root = NULL;
Line 87  main(int argc, char **argv) Line 85  main(int argc, char **argv)
   
         Get1stEth(szDev, STRSIZ);          Get1stEth(szDev, STRSIZ);
   
        while ((ch = getopt(argc, argv, "hvubt:d:i:U:C:")) != -1)        while ((ch = getopt(argc, argv, "hvubt:d:U:C:")) != -1)
                 switch (ch) {                  switch (ch) {
                         case 'U':                          case 'U':
                                 pass = getpwnam(optarg);                                  pass = getpwnam(optarg);
Line 108  main(int argc, char **argv) Line 106  main(int argc, char **argv)
                                 } else                                  } else
                                         strlcpy(szChroot, optarg, sizeof szChroot);                                          strlcpy(szChroot, optarg, sizeof szChroot);
                                 break;                                  break;
                         case 'i':  
                                 id = strtol(optarg, NULL, 0);  
                                 break;  
                         case 't':                          case 't':
                                 Timeout = abs(strtol(optarg, NULL, 0));                                  Timeout = abs(strtol(optarg, NULL, 0));
                                 break;                                  break;
Line 187  main(int argc, char **argv) Line 182  main(int argc, char **argv)
         }          }
   
         SLIST_INIT(&pH);          SLIST_INIT(&pH);
        if (!(proc = InitProc(h, NULL, id, bpfLEN))) {        if (!(proc = InitProc(h, NULL, ANSH_ID, bpfLEN))) {
                 ERR("Error:: Not enough memory ...\n");                  ERR("Error:: Not enough memory ...\n");
                 close(h);                  close(h);
                 unlink(PIDFILE_ANSHD);                  unlink(PIDFILE_ANSHD);
Line 198  main(int argc, char **argv) Line 193  main(int argc, char **argv)
         root = schedBegin();          root = schedBegin();
         if (!root) {          if (!root) {
                 ERR("Scheduler not init #%d - %s\n", sched_GetErrno(), sched_GetError());                  ERR("Scheduler not init #%d - %s\n", sched_GetErrno(), sched_GetError());
                DestroyProc(id);                DestroyProc(ANSH_ID);
                 close(h);                  close(h);
                 unlink(PIDFILE_ANSHD);                  unlink(PIDFILE_ANSHD);
                 closelog();                  closelog();
Line 212  main(int argc, char **argv) Line 207  main(int argc, char **argv)
         setgid(gid);          setgid(gid);
         setuid(uid);          setuid(uid);
   
        if (schedRead(root, pktRx, (void*) id, h)) {        if (schedRead(root, pktRx, (void*) ANSH_ID, h)) {
                 schedRun(root, &Kill);                  schedRun(root, &Kill);
         } else          } else
                 ERR("Failed to add reader task #%d - %s\n", sched_GetErrno(), sched_GetError());                  ERR("Failed to add reader task #%d - %s\n", sched_GetErrno(), sched_GetError());
   
         VERB(1) LOG("Finish process.");          VERB(1) LOG("Finish process.");
         schedEnd(&root);          schedEnd(&root);
        DestroyProc(id);        DestroyProc(ANSH_ID);
         close(h);          close(h);
         unlink(PIDFILE_ANSHD);          unlink(PIDFILE_ANSHD);
         closelog();          closelog();

Removed from v.1.1.1.1.2.2  
changed lines
  Added in v.1.1.1.1.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>