From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/8141 Path: main.gmane.org!not-for-mail From: Mark Boyns Newsgroups: gmane.emacs.gnus.general Subject: NNML-1.15 (A tiny nntp-server) on CPAN rsn. Date: 01 Oct 1996 09:16:15 -0700 Sender: boyns@sdsu.edu Message-ID: NNTP-Posting-Host: coloc-standby.netfonds.no X-Trace: main.gmane.org 1035148351 10341 80.91.224.250 (20 Oct 2002 21:12:31 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 20 Oct 2002 21:12:31 +0000 (UTC) Return-Path: ding-request@ifi.uio.no Original-Received: from ifi.uio.no (ifi.uio.no [129.240.64.2]) by deanna.miranova.com (8.7.6/8.6.9) with SMTP id KAA07449 for ; Tue, 1 Oct 1996 10:00:46 -0700 Original-Received: from doctor.sdsu.edu (doctor.sdsu.edu [130.191.13.1]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 1 Oct 1996 18:16:19 +0200 Original-Received: (from boyns@localhost) by doctor.sdsu.edu (8.7.4/8.7.3) id JAA02027; Tue, 1 Oct 1996 09:16:16 -0700 (PDT) X-Url: http://www.sdsu.edu/~boyns/ Original-To: ding@ifi.uio.no Original-Lines: 115 X-Mailer: Red Gnus v0.44/Emacs 19.34 Xref: main.gmane.org gmane.emacs.gnus.general:8141 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:8141 This looks interesting. ------- Start of forwarded message ------- From: Ulrich Pfeifer Newsgroups: comp.lang.perl.announce,comp.lang.perl.misc Subject: NNML-1.15 (A tiny nntp-server) on CPAN rsn. Followup-To: comp.lang.perl.misc Date: 1 Oct 1996 12:45:26 GMT Organization: University of Dortmund, Germany Message-ID: <52r3p6$a2p@nadine.teleport.com> o Ever wanted to have your own little NNTP-Server for communicating with your colleagues instead of mailing lists? o You read mail and news on different systems and want to synchronize your mail folders over slow links. o You don't have NNTP at home or want to read and post off-line? If you checked any of the above, NNML is for you. It is tested with perl5.003_05 but it may work with any version which is able to compile IO-1.12. This means you _need_ IO-1.12 (Thanks to Graham Barr!). If you want to use the nnmirror facility you should also fetch NNTPClient. DISCLAIMER: This is definitive _alpha_ software. I wrote it Saturday and use it since then without problems. But I can give no guarantee that it does not destroy your complete file system after posting it to c.l.p.m ;-). You should find NNML-1.15 really soon now on CPAN: http://www.perl.com/CPAN/authors/id/ULPFR/ Ulrich Pfeifer -- @J = split //,"J!k Phau^eHeens%rarrot&\ncl t "; for(0..24){print $J[$_*7%($#J+1)]} NAME NNML::Server - a minimal NNTP server SYNOPSIS perl -MNNML::Server -e server DESCRIPTION NNML::Server server implements a minimal NNTP server. It is (hope-) fully conformant to rfc977. In addition the commands XOVER and AUTHINFO are implemented. Supported commands: ARTICLE, AUTHINFO, BODY, GROUP, HEAD, HELP, IHAVE, LAST, LIST, MODE, NEWGROUPS, NEWNEWS, NEXT, POST, QUIT, SLAVE, STAT, XOVER The main reason for writing this was to synchronize my mail directories across different hosts. The Mail directories are MH-Style with a .overview file in each folder and an active file in the base directory. These are maintained by the Emacs Gnus backend NNML. To get started, you can generate/update this files using the overview program. Upon POST and IHAVE commands this files will also be updated. To start from scratch use: touch /tmp/active; perl -MNNML::Server -e 'server(base => "/tmp", port => 3000)' To export your mh-Mail use: perl overview -base ~/Mail perl -MNNML::Server -e 'server(base => "$ENV{HOME}/Mail", port => 3000)' The command POST and IHAVE honour the Newsgroups header if not overwritten by the X-Nnml-Groups header. Articles will contain an appropriate X-Nnml-Groups header when retrieved by message-id. AUTHORIZATION To enable access restrictions use: perl -MNNML::Auth -e "NNML::Auth::add_user($ENV{LOGNAME}, 'LovePerl', \ 'read', 'write', 'admin')" If base/passwd exists, three levels of authorization are recognized: admin Users with permission admin may shut down the server using SHUT. Also these users may create new groups simply by posting to them. write Users with permission write may use the POST and IHAVE commands. read All other commands require the read permission. BUGS The server handles multiple connections in a single thread. So a hung POST or IHAVE would block all connections. Therfore a post request is interrupted if the server could not read any bytes for 10 seconds. The Client is notified by message 441. If the client continues to send the article, it is interpreted by the command loop. SEE ALSO The overview(1) and nnmirror(1) manpages. AUTHOR Ulrich Pfeifer ------- End of forwarded message -------