[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