|
version 1.3.2.1, 2012/01/23 16:13:07
|
version 1.5.2.1, 2015/05/19 23:30:06
|
|
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, 2011 | Copyright 2004 - 2015 |
| 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; |
| } |
} |