373. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 12/5/2017 12:06:49 PM Central Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

373.1 Files compared

# Location File Last Modified
1 IV-eHMP_CIF.zip\IMAG_Source\VISA\Java\TomcatAdapter\main\src\java\gov\va\med\server\tomcat TomcatBasicSkipVistaAuthenticationValve.java Mon Dec 4 21:34:48 2017 UTC
2 IV-eHMP_CIF.zip\IMAG_Source\VISA\Java\TomcatAdapter\main\src\java\gov\va\med\server\tomcat TomcatBasicSkipVistaAuthenticationValve.java Mon Dec 4 22:05:58 2017 UTC

373.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 178
Changed 1 2
Inserted 0 0
Removed 0 0

373.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

373.4 Active regular expressions

No regular expressions were active.

373.5 Comparison detail

  1   /**
  2    * 
  3     Package:  MAG - Vis tA Imaging
  4     WARNING:  Per VHA D irective 2 004-038, t his routin e should n ot be modi fied.
  5     Date Cre ated: May  19, 2011
  6     Site Nam e:  Washin gton OI Fi eld Office , Silver S pring, MD
  7       Developer:          
WERFEJ
  8     Descript ion: 
  9  
  10           ;;  +-------- ---------- ---------- ---------- ---------- ---------- ---------- +
  11           ;;  Property  of the US  Government .
  12           ;;  No permis sion to co py or redi stribute t his softwa re is give n.
  13           ;;  Use of un released v ersions of  this soft ware requi res the us er
  14           ;;   to execu te a writt en test ag reement wi th the Vis tA Imaging
  15           ;;   Developm ent Office  of the De partment o f Veterans  Affairs,
  16           ;;   telephon e (301) 73 4-0100.
  17           ;;
  18           ;;  The Food  and Drug A dministrat ion classi fies this  software a s
  19           ;;  a Class I I medical  device.  A s such, it  may not b e changed
  20           ;;  in any wa y.  Modifi cations to  this soft ware may r esult in a n
  21           ;;  adulterat ed medical  device un der 21CFR8 20, the us e of which
  22           ;;  is consid ered to be  a violati on of US F ederal Sta tutes.
  23           ;;  +-------- ---------- ---------- ---------- ---------- ---------- ---------- +
  24  
  25    */
  26   package go v.va.med.s erver.tomc at;
  27  
  28   import gov .va.med.im aging.tomc at.vistare alm.RealmE rrorContex t;
  29  
  30   import jav a.io.IOExc eption;
  31  
  32   import org .apache.ca talina.con nector.Req uest;
  33   import org .apache.ca talina.con nector.Res ponse;
  34   //import o rg.apache. catalina.d eploy.Logi nConfig;
  35   import org .apache.to mcat.util. descriptor .web.Login Config;
  36  
  37   import org .apache.lo gging.log4 j.LogManag er;
  38   import org .apache.lo gging.log4 j.Logger;
  39  
  40  
  41   /**
  42    * This ex tends the  Basic auth entication  valve for  Tomcat an d checks f or values  on thread  local to a dd as resp onse heade rs.
  43    * This al lows a cli ent to kno w why an a uthenticat ion failed
  44    * 
  45    * @author  vhaiswpet erb
  46    *
  47    */
  48   public cla ss TomcatB asicSkipVi staAuthent icationVal ve
  49   extends or g.apache.c atalina.au thenticato r.BasicAut henticator
  50   {
  51           pr ivate fina l static L ogger logg er = LogMa nager.getL ogger(Tomc atBasicSki pVistaAuth entication Valve.clas s);
  52           pu blic final  static St ring httpH eaderAuthe nticateErr orMessage  = "xxx-aut henticate- error-mess age";
  53           pu blic final  static St ring httpH eaderAuthe nticateErr orName = " xxx-authen ticate-err or-name";
  54           pu blic final  static St ring httpH eaderAuthe nticationS kipVistaAu thenticati on = "xxx- skip-authe nticate";
  55           pr ivate fina l String s kipValue =  "true";
  56  
  57           
  58           
  59           pu blic Tomca tBasicSkip VistaAuthe nticationV alve()
  60           {
  61                    supe r();
  62                    logg er.info("T omcatBasic SkipVistaA uthenticat ionValve < ctor>");
  63           }
  64  
  65           // @Override
  66           pu blic boole an authent icate(Requ est reques t, Respons e response , LoginCon fig loginC onfig)
  67                             throws  IOExcepti on
  68           {
  69                    // m ust clear  before cal ling to en sure not u sing a pre vious atte mpts data  (since thr eads are r ecycled)
  70                    Real mErrorCont ext.clear( );
  71                    Real mErrorCont ext.setSki pVistaAuth entication (skipValue );
  72                    logg er.debug(" Authentica ting via T omcatBasic SkipVistaA uthenticat ionValve." );
  73                    logg er.debug(" LoginConfi g: " + log inConfig.t oString()) ;
  74                    //bo olean resu lt = super .authentic ate(reques t, respons e, loginCo nfig);
  75                    bool ean result  = super.a uthenticat e(request,  response) ;
  76                    if(! result)
  77                    {                                                    
  78                             String  errorMess age = Real mErrorCont ext.getPro perty(Real mErrorCont ext.realmE rrorContex tException Message);
  79                             String  exception Class = Re almErrorCo ntext.getP roperty(Re almErrorCo ntext.real mErrorCont extExcepti onName);
  80                             logger .debug("au thenticati on failed  with error  '" + (exc eptionClas s == null  ? "<null>"  : excepti onClass) +  "' and me ssage '" +  (errorMes sage == nu ll ? "<nul l>" : erro rMessage)  + "'.");
  81                             if(err orMessage  != null)
  82                                      response .addHeader (httpHeade rAuthentic ateErrorMe ssage, err orMessage) ;
  83                             if(exc eptionClas s != null)
  84                                      response .addHeader (httpHeade rAuthentic ateErrorNa me, except ionClass);
  85                    }
  86                    Real mErrorCont ext.unsetR ealmErrorC ontext();
  87                    retu rn result;
  88           }
  89  
  90   }