| 
      
            Lines 38-46
          my $schema  = Koha::Database->new->schema;
      
      
        Link Here
      
     | 
  
        
          | 38 | 
          my $builder = t::lib::TestBuilder->new;  | 
          38 | 
          my $builder = t::lib::TestBuilder->new;  | 
        
        
          | 39 | 
           | 
          39 | 
           | 
        
        
          | 40 | 
          subtest 'open redirection vulnerabilities in tracklinks' => sub { | 
          40 | 
          subtest 'open redirection vulnerabilities in tracklinks' => sub { | 
        
          
            
              | 41 | 
                  plan tests => 30;  | 
              41 | 
                  plan tests => 36;  | 
            
            
              | 42 | 
               | 
               | 
               | 
            
            
              | 43 | 
                  $schema->storage->txn_begin;  | 
            
        
          | 44 | 
           | 
          42 | 
           | 
        
        
          | 45 | 
              # No URI's  | 
          43 | 
              # No URI's  | 
        
        
          | 46 | 
              my $biblio        = $builder->build_sample_biblio();  | 
          44 | 
              my $biblio        = $builder->build_sample_biblio();  | 
        
  
    | 
      
            Lines 58-69
          subtest 'open redirection vulnerabilities in tracklinks' => sub {
      
      
        Link Here
      
     | 
  
        
          | 58 | 
              $biblio = $builder->build_sample_biblio();  | 
          56 | 
              $biblio = $builder->build_sample_biblio();  | 
        
        
          | 59 | 
              my $biblionumber3 = $biblio->biblionumber;  | 
          57 | 
              my $biblionumber3 = $biblio->biblionumber;  | 
        
        
          | 60 | 
              $record        = $biblio->metadata->record;  | 
          58 | 
              $record        = $biblio->metadata->record;  | 
        
          
            
              | 61 | 
                  $new856 = MARC::Field->new( '856', '', '', u => "www.google.com" );  | 
              59 | 
                  $new856 = MARC::Field->new( '856', '', '', u => "http://www.google.com" );  | 
            
        
          | 62 | 
              $record->insert_fields_ordered($new856);  | 
          60 | 
              $record->insert_fields_ordered($new856);  | 
        
        
          | 63 | 
              C4::Biblio::ModBiblio( $record, $biblionumber3 );  | 
          61 | 
              C4::Biblio::ModBiblio( $record, $biblionumber3 );  | 
        
        
          | 64 | 
           | 
          62 | 
           | 
        
        
          | 65 | 
              # URI at Item level  | 
          63 | 
              # URI at Item level  | 
        
          
            
              | 66 | 
                  my $item = $builder->build_sample_item( { uri => 'www.google.com' } ); | 
              64 | 
                  my $item = $builder->build_sample_item( { uri => 'http://www.google.com' } ); | 
            
        
          | 67 | 
              my $itemnumber1 = $item->itemnumber;  | 
          65 | 
              my $itemnumber1 = $item->itemnumber;  | 
        
        
          | 68 | 
           | 
          66 | 
           | 
        
        
          | 69 | 
              # Incorrect URI at Item level  | 
          67 | 
              # Incorrect URI at Item level  | 
        
  
    | 
      
            Lines 132-137
          subtest 'open redirection vulnerabilities in tracklinks' => sub {
      
      
        Link Here
      
     | 
  
        
          | 132 | 
                ->status_is( 404, "404 for itemnumber containing different URI" );  | 
          130 | 
                ->status_is( 404, "404 for itemnumber containing different URI" );  | 
        
        
          | 133 | 
              $t->get_ok( $opac . $good_itemnumber )  | 
          131 | 
              $t->get_ok( $opac . $good_itemnumber )  | 
        
        
          | 134 | 
                ->status_is( 302, "302 for itemnumber with matching URI" );  | 
          132 | 
                ->status_is( 302, "302 for itemnumber with matching URI" );  | 
        
            
              | 135 | 
               | 
               | 
               | 
            
            
              | 136 | 
                  $schema->storage->txn_rollback;  | 
            
        
          | 137 | 
          };  | 
          133 | 
          };  | 
        
          
            
              | 138 | 
              -   | 
              134 | 
               |