2005-01-30 15:57:25 -05:00
|
|
|
! Copyright (C) 2003, 2005 Slava Pestov.
|
|
|
|
! See http://factor.sf.net/license.txt for BSD license.
|
2004-07-16 02:26:21 -04:00
|
|
|
IN: telnetd
|
2005-06-19 17:50:35 -04:00
|
|
|
USING: errors listener kernel namespaces io threads parser ;
|
2004-07-16 02:26:21 -04:00
|
|
|
|
|
|
|
: telnet-client ( socket -- )
|
2005-07-17 16:29:17 -04:00
|
|
|
dup [ log-client print-banner listener ] with-stream ;
|
2004-07-16 02:26:21 -04:00
|
|
|
|
2004-09-02 16:40:34 -04:00
|
|
|
: telnet-connection ( socket -- )
|
2004-11-20 16:57:01 -05:00
|
|
|
[ telnet-client ] in-thread drop ;
|
2004-09-02 16:40:34 -04:00
|
|
|
|
2004-07-16 02:26:21 -04:00
|
|
|
: telnetd-loop ( server -- server )
|
2005-03-21 15:13:40 -05:00
|
|
|
[ accept telnet-connection ] keep telnetd-loop ;
|
2004-07-16 02:26:21 -04:00
|
|
|
|
|
|
|
: telnetd ( port -- )
|
2005-04-27 01:40:09 -04:00
|
|
|
[
|
|
|
|
<server> [
|
|
|
|
telnetd-loop
|
|
|
|
] [
|
|
|
|
swap stream-close rethrow
|
|
|
|
] catch
|
|
|
|
] with-logging ;
|
2004-12-29 03:35:46 -05:00
|
|
|
|
|
|
|
IN: shells
|
|
|
|
|
|
|
|
: telnet
|
2005-08-21 20:50:14 -04:00
|
|
|
"telnetd-port" get string>number telnetd ;
|
2004-12-29 03:35:46 -05:00
|
|
|
|
2005-08-21 20:50:14 -04:00
|
|
|
! This is a string since we string>number it above.
|
2005-02-20 19:03:37 -05:00
|
|
|
global [ "9999" "telnetd-port" set ] bind
|