This file is indexed.

/usr/share/perl5/SOAP/Transport/MAILTO.pm is in libsoap-lite-perl 0.714-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# ======================================================================
#
# Copyright (C) 2000-2001 Paul Kulchenko (paulclinger@yahoo.com)
# SOAP::Lite is free software; you can redistribute it
# and/or modify it under the same terms as Perl itself.
#
# $Id: MAILTO.pm 386 2011-08-18 19:48:31Z kutterma $
#
# ======================================================================

package SOAP::Transport::MAILTO;

use strict;


our $VERSION = 0.714;

use MIME::Lite;
use URI;

# ======================================================================

package SOAP::Transport::MAILTO::Client;
use SOAP::Lite;
use vars qw(@ISA);
@ISA = qw(SOAP::Client);

sub DESTROY { SOAP::Trace::objects('()') }

sub new {
    my $class = shift;
    return $class if ref $class;

    my(@params, @methods);
    while (@_) { $class->can($_[0]) ? push(@methods, shift() => shift) : push(@params, shift) }
    my $self = bless {@params} => $class;
    while (@methods) { my($method, $params) = splice(@methods,0,2);
        $self->$method(ref $params eq 'ARRAY' ? @$params : $params)
    }
    SOAP::Trace::objects('()');

    return $self;
}

sub send_receive {
    my($self, %parameters) = @_;
    my($envelope, $endpoint, $action) =
        @parameters{qw(envelope endpoint action)};

    $endpoint ||= $self->endpoint;
    my $uri = URI->new($endpoint);
    %parameters = (%$self,
        map {URI::Escape::uri_unescape($_)}
            map {split/=/,$_,2}
                split /[&;]/, $uri->query || '');

    my $msg = MIME::Lite->new(
        To         => $uri->to,
        Type       => 'text/xml',
        Encoding   => $parameters{Encoding} || 'base64',
        Data       => $envelope,
        $parameters{From}
            ? (From => $parameters{From})
            : (),
        $parameters{'Reply-To'}
            ? ('Reply-To' => $parameters{'Reply-To'})
            : (),
        $parameters{Subject}
            ? (Subject    => $parameters{Subject})
            : (),
    );
    $msg->replace('X-Mailer' => join '/', 'SOAP::Lite', 'Perl', SOAP::Transport::MAILTO->VERSION);
    $msg->add(SOAPAction => $action);

    SOAP::Trace::transport($msg);
    SOAP::Trace::debug($msg->as_string);

    MIME::Lite->send(map {exists $parameters{$_}
        ? ($_ => $parameters{$_})
        : ()} 'smtp', 'sendmail');
    eval { local $SIG{__DIE__}; $MIME::Lite::AUTO_CC = 0; $msg->send };
    (my $code = $@) =~ s/ at .*\n//;

    $self->code($code);
    $self->message($code);
    $self->is_success(!defined $code || $code eq '');
    $self->status($code);

    return;
}

# ======================================================================

1;

__END__