NAME
Mail::Milter::Authentication::Handler - Main handler class and methods
DESCRIPTION
Handle the milter requests and pass off to individual handlers
CONSTRUCTOR
- new( $thischild )
-
my $object = Mail::Milter::Authentication::Handler->new( $thischild );
Takes the argument of the current Mail::Milter::Authentication object and creates a new handler object.
METHODS
- get_version()
-
Return the version of this handler
- get_json ( $file )
-
Retrieve json data from external file
- metric_register( $id, $help )
-
Register a metric type
- metric_count( $id, $labels, $count )
-
Increment a metrics counter by $count (defaults to 1 if undef)
- metric_send()
-
Send metrics to the parent
- register_metrics
-
Return details of the metrics this module exports.
- get_microseconds()
-
Return current time in microseconds
- top_setup_callback()
-
Top level handler for handler setup.
- top_connect_callback( $hostname, $ip )
-
Top level handler for the connect event.
- top_helo_callback( $helo_host )
-
Top level handler for the HELO event.
- top_envfrom_callback( $env_from )
-
Top level handler for the MAIL FROM event.
- top_envrcpt_callback( $env_to )
-
Top level handler for the RCPT TO event.
- top_header_callback( $header, $value )
-
Top level handler for a Mail Header event.
- top_eoh_callback()
-
Top level handler for the end of headers event.
- top_body_callback( $body_chunk )
-
Top level handler for a Body Chunk event.
- top_eom_callback()
-
Top level handler for the End of Message event.
- top_abort_callback()
-
Top level handler for the Abort event.
- top_close_callback()
-
Top level handler for the Close event.
- status( $status )
-
Set the status of the current child as visible by ps.
- config()
-
Return the configuration hashref.
- handler_config( $type )
-
Return the configuration for the current handler.
- handler_type()
-
Return the current handler type.
- set_return( $code )
-
Set the return code to be passed back to the MTA.
- get_return()
-
Get the current return code.
- get_reject_mail()
-
Get the reject mail reason (or undef)
- clear_reject_mail()
-
Clear the reject mail reason
- get_top_handler()
-
Return the current top Handler object.
- is_handler_loaded( $name )
-
Check if the named handler is loaded.
- get_handler( $name )
-
Return the named handler object.
- get_callbacks( $callback )
-
Return the list of handlers which have callbacks for the given event in the order they must be called in.
- set_object_maker( $name, $ref )
-
Register an object maker for type 'name'
- get_object( $name )
-
Return the named object from the object store.
Object 'resolver' will be created if it does not already exist.
Object 'spf_server' will be created by the SPF handler if it does not already exist.
Handlers may register makers for other types as required.
- set_object( $name, $object, $destroy )
-
Store the given object in the object store with the given name.
If $destroy then the object will be destroyed when the connection to the child closes
- destroy_object( $name )
-
Remove the reference to the named object from the object store.
- destroy_all_objects()
-
Remove the references to all objects currently stored in the object store.
Certain objects (resolver and spf_server) are not destroyed for performance reasons.
- exit_on_close()
-
Exit this child once it has completed, do not process further requests with this child.
- reject_mail( $reason )
-
Reject mail with the given reason
- clear_all_symbols()
-
Clear the symbol store.
- clear_symbols()
-
Clear the symbol store but do not remove the Connect symbols.
- set_symbol( $code, $key, $value )
-
Store the key value pair in the symbol store with the given code (event stage).
- get_symbol( $searchkey )
-
Return a value from the symbol store, searches all codes for the given key.
- tempfail_on_error()
-
Returns a TEMP FAIL to the calling MTA if the configuration is set to do so.
Config can be set for all, authenticated, local, and trusted connections.
- is_local_ip_address()
-
Is the current connection from a local ip address?
Requires the LocalIP Handler to be loaded.
- is_trusted_ip_address()
-
Is the current connection from a trusted ip address?
Requires the TrustedIP Handler to be loaded.
- is_authenticated()
-
Is the current connection authenticated?
Requires the Auth Handler to be loaded.
- ip_address()
-
Return the ip address of the current connection.
- format_ctext( $text )
-
Format text as ctext for use in headers.
- format_ctext_no_space( $text )
-
Format text as ctext with no spaces for use in headers.
- format_header_comment( $comment )
-
Format text as a comment for use in headers.
- format_header_entry( $key, $value )
-
Format text as a key value pair for use in authentication header.
- get_domain_from( $address )
-
Extract the domain from an email address.
- get_address_from( $text )
-
Extract an email address from a string.
- get_my_hostname()
-
Return the effective hostname of the MTA.
- dbgout( $key, $value, $priority )
-
Send output to debug and/or Mail Log.
priority is a standard Syslog priority.
- log_error( $error )
-
Log an error.
- dbgoutwrite()
-
Write out logs to disc.
Logs are not written immediately, they are written at the end of a connection so we can include a queue id. This is not available at the start of the process.
- add_headers()
-
Send the header changes to the MTA.
- prepend_header( $field, $value )
-
Add a trace header to the email.
- add_auth_header( $value )
-
Add a section to the authentication header for this email.
- add_c_auth_header( $value )
-
Add a section to the authentication header for this email, and to any subsequent emails for this connection.
- append_header( $field, $value )
-
Add a normal header to the email.
- smfis_continue()
-
Return Continue code.
- smfis_tempfail()
-
Return TempFail code.
- smfis_reject()
-
Return Reject code.
- smfis_discard()
-
Return Discard code.
- smfis_accept()
-
Return Accept code.
- write_packet( $type, $data )
-
Write a packet to the MTA (calls Protocol object)
- add_header( $key, $value )
-
Write an Add Header packet to the MTA (calls Protocol object)
- insert_header( $index, $key, $value )
-
Write an Insert Header packet to the MTA (calls Protocol object)
- change_header( $key, $index, $value )
-
Write a Change Header packet to the MTA (calls Protocol object)
WRITING HANDLERS
tbc
AUTHORS
Marc Bradshaw <marc@marcbradshaw.net>
COPYRIGHT
Copyright 2017
This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.