⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib64
/
perl5
/
vendor_perl
/
Razor2
/
Preproc
/
View File Name :
Manager.pm
package Razor2::Preproc::Manager; use Razor2::Preproc::deBase64; use Razor2::Preproc::deQP; use Razor2::Preproc::deHTMLxs; use Razor2::Preproc::deHTML; use Razor2::Preproc::deNewline; use Razor2::Preproc::deHTML_comment; use Data::Dumper; use strict; sub new { my ( $class, %args ) = @_; my %self = (); $self{deBase64} = new Razor2::Preproc::deBase64 unless exists $args{no_deBase64}; $self{deQP} = new Razor2::Preproc::deQP unless exists $args{no_deQP}; $self{deHTML} = new Razor2::Preproc::deHTMLxs unless exists $args{no_deHTML}; $self{deNewline} = new Razor2::Preproc::deNewline unless exists $args{no_deNewline}; $self{deHTML_comment} = new Razor2::Preproc::deHTML_comment if exists $args{deHTML_comment}; $self{rm} = $args{RM}; return bless \%self, $class; } # # $bodyref must be Headers\n\r*\nBody # for this to work. Cleaned ref to Body returned. # sub preproc { my ( $self, $bodyref, $dolength ) = @_; my $lengths = { '1_orig' => length($$bodyref) } if $dolength; #-- $self->{rm}->{log}->log(12, "before_deBase64:"); if ( exists $$self{deBase64} && $self->{deBase64}->isit($bodyref) ) { $self->{deBase64}->doit($bodyref); } #-- $self->{rm}->{log}->log(12, "after_deBase64:"); #$self->log2file($bodyref, "preproc.afta.debase64"); $lengths->{'2_after_deBase64'} = length($$bodyref) if $dolength; #-- $self->{rm}->{log}->log(12, "before_deQP:"); my $isQP; if ( exists $$self{deQP} && ( $isQP = $self->{deQP}->isit($bodyref) ) ) { $self->{deQP}->doit($bodyref); } #-- $self->{rm}->{log}->log(12, "after_deQP:"); #$self->log2file($bodyref, "preproc.afta.deQP.$isQP"); $lengths->{'3_after_deQP'} = length($$bodyref) if $dolength; #-- $self->{rm}->{log}->log(12, "before_deHTML:"); if ( exists $$self{deHTML} && $self->{deHTML}->isit($bodyref) ) { $self->{deHTML}->doit($bodyref); } #-- $self->{rm}->{log}->log(12, "after_deHTML:"); if ( exists $$self{deHTML_comment} && $self->{deHTML_comment}->isit($bodyref) ) { $self->{deHTML_comment}->doit($bodyref); } #-- $self->{rm}->{log}->log(12, "before_deNewline:"); if ( exists $$self{deNewline} ) { $self->{deNewline}->doit($bodyref); } #-- $self->{rm}->{log}->log(12, "after_deNewline:"); #$self->log2file($bodyref, "preproc.afta.deHTML"); $lengths->{'4_after_deHTML'} = length($$bodyref) if $dolength; my ( $hdr, $body ) = split /\n\r*\n/, $$bodyref, 2; $$bodyref = $body; $lengths->{'5_after_header_removal'} = length($$bodyref) if $dolength; return $lengths; } sub log2file { my ( $self, $msgref, $mailid ) = @_; my $len = length($$msgref); my $fn = "/tmp/.razor.debug.msg.$$.$mailid"; if ( open OUT, ">$fn" ) { print OUT $$msgref; close OUT; } else { } } 1;