shell bypass 403
# Copyrights 2001-2019 by [Mark Overmeer].
# For other contributors see ChangeLog.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
# This code is part of distribution Mail-Box. Meta-POD processed with
# OODoc into POD and HTML manual-pages. See README.md
# Copyright Mark Overmeer. Licensed under the same terms as Perl itself.
package Mail::Box::Net::Message;
use vars '$VERSION';
$VERSION = '3.008';
use base 'Mail::Box::Message';
use strict;
use warnings;
use File::Copy;
use Carp;
sub init($)
{ my ($self, $args) = @_;
$self->SUPER::init($args);
$self->unique($args->{unique});
$self;
}
#-------------------------------------------
sub unique(;$)
{ my $self = shift;
@_ ? $self->{MBNM_unique} = shift : $self->{MBNM_unique};
}
#-------------------------------------------
#-------------------------------------------
sub loadHead()
{ my $self = shift;
my $head = $self->head;
return $head unless $head->isDelayed;
my $folder = $self->folder;
$folder->lazyPermitted(1);
my $parser = $self->parser or return;
$self->readFromParser($parser);
$folder->lazyPermitted(0);
$self->log(PROGRESS => 'Loaded delayed head.');
$self->head;
}
#-------------------------------------------
sub loadBody()
{ my $self = shift;
my $body = $self->body;
return $body unless $body->isDelayed;
my $head = $self->head;
my $parser = $self->parser or return;
if($head->isDelayed)
{ $head = $self->readHead($parser);
if(defined $head)
{ $self->log(PROGRESS => 'Loaded delayed head.');
$self->head($head);
}
else
{ $self->log(ERROR => 'Unable to read delayed head.');
return;
}
}
else
{ my ($begin, $end) = $body->fileLocation;
$parser->filePosition($begin);
}
my $newbody = $self->readBody($parser, $head);
unless(defined $newbody)
{ $self->log(ERROR => 'Unable to read delayed body.');
return;
}
$self->log(PROGRESS => 'Loaded delayed body.');
$self->storeBody($newbody->contentInfoFrom($head));
}
#-------------------------------------------
1;