Diff for /suX/src/sux.c between versions 1.5.2.1 and 1.5.2.2

version 1.5.2.1, 2015/06/15 15:52:34 version 1.5.2.2, 2015/06/17 14:01:33
Line 96  Usage() Line 96  Usage()
 {  {
         printf( " -= suX =- suExecutor designed for web based applicaions\n"          printf( " -= suX =- suExecutor designed for web based applicaions\n"
                 "(C)`11 AITNET ltd - Sofia/Bulgaria - <office@aitnet.org>\n\n"                  "(C)`11 AITNET ltd - Sofia/Bulgaria - <office@aitnet.org>\n\n"
                " Syntax: %s [options] <program> [arguments]\n"                " Syntax: %s [options] <program|-> [arguments]\n"
                 "\t-u <user>\t\t\tUser for suID\n"                  "\t-u <user>\t\t\tUser for suID\n"
                 "\t-g <group>\t\t\tGroup for suID\n"                  "\t-g <group>\t\t\tGroup for suID\n"
                 "\t-p <priority (-20..20)>\t\tExecute with priority\n"                  "\t-p <priority (-20..20)>\t\tExecute with priority\n"
Line 124  setUIDGID(char flg, const char *name) Line 124  setUIDGID(char flg, const char *name)
                 uid = sb.st_uid;                  uid = sb.st_uid;
                 gid = sb.st_gid;                  gid = sb.st_gid;
         } else {          } else {
                pass = getpwnam(getenv("SUX_USER"));                pass = getpwnam(getenv("SUX_USER") ? getenv("SUX_USER") : DEFAULT_SUX_USER);
                 if (!pass) {                  if (!pass) {
                         Err("Error:: User %s not found", getenv("SUX_USER"));                          Err("Error:: User %s not found", getenv("SUX_USER"));
                         endpwent();                          endpwent();
Line 238  Run(char **argv, char flg) Line 238  Run(char **argv, char flg)
         if (!(aarg = array_From((const char***) &argv, 0))) {          if (!(aarg = array_From((const char***) &argv, 0))) {
                 array_Destroy(&acmd);                  array_Destroy(&acmd);
                 return -1;                  return -1;
        } else if (*array(acmd, 0, char*) == '!') {        }
         /* '!' exclude associated wrapper aka direct args execution */
         if (*array(acmd, 0, char*) == '!') {
                 if (array_Grow(acmd, 0, 0)) {                  if (array_Grow(acmd, 0, 0)) {
                         array_Destroy(&aarg);                          array_Destroy(&aarg);
                         array_Destroy(&acmd);                          array_Destroy(&acmd);
Line 248  Run(char **argv, char flg) Line 250  Run(char **argv, char flg)
         } else          } else
                 cmd = array(acmd, 0, char*);                  cmd = array(acmd, 0, char*);
   
        if (array_Concat(acmd, aarg) == -1) {        if (!(flg & SUX_GET_STDIN) && array_Concat(acmd, aarg) == -1) {
                 array_Destroy(&aarg);                  array_Destroy(&aarg);
                 array_Destroy(&acmd);                  array_Destroy(&acmd);
                 return -1;                  return -1;
Line 388  main(int argc, char **argv) Line 390  main(int argc, char **argv)
                         return 1;                          return 1;
                 } else                  } else
                         AIT_SET_STR(&proc.proc_name, str);                          AIT_SET_STR(&proc.proc_name, str);
        } else        } else if (strcmp(*argv, "-"))
                 AIT_SET_STR(&proc.proc_name, *argv);                  AIT_SET_STR(&proc.proc_name, *argv);
           else {
                   flg |= SUX_GET_STDIN;
                   AIT_SET_STR(&proc.proc_name, "-.stdin");        /* hack for associate to stdin */
           }
         Log(2, "Try to load config %s", szCfg);          Log(2, "Try to load config %s", szCfg);
         if (cfgLoadConfig(szCfg, &cfg)) {          if (cfgLoadConfig(szCfg, &cfg)) {
                 ELIBERR(cfg);                  ELIBERR(cfg);

Removed from v.1.5.2.1  
changed lines
  Added in v.1.5.2.2


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