/supdup

Community maintained SUPDUP client for Unix

Primary LanguageCOtherNOASSERTION

supdup

Overview

  • supdup is a client (and supdupd is a server) implementing the SUPDUP (Super Duper TELNET) protocol, a highly efficient TELNET-style remote display protocol, on UNIX-like systems.

  • It originated as a private protocol between the Chaosnet-connected ITS systems at MIT to allow a user at any one of these systems to use one of the others as a display; later implementations were developed for various platforms.

  • The software creates connections over TCP/IP and Chaosnet (optionally using the cbridge software).

Tested platforms

  • Tested operating systems: Oracle Solaris, OpenIndiana illumos, Linux/musl, Linux/glibc, IBM AIX, IBM OS/400 (PASE), Haiku, FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Cygwin, and Apple macOS.

Tested compilers

  • Tested compilers: PCC, GCC, Clang, Xcode, IBM XL C, IBM Open XL C, Oracle Studio C, NVIDIA HPC SDK C, Portland Group C, and DMD ImportC.

Building the supdup client

Generic UNIX

  • Building on generic UNIX-like systems (Linux, *BSD, macOS, Haiku, etc.):
    • Install prerequisite packages:
      • Required: make (GNU), ncurses (libraries and headers),
      • Recommended: pkg-config
    • Build: gmake (or sometimes just make)

  • The usual environment variables (e.g. CC, CFLAGS, LDFLAGS, etc.) are respected, for example:
    • env CC="gcc" CFLAGS="-Wall" LDFLAGS="-L/usr/local" gmake

IBM AIX

  • Building on IBM AIX 7:
    • Install prerequisite packages:
      • dnf install make ncurses-devel pkg-config
    • Build with IBM XL C V16:
      • env CC="xlc" CFLAGS="-q64" LDFLAGS="-q64" gmake
    • Build with IBM Open XL C V17:
      • env CC="ibm-clang" CFLAGS="-m64" LDFLAGS="-m64" gmake
    • Build with GNU GCC:
      • env CC="gcc" CFLAGS="-maix64" LDFLAGS="-maix64 -Wl,-b64" gmake
    • Build with Clang:
      • env CC="clang" CFLAGS="-m64" LDFLAGS="-m64" gmake

IBM i (OS/400)

  • Building on PASE for IBM i (OS/400):
    • Install prerequisite packages:
      • yum install gcc10 make-gnu ncurses-devel pkg-config
    • Build with GNU GCC:
      • env CC="gcc-10" CFLAGS="-maix64" LDFLAGS="-maix64 -Wl,-b64" gmake

DMD ImportC

  • Building with DMD ImportC:
    • dmd -betterC -c -of=supdup.o chaos.c charmap.c supdup.c tcp.c $(pkg-config --cflags-only-I ncurses)
    • cc -o supdup supdup.o $(pkg-config --libs ncurses)

Building the supdup server

  • An experimental server, supdupd, is included.
  • The server component is antiquated, incomplete, and will not build on all platforms.

  • To build the server on generic UNIX-like systems:
    • Install prerequisite packages: make (GNU)
    • Build: gmake (or sometimes just make)

Bug Reporting

External links

SUPDUP

Chaosnet