Mail::SRS::Daemon
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)