HEX
Server: Apache/2.4.54 (Unix) OpenSSL/1.0.2k-fips
System: Linux f17.eelserver.com 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64
User: zulfiqar (1155)
PHP: 8.2.0
Disabled: mail, exec, system, popen, proc_open, shell_exec, passthru, show_source
Upload Files
File: //lib64/perl5/vendor_perl/Razor2/Preproc/deQP.pm
package Razor2::Preproc::deQP;

#use MIME::QuotedPrint;

sub new {
    return bless {}, shift;
}

sub isit {
    my ( $self, $text ) = @_;
    my ( $hdr, $body ) = split /\n\r*\n/, $$text, 2;
    return $hdr =~ /^Content-Transfer-Encoding: quoted-printable/ism;
}

sub doit {

    my ( $self, $text ) = @_;

    my ( $hdr, $body ) = split /\n\r*\n/, $$text, 2;

    # comment this out to be compatible with libpreproc.cc:qp_decode()
    #$body =~ s/[ \t]+?(\r?\n)/$1/g;  # rule #3 (trailing space must be deleted)
    $body =~ s/=\r?\n//g;    # rule #5 (soft line breaks)
    $body =~ s/=([\da-fA-F]{2})/pack("C", hex($1))/ge;

    $$text = "$hdr\n\n$body";

    return $text;
}

sub extract_qp {
    my ( $self, $text ) = @_;

    if ( $$text =~ /Content-Transfer-Encoding: quoted-printable(.*)$/sim ) {
        my $rhs = $1;
        $rhs =~ /\r?\n\r?\n(.*)$/s;
        return $1;
    }
    return undef;
}

1;