@program internet.muf 1 1000 d i $include $lib/alynna $include $lib/tcpip : rpc-event var port var dest var request var handle var temp port ! dest ! request ! port @ 1 = if ( ring - on connect event ) me @ str "/_ftc/" request @ "/connected-to" cat dest @ setprop dest @ str "/_ftc/" request @ "/connected-to" cat me @ setprop dest @ request @ request @ port2service "request-event" call then port @ 2 = if ( answer - on confirm event ) request @ port2service program? not if "Host unreachable" "Internet" pretty tellme exit then random handle ! me @ str "/_ftc/" request @ "/handle" cat handle @ setprop dest @ str "/_ftc/" request @ "/handle" cat handle @ setprop handle @ dest @ request @ opensock handle @ dest @ request @ request @ port2service "connect-event" call then port @ 3 = if ( hangup - on close event ) dest @ request @ request @ port2service "close-event" call handle @ closesock me @ str "/_ftc/" request @ "/handle" cat 0 setprop dest @ str "/_ftc/" request @ "/handle" cat 0 setprop me @ str "/_ftc/" request @ "/connected-to" cat 0 setprop dest @ str "/_ftc/" request @ "/connected-to" cat 0 setprop then port @ 53 = if ( do DNS ) request @ pmatch temp ! temp @ #-1 dbcmp if request @ match temp ! temp @ #-1 dbcmp if "" else temp @ ref2ip then then temp @ #-2 dbcmp if "" exit then temp @ ref2ip then port @ 54 = if ( do reverse DNS ) dest @ then ; PUBLIC rpc-event : main pop ; . c q