![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /lib64/perl5/vendor_perl/Razor2/Client/ |
package Razor2::Client::Engine; use strict; use Data::Dumper; use Razor2::Signature::Ephemeral; use Razor2::Engine::VR8; use Razor2::Preproc::Manager; use Razor2::String qw(hextobase64 makesis debugobj); # meant to be inherited # sub new { return {}; } sub supported_engines { my @a = qw( 4 8 ); my $hr = {}; foreach (@a) { $hr->{$_} = 1; } return wantarray ? @a : $hr; } sub compute_engine { my ( $self, $engine, @params ) = @_; return $self->vr4_signature(@params) if $engine == 4; return $self->vr8_signature(@params) if $engine == 8; $self->log( 1, "engine $engine not supported" ); return; } # # The following *_signature subroutines should be # the same as the ones on the server # # # VR4 Engine - Ephemereal signatures of decoded body content # sub vr4_signature { my ( $self, $text, $ep4 ) = @_; my ( $seed, $separator ) = split /-/, $ep4, 2; return $self->log( 1, "vr4_signature: Bad ep4: $ep4" ) unless ( $seed && $separator ); my $ehash = new Razor2::Signature::Ephemeral( seed => $seed, separator => $separator ); my $digest = $ehash->hexdigest($$text); my $sig = hextobase64($digest); $self->log( 11, "engine 4 computing on " . length($$text) . ", sig=$sig" ); return $sig; } sub vr8_signature { my ( $self, $text ) = @_; my $vr8 = Razor2::Engine::VR8->new(); my $sigs = $vr8->signature($text); return $sigs; } 1;