AminetAminet
Search:
85602 packages online
About
Recent
Browse
Search
Upload
Setup
Services

comm/tcp/telnetd.ppc-morphos.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric iconother icon
No screenshot available
Short:Telnet daemon, remote shell for MorphOS
Author: bfeeny at mac.com (Brian Feeny)
Uploader:<bfeeny mac com> (Brian Feeny)
Type:comm/tcp
Version:1.0
Architecture:ppc-morphos
Date:2026-09-21
Requires:MorphOS 3.x, bsdsocket.library, usergroup.library (both ship with MorphOS)
Distribution:Aminet
Download:comm/tcp/telnetd.ppc-morphos.lha - View contents
Readme:comm/tcp/telnetd.ppc-morphos.readme
Downloads:2

A telnet daemon for MorphOS - a remote shell for a platform that has never had
one.

MorphOS ships OpenSSH as a client only. There is no sshd, no telnetd, and no
working inetd, so nothing can drive the machine remotely. This fills that gap.

FEATURES

 - Authenticated login against the system's own user database, via
   usergroup.library. Accounts come from Preferences -> Users.
 - Several concurrent sessions from a single process.
 - Window size (NAWS) carried end to end, so full-screen programs know their
   geometry.
 - Starts at boot and comes back on its own after a reboot.
 - An interactive pdksh works over it, as well as the MorphOS Shell.
 - Survives idle clients, mid-command disconnects, and clients that flood
   without reading.

THERE IS NO WAY TO DISABLE AUTHENTICATION. An account with no password, or one
locked with *, is refused rather than admitted - the out-of-the-box MorphOS
state is a blank password, and failing open would hand a shell to anyone who
connects. No build of this daemon, however compiled or invoked, can serve an
unauthenticated shell.

TELNET IS A PLAINTEXT PROTOCOL. Credentials and session content cross the
network in the clear. Run it on a trusted LAN or through a tunnel, and read
doc/SECURITY.md before putting it anywhere else. This has had no outside
security review.

INSTALLATION

 Copy telnetd TO C:

 To start it at boot, put it in S:user-network-startup - NOT S:User-Startup.
 The startup-sequence never calls the network chain, so User-Startup runs
 before any interface has an address and bind() fails. The README explains
 this with the measurements behind it.

HOW IT WORKS

A telnet daemon spawns a shell and wires it to a socket. On Unix that is a
pseudo-terminal, and the Amiga lineage has no ptys. The answer is that an
AmigaDOS console is not a device node but a message port that answers packets,
so this daemon points a spawned Shell at a port it owns and answers those
packets itself. ACTION_WAIT_CHAR is select(); ACTION_SCREEN_MODE is the line
discipline.

The shell-attach layer is a standalone module with no networking in it, because
the intended second consumer is an sshd.

Full source is included, along with documentation covering the architecture, a
comparison with Unix telnetd implementations (including a candid list of what
this does not do), the prior-art survey, and the security posture.

MIT licence. Clean implementation against the MorphOS SDK headers and autodocs;
no GPL code was copied.


Contents of comm/tcp/telnetd.ppc-morphos.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep 20 03:14 telnetd/
-rw-r--r--   501/20        629    1068  58.9% -lh5- b37f Sep 20 03:14 telnetd/LICENSE
-rw-r--r--   501/20       1662    3318  50.1% -lh5- bba5 Sep 20 03:14 telnetd/Makefile
-rw-r--r--   501/20       4001    8530  46.9% -lh5- 8272 Sep 20 03:14 telnetd/README.md
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep 20 03:14 telnetd/doc/
-rw-r--r--   501/20       3352    7365  45.5% -lh5- 8a49 Sep 20 03:14 telnetd/doc/ARCHITECTURE.md
-rw-r--r--   501/20       7272   15776  46.1% -lh5- 0cfb Sep 20 03:14 telnetd/doc/COMPARED-TO-UNIX.md
-rw-r--r--   501/20       2876    5680  50.6% -lh5- 2e64 Sep 20 03:14 telnetd/doc/PRIOR-ART.md
-rw-r--r--   501/20       2584    5414  47.7% -lh5- a775 Sep 20 03:14 telnetd/doc/SECURITY.md
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep 20 03:14 telnetd/src/
-rw-r--r--   501/20        668    1379  48.4% -lh5- 73d5 Sep 20 03:14 telnetd/src/auth.c
-rw-r--r--   501/20        813    1473  55.2% -lh5- 2cc8 Sep 20 03:14 telnetd/src/auth.h
-rw-r--r--   501/20       4407   11351  38.8% -lh5- fd75 Sep 20 03:14 telnetd/src/console_handler.c
-rw-r--r--   501/20       4116    9484  43.4% -lh5- 4a7e Sep 20 03:14 telnetd/src/console_handler.h
-rw-r--r--   501/20       3921   10787  36.3% -lh5- cb6e Sep 20 03:14 telnetd/src/telnet.c
-rw-r--r--   501/20       1450    3184  45.5% -lh5- c0d1 Sep 20 03:14 telnetd/src/telnet.h
-rw-r--r--   501/20      27786   74248  37.4% -lh5- c656 Sep 20 03:14 telnetd/src/telnetd.c
-rwxr-xr-x   501/20      34196   72972  46.9% -lh5- d010 Sep 20 03:14 telnetd/telnetd
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep 20 03:14 telnetd/tests/
-rw-r--r--   501/20       3515   10420  33.7% -lh5- f056 Sep 20 03:14 telnetd/tests/hwtest.py
-rwxr-xr-x   501/20        775    1405  55.2% -lh5- e559 Sep 20 03:14 telnetd/tests/run.sh
-rw-r--r--   501/20        994    2585  38.5% -lh5- 6ef8 Sep 20 03:14 telnetd/tests/test_auth.c
-rw-r--r--   501/20       5789   21079  27.5% -lh5- 4cb6 Sep 20 03:14 telnetd/tests/test_console_handler.c
-rw-r--r--   501/20       4147   14947  27.7% -lh5- d3b0 Sep 20 03:14 telnetd/tests/test_telnet.c
drwxr-xr-x   501/20          0       0 ****** -lhd- 0000 Sep 20 03:14 telnetd/tools/
-rw-r--r--   501/20       4967   12315  40.3% -lh5- 3ae6 Sep 20 03:14 telnetd/tools/mkpw.c
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        26 files  119920  294780  40.7%            Sep 21 01:07
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>