[Pkg-haskell-commits] [SCM] haskell-testpack branch, master, updated. debian/1.0.2-1-4-gb0d6b36
John Goerzen
jgoerzen at complete.org
Fri Apr 23 14:54:02 UTC 2010
The following commit has been merged in the master branch:
commit 79ac016ef98e18392f1ff78b2b76c2d6a1bd14a8
Author: John Goerzen <jgoerzen at complete.org>
Date: Fri Dec 24 08:48:27 2004 +0100
Updating docs
Keywords:
(jgoerzen at complete.org--projects/missingh--head--0.7--patch-166)
diff --git a/ChangeLog b/ChangeLog
index 99e2a12..b0cbf1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,20 @@
# arch-tag: automatic-ChangeLog--jgoerzen at complete.org--projects/missingh--head--0.7
#
+2004-12-24 01:48:27 GMT John Goerzen <jgoerzen at complete.org> patch-166
+
+ Summary:
+ Updating docs
+ Revision:
+ missingh--head--0.7--patch-166
+
+
+ modified files:
+ ChangeLog Setup.description libsrc/MissingH/IO/HVIO.hs
+ libsrc/MissingH/Network/FTP/Server.hs
+ libsrc/MissingH/Network/SocketServer.hs
+
+
2004-12-24 01:37:50 GMT John Goerzen <jgoerzen at complete.org> patch-165
Summary:
diff --git a/Setup.description b/Setup.description
index 3e75d53..010c3c1 100644
--- a/Setup.description
+++ b/Setup.description
@@ -15,10 +15,13 @@ Modules: MissingH.IO, MissingH.IO.Binary, MissingH.List,
MissingH.Hsemail.Rfc2822,
MissingH.Str,
MissingH.Cmd,
- MissingH.FiniteMap, MissingH.Path,
+ MissingH.FiniteMap, MissingH.Path, MissingH.Path.NameManip,
MissingH.Network,
MissingH.Network.FTP.Client,
- MissingH.Network.FTP.Parser,
+ MissingH.Network.FTP.ParserClient,
+ MissingH.Network.FTP.Server,
+ MissingH.Network.FTP.ParserServer,
+ MissingH.Network.SocketServer,
MissingH.Parsec,
MissingH.Either,
MissingH.ConfigParser,
@@ -36,6 +39,7 @@ Modules: MissingH.IO, MissingH.IO.Binary, MissingH.List,
MissingH.IO.HVFS.Combinators,
MissingH.IO.HVFS.InstanceHelpers,
MissingH.IO.HVFS.Utils,
+ MissingH.IO.HVIO,
MissingH.Email.Parser,
MissingH.Wash.Mail.Email,
MissingH.Wash.Mail.EmailConfig,
diff --git a/libsrc/MissingH/IO/HVIO.hs b/libsrc/MissingH/IO/HVIO.hs
index 1c0af1b..69cc92a 100644
--- a/libsrc/MissingH/IO/HVIO.hs
+++ b/libsrc/MissingH/IO/HVIO.hs
@@ -107,6 +107,8 @@ pipes cannot be used across a fork(). Also unlike Unix pipes, these pipes
are portable and interact well with Haskell threads. A new pipe can be created
with a call to 'newHVIOPipe'.
+Together with "MissingH.IO.HVFS", this module is part of a complete
+virtual filesystem solution.
-}
module MissingH.IO.HVIO(-- * Implementation Classes
@@ -114,7 +116,7 @@ module MissingH.IO.HVIO(-- * Implementation Classes
-- * Standard HVIO Implementations
-- ** Handle
- -- | Handle is a member of all four classes.
+ -- | Handle is a member of 'HVIO'.
-- ** Stream Reader
StreamReader, newStreamReader,
diff --git a/libsrc/MissingH/Network/FTP/Server.hs b/libsrc/MissingH/Network/FTP/Server.hs
index df43844..9a1690e 100644
--- a/libsrc/MissingH/Network/FTP/Server.hs
+++ b/libsrc/MissingH/Network/FTP/Server.hs
@@ -37,6 +37,43 @@ as defined by:
Written by John Goerzen, jgoerzen\@complete.org
+This is a modular FTP server implementation in pure Haskell. It is highly
+adaptable to many different tasks, and can serve up not only real files
+and directories, but also virtually any data structure you could represent
+as a filesystem. It does this by using the
+"MissingH.IO.HVFS" and "MissingH.IO.HVIO" modules.
+
+In addition, basic networking and multitasking configuration is handled
+via "MissingH.Network.SocketServer" and logging via
+"MissingH.Logging.Logger".
+
+This module is believed to be secure, but it not believed to be robust enough
+for use on a public FTP server. In particular, it may be vulnerable to denial
+of service attacks due to no timeouts or restrictions on data size, and
+error catching is not yet completely pervasive. These will be fixed in time.
+Your patches would also be welcomed.
+
+Here is an example server that serves up the entire local filesystem
+in a read-only manner:
+
+>import MissingH.Network.FTP.Server
+>import MissingH.Network.SocketServer
+>import MissingH.Logging.Logger
+>import MissingH.IO.HVFS
+>import MissingH.IO.HVFS.Combinators
+>
+>main = do
+> updateGlobalLogger "" (setLevel DEBUG)
+> updateGlobalLogger "MissingH.Network.FTP.Server" (setLevel DEBUG)
+> let opts = (simpleTCPOptions 12345) {reuse = True}
+> serveTCPforever opts $
+> threadedHandler $
+> loggingHandler "" INFO $
+> handleHandler $
+> anonFtpHandler (HVFSReadOnly SystemFS)
+
+Hint: if you wantto serve up only part of a filesystem, see
+'MissingH.IO.HVFS.Combinators.newHVFSChroot'.
-}
module MissingH.Network.FTP.Server(
diff --git a/libsrc/MissingH/Network/SocketServer.hs b/libsrc/MissingH/Network/SocketServer.hs
index 827f639..41b1da2 100644
--- a/libsrc/MissingH/Network/SocketServer.hs
+++ b/libsrc/MissingH/Network/SocketServer.hs
@@ -32,6 +32,9 @@ Written by John Goerzen, jgoerzen\@complete.org
Please note: this module is designed to work with TCP, UDP, and Unix domain
sockets, but only TCP sockets have been tested to date.
+
+This module is presently under-documented. For an example of usage, please
+see the description of "MissingH.Network.FTP.Server".
-}
module MissingH.Network.SocketServer(-- * Generic Options and Types
--
haskell-testpack
More information about the Pkg-haskell-commits
mailing list