Diff for /embedtools/src/cfexec.c between versions 1.1.1.1.2.3 and 1.2.2.1

version 1.1.1.1.2.3, 2009/11/12 11:51:50 version 1.2.2.1, 2011/06/13 20:04:12
Line 25  static void Usage() Line 25  static void Usage()
                 "\t-v\t\tVerbose ...\n"                  "\t-v\t\tVerbose ...\n"
                 "\t-c <dir>\tAfter execute chroot to dir [default=/]\n"                  "\t-c <dir>\tAfter execute chroot to dir [default=/]\n"
                 "\t-u <user>\tAfter execute suid to user [default=root]\n"                  "\t-u <user>\tAfter execute suid to user [default=root]\n"
                "\t-d <dev>\tOther device [default=/dev/ufs/AITBSDonCF]\n"                "\t-d <dev>\tOther device [default=/dev/ufs/elwix]\n"
                 "\t-m <mnt>\tOther mount dir [default=/cf]\n"                  "\t-m <mnt>\tOther mount dir [default=/cf]\n"
                 "\t-t <sec>\tTimeout for autolock mount dir after seconds [default=300]\n"                  "\t-t <sec>\tTimeout for autolock mount dir after seconds [default=300]\n"
                 "\n", compiled, compiledby, compilehost);                  "\n", compiled, compiledby, compilehost);
Line 37  static int update(int flags) Line 37  static int update(int flags)
   
         memset(&mnt, 0, sizeof mnt);          memset(&mnt, 0, sizeof mnt);
         mnt.fspec = szDev;          mnt.fspec = szDev;
   #ifdef __NetBSD__
           if (mount("ufs", szMount, flags, &mnt, sizeof mnt) == -1) {
   #else
         if (mount("ufs", szMount, flags, &mnt) == -1) {          if (mount("ufs", szMount, flags, &mnt) == -1) {
   #endif
                 printf("Error:: can`t update mount %s #%d - %s\n", szMount, errno, strerror(errno));                  printf("Error:: can`t update mount %s #%d - %s\n", szMount, errno, strerror(errno));
                 return -1;                  return -1;
         }          }
Line 88  static int mkevent(struct kevent *chg, struct kevent * Line 92  static int mkevent(struct kevent *chg, struct kevent *
                 memset(chg, 0, sizeof(struct kevent));                  memset(chg, 0, sizeof(struct kevent));
                 memset(evt, 0, sizeof(struct kevent));                  memset(evt, 0, sizeof(struct kevent));
   
                EV_SET(chg, f, EVFILT_VNODE, EV_ADD, NOTE_DELETE | NOTE_RENAME | NOTE_REVOKE, 0, NULL);                EV_SET(chg, f, EVFILT_VNODE, EV_ADD, NOTE_DELETE | NOTE_RENAME | NOTE_REVOKE, 0, (intptr_t) NULL);
         }          }
   
         return f;          return f;
Line 99  static int mkevent(struct kevent *chg, struct kevent * Line 103  static int mkevent(struct kevent *chg, struct kevent *
 int main(int argc, char **argv)  int main(int argc, char **argv)
 {  {
         char ch;          char ch;
        const char *err;        const char *err = NULL;
         struct kevent chg, evt;          struct kevent chg, evt;
         struct timespec ts;          struct timespec ts;
         pid_t pid;          pid_t pid;
Line 110  int main(int argc, char **argv) Line 114  int main(int argc, char **argv)
         // Load variables from config if exists          // Load variables from config if exists
         if (!LoadConfig(szConfig, &cfg)) {          if (!LoadConfig(szConfig, &cfg)) {
                 cfg_LoadAttribute(&cfg, CFG("cfexec"), CFG("timeout"), CFG(szUser), MAX_STR, DEFAULT_TIMEOUT);                  cfg_LoadAttribute(&cfg, CFG("cfexec"), CFG("timeout"), CFG(szUser), MAX_STR, DEFAULT_TIMEOUT);
   #ifndef HAVE_STRTONUM
                   Timeout = (int) strtol(szUser, NULL, 0);
   #else
                 Timeout = strtonum(szUser, 0, 3600, &err);                  Timeout = strtonum(szUser, 0, 3600, &err);
   #endif
                 if (!Timeout && err) {                  if (!Timeout && err) {
                         printf("Error:: in seconds for timeout %s - %s\n", optarg, err);                          printf("Error:: in seconds for timeout %s - %s\n", optarg, err);
                         UnloadConfig(&cfg);                          UnloadConfig(&cfg);
Line 149  int main(int argc, char **argv) Line 157  int main(int argc, char **argv)
                                 strlcpy(szMount, optarg, MAXPATHLEN);                                  strlcpy(szMount, optarg, MAXPATHLEN);
                                 break;                                  break;
                         case 't':                          case 't':
   #ifndef HAVE_STRTONUM
                                   Timeout = (int) strtol(szUser, NULL, 0);
   #else
                                 Timeout = strtonum(optarg, 0, 3600, &err);                                  Timeout = strtonum(optarg, 0, 3600, &err);
   #endif
                                 if (!Timeout && err) {                                  if (!Timeout && err) {
                                         printf("Error:: in seconds for timeout %s - %s\n",                                          printf("Error:: in seconds for timeout %s - %s\n",
                                                         optarg, err);                                                          optarg, err);
Line 239  int main(int argc, char **argv) Line 251  int main(int argc, char **argv)
                                         if (strncmp(szUser, "root", 5))                                          if (strncmp(szUser, "root", 5))
                                                 setuser();                                                  setuser();
   
                                        chdir("/");                                        /* chdir("/"); */
                                         execvp(*argv, argv);                                          execvp(*argv, argv);
                                 }                                  }
                                 _exit(127);                                  _exit(127);

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


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