⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.133
Server IP:
185.119.109.197
Server:
Linux managedhosting.chostar.me 5.15.0-160-generic #170-Ubuntu SMP Wed Oct 1 10:06:56 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.1.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
perl5
/
Mail
/
SPF
/
v1
/
View File Name :
Record.pm
# # Mail::SPF::v1::Record # SPFv1 record class. # # (C) 2005-2012 Julian Mehnle
# 2005 Shevek
# $Id: Record.pm 57 2012-01-30 08:15:31Z julian $ # ############################################################################## package Mail::SPF::v1::Record; =head1 NAME Mail::SPF::v1::Record - SPFv1 record class =cut use warnings; use strict; use base 'Mail::SPF::Record'; use constant TRUE => (0 == 0); use constant FALSE => not TRUE; use constant mech_classes => { all => 'Mail::SPF::Mech::All', ip4 => 'Mail::SPF::Mech::IP4', ip6 => 'Mail::SPF::Mech::IP6', a => 'Mail::SPF::Mech::A', mx => 'Mail::SPF::Mech::MX', ptr => 'Mail::SPF::Mech::PTR', 'exists' => 'Mail::SPF::Mech::Exists', include => 'Mail::SPF::Mech::Include' }; use constant mod_classes => { redirect => 'Mail::SPF::Mod::Redirect', 'exp' => 'Mail::SPF::Mod::Exp' }; eval("require $_") foreach values(%{mech_classes()}), values(%{mod_classes()}); use constant version_tag => 'v=spf1'; use constant version_tag_pattern => qr/ v=spf(1) (?= \x20 | $ ) /ix; use constant scopes => ('helo', 'mfrom'); =head1 SYNOPSIS See L
. =head1 DESCRIPTION An object of class B
represents an B
(C
) record. =head2 Constructors The following constructors are provided: =over =item B
: returns I
Creates a new SPFv1 record object. %options is a list of key/value pairs representing any of the following options: =over =item B
=item B
=item B
See L
. =item B
See L
. Since SPFv1 records always implicitly cover the C
and C
scopes, this option must either be exactly B<['helo', 'mfrom']> (or B<['mfrom', 'helo']>) or be omitted. =back =cut sub new { my ($self, %options) = @_; $self = $self->SUPER::new(%options); if (defined(my $scopes = $self->{scopes})) { @$scopes > 0 or throw Mail::SPF::EInvalidScope('No scopes for v=spf1 record'); @$scopes == 2 and ( $scopes->[0] eq 'help' and $scopes->[1] eq 'mfrom' or $scopes->[0] eq 'mfrom' and $scopes->[1] eq 'help' ) or throw Mail::SPF::EInvalidScope( "Invalid set of scopes " . join(', ', map("'$_'", @$scopes)) . " for v=spf1 record"); } return $self; } =item B
: returns I
; throws I
, I
, I
Creates a new SPFv1 record object by parsing the string and any options given. =back =head2 Class methods The following class methods are provided: =over =item B
: returns I
Returns a regular expression that matches a version tag of B<'v=spf1'>. =item B
=item B
See L
. =back =head2 Instance methods The following instance methods are provided: =over =item B
=item B
=item B
=item B
=item B
=item B
=item B
See L
. =item B
: returns I
Returns B<'v=spf1'>. =back =head1 SEE ALSO L
, L
, L
, L
, L
L
For availability, support, and license information, see the README file included with Mail::SPF. =head1 AUTHORS Julian Mehnle
, Shevek
=cut TRUE;