This commit is contained in:
sperber 2002-08-21 15:15:48 +00:00
parent e8f82bc547
commit ffa411bd78
1 changed files with 24 additions and 32 deletions

View File

@ -1,20 +1,11 @@
\chapter{Overview}\label{sec:intro} \chapter{Overview}\label{sec:intro}
\section{What's in sunet?}
\section{What's in SUnet?}
The Scheme Underground Network Package contains a set of libraries for The Scheme Underground Network Package contains a set of libraries for
doing Net hacking from Scheme/scsh. It includes: doing Net hacking from Scheme/scsh. It includes:
\begin{description} \begin{description}
\item[SMTP client library]
Forge mail from the comfort of your own Scheme process.
\item[RFC822 header library]
Read email-style headers. Useful in several contexts (smtp, http,
etc.)
\item[Simple structured HTML output library]
Balanced delimiters, etc.
\item[The SUnet Web server] \item[The SUnet Web server]
This is a complete implementation of an HTTP 1.0 server in Scheme. This is a complete implementation of an HTTP 1.0 server in Scheme.
The server contains other standalone packages that may separately be The server contains other standalone packages that may separately be
@ -24,31 +15,31 @@ doing Net hacking from Scheme/scsh. It includes:
\item A library to help writing CGI scripts in Scheme. \item A library to help writing CGI scripts in Scheme.
\item Server extensions for interfacing to CGI scripts. \item Server extensions for interfacing to CGI scripts.
\item Server extensions for uploading Scheme code. \item Server extensions for uploading Scheme code.
\item Simple structured HTML output library
\end{itemize} \end{itemize}
\item[The SUnet ftp daemon]
This is a complete ftp server in Scheme.
\item[ftp client library] Access an ftp server programmatically.
\item[SMTP client library]
Forge mail from the comfort of your own Scheme process.
\item[POP3 client library]
Get at your mails from inside scsh.
\item[RFC822 header library]
Read email-style headers. Useful in several contexts (smtp, http,
etc.)
\item[Daytime and Time protocol client library]
Find out what time it is without paying for a Rolex.
\item[An \texttt{ls} clone] Display Unix-style directory listings
without running \texttt{ls}.
\end{description} \end{description}
%
\section{Obtaining the system} \section{Obtaining the system}
The network code is available The SUnet code is available
\urlhd{http://www.scsh.net/sunet/}{here}{from \urlhd{http://www.scsh.net/sunet/}{here}{from
\url{http://www.scsh.net/sunet/}}. \url{http://www.scsh.net/sunet/}}. To run the code, you need
To run the server, you version 0.6.3 or later of \urlhd{http://www.scsh.net/}{scsh}{scsh from
need version 0.6.3 or later of \urlhd{http://www.scsh.net/}{scsh}{scsh \url{http://www.scsh.net/}}.
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.
The SUnet package contains following parts:
%
\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}
\section{How to use the packages} \section{How to use the packages}
@ -56,6 +47,7 @@ Scsh is started in the SUnet top-level directory. Then, the
description file of the modules is loaded and the \texttt{ftp} module 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 is opened (to use a ftp client). After the things are done, scsh is
finished via the \verb|,exit| command. finished via the \verb|,exit| command.
%
\begin{alltt} \begin{alltt}
atari-2600[72] scsh-0.6.2 atari-2600[72] scsh-0.6.2
Welcome to scsh 0.6.2 (Gambit-C 4.0) Welcome to scsh 0.6.2 (Gambit-C 4.0)
@ -67,7 +59,7 @@ Load structure ftp (y/n)? y
[ecm-utilities ecm-utilities.scm] [ecm-utilities ecm-utilities.scm]
[netrc netrc.scm] [netrc netrc.scm]
[ftp ftp.scm] [ftp ftp.scm]
> ; do something nasty > ; call library code
> ,exit > ,exit
atari-2600[73] atari-2600[73]
\end{alltt} \end{alltt}