cyphersec A blog about Web Application Security and .NET development best practices

5Oct/080

cc

image

In the new upcoming release of Code Crawler a new bunch of features where will released.
The Team Management section of the tool has started to work last night and I’m really confident to be able to include new features within next week.

In Code Crawler units of code are rappresented and individually marked as “functionalities”.
As you can see in the screenshot below, each functionality has its own folder and IO structure.

image

The “Emails” functionality relies on a xml data storage file which expose the place where informations like smpt server, smtp username, server port, and other personal user settings are stored.

   1: <?xml version="1.0" encoding="utf-8" ?>
   2: <CodeCrawlerFunctionality>
   3:     <EmailReports>
   4:         <ServerSettings>
   5:             <smtpServer>value</smtpServer>
   6:             <smtpUsername>value</smtpUsername>
   7:             <smtpPassword>value</smtpPassword>
   8:             <serverport>25</serverport>
   9:             <securessl>0</securessl>
  10:         </ServerSettings>
  11:         <EmailOptions>
  12:             <HighPriorityByDefault>0</HighPriorityByDefault>
  13:             <userEmail>value@value.com</userEmail>
  14:         </EmailOptions>
  15:     </EmailReports>
  16: </CodeCrawlerFunctionality>

CC will read this values and set the all the relevant variables just a bit before the email is sent, so you can change smtp server, and all other settings “on the fly”.

   1: /// <summary>
   2: /// Read the content of the /Functionalities/Emails/Settings/EmailSettings.xml file
   3: /// </summary>
   4: public void ReadUserProfile()
   5: {
   6:     XmlTextReader settingsReader = new XmlTextReader(EmailSettingsFilePath);
   7:     while (settingsReader.Read())
   8:     {
   9:         XmlNodeType nType = settingsReader.NodeType;
  10:         if (nType == XmlNodeType.Element)
  11:         {
  12:             switch (settingsReader.Name.ToLower())
  13:             {
  14:                 #region Read And Set Variables
  15:                 case "smtpserver":
  16:                     {
  17:                         smtpserver = settingsReader.ReadElementContentAsString();
  18:                         break;
  19:                     }
  20:  
  21:                 case "useremail":
  22:                     {
  23:                         useremailaddress = settingsReader.ReadElementContentAsString();
  24:                         break;
  25:                     }
  26:  
  27:                 case "smtpusername":
  28:                     {
  29:                         username = settingsReader.ReadElementContentAsString();
  30:                         break;
  31:                     }
  32:  
  33:                 case "smtppassword":
  34:                     {
  35:                         password = settingsReader.ReadElementContentAsString();
  36:                         break;
  37:                     }
  38:  
  39:                 case "securessl":
  40:                     {
  41:                         isSecureSSL = settingsReader.ReadElementContentAsBoolean();
  42:                         break;
  43:                     }
  44:  
  45:                 case "highprioritybydefault":
  46:                     {
  47:                         isMessageHighPriorityByDefault = settingsReader.ReadElementContentAsBoolean();
  48:                         break;
  49:                     }
  50:  
  51:                 case "serverport":
  52:                     {
  53:                         serverport = settingsReader.ReadElementContentAsInt();
  54:                         break;
  55:                     }
  56:                 #endregion
  57:             }
  58:         }
  59:     }
  60: }

As you can see there’s still some work on the UI but the window is pretty clear.

image 

If the specified server is working and all the information supplied are correct CC will send a pre-formatted and stiled email with the report attached. CC supports all smtp servers with or without SSL support. Each Email teamplate is based on a xslt template, company logos or rebranded teamplates can be used at any time.

image

The next functionality is Review Manager.

image 

Review Manager (also knows as Calendar in the development), share the Outgoing smtp server settings with the “Emails” functionality, I need feedbacks on this please email or even comment here what settings would you like to send or plan.

Thanks!

Call for Help:

Are you a smart skilled C# developer with serious XML skills which would like to help making CC a better and usefull tool? Please drop a line!

About Alessio Marziali

Alessio Marziali (MCTS) is a Security Consultant with 9 years of experience developing secure applications with Microsoft .NET in a variety of sectors in UK and Italy. Published technical author with two ASP.NET books currently available for purchase and OWASP Code Crawler Project Leader.
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


CAPTCHA image

No trackbacks yet.