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 a 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. AUTHORIZATION To enable access restrictions use: perl -MNNML::Auth -e "NNML:Auth::add_user($ENV{LOGANME}, 'passwd', \ 'read', 'write', 'admin')" If basef exists, three levels of authorization are recognized: admin Users with permission admin may shut down the server using SHUT. write Users with permission write may use the POST and IHAVE commands. read All other commands require the b permission. BUGS The server handles multiple connections in a single thread. So a hung POST or IHAVE will block all connections. SEE ALSO The overview(1) and nnmirror(1) manpages. AUTHOR Ulrich Pfeifer