OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
bin
/
etl
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/03/2023 08:06:37 AM
rwxr-xr-x
📄
config.pl
6.53 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
dataextract.sh
2.51 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
etl.pl
5.46 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
etlproc
11.81 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
func.pl
4.01 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
globvar.sh
330 bytes
02/03/2023 07:34:08 AM
rw-r--r--
📄
initetl.pl
1.88 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
libawk.awk
3.07 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
makeXtab2NormalExcel.pl
5.25 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
process.pl
6.92 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
process_changed.pl
5.69 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
readwrite.pl
4.16 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxcsv.pl
7.94 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxdb.pl
8.84 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxfile.pl
4.72 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxsalesforce.pl
3.33 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
rxsalesforce.pl.bak
3.33 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
rxxml.pl
12.66 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
rxxml2.pl
4.18 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
s.log
8.86 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
sendmail.pl
1.06 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
sourcequery.pl
4.17 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
sql.pl
13.89 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
sql_mssql.pl
13.89 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
store.pl
7.6 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
task.pl
30.55 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
task_mssql.pl
30.8 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
tmpxml.pl
1.49 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
userfunc.pl
5.5 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
valid.pl
3.9 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
workflow.pl
3.72 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
xform.pl
2.62 KB
02/03/2023 07:34:08 AM
rw-r--r--
Editing: valid.pl
Close
#!/usr/bin/perl #use warnings; sub validate_input{ my $indata = shift; my $sourcecollist = shift; my $validrule = shift; my $i = 0; my %validruledetails = %{$validrule}; # if ($Queryout eq $MAX){ # printlog($MAX, "---------------------------------------- Validating ----------------------------------------------"); # printlog($MAX, "DATA:@$indata"); # printlog($MAX, "SCOL:@$sourcecollist"); # foreach $v(keys %validruledetails){ # printlog($MAX, "$v @{$validruledetails{$v}}"); # } # foreach my $cl(@$sourcecollist){ # printlog($MAX, "KEY=$cl"); # printlog($MAX, "Input Data = @$indata"); # printlog($MAX, "Surce Cols = @$sourcecollist"); # } # } $i = 0; foreach my $sourcecol(@$sourcecollist){ if ((not defined @{$validruledetails{$sourcecol}}) || (@{$validruledetails{$sourcecol}}[6] eq 'N')){ $i++; next; } # printlog(@{$validruledetails{$sourcecol}}, "<<<<<<<<<<$sourcecol<<<<<<<"); # next if( @{$validruledetails{$sourcecol}}[6] eq 'N'); my $validationrule = ''; $validationrule = @{$validruledetails{$sourcecol}}[0]; my $reject_use = @{$validruledetails{$sourcecol}}[4] ; # printlog($MAX, "KEY=$i and VAL=[[$validationrule]] @$sourcecollist[$i] @$indata[$i] <$reject_use"); if($validationrule ne ''){ # printlog($MAX, "replacing $sourcecol with @$indata[$i]"); $validationrule =~ s/$sourcecol/@$indata[$i]/gsi; my $evl = eval($validationrule); printlog($MAX, "Validating : $validationrule Default Val = > @{$validruledetails{$sourcecol}}[1]"); if(($evl == 0) or (not defined $evl) or (length($evl) < 1)){ if($reject_use eq 'R'){ printlog($MAX, "Rule FAILEDDDDDDDDDDDDDDDDDDDDDDDDDDDD: IGNORE ROW"); return 0; }elsif($reject_use eq 'S'){ printlog($INFO, "Rule FAILEDDDDDDDDDDDD: Stopping task here: $useval"); return -1; }else{ my $useval = eval(@{$validruledetails{$sourcecol}}[1]); printlog($INFO, "Rule FAILEDDDDDDDDDDDD: USEING DEFAULT VALUE : $useval"); @$indata[$i] = $useval; } } else{ printlog($INFO, "Rule Passed"); } } else{ printlog($MAX, "@$sourcecollist[$i] - [NO RULE]"); } $i++; } # $i = 0; # if ($Queryout eq $MAX){ # foreach my $xcol(@$sourcecollist){ # printlog($MAX, "COLNAME =$xcol "); # #printf("[%-24s]", $xcol); # printlog($MAX, "RULEEEEEE = {"); # if(defined $$validrule{$xcol}){ printf("%-24s", $$validrule{$xcol}); } else{ printlog("UNDEFINED"); } # printlog($MAX, "}DATA = ["); # if(defined @$indata[$i]){ printf("%-25s", @$indata[$i]); } else{ printlog("UNDEF DATA"); } # printlog($MAX, "]"); # $i++; # } # } return 1; } ######################################################################################################### ######## W R I T E - A L L - U S E R - D E F I N E D - F U N C T I O N S - B E L O W - T H I S ######## ######################################################################################################### sub isexpr{ my $in = shift; my ($l, $op, $r) = $in =~ m/(\d+)\s+([\>\<\=\!]+)\s+(\d+)/gsi; $l = 0 + $l; $r = 0 + $r; return eval("$l $op $r"); #$res = eval("$l $op $r"); printlog($MAX, "IN=$in~~~~~~~~~~$l~~~~~~~~~~~~~~~~$op~~~~~~~~~~~~$r~~~~~~~~ISEXPR RET $res"); } sub isnumber{ my $in = shift; if($in =~ m/^[0-9\.\-\+]+$/g){ return 1; } return undef; } sub isdate{ my $indate = shift; #if($indate =~ /[12][09][0-9]{2}\-[0-3][0-9]\-[0-3][0-9]/g){ # ; # } return 1; } sub isdata{ printlog($MAX, "RECVD IN TO VALID PL: @_"); return 0 if((not defined $_[0]) or ($_[0] eq '')); return 1; } sub isregex{ return 1; } sub int{ return $_[0] + 0; } sub linecontains{ my ($srch) = @_; $dataline = $G_inputDataLine; printlog($MAX, "Looking {$srch} into {$dataline}"); return '1' if($dataline =~ $srch); printlog($MAX, "FAILED : NOT FOUND &&&&&&"); return ''; } sub goo{ my ($a, $b, $c ) = @_; return $b.$c."=".$a; } 1;