#!/bin/sh
# nc-emulator: skrypt emulujcy zachowanie programu "netcat" (uywajc telnetu)
# 	Sebastian Zagrodzki <s.zagrodzki@sokrates.mimuw.edu.pl>
#       Jacek Fiok <jfiok@jfiok.org>
# Strona domowa: sms.jfiok.org

TIMEOUT=20

LOCK="`mktemp /tmp/sleep.XXXXXX || ( umask 077 ; touch /tmp/sleep.$$$$; echo /tmp/sleep.$$$$ ) `"
# jeli w naszym systemie nie ma polecenia mktemp, to wystarczy
# zakomentowa linijk wyej, a odkomentowa t poniej:
# LOCK="/tmp/sleep.$RANDOM.$PPID"

export LOCK

if [ "$1" = "-w" ]; then
	shift
	TIMEOUT="$1"
	shift
fi

HOST="$1"

[ -n "$2" ] && PORT="$2" || PORT="80"

{ cat | tr -d '\r' ; sleep "$TIMEOUT" & echo "$!" > "$LOCK" ;} |\
	telnet "$HOST" "$PORT" 2>/dev/null
	
kill -KILL "`cat \"$LOCK\"`"
rm -f "$LOCK"
