MailGatewayAccessControl
Jump to navigation
Jump to search
You can limit access to the Mail Gateway REST API via 2 methods. You can use normal allow/deny directives in your Apache conf files, like this:
<Location /REST/1.0/NoAuth> Order Allow,Deny Allow from 127.0.0.1 </Location>
Or you can use the BeforeProcessing callback
(This callback may not be in your version of RT. Use this patch:
--- html/REST/1.0/NoAuth/mail-gateway (revision 1365) +++ html/REST/1.0/NoAuth/mail-gateway (working copy) @@ -54,6 +54,9 @@ </%ARGS> <%init> use RT::Interface::Email; +$m->comp( '/Elements/Callback', + _CallbackName => 'BeforeProcessing', + %ARGS ); my ( $status, $error, $Ticket ) = RT::Interface::Email::Gateway(\%ARGS); if ($status == -75 ) { $m->out("temporary failure - ". $error);
)
And then you can use this callback:
[$RT/local/html/Callbacks/something/REST/1.0/NoAuth/mail-gateway] <%init> my $ip = $ENV{'REMOTE_ADDR'}; unless ($ip =~ /(?:127\.0\.0\.1)/) { $r->status(403); $m->abort(403); } </%init>