Diff for /loncom/configuration/SSL.pm between versions 1.1 and 1.6

version 1.1, 2016/07/25 19:50:16 version 1.6, 2017/05/26 03:43:43
Line 35  use Apache::lonlocal(); Line 35  use Apache::lonlocal();
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
   use DateTime;
   use DateTime::Format::x509;
 use LONCAPA;   use LONCAPA; 
   
 sub print_certstatus {  sub print_certstatus {
Line 57  sub print_certstatus { Line 59  sub print_certstatus {
                  'host'     => 'Connections Certificate',                   'host'     => 'Connections Certificate',
                  'hostname' => 'Replication Certificate',                   'hostname' => 'Replication Certificate',
                  'ca'       => 'LON-CAPA CA Certificate',                   'ca'       => 'LON-CAPA CA Certificate',
                    'expired'  => 'Expired',
                    'future'   => 'Future validity',
                    'nokey'    => 'No key',
                    'otherkey' => 'No matching key', 
     );      );
     my @files = qw(key host hostname ca);      my @files = qw(key host hostname ca);
     my @fields = qw(status cn start end alg size email);      my @fields = qw(status cn start end alg size email);
     foreach my $server (sort(keys(%{$servers}))) {      foreach my $server (sort(keys(%{$servers}))) {
         my $hostname = &Apache::lonnet::hostname($server);  
         my ($result,$hashref) = &Apache::lonnet::get_servercerts_info($server,$context);          my ($result,$hashref) = &Apache::lonnet::get_servercerts_info($server,$context);
         if ($result eq 'ok' && ref($hashref) eq 'HASH') {          if ($result eq 'ok' && ref($hashref) eq 'HASH') {
             if ($target eq 'web') {              if ($target eq 'web') {
                   my $hostname = &Apache::lonnet::hostname($server);
                 $message .= "<fieldset><legend>$hostname ($server)</legend>".                  $message .= "<fieldset><legend>$hostname ($server)</legend>".
                             &Apache::loncommon::start_data_table().                              &Apache::loncommon::start_data_table().
                             &Apache::loncommon::start_data_table_header_row()."\n";                              &Apache::loncommon::start_data_table_header_row()."\n";
Line 83  sub print_certstatus { Line 89  sub print_certstatus {
                     $message .= $file.'=';                      $message .= $file.'=';
                 }                  }
                 if (ref($hashref->{$file}) eq 'HASH') {                  if (ref($hashref->{$file}) eq 'HASH') {
                       my ($starttime,$endtime,$dateinvalid);
                     if ($target eq 'web') {                      if ($target eq 'web') {
                         $message .= '<td>'.$lt{'yes'}.'</td>';                          $message .= '<td>'.$lt{'yes'}.'</td>';
                     } else {                      } else {
                         $message .= $lt{'yes'}.',';                          $message .= 'yes,';
                       }
                       unless ($file eq 'key') {
                           if ($hashref->{$file}->{'end'} ne '') {
                               my $dt = DateTime::Format::x509->parse_datetime($hashref->{$file}->{'end'});
                               if (ref($dt)) {
                                   $endtime = $dt->epoch;
                                   if ($endtime < time) {
                                       if ($target eq 'web') {
                                           $dateinvalid = $lt{'expired'};
                                       } else {
                                           $dateinvalid = 'expired';
                                       }
                                   }
                               }
                           }
                           if ($hashref->{$file}->{'start'} ne '') {
                               my $dt = DateTime::Format::x509->parse_datetime($hashref->{$file}->{'start'});
                               if (ref($dt)) {
                                   $starttime = $dt->epoch;
                                   if ($starttime > time) {
                                       unless ($dateinvalid) {
                                           if ($target eq 'web') {
                                               $dateinvalid = $lt{'future'};
                                           } else {
                                               $dateinvalid = 'future';
                                           }
                                       }
                                   }
                               }
                           }
                     }                      }
                     foreach my $item (@fields) {                      foreach my $item (@fields) {
                         my $display = $hashref->{$file}->{$item};                          my $display = $hashref->{$file}->{$item};
                         if ($target eq 'web') {                          if ($item eq 'status') {
                             if ($item eq 'status') {                              if ($file eq 'key') {
                                 $display = &Apache::lonhtmlcommon::confirm_success($display);                                  if ($display =~ /ok$/) {
                                       if ($target eq 'web') {
                                           $display = &Apache::lonhtmlcommon::confirm_success($display);
                                       }
                                   }
                               } elsif ($file eq 'ca') {
                                   if ($dateinvalid) {
                                       $display = $dateinvalid;
                                   } elsif ($target eq 'web') {
                                       $display = &Apache::lonhtmlcommon::confirm_success($display);
                                   }
                               } elsif ($display =~ /^ok/) {
                                   if ($dateinvalid) {
                                       $display = $dateinvalid;
                                   } elsif ($target eq 'web') { 
                                       $display = &Apache::lonhtmlcommon::confirm_success($display);
                                   }
                               } elsif (($display eq 'nokey') || ($display eq 'otherkey')) {
                                   if ($target eq 'web') {
                                       $display = $lt{$display}; 
                                   }
                               }
                           } elsif ($item eq 'start') {
                               if ($starttime) {
                                   if ($target eq 'web') {
                                       $display = &Apache::lonlocal::locallocaltime($starttime);
                                   } else {
                                       $display = $starttime;
                                   }
                             }                              }
                           } elsif ($item eq 'end') {
                               if ($endtime) {
                                   if ($target eq 'web') {
                                       $display = &Apache::lonlocal::locallocaltime($endtime);
                                   } else {
                                       $display = $endtime;
                                   }
                               }
                           }
                           if ($target eq 'web') {
                             $message .= "<td>$display</td>";                              $message .= "<td>$display</td>";
                         } else {                          } else {
                             $message .= "$display,";                              $message .= "$display,";
Line 101  sub print_certstatus { Line 176  sub print_certstatus {
                     }                      }
                 } else {                  } else {
                     if ($target eq 'web') {                      if ($target eq 'web') {
                         $message .= '<td>'.$lt{'no'}.'<td>';                          $message .= '<td>'.$lt{'no'}.'</td>';
                     } else {                      } else {
                         $message .= $lt{'no'}.',';                          $message .= 'no,';
                     }                      }
                     foreach my $item (@fields) {                      foreach my $item (@fields) {
                         if ($target eq 'web') {                          if ($target eq 'web') {
Line 111  sub print_certstatus { Line 186  sub print_certstatus {
                         } else {                          } else {
                             $message .= ',';                              $message .= ',';
                         }                          }
                     }                      } 
                     if ($target eq 'web') {                  }
                         $message .= &Apache::loncommon::end_data_table_row()."\n";                  if ($target eq 'web') {
                     } else {                      $message .= &Apache::loncommon::end_data_table_row()."\n";
                         $message =~ s/,$//;                  } else {
                         $message .= '&';                      $message =~ s/,$//;
                     }                      $message .= '&';
                 }                  }
             }              }
             if ($target eq 'web') {              if ($target eq 'web') {
Line 128  sub print_certstatus { Line 203  sub print_certstatus {
             $message .= "\n";              $message .= "\n";
         } else {          } else {
             if ($target eq 'web') {              if ($target eq 'web') {
                 $message .= "$server error\n";                  $message .= "$server:error\n";
             } else {              } else {
                 $message .= "$server error\n";                  $message .= "$server:error\n";
             }              }
         }          }
     }      }

Removed from v.1.1  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>