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