64. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/18/2017 11:37:29 AM Eastern Daylight 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.

64.1 Files compared

# Location File Last Modified
1 OSCIF_CPRS v32 Phase 2 Build 2OR3.0405_August_2017.zip\OR_30_405V36_SRC.zip\XE8\Broker\Source frmSignonMessage.pas Wed Oct 11 20:08:07 2017 UTC
2 OSCIF_CPRS v32 Phase 2 Build 2OR3.0405_August_2017.zip\OR_30_405V36_SRC.zip\XE8\Broker\Source frmSignonMessage.pas Tue Oct 17 19:52:31 2017 UTC

64.2 Comparison summary

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

64.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

64.4 Active regular expressions

No regular expressions were active.

64.5 Comparison detail

  1   { ******** ********** ********** ********** ********** ********** ****
  2           Pa ckage: XWB  - Kernel  RPCBroker
  3           Da te Created : Sept 18,  1997 (Ver sion 1.1)
  4           Si te Name: O akland, OI  Field Off ice, Dept  of Veteran  Affairs
  5           De velopers:  PI I
PII
  6           De scription:  Contains  TRPCBroker  and relat ed compone nts.
  7     Unit: fr mSignonMes sage displ ays messag e from ser ver after  user
  8           si gnon.
  9           Cu rrent Rele ase: Versi on 1.1 Pat ch 65
  10   ********** ********** ********** ********** ********** ********** *** }
  11  
  12   { ******** ********** ********** ********** ********** **
  13     Changes  in v1.1.65  (HGW 11/1 0/2016) XW B*1.1*65
  14     1. Added  code to s et up and  assign for m to curre nt broker  session to
  15        displ ay a sign- on message  upon conn ecting to  a server.  This is a  VA
  16        Handb ook Append ix F requi rement (AC -8: System  Use Notif ication).
  17     2. Added  lblConnec tion to bo ttom of fo rm with:
  18          "Se cured conn ection to  ____ using  IPv4"
  19          "En crypted co nnection t o ____ usi ng IPv6"
  20          "Un secured co nnection t o ____ usi ng IPv4"
  21  
  22     Changes  in v1.1.60  (HGW 12/1 8/2013) XW B*1.1*60
  23     1. None.
  24  
  25     Changes  in v1.1.50  (JLI 09/0 1/2011) XW B*1.1*50
  26     1. None.
  27   ********** ********** ********** ********** **********  }
  28   unit frmSi gnonMessag e;
  29  
  30   {
  31   VA Handboo k Appendix  F, AC-8:  System Use  Notificat ion
  32   NIST SP 80 0-53
  33   The inform ation syst em:
  34    * Display s an appro ved system  use notif ication me ssage or b anner befo re
  35      grantin g access t o the syst em that pr ovides pri vacy and s ecurity no tices
  36      consist ent with a pplicable  Federal la ws, Execut ive Orders , policies ,
  37      regulat ions, stan dards, and  guidance  and states  that: (i)  users are
  38      accessi ng a U.S.  Government  informati on system;  (ii) syst em usage m ay be
  39      monitor ed, record ed, and su bject to a udit; (iii ) unauthor ized use o f the
  40      system  is prohibi ted and su bject to c riminal an d civil pe nalties; a nd (iv)
  41      use of  the system  indicates  consent t o monitori ng and rec ording;
  42    * Retains  the notif ication me ssage or b anner on t he screen  until user s take
  43      explici t actions  to log on  to or furt her access  the infor mation sys tem; and
  44    * For pub licly acce ssible sys tems: (i)  displays t he system  use inform ation when
  45      appropr iate, befo re grantin g further  access; (i i) display s referenc es, if
  46      any, to  monitorin g, recordi ng, or aud iting that  are consi stent with  privacy
  47      accommo dations fo r such sys tems that  generally  prohibit t hose activ ities;
  48      and (ii i) include s in the n otice give n to publi c users of  the infor mation
  49      system,  a descrip tion of th e authoriz ed uses of  the syste m.
  50   }
  51  
  52   interface
  53  
  54   uses
  55     {System}
  56     Classes,  SysUtils,  UITypes,
  57     {WinApi}
  58     Messages , ShellApi , Windows,
  59     {VA}
  60     fRPCBErr Msg, MFunS tr, SgnonC nf, Trpcb,  XWBRich20 , XWBut1,
  61     {Vcl}
  62     Graphics , Controls , Forms, D ialogs, St dCtrls, Bu ttons, Ext Ctrls;
  63  
  64   type
  65     TfrmSign onMsg = cl ass(TForm)
  66       Panel1 : TPanel;
  67       Panel2 : TPanel;
  68       BitBtn 1: TBitBtn ;
  69       mmoMsg : XWBRich2 0.TXWBRich Edit;
  70       RPCbiB roker: TRP CBroker;
  71       lblCon nection: T Label;
  72       proced ure Panel2 Resize(Sen der: TObje ct);
  73       proced ure BitBtn 1Click(Sen der: TObje ct);
  74       proced ure FormCl ose(Sender : TObject;  var Actio n: TCloseA ction);
  75       proced ure FormCr eate(Sende r: TObject );
  76       proced ure FormSh ow(Sender:  TObject);
  77       proced ure introT extURLClic k(Sender:  TObject; U RL: String );
  78     private
  79       OrigHe lp : Strin g;         //Help fil ename of c alling app lication.
  80       proced ure WMSysC ommand(var  Message:  TWMSysComm and); mess age WM_SYS COMMAND;
  81     public
  82       Defaul tSignonCon figuration : TSignonV alues;
  83     end;
  84  
  85   procedure  PrepareSig nonMessage (AppBroker : TRPCBrok er);
  86   function   SetUpMessa ge : Boole an; overlo ad;
  87  
  88   var
  89     Messagef rmSignOnBr oker: TRPC Broker;
  90     frmSigno nMsg: Tfrm SignonMsg;
  91                                                         
  92   const
  93     SC_Confi gure = 1;
  94     SC_About  = 2;
  95  
  96   implementa tion
  97  
  98   var
  99     SysMenu:  HMenu;
  100  
  101   {$R *.DFM}
  102  
  103   {--------- ---------- -- TfrmSig nonMsg.Pre pareSignon Message -- ------
  104   Assigns a  TRPCBroker  component  to this s ession
  105   ---------- ---------- ---------- ---------- ---------- ---------- ------}
  106   procedure  PrepareSig nonMessage (AppBroker : TRPCBrok er);
  107   begin
  108     Messagef rmSignonBr oker := Ap pBroker;
  109   end;
  110  
  111  
  112   {--------- ---------- -- TfrmSig nonMsg.Set UpMessage  ---------- ------
  113   Set up Mes sage form.
  114   ---------- ---------- ---------- ---------- ---------- ---------- ------}
  115   function S etUpMessag e: Boolean ;
  116   var
  117     Connecte dUser: Str ing;
  118     Connecte dSecurity:  String;
  119     Connecte dServer: S tring;
  120     Connecte dIPprotoco l: String;
  121   begin
  122     //Messag efrmSignon Broker sup ersedes Rp cbiBroker
  123     if Messa gefrmSigno nBroker =  nil then M essagefrmS ignonBroke r := frmSi gnonMsg.Rp cbiBroker;
  124     with frm SignonMsg  do
  125     begin
  126       Connec tedUser :=  '';
  127       Connec tedSecurit y := '';
  128       Connec tedServer  := '';
  129       Connec tedIPproto col := '';
  130       try
  131         with  frmSignon Msg do
  132         begi n
  133           if  Messagefr mSignonBro ker.RPCBEr ror = '' t hen
  134           be gin
  135              if Message frmSignonB roker.SSOi LogonName  <> '' then
  136                Connecte dUser := M essagefrmS ignonBroke r.SSOiLogo nName + '  has ';
  137              if Message frmSignonB roker.IPse cSecurity  = 1 then
  138                Connecte dSecurity  := 'a secu re connect ion to ';
  139              if Message frmSignonB roker.IPse cSecurity  = 2 then
  140                Connecte dSecurity  := 'an enc rypted con nection to  ';
  141              if Connect edSecurity  = '' then
  142                Connecte dSecurity  := 'a conn ection to  ';
  143              ConnectedS erver := M essagefrmS ignonBroke r.Login.Do mainName +  ' using ' ;
  144              if Message frmSignonB roker.IPpr otocol = 4  then
  145                Connecte dIPProtoco l := 'IPv4 .';
  146              if Message frmSignonB roker.IPpr otocol = 6  then
  147                Connecte dIPProtoco l := 'IPv6 .';
  148              if not (Co nnectedUse r = '') th en
  149                frmSigno nMsg.lblCo nnection.C aption :=  ConnectedU ser
  150                  + Conn ectedSecur ity
  151                  + Conn ectedServe r
  152                  + Conn ectedIPpro tocol;
  153           en d;
  154         end;
  155       except
  156       end;
  157     end;
  158     Result : = True;        //By d efault Mes sage is di splayed (V A Handbook  6500 requ irement).
  159   end;
  160  
  161  
  162   {--------- ---------- -- TfrmSig nonMsg.For mClose --- ---------- ------
  163   Close frmS ignonMessa ge Form
  164   ---------- ---------- ---------- ---------- ---------- ---------- ------}
  165   procedure  TfrmSignon Msg.FormCl ose(Sender : TObject;  var Actio n: TCloseA ction);
  166   begin
  167     if Piece (strSize,U ,1) = '2'  then
  168     begin
  169       strSiz e := '2^'+ IntToStr(W idth)+ U +  IntToStr( Height);
  170       WriteR egData(HKC U, REG_SIG NON, 'Sign onSiz', st rSize);
  171     end;
  172     if Piece (strPositi on,U,1) =  '2' then
  173     begin
  174       strPos ition := ' 2^'+IntToS tr(Top)+ U  + IntToSt r(Left);
  175       WriteR egData(HKC U, REG_SIG NON, 'Sign onPos', st rPosition) ;
  176     end;
  177     Applicat ion.HelpFi le := Orig Help;  //  Restore he lpfile.
  178   end;
  179  
  180  
  181   {--------- ---------- -- TfrmSig nonMsg.For mCreate -- ---------- ------
  182   Instantiat e frmSigno nMessage F orm
  183   ---------- ---------- ---------- ---------- ---------- ---------- ------}
  184   procedure  TfrmSignon Msg.FormCr eate(Sende r: TObject );
  185   var
  186     SignonCo nfiguratio n: TSignon Configurat ion;
  187   begin
  188     if (Pos( 'LARGE',Up perCase(Re adRegDataD efault(HKC U, 'Contro l Panel\Ap pearance',  'Current' ,''))) > 0 ) or
  189        (Scre en.Width <  800) then
  190     begin
  191       Window State := w sMaximized ;
  192       with S creen do
  193       begin
  194         if W idth < 700  then               / / 640
  195           mm oMsg.Font. Size := 9
  196         else  if Width  < 750 then          / / 720
  197           mm oMsg.Font. Size := 10
  198         else  if Width  < 900 then          / / 800
  199           mm oMsg.Font. Size := 11
  200         else  if Width  < 1100 the n        / / 1024
  201           mm oMsg.Font. Size := 15
  202         else  if Width  < 1200 the n        / / 1152
  203           mm oMsg.Font. Size := 16
  204         else  if Width  < 1900 the n
  205           mm oMsg.Font. Size := 19          / / 1280
  206         else
  207           mm oMsg.Font. Size := 28 ;        / / 1920
  208       end; / / with
  209     end;
  210     FormStyl e := fsSta yOnTop;    // make fo rm stay on  top of ot hers so it  can be fo und
  211     {adjust  appearance  per user' s preferen ces}
  212     SignonCo nfiguratio n := TSign onConfigur ation.Crea te;
  213     try
  214       Defaul tSignonCon figuration  := TSignO nValues.Cr eate;
  215       Defaul tSignonCon figuration .BackColor  := mmoMsg .Color;
  216       Defaul tSignonCon figuration .Height :=  Height;
  217       Defaul tSignonCon figuration .Width :=  Width;
  218       Defaul tSignonCon figuration .Position  := '0';
  219       Defaul tSignonCon figuration .Size := ' 0';
  220       Defaul tSignonCon figuration .Left := L eft;
  221       Defaul tSignonCon figuration .Top := To p;
  222       Defaul tSignonCon figuration .Font := m moMsg.Font ;
  223       Defaul tSignonCon figuration .TextColor  := mmoMsg .Font.Colo r;
  224       Defaul tSignonCon figuration .FontStyle s := mmoMs g.Font.Sty le;
  225       Signon Defaults.S etEqual(De faultSigno nConfigura tion);
  226       Signon Configurat ion.ReadRe gistrySett ings;
  227       if Ini tialValues .Size = '0 ' then
  228       begin   {restore  defaults}
  229         Widt h:= Defaul tSignonCon figuration .Width;
  230         Heig ht := Defa ultSignonC onfigurati on.Height;
  231       end
  232       else
  233       begin
  234         try
  235           Po sition :=  poDesigned ;
  236           Wi dth := Str ToInt(Piec e(strSize, U,2));
  237           He ight := St rToInt(Pie ce(strSize ,U,3));
  238         exce pt
  239           Wi dth:= Defa ultSignonC onfigurati on.Width;
  240           He ight := De faultSigno nConfigura tion.Heigh t;
  241         end;
  242       end;
  243       if Ini tialValues .Position  = '0' then  {restore  defaults}
  244         Posi tion := po ScreenCent er
  245       else
  246       begin
  247         try
  248           To p:= StrToI nt(Piece(s trPosition ,U,2));
  249           Le ft := StrT oInt(Piece (strPositi on,U,3));
  250         exce pt
  251           Po sition :=  poScreenCe nter
  252         end;
  253       end;
  254       if Ini tialValues .BackColor  <> 0 then
  255         mmoM sg.Color : = InitialV alues.Back Color
  256       else
  257         mmoM sg.Color : = clWindow ;
  258       mmoMsg .Font := I nitialValu es.Font;
  259       mmoMsg .URLDetect  := TRUE;
  260       lblCon nection.Ca ption := ' ';
  261     finally
  262       Signon Configurat ion.Free;
  263     end;
  264   end;
  265  
  266  
  267   {--------- ---------- -- TfrmSig nonMsg.For mShow ---- ---------- -----
  268   Show frmSi gnonMessag e Form
  269   ---------- ---------- ---------- ---------- ---------- ---------- ------}
  270   procedure  TfrmSignon Msg.FormSh ow(Sender:  TObject);
  271   var
  272     Str: Str ing;
  273   begin
  274     Str := ' RPCBroker' ;
  275     {add Con figure...  to system  menu}
  276     SysMenu  := GetSyst emMenu(Han dle, False );
  277     AppendMe nu(SysMenu , MF_Enabl ed + MF_St ring + MF_ Unchecked,  SC_Config ure,
  278                 '&Prope rties...') ;
  279     AppendMe nu(SysMenu , MF_Enabl ed + MF_St ring + MF_ Unchecked,  SC_About, PChar('&Ab out '+Str) );
  280     with Mes sagefrmSig nOnBroker  do
  281     begin
  282       Remote Procedure  := 'XUS IN TRO MSG';
  283       lstCal l(mmoMsg.L ines);
  284     end;
  285     OrigHelp  := Applic ation.Help File;              //  Save orig inal helpf ile.
  286     Applicat ion.HelpFi le := Read RegData(HK LM, REG_BR OKER, 'Bro kerDr') +
  287                                '\c lagent.hlp ';      //  Identify  ConnectTo  helpfile.
  288   end;
  289  
  290  
  291   procedure  TfrmSignon Msg.Panel2 Resize(Sen der: TObje ct);
  292   begin
  293     BitBtn1. Left := (P anel2.Widt h - BitBtn 1.Width) d iv 2;
  294   end;
  295  
  296  
  297   procedure  TfrmSignon Msg.BitBtn 1Click(Sen der: TObje ct);
  298   begin
  299     Close;
  300   end;
  301  
  302  
  303   {--------- ---------- -- TfrmSig nonMsg.int roTextURLC lick ----- ------
  304   Implement  'click' on  a URL in  the introT ext box
  305   ---------- ---------- ---------- ---------- ---------- ---------- ------}
  306   procedure  TfrmSignon Msg.introT extURLClic k(Sender:  TObject; U RL: String );
  307   begin
  308     //URL :=  TIdURI.UR LEncode(UR L);          //Indy I dURI unit
  309     ShellExe cute(Appli cation.Han dle,'open' ,PChar(URL ),nil,nil, SW_NORMAL) ;
  310   end;
  311  
  312  
  313   {--------- ---------- -- TfrmSig nonMsg.WMS ysCommand  ---------- ---------
  314   'Configure ' or 'Abou t' popup b ox (system  commands)
  315   ---------- ---------- ---------- ---------- ---------- ---------- ------}
  316   procedure  TfrmSignon Msg.WMSysC ommand(var  Message:  TWMSysComm and);
  317   var
  318     Str: Str ing;
  319     SignonCo nfiguratio n: TSignon Configurat ion;
  320     frmErrMs g: TfrmErr Msg;
  321   begin
  322     if Messa ge.CmdType  = SC_Conf igure then
  323     begin
  324       Signon Configurat ion := TSi gnonConfig uration.Cr eate;
  325       try
  326         Show Applicatio nAndFocusO K(Applicat ion);
  327         Sign onConfigur ation.Show Modal;
  328       finall y
  329         Sign onConfigur ation.Free ;
  330         Self .WindowSta te := wsNo rmal;
  331       end;
  332     end
  333     else if  Message.Cm dType = SC _About the n
  334     begin
  335       frmErr Msg := Tfr mErrMsg.Cr eate(Appli cation);
  336       try
  337         frmE rrMsg.Capt ion := 'Ab out RPCBro ker';
  338         Str  := 'RPCBro ker Versio n is '+Rpc biBroker.B rokerVersi on;
  339         frmE rrMsg.mmoE rrorMessag e.Lines.Ad d(Str);
  340         Show Applicatio nAndFocusO K(Applicat ion);
  341         frmE rrMsg.Show Modal;
  342       finall y
  343         frmE rrMsg.Free ;
  344       end;
  345     end
  346     else
  347       inheri ted;
  348   end;
  349  
  350   end.
  351