Diff for /ansh/src/daemon3.c between versions 1.3.2.1 and 1.5

version 1.3.2.1, 2012/01/23 16:13:07 version 1.5, 2015/05/19 23:25:30
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 64  icmpTx(sched_task_t *task) Line 64  icmpTx(sched_task_t *task)
                 str = cryptBuffer(proc->proc_buf_[FD2NET], proc->proc_rlen_[FD2NET], Crypted);                  str = cryptBuffer(proc->proc_buf_[FD2NET], proc->proc_rlen_[FD2NET], Crypted);
                 if (str) {                  if (str) {
                         memcpy(proc->proc_buf_[FD2NET], str, proc->proc_rlen_[FD2NET]);                          memcpy(proc->proc_buf_[FD2NET], str, proc->proc_rlen_[FD2NET]);
                        free(str);                        e_free(str);
                 }                  }
         }          }
   
Line 83  void * Line 83  void *
 icmpRx(sched_task_t *task)  icmpRx(sched_task_t *task)
 {  {
         u_char *buf, *str;          u_char *buf, *str;
        io_sockaddr_t sa;        sockaddr_t sa;
         int rlen, n = 0, salen = sizeof sa;          int rlen, n = 0, salen = sizeof sa;
         struct tagProc *proc = NULL;          struct tagProc *proc = NULL;
         char ret;          char ret;
Line 93  icmpRx(sched_task_t *task) Line 93  icmpRx(sched_task_t *task)
         FTRACE(3);          FTRACE(3);
   
         rlen = bpfLEN;          rlen = bpfLEN;
        if (!(buf = malloc(rlen)))        if (!(buf = e_malloc(rlen)))
                 goto end;                  goto end;
         else          else
                 memset(buf, 0, rlen);                  memset(buf, 0, rlen);
Line 121  icmpRx(sched_task_t *task) Line 121  icmpRx(sched_task_t *task)
                 str = cryptBuffer(buf, rlen, Crypted);                  str = cryptBuffer(buf, rlen, Crypted);
                 if (str) {                  if (str) {
                         memcpy(buf, str, rlen);                          memcpy(buf, str, rlen);
                        free(str);                        e_free(str);
                 }                  }
         }          }
   
Line 153  icmpRx(sched_task_t *task) Line 153  icmpRx(sched_task_t *task)
         memcpy(proc->proc_buf_[NET2FD], buf, proc->proc_rlen_[NET2FD]);          memcpy(proc->proc_buf_[NET2FD], buf, proc->proc_rlen_[NET2FD]);
         schedWrite(TASK_ROOT(task), fdTx, proc, proc->proc_pty, NULL, 0);          schedWrite(TASK_ROOT(task), fdTx, proc, proc->proc_pty, NULL, 0);
 end:  end:
        free(buf);        e_free(buf);
         schedRead(TASK_ROOT(task), icmpRx, NULL, proc ? proc->proc_sock : TASK_FD(task), NULL, 0);          schedRead(TASK_ROOT(task), icmpRx, NULL, proc ? proc->proc_sock : TASK_FD(task), NULL, 0);
         return NULL;          return NULL;
 }  }
Line 162  void * Line 162  void *
 fdTx(sched_task_t *task)  fdTx(sched_task_t *task)
 {  {
         struct tagProc *proc;          struct tagProc *proc;
        struct timeval tv = { 0 };        struct timespec ts = { 0 };
         int wlen;          int wlen;
   
         FTRACE(3);          FTRACE(3);
Line 193  fdTx(sched_task_t *task) Line 193  fdTx(sched_task_t *task)
   
         /* if Timeout defined, go arm timer */          /* if Timeout defined, go arm timer */
         if (Timeout) {          if (Timeout) {
                tv.tv_sec = Timeout;                ts.tv_sec = Timeout;
                schedTimer(TASK_ROOT(task), TOfunc, proc, tv, NULL, 0);                schedTimer(TASK_ROOT(task), TOfunc, proc, ts, NULL, 0);
         }          }
         return NULL;          return NULL;
 }  }
Line 203  void * Line 203  void *
 fdRx(sched_task_t *task)  fdRx(sched_task_t *task)
 {  {
         struct tagProc *proc;          struct tagProc *proc;
        struct timeval tv = { 0 };        struct timespec ts = { 0 };
         int rlen;          int rlen;
   
         FTRACE(3);          FTRACE(3);
Line 238  fdRx(sched_task_t *task) Line 238  fdRx(sched_task_t *task)
   
         /* if Timeout defined, go arm timer */          /* if Timeout defined, go arm timer */
         if (Timeout) {          if (Timeout) {
                tv.tv_sec = Timeout;                ts.tv_sec = Timeout;
                schedTimer(TASK_ROOT(task), TOfunc, proc, tv, NULL, 0);                schedTimer(TASK_ROOT(task), TOfunc, proc, ts, NULL, 0);
         }          }
         return NULL;          return NULL;
 }  }
Line 248  int Line 248  int
 spawnLogin(sched_task_t *task, struct tagProc *proc)  spawnLogin(sched_task_t *task, struct tagProc *proc)
 {  {
         int flg;          int flg;
        struct timeval tv = { 0 };        struct timespec ts = { 0 };
         char str[STRSIZ] = { 0 };          char str[STRSIZ] = { 0 };
   
         FTRACE(3);          FTRACE(3);
Line 280  spawnLogin(sched_task_t *task, struct tagProc *proc) Line 280  spawnLogin(sched_task_t *task, struct tagProc *proc)
   
                         /* if Timeout defined, go arm timer */                          /* if Timeout defined, go arm timer */
                         if (Timeout) {                          if (Timeout) {
                                tv.tv_sec = Timeout;                                ts.tv_sec = Timeout;
                                schedTimer(TASK_ROOT(task), TOfunc, proc, tv, NULL, 0);                                schedTimer(TASK_ROOT(task), TOfunc, proc, ts, NULL, 0);
                         }                          }
                         break;                          break;
         }          }

Removed from v.1.3.2.1  
changed lines
  Added in v.1.5


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