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, 2011 | Copyright 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 84 pktRx(sched_task_t *task)
|
Line 84 pktRx(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 135 pktRx(sched_task_t *task)
|
Line 135 pktRx(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), pktRx, NULL, proc ? proc->proc_sock : TASK_FD(task), NULL, 0); |
schedRead(TASK_ROOT(task), pktRx, NULL, proc ? proc->proc_sock : TASK_FD(task), NULL, 0); |
return NULL; |
return NULL; |
} |
} |
Line 144 void *
|
Line 144 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 175 fdTx(sched_task_t *task)
|
Line 175 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 185 void *
|
Line 185 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 220 fdRx(sched_task_t *task)
|
Line 220 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 230 int
|
Line 230 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 245 spawnLogin(sched_task_t *task, struct tagProc *proc)
|
Line 245 spawnLogin(sched_task_t *task, struct tagProc *proc)
|
case 0: |
case 0: |
printf("anshd ELWIX remote management system (%s)\n\n", proc->proc_ttyname); |
printf("anshd ELWIX remote management system (%s)\n\n", proc->proc_ttyname); |
strlcpy(str, "-hansh@", sizeof str); |
strlcpy(str, "-hansh@", sizeof str); |
io_ether_ntoa((const io_ether_addr_t*) &proc->proc_ea, str + 7, 18); | e_ether_ntoa((const ether_addr_t*) &proc->proc_ea, str + 7, 18); |
|
|
execl("/usr/bin/login", "login", str, NULL); |
execl("/usr/bin/login", "login", str, NULL); |
/* never reached */ |
/* never reached */ |
Line 259 spawnLogin(sched_task_t *task, struct tagProc *proc)
|
Line 259 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; |
} |
} |