diff --git a/README.md b/README.md new file mode 100644 index 0000000..5dc0063 --- /dev/null +++ b/README.md @@ -0,0 +1,120 @@ +# Marsmail Tools + +Legacy tools for user provisioning, mail handling, and workstation support in a Mars/Linux server environment. + +> This repository preserves a historical toolkit originally used to manage user accounts, Pegasus Mail workflows, and supporting admin utilities in a mixed Linux/DOS network setup. + +## Features + +This repository includes tools for: + +- user account creation and removal +- mail conversion for Pegasus Mail clients +- outgoing mail posting back to Unix systems +- quota and expiry handling +- login and notification scripts +- user application processing +- default homepage generation + +Documented components include: `marsmail.exe`, `newuser.pl`, `ohmasteruser`, `nomasteruser`, `ohpostme`, `ohquota`, `ohmail`, `ohmessage`, `ohform.htm`, `pmail.bat`, `pmgate.sys`, `pmdflts.ini`, and `wwwhomepage`. + +## What is Marsmail? + +Marsmail is described in the original documentation as a Pascal-based frontend that translates Unix mail files into a format readable by Pegasus Mail. The surrounding scripts automate account setup, notifications, quota reporting, and mail gateway tasks. + +## Repository Goals + +This project is useful for: + +- preserving historical sysadmin tooling +- studying legacy mail gateway workflows +- exploring early campus/lab network automation +- adapting older operational ideas for modern migrations + +## Included Files + +A few notable files in this repository: + +- `marsmail.exe` — mail conversion utility +- `pmail.bat` — Pegasus Mail launcher/helper +- `pmgate.sys` — Pegasus Mail gateway configuration +- `pmdflts.ini` — default Pegasus Mail settings +- `ohform.htm` — HTML user application form +- `newuser.pl` — form processor for new accounts +- `ohmasteruser` — account creation helper +- `nomasteruser` — account removal and cleanup helper +- `ohpostme` — outgoing mail handoff script +- `wwwhomepage` — default homepage generator + +These names are taken from the original package documentation. + +## Build and Install + +A provided `CMakeLists.txt` shows an install step that deploys several runtime files, including: + +- `marsmail.exe` +- `pmail.bat` +- `pmgate.sys` +- `ohlogscr.bat` +- `pmdflts.ini` + +into a public installation directory. It also defines Linux-specific compiler flags and version macros. + +Example: + +```cmake +install(FILES marsmail.exe pmail.bat pmgate.sys ohlogscr.bat pmdflts.ini + DESTINATION ${MARS_NWE_INSTALL_FULL_FILEDIR}/SYS/public) +``` + +## Legacy Environment + +The original documentation assumes a historical environment with: + +- a Linux-based Mars server +- DOS workstations +- Pegasus Mail clients +- Unix mailbox storage +- custom login scripts and mapped drives + +This software is not plug-and-play on modern systems and will likely require adaptation. + +## User Application Form + +The repository includes an HTML application form for requesting a user account. It collects applicant details, preferred usernames, skill levels, operating system preferences, support expectations, and requested services. The form is intended to submit data to `newuser.pl`. + +## Status + +This is a **legacy preservation project**. + +It is best treated as: + +- archival software +- reference material +- migration input +- a starting point for modernization + +## Security Warning + +These tools were designed for an older environment and may contain assumptions that are unsafe on modern systems. + +Review carefully before running anything, especially code related to: + +- user creation and deletion +- mailbox processing +- file permissions +- web publishing +- shell or batch execution + +The original documentation also recommends making backups before changing account-related data. + +## License + +The original documentation states that the package is distributed under the GNU Public License and references a `COPYING` file for details. + +## Credits + +Originally credited to: + +- Eddie Dunckley +- Gert Cronje diff --git a/opt/logo-small.png b/opt/logo-small.png new file mode 100644 index 0000000..5d0e2af Binary files /dev/null and b/opt/logo-small.png differ diff --git a/opt/logo.png b/opt/logo.png new file mode 100644 index 0000000..1840f80 Binary files /dev/null and b/opt/logo.png differ