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

version 1.2, 2014/02/21 09:09:15 version 1.3, 2014/02/24 15:23:39
Line 45  SUCH DAMAGE. Line 45  SUCH DAMAGE.
 */  */
 #include "global.h"  #include "global.h"
 #include "srv.h"  #include "srv.h"
   #include "buf.h"
   
   
 intptr_t Kill;  intptr_t Kill;
 struct tagCli cli;  struct tagCli cli;
 cfg_root_t cfg;  cfg_root_t cfg;
 sched_root_task_t *root;  sched_root_task_t *root;
   rpack_t *bf;
 char szCfgName[PATH_MAX] = DEFAULT_CFGNAME;  char 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 76  Usage() Line 78  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-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"
                 "\n", compiled, compiledby, compilehost);                  "\n", compiled, compiledby, compilehost);
Line 99  sigHandler(sched_task_t *task) Line 102  sigHandler(sched_task_t *task)
                         str = cfg_getAttribute(&cfg, "tftpd", "timeout");                          str = cfg_getAttribute(&cfg, "tftpd", "timeout");
                         if (str)                          if (str)
                                 timeout.tv_sec = strtol(str, NULL, 10);                                  timeout.tv_sec = strtol(str, NULL, 10);
   
                           endBuffer();
                           str = cfg_getAttribute(&cfg, "tftpd", "buf_io");
                           if (str)
                                   initBuffer(strtol(str, NULL, 0));
                         break;                          break;
                 case SIGINT:                  case SIGINT:
                 case SIGTERM:                  case SIGTERM:
Line 128  main(int argc, char **argv) Line 136  main(int argc, char **argv)
         sockaddr_t sa;          sockaddr_t sa;
         rpack_t *pkt = NULL;          rpack_t *pkt = NULL;
   
        while ((ch = getopt(argc, argv, "hvbwc:")) != -1)        while ((ch = getopt(argc, argv, "hvdbwc:")) != -1)
                 switch (ch) {                  switch (ch) {
                         case 'c':                          case 'c':
                                 strlcpy(szCfgName, optarg, sizeof szCfgName);                                  strlcpy(szCfgName, optarg, sizeof szCfgName);
Line 139  main(int argc, char **argv) Line 147  main(int argc, char **argv)
                         case 'v':                          case 'v':
                                 e_incVerbose;                                  e_incVerbose;
                                 break;                                  break;
                           case 'd':
                                   elwix_Debug |= ELWIX_DEBUG_TRACE;
                                   break;
                         case 'b':                          case 'b':
                                 b = 42;                                  b = 42;
                                 break;                                  break;
Line 235  main(int argc, char **argv) Line 246  main(int argc, char **argv)
                         chdir(str);                          chdir(str);
         }          }
   
           str = cfg_getAttribute(&cfg, "tftpd", "buf_io");
           if (str)
                   initBuffer(strtol(str, NULL, 0));
   
         if (!(pkt = rpack_create(NULL, 0))) {          if (!(pkt = rpack_create(NULL, 0))) {
                 ELIBERR(elwix);                  ELIBERR(elwix);
                 close(fd);                  close(fd);
Line 261  end: Line 276  end:
         schedEnd(&root);          schedEnd(&root);
         rpack_detach(pkt);          rpack_detach(pkt);
         rpack_destroy(&pkt);          rpack_destroy(&pkt);
           endBuffer();
         cfgUnloadConfig(&cfg);          cfgUnloadConfig(&cfg);
         closelog();          closelog();
         return ret;          return ret;

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


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