This is a first beta of my telnet server for STinG. To be precise, 
it's stil alpha, since an important piece of functionality is still 
missing. This is for two months now, I'm a bit stuck as launching the
shell doesn't work as expected. Maybe you got a clue what might go 
wrong ? Here is how it is supposed to work :

After successful login, the server spawns a shell by calling 
Pexec (104, ...) which is the MiNT parallel load and go Pexec(). This
modus is supported by MagiC since V5.0. Prior to that, the server
Fopens two pipes (U:\PIPE\TEL000.IN and U:\PIPE\TEL000.IN) for a
standard input and output path for the shell, which then are Fforced
to stdin and stdout to be inherited by the shell. The previous channels
for both are Fduped first and restored (Fforce) after the Pexec() has
successfully finished. With this concept, the server can write and read
to and from the pipes and transfer the traffic to the telnet TCP channel.

Anything wrong with the concept ? Or is it just some detail that I did
wrong ?

With this version I left this part out of the binary so that you can play
with the code. The server is pretty much complete, apart from launching the
shell. You can login, logout, whatever, just note there is no shell at the
other end after you logged in, so the server is not really useful yet.

For changing the password, there will be two other binaries coming with the
server. One is a true TTP that can be remote executed when being logged in,
the other one is GEM integrated and will provide a way to initialise the
password (or overwrite one that the user has forgotten).

The password is stored with other user info in the passwd.inf file. It
contains the user name, the encrypted password, the complete path to the
shell to be executed for this user at login, the path to the home directory
of the user, and the path to a text file that contains a set of environment
variables to be passed to the shell as the initial environment. The file
contained herewith just provides one user whose name is "perot" and whose 
password is "gammel".

If you close all the windows of Telly-D, it will still remain in memory as 
a stay-resident server. Use the exit button to terminate it. You can bring
the main configuration window up again by sending the server a ACC_OPEN or
VASTART message.

Have fun.

Peter Rottengatter
