2002-08-21 10:52:34 -04:00
|
|
|
\chapter{Overview}\label{sec:intro}
|
|
|
|
\section{What's in sunet?}
|
2002-02-12 06:50:54 -05:00
|
|
|
|
|
|
|
The Scheme Underground Network Package contains a set of libraries for
|
|
|
|
doing Net hacking from Scheme/scsh. It includes:
|
|
|
|
|
|
|
|
\begin{description}
|
2002-08-21 10:52:34 -04:00
|
|
|
\item[SMTP client library]
|
2002-02-12 06:50:54 -05:00
|
|
|
Forge mail from the comfort of your own Scheme process.
|
|
|
|
|
2002-08-21 10:52:34 -04:00
|
|
|
\item[RFC822 header library]
|
2002-02-12 06:50:54 -05:00
|
|
|
Read email-style headers. Useful in several contexts (smtp, http,
|
|
|
|
etc.)
|
|
|
|
|
2002-08-21 10:52:34 -04:00
|
|
|
\item[Simple structured HTML output library]
|
2002-02-12 06:50:54 -05:00
|
|
|
Balanced delimiters, etc.
|
|
|
|
|
2002-08-21 10:52:34 -04:00
|
|
|
\item[The SUnet Web server]
|
2002-02-12 06:50:54 -05:00
|
|
|
This is a complete implementation of an HTTP 1.0 server in Scheme.
|
|
|
|
The server contains other standalone packages that may separately be
|
|
|
|
of use:
|
|
|
|
\begin{itemize}
|
|
|
|
\item URI and URL parsers and unparsers.
|
|
|
|
\item A library to help writing CGI scripts in Scheme.
|
|
|
|
\item Server extensions for interfacing to CGI scripts.
|
|
|
|
\item Server extensions for uploading Scheme code.
|
|
|
|
\end{itemize}
|
|
|
|
\end{description}
|
2002-08-21 10:52:34 -04:00
|
|
|
|
|
|
|
%
|
|
|
|
\section{Obtaining the system}
|
2002-02-12 06:50:54 -05:00
|
|
|
|
2002-08-21 10:52:34 -04:00
|
|
|
The network code is available
|
|
|
|
\urlhd{http://www.scsh.net/sunet/}{here}{from
|
|
|
|
\url{http://www.scsh.net/sunet/}}.
|
|
|
|
To run the server, you
|
|
|
|
need version 0.6.3 or later of \urlhd{http://www.scsh.net/}{scsh}{scsh
|
|
|
|
from \url{http://www.scsh.net/}}.
|
|
|
|
Beyond actually running the server, the separate parser libraries and
|
|
|
|
other utilites may be of use as separate modules.
|
2002-02-12 06:50:54 -05:00
|
|
|
|
2002-08-21 10:52:34 -04:00
|
|
|
The SUnet package contains following parts:
|
2002-02-12 06:50:54 -05:00
|
|
|
%
|
|
|
|
\begin{itemize}
|
|
|
|
\item Several servers (HTTP, CGI, FTP)
|
|
|
|
\item Several clients (to FTP, SMTP, POP3, NTP)
|
|
|
|
\item procedures to handle URIs
|
|
|
|
\item procedures to handle RFC822 headers
|
|
|
|
\item analogue of \verb|ls| for scsh
|
|
|
|
\item {\dots}
|
|
|
|
\end{itemize}
|
|
|
|
|
2002-08-21 10:52:34 -04:00
|
|
|
\section{How to use the packages}
|
2002-02-12 06:50:54 -05:00
|
|
|
|
2002-08-21 10:52:34 -04:00
|
|
|
Scsh is started in the SUnet top-level directory. Then, the
|
|
|
|
description file of the modules is loaded and the \texttt{ftp} module
|
|
|
|
is opened (to use a ftp client). After the things are done, scsh is
|
|
|
|
finished via the \verb|,exit| command.
|
2002-08-21 09:35:41 -04:00
|
|
|
\begin{alltt}
|
2002-08-21 10:52:34 -04:00
|
|
|
atari-2600[72] scsh-0.6.2
|
|
|
|
Welcome to scsh 0.6.2 (Gambit-C 4.0)
|
2002-02-12 06:50:54 -05:00
|
|
|
Type ,? for help.
|
2002-08-21 10:52:34 -04:00
|
|
|
> ,config ,load packages.scm
|
2002-02-12 06:50:54 -05:00
|
|
|
modules.scm
|
|
|
|
> ,open ftp
|
|
|
|
Load structure ftp (y/n)? y
|
|
|
|
[ecm-utilities ecm-utilities.scm]
|
|
|
|
[netrc netrc.scm]
|
|
|
|
[ftp ftp.scm]
|
|
|
|
> ; do something nasty
|
|
|
|
> ,exit
|
2002-08-21 09:35:41 -04:00
|
|
|
atari-2600[73]
|
|
|
|
\end{alltt}
|
2002-02-12 06:50:54 -05:00
|
|
|
|
|
|
|
%%% Local Variables:
|
|
|
|
%%% mode: latex
|
2002-08-21 10:52:34 -04:00
|
|
|
%%% TeX-master: "man"
|
2002-02-12 06:50:54 -05:00
|
|
|
%%% End:
|