For 'servername' check for invalid characters. If the setup is
+ Interactive : re-prompt.
+ Non-Interactive : throw exception.

Patch attached.

New strings need review and also pl check the completeness of
'InvalidChars' list.

Thanks,
Johnny


Index: Changelog
===================================================================
--- Changelog   (revision 6792)
+++ Changelog   (working copy)
@@ -1,3 +1,8 @@
+2007-04-17  Johnny Jacob  <[EMAIL PROTECTED]>
+
+       * SimiasServerSetup.cs : Check for Invalid Chars in server name and
+          reprompt. In non-interactive throw exception.
+
 2007-03-05  B S Srinidhi  <[EMAIL PROTECTED]>
 
        * Makefile.am: Remove generated scripts (patch by Jan-Simon Möller).
Index: SimiasServerSetup.cs
===================================================================
--- SimiasServerSetup.cs        (revision 6792)
+++ SimiasServerSetup.cs        (working copy)
@@ -70,6 +70,10 @@
                private static string PrivateAddressKey = "PrivateAddress";
 
                private static string TemplateScriptFile = "simias-server";
+
+               //Invalid Character List.
+               public static char[] InvalidChars = {'\\', ':', '*', '?', '\"', 
'<', '>', '|', ' '};
+
                #endregion
 
                #region Member Fields
@@ -274,6 +278,7 @@
                        path.OnOptionEntered = new Option.OptionEnteredHandler( 
OnPath );
                        defaultConfigPath.OnOptionEntered = new 
Option.OptionEnteredHandler( OnDefaultConfig );
 
+                       serverName.OnOptionEntered = new 
Option.OptionEnteredHandler( OnServerName );
                        slaveServer.OnOptionEntered = new 
Option.OptionEnteredHandler( OnSlave );
                        publicUrl.OnOptionEntered = new 
Option.OptionEnteredHandler( OnPublicUrl );
                        privateUrl.OnOptionEntered = new 
Option.OptionEnteredHandler( OnPrivateUrl );
@@ -326,6 +331,27 @@
                        return true;
                }
 
+               private bool OnServerName()
+               {
+                   //Check For invalid characters
+                       if (serverName.Value.IndexOfAny(InvalidChars) == -1 ? 
false : true )
+                       {
+                               if (!Prompt.CanPrompt)
+                               {
+                                   throw new Exception ("Server Name contains 
invalid characters");
+                               }
+
+                               Console.WriteLine ("ServerName contains invalid 
characters. Please re-enter Server Name");
+
+                               serverName.Assigned = false;
+                               serverName.Prompt = true;
+
+                               Prompt.ForOption (serverName);
+                               return true;
+                       }
+                       return true;
+               }
+
                private bool OnDefaultConfig()
                {
                        configPath = Path.GetFullPath( defaultConfigPath.Value 
);
_______________________________________________
ifolder-dev mailing list
[email protected]
http://forge.novell.com/mailman/listinfo/ifolder-dev

Reply via email to