Mail::SRS::Daemon

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
Mail::SRS::Daemon(3) User Contributed Perl Documentation Mail::SRS::Daemon(3)



NAME
       Mail::SRS::Daemon - modular daemon for Mail::SRS

SYNOPSIS
       my $daemon = new Mail::SRS::Daemon(	SecretFile  => $secretfile,
	    Separator	=> $separator,		 ); $daemon->run();

DESCRIPTION
       The SRS daemon listens on a socket for SRS address transformation
       requests. It transforms the addresses and returns the new addresses on
       the socket.

       It may be invoked from exim using ${readsocket ...}, and probably from
       other MTAs as well. See http://www.anarres.org/projects/srs/ for exam-
       ples.

METHODS
       $daemon = new Mail::SRS::Daemon(...)

       Construct a new Mail::SRS object and return it.	All parameters which
       are valid for Mail::SRS are also valid for Mail::SRS::Daemon and will
       be passed to the constructor of Mail::SRS verbatim. The exception to
       this rule is the Secret parameter, which will be promoted to a list
       and will have all secrets from SecretFile included. New parameters are
       documented here. See Mail::SRS for the rest.

       SecretFile => $string
	   A file to read for secrets. Secrets are specified once per line.
	   The first specified secret is used for encoding. Secrets are writ-
	   ten one per line. Blank lines and lines starting with a # are
	   ignored.  If Secret is not given, then the secret file must be
	   nonempty.

	   Secret will specify a primary secret and override SecretFile if
	   both are specified. However, secrets read from SecretFile still be
	   used for decoding if both are specified.

       Socket => $socket
	   An instance of IO::Socket, presumed to be a listening socket. This
	   may be provided in order to use a preexisting socket, rather than
	   have Mail::SRS::Daemon construct a new socket.

       $daemon->run()

       Run the daemon. This method will never return. Errors and exceptions
       are caught, and error messages are returned down the socket.

EXPORTS
       Given :all, this module exports the following variables.

       $SRSSOCKET
	   The filename of the default socket created by Mail::SRS::Daemon.

PROTOCOL
       The daemon waits for a single line of text from the client, and will
       respond with a single line. The lines are all of the form "COMMAND
       args...". Currently, two commands are supported: forward and reverse.

       A forward request looks like:

	       FORWARD sender@source.com alias@forwarder.com

       A reverse request looks like:

	       REVERSE srs0+HHH=TT=domain=local-part@forwarder.com

       In either case, the daemon will respond with either a translated
       address, or a line starting "ERROR ", followed by a message.

TODO
       Add more daemon-related options, such as path to socket, or inet
       socket address.

SEE ALSO
       Mail::SRS, srsd, http://www.anarres.org/projects/srs/

AUTHOR
	   Shevek
	   CPAN ID: SHEVEK
	   cpan@anarres.org
	   http://www.anarres.org/projects/

COPYRIGHT
       Copyright (c) 2004 Shevek. All rights reserved.

       This program is free software; you can redistribute it and/or modify
       it under the same terms as Perl itself.



perl v5.8.8			  2004-06-23		 Mail::SRS::Daemon(3)