home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _495053bfcd616daf5f8fba9db9856a2b < prev    next >
Text File  |  2000-03-23  |  6KB  |  147 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>NNML::Server - a minimal NNTP server</TITLE>
  5. <LINK REL="stylesheet" HREF="../../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> NNML::Server - a minimal NNTP server</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#authorization">AUTHORIZATION</A></LI>
  26.     <LI><A HREF="#features">FEATURES</A></LI>
  27.     <LI><A HREF="#bugs">BUGS</A></LI>
  28.     <LI><A HREF="#see also">SEE ALSO</A></LI>
  29.     <LI><A HREF="#author">AUTHOR</A></LI>
  30. </UL>
  31. <!-- INDEX END -->
  32.  
  33. <HR>
  34. <P>
  35. <H1><A NAME="name">NAME</A></H1>
  36. <P>NNML::Server - a minimal NNTP server</P>
  37. <P>
  38. <HR>
  39. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  40. <UL>
  41. <LI>Linux</LI>
  42. <LI>Solaris</LI>
  43. <LI>Windows</LI>
  44. </UL>
  45. <HR>
  46. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  47. <PRE>
  48.   perl -MNNML::Server -e server
  49.   perl -MNNML::Server -e unspool</PRE>
  50. <P>
  51. <HR>
  52. <H1><A NAME="description">DESCRIPTION</A></H1>
  53. <P><STRONG>NNML::Server</STRONG> server implements a minimal NNTP server. It is (hope-)
  54. fully conformant to rfc977. In addition the commands <CODE>XOVER</CODE> and
  55. <CODE>AUTHINFO</CODE> are implemented.</P>
  56. <P>Supported commands:</P>
  57. <PRE>
  58.   ARTICLE, AUTHINFO, BODY, GROUP, HEAD, HELP, IHAVE, LAST, LIST,
  59.   MODE, NEWGROUPS, NEWNEWS, NEXT, POST, QUIT, SLAVE, STAT</PRE>
  60. <PRE>
  61.   XOVER, XHDR, LIST NEWSGROUPS ng-spec
  62. </PRE>
  63. <PRE>
  64.  
  65. The main reason for writing this was to synchronize my mail directories
  66. across different hosts. The Mail directories are MH-Style with a F<.overview>
  67. file in each folder and an F<active> file in the base
  68. directory. These are maintained by the B<Emacs> B<Gnus> backend
  69. B<NNML>. To get started, you can generate/update this files using the
  70. B<overview> program. Upon C<POST> and C<IHAVE> commands this files
  71. will also be updated.</PRE>
  72. <P>To start from scratch use:</P>
  73. <PRE>
  74.   touch /tmp/active;
  75.   perl -MNNML::Server -e 'server(base => "/tmp", port => 3000)'</PRE>
  76. <P>To export your mh-Mail use:</P>
  77. <PRE>
  78.   perl overview -base ~/Mail
  79.   perl -MNNML::Server -e 'server(base => "$ENV{HOME}/Mail", port => 3000)'</PRE>
  80. <P>The command <STRONG>POST</STRONG> and <STRONG>IHAVE</STRONG> honour the <CODE>Newsgroups</CODE> header <STRONG>if</STRONG>
  81. not overwritten by the <CODE>X-Nnml-Groups</CODE> header. Articles will contain
  82. an appropriate <CODE>X-Nnml-Groups</CODE> header when retrieved by message-id.</P>
  83. <P>When the client submits the <CODE>SLAVE</CODE> command, all forther post
  84. requests are spooled in <CODE>$Config-</CODE>spool> (usually
  85. <EM>~/Mail/NNML.spool</EM>) for performance reasons. You can process the
  86. spooled articles by submitting the <CODE>XUNSPOOL</CODE> command or by calling</P>
  87. <PRE>
  88.   perl -MNNML::Server -e unspool</PRE>
  89. <P>Rejected articles will be saven in <CODE>$Config-</CODE>bad> (usually
  90. <EM>~/Mail/NNML.bad</EM>)</P>
  91. <P>
  92. <HR>
  93. <H1><A NAME="authorization">AUTHORIZATION</A></H1>
  94. <P>To enable access restrictions use:</P>
  95. <PRE>
  96.   perl -MNNML::Auth -e "NNML::Auth::add_user($ENV{LOGANME}, 'passwd', \
  97.     'read', 'write', 'admin')"</PRE>
  98. <P>If <EM>base</EM><EM>/passwd</EM> exists, three levels of authorization are recognized:</P>
  99. <DL>
  100. <DT><STRONG><A NAME="item_admin"><STRONG>admin</STRONG></A></STRONG><BR>
  101. <DD>
  102. Users with permission <STRONG>admin</STRONG> may shut down the server using <CODE>SHUT</CODE>.
  103. Also these users may create new groups simply by posting to them.
  104. Permission <STRONG>admin</STRONG> is also required for the <CODE>XUNSPOOL</CODE> command.
  105. <P></P>
  106. <DT><STRONG><A NAME="item_write"><STRONG>write</STRONG></A></STRONG><BR>
  107. <DD>
  108. Users with permission <STRONG>write</STRONG> may use the <STRONG>POST</STRONG> and <STRONG>IHAVE</STRONG> commands.
  109. <P></P>
  110. <DT><STRONG><A NAME="item_read"><STRONG>read</STRONG></A></STRONG><BR>
  111. <DD>
  112. All other commands require the <STRONG>read</STRONG> permission.
  113. <P></P></DL>
  114. <P>
  115. <HR>
  116. <H1><A NAME="features">FEATURES</A></H1>
  117. <P>Version 1.06 implements the <CODE>MODE GZIP</CODE> command. After submiting this
  118. commands, all articles, heads and bodies will be piped through <CODE>gzip
  119. -cf | mimencode</CODE>. The server will recognize post requeste using the
  120. same pipe automatically. This will speed up <STRONG>nnmirror</STRONG> if the line is
  121. sufficiant slow.</P>
  122. <P>
  123. <HR>
  124. <H1><A NAME="bugs">BUGS</A></H1>
  125. <P>The server handles multiple connections in a single thread. So a hung
  126. <CODE>POST</CODE> or <CODE>IHAVE</CODE> would block all connections. Therfore a post
  127. request is interrupted if the server could not read any bytes for 30
  128. seconds. The Client is notified by message 441. If the client
  129. continues to send the article, it is interpreted by the command loop.</P>
  130. <P>
  131. <HR>
  132. <H1><A NAME="see also">SEE ALSO</A></H1>
  133. <P>The <STRONG>overview</STRONG>(1) and <STRONG>nnmirror</STRONG>(1) manpages.</P>
  134. <P>
  135. <HR>
  136. <H1><A NAME="author">AUTHOR</A></H1>
  137. <P>Ulrich Pfeifer <<EM><A HREF="mailto:pfeifer@ls6.informatik.uni-dortmund.de">pfeifer@ls6.informatik.uni-dortmund.de</A></EM>></P>
  138. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  139. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  140. <STRONG><P CLASS=block> NNML::Server - a minimal NNTP server</P></STRONG>
  141. </TD></TR>
  142. </TABLE>
  143.  
  144. </BODY>
  145.  
  146. </HTML>
  147.