Index: index.php
===================================================================
--- index.php	(revision a0109c4933e0bfb5ed9dbcf94f932991ca689542)
+++ index.php	(revision e34ae17809c3dff8ed870405ffed4e0077cb8512)
@@ -3,5 +3,5 @@
  +-----------------------------------------------------------------------+
  | RoundCube Webmail IMAP Client                                         |
- | Version 0.1-20060907                                                  |
+ | Version 0.1-20061122                                                  |
  |                                                                       |
  | Copyright (C) 2005-2006, RoundCube Dev. - Switzerland                 |
@@ -41,5 +41,5 @@
 */
 
-define('RCMAIL_VERSION', '0.1-20060907');
+define('RCMAIL_VERSION', '0.1-20061122');
 
 // define global vars
@@ -91,9 +91,10 @@
 
 // catch some url/post parameters
-$_task = get_input_value('_task', RCUBE_INPUT_GPC);
-$_action = get_input_value('_action', RCUBE_INPUT_GPC);
+$_task = strip_quotes(get_input_value('_task', RCUBE_INPUT_GPC));
+$_action = strip_quotes(get_input_value('_action', RCUBE_INPUT_GPC));
 $_framed = (!empty($_GET['_framed']) || !empty($_POST['_framed']));
 
-if (empty($_task))
+// use main task if empty or invalid value
+if (empty($_task) || !in_array($_task, $MAIN_TASKS))
   $_task = 'mail';
 
@@ -373,7 +374,5 @@
 
 // parse main template
-// only allow these templates to be included
-if (in_array($_task, $MAIN_TASKS))
-  parse_template($_task);
+parse_template($_task);
 
 
Index: program/include/main.inc
===================================================================
--- program/include/main.inc	(revision e61145f246658a78af1d5b1068c5fc91190ee324)
+++ program/include/main.inc	(revision e34ae17809c3dff8ed870405ffed4e0077cb8512)
@@ -1064,5 +1064,11 @@
   }
 
-
+/**
+ * Remove single and double quotes from given string
+ */
+function strip_quotes($str)
+{
+  return preg_replace('/[\'"]/', '', $str);
+}
 
 
