? boost-514156.patch
Index: boost.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/boost/boost.admin.inc,v
retrieving revision 1.1.2.1.2.3.2.38
diff -u -p -r1.1.2.1.2.3.2.38 boost.admin.inc
--- boost.admin.inc	15 Jul 2009 07:45:49 -0000	1.1.2.1.2.3.2.38
+++ boost.admin.inc	21 Jul 2009 22:58:18 -0000
@@ -247,6 +247,12 @@ function boost_admin_boost_performace_pa
     '#default_value' => BOOST_HALT_ON_ERRORS,
     '#description'   => t('Boost will not cache the page if there are PHP errors or drupal messages. Disable this if you want to cache pages even if it might contain errors.'),
   );
+  $form['advanced']['boost_disable_clean_url'] = array(
+    '#type'          => 'checkbox',
+    '#title'         => t('Turn off clean url\'s for logged in users'),
+    '#default_value' => BOOST_DISABLE_CLEAN_URL,
+    '#description'   => t('Drupal will output non clean url\'s for non anonymous users. This allows for the browser to cache the page and still have logging in work. This is more on the extreme side of tweaks.'),
+  );
   $form['advanced']['boost_multisite_single_db'] = array(
     '#type'          => 'checkbox',
     '#title'         => t('Do not store the cache file path in the database'),
Index: boost.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/boost/boost.module,v
retrieving revision 1.3.2.2.2.5.2.72
diff -u -p -r1.3.2.2.2.5.2.72 boost.module
--- boost.module	15 Jul 2009 07:48:30 -0000	1.3.2.2.2.5.2.72
+++ boost.module	21 Jul 2009 22:58:18 -0000
@@ -39,6 +39,7 @@ define('BOOST_CACHE_CSS',            var
 define('BOOST_CACHE_JS',             variable_get('boost_cache_js', FALSE));
 define('BOOST_PERMISSIONS_FILE',     variable_get('boost_permissions_file', ''));
 define('BOOST_PERMISSIONS_DIR',      variable_get('boost_permissions_dir', ''));
+define('BOOST_DISABLE_CLEAN_URL',    variable_get('boost_disable_clean_url', FALSE));
 
 // This cookie is set for all authenticated users, so that they can be
 // excluded from caching (or in the future get a user-specific cached page):
@@ -95,6 +96,17 @@ function boost_init() {
     }
   }
 
+  if (!empty($user->uid)) {
+    boost_set_cookie($user);
+    if (BOOST_DISABLE_CLEAN_URL) {
+      $GLOBALS['conf']['clean_url'] = 0;
+      db_query('TRUNCATE cache_filter');
+      db_query('TRUNCATE cache_menu');
+      cache_clear_all('*', 'cache_menu');
+      cache_clear_all('*', 'cache_filter');
+    }
+  }
+
   // Make sure the page is/should be cached according to our current configuration
   if (   strpos($_SERVER['SCRIPT_FILENAME'], 'index.php') === FALSE
       || variable_get('site_offline', 0)
@@ -108,13 +120,8 @@ function boost_init() {
     return;
   }
 
-  // For authenticated users, set a special cookie to prevent them
-  // inadvertently getting served pages from the static page cache.
-  if (!empty($user->uid)) {
-    boost_set_cookie($user);
-  }
   // We only generate cached pages for anonymous visitors.
-  else {
+  if (empty($user->uid)) {
     if (BOOST_ENABLED != CACHE_AGGRESSIVE) {
       $GLOBALS['conf']['cache'] = CACHE_DISABLED;
     }
