factor/library/tools/telnetd.factor

31 lines
748 B
Factor
Raw Normal View History

! 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
USING: errors listener kernel namespaces io threads parser ;
2004-07-16 02:26:21 -04:00
: telnet-client ( socket -- )
dup [ log-client print-banner listener ] with-stream ;
2004-07-16 02:26:21 -04:00
: telnet-connection ( socket -- )
[ telnet-client ] in-thread drop ;
2004-07-16 02:26:21 -04:00
: telnetd-loop ( server -- server )
[ 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 ;
IN: shells
: telnet
"telnetd-port" get string>number telnetd ;
! This is a string since we string>number it above.
global [ "9999" "telnetd-port" set ] bind