/[projects]/dao/DaoMqPump2/DaoMqPump2/Transport.cs
ViewVC logotype

Diff of /dao/DaoMqPump2/DaoMqPump2/Transport.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2082 by torben, Thu Aug 29 07:54:49 2013 UTC revision 2083 by torben, Tue Nov 26 19:20:45 2013 UTC
# Line 280  namespace DaoMqPump2 Line 280  namespace DaoMqPump2
280                                      string msgString = mqMsg.ReadString(mqMsg.MessageLength);                                      string msgString = mqMsg.ReadString(mqMsg.MessageLength);
281                                      //System.Console.WriteLine(msgString);                                      //System.Console.WriteLine(msgString);
282    
283                                      if ( msgString.StartsWith("?") ) //Hvis transaktionen starter med et ? er det ikke en gyldig transaktion  
284                                        // Hvis transaktionen starter med et ? er det ikke en gyldig transaktion
285                                        // validér ligeledes at headeren er gyldig
286                                        if ( msgString.StartsWith("?") || validateSalt2Header(msgString) == false )
287                                      {                                      {
288                                          string discarded_filename = getLogFilename(LogfileType.LogDiscarded);                                          string discarded_filename = getLogFilename(LogfileType.LogDiscarded);
289                                          using (StreamWriter discardedlog = new StreamWriter(discarded_filename, true))                                          using (StreamWriter discardedlog = new StreamWriter(discarded_filename, true))
# Line 454  namespace DaoMqPump2 Line 457  namespace DaoMqPump2
457              return now.ToString("s");              return now.ToString("s");
458          }          }
459    
460            private bool validateSalt2Header(string salt2String)
461            {
462                int result;
463    
464                string afsender = salt2String.Substring(0, 5);
465                string modtager = salt2String.Substring(5, 5);
466                string afsenderTegnSaet = salt2String.Substring(10, 6);
467                string standardNavn = salt2String.Substring(16, 6);
468                string standardVersion = salt2String.Substring(22, 3);
469                string afsenderSekvensnr = salt2String.Substring(25, 6);
470                string afsenderTidsstempel = salt2String.Substring(31, 14);
471                string afsenderBakkeIdent = salt2String.Substring(45, 5);
472                string modtagerBakkeIdent = salt2String.Substring(50, 5);
473                string transaktionForkortelse = salt2String.Substring(55, 4);
474                string transaktionsLaengde = salt2String.Substring(59, 5);
475                string prioritet = salt2String.Substring(64, 1);
476    
477                if (int.TryParse(standardVersion.Trim(), out result) == false) // standardVersion _skal_ være en int
478                {
479                    return false;
480                }
481    
482                if (int.TryParse(afsenderSekvensnr.Trim(), out result) == false) // afsenderSekvensnr _skal_ være en int
483                {
484                    return false;
485                }
486    
487                if (int.TryParse(afsenderTidsstempel.Trim(), out result) == false) // afsenderTidsstempel _skal_ være en int
488                {
489                    return false;
490                }
491    
492                if (int.TryParse(transaktionsLaengde.Trim(), out result) == false) // transaktionsLaengde _skal_ være en int
493                {
494                    return false;
495                }
496    
497                if ( int.TryParse(prioritet.Trim(), out result) == false ) // prioritet _skal_ være en int
498                {
499                    return false;
500                }
501    
502                return true;
503            }
504    
505          private void addLogEntry(string msg)          private void addLogEntry(string msg)
506          {          {
507              msg = getNowString() + " " + msg;              msg = getNowString() + " " + msg;

Legend:
Removed from v.2082  
changed lines
  Added in v.2083

  ViewVC Help
Powered by ViewVC 1.1.20