Diff for /tftpd/src/tftpd.c between versions 1.3 and 1.4

version 1.3, 2014/02/24 15:23:39 version 1.4, 2014/02/24 22:28:54
Line 46  SUCH DAMAGE. Line 46  SUCH DAMAGE.
 #include "global.h"  #include "global.h"
 #include "srv.h"  #include "srv.h"
 #include "buf.h"  #include "buf.h"
   #include "exec.h"
   
   
 intptr_t Kill;  intptr_t Kill;
Line 53  struct tagCli cli; Line 54  struct tagCli cli;
 cfg_root_t cfg;  cfg_root_t cfg;
 sched_root_task_t *root;  sched_root_task_t *root;
 rpack_t *bf;  rpack_t *bf;
char szCfgName[PATH_MAX] = DEFAULT_CFGNAME;char RW, szCfgName[PATH_MAX] = DEFAULT_CFGNAME;
 struct timespec timeout = { DEFAULT_TIMEOUT, 0 };  struct timespec timeout = { DEFAULT_TIMEOUT, 0 };
 extern char compiled[], compiledby[], compilehost[];  extern char compiled[], compiledby[], compilehost[];
   
Line 78  Usage() Line 79  Usage()
                 "\t-c <config>\tConfig file [default=/etc/tftpd.conf]\n"                  "\t-c <config>\tConfig file [default=/etc/tftpd.conf]\n"
                 "\t-w\t\tSwitch to read-write mode [default=read-only]\n"                  "\t-w\t\tSwitch to read-write mode [default=read-only]\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-R\t\tReboot after complete write file\n"
                 "\t-d\t\tDebug program\n"                  "\t-d\t\tDebug program\n"
                 "\t-v\t\tVerbose (more -v, more verbosity ...)\n"                  "\t-v\t\tVerbose (more -v, more verbosity ...)\n"
                 "\t-h\t\tThis help screen!\n"                  "\t-h\t\tThis help screen!\n"
Line 128  sigHandler(sched_task_t *task) Line 130  sigHandler(sched_task_t *task)
 int  int
 main(int argc, char **argv)  main(int argc, char **argv)
 {  {
        char ch, m = 0, b = 0;        char ch, r = 0, b = 0;
         const char *str;          const char *str;
         int fd, uid = 0, ret = 0;          int fd, uid = 0, ret = 0;
         struct passwd *pass;          struct passwd *pass;
Line 136  main(int argc, char **argv) Line 138  main(int argc, char **argv)
         sockaddr_t sa;          sockaddr_t sa;
         rpack_t *pkt = NULL;          rpack_t *pkt = NULL;
   
        while ((ch = getopt(argc, argv, "hvdbwc:")) != -1)        while ((ch = getopt(argc, argv, "hvdRbwc:")) != -1)
                 switch (ch) {                  switch (ch) {
                         case 'c':                          case 'c':
                                 strlcpy(szCfgName, optarg, sizeof szCfgName);                                  strlcpy(szCfgName, optarg, sizeof szCfgName);
                                 break;                                  break;
                         case 'w':                          case 'w':
                                m = 42;  /* rw mode */                                RW = 42;  /* rw mode */
                                 break;                                  break;
                         case 'v':                          case 'v':
                                 e_incVerbose;                                  e_incVerbose;
Line 153  main(int argc, char **argv) Line 155  main(int argc, char **argv)
                         case 'b':                          case 'b':
                                 b = 42;                                  b = 42;
                                 break;                                  break;
                           case 'R':
                                   r = 42;
                                   break;
                         case 'h':                          case 'h':
                         default:                          default:
                                 Usage();                                  Usage();
Line 264  main(int argc, char **argv) Line 269  main(int argc, char **argv)
         }          }
   
         memset(&cli, 0, sizeof cli);          memset(&cli, 0, sizeof cli);
           if (r)
                   schedSuspend(root, Reboot, NULL, 0, NULL, 0);
         schedSignal(root, sigHandler, NULL, SIGHUP, NULL, 0);          schedSignal(root, sigHandler, NULL, SIGHUP, NULL, 0);
         schedSignal(root, sigHandler, NULL, SIGTERM, NULL, 0);          schedSignal(root, sigHandler, NULL, SIGTERM, NULL, 0);
         schedSignal(root, sigHandler, NULL, SIGINT, NULL, 0);          schedSignal(root, sigHandler, NULL, SIGINT, NULL, 0);

Removed from v.1.3  
changed lines
  Added in v.1.4


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