Provided by: libmail-srs-perl_0.31-6_all bug

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 examples.

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 written 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.