=== modified file 'sites/all/modules/session443/session443.admin.inc'
--- session443.admin.inc	2011-05-11 20:27:52 +0000
+++ session443.admin.inc	2011-05-11 22:07:37 +0000
@@ -18,7 +18,7 @@ function session443_settings_form(&$form
     '#default_value' => variable_get('session443_enable', 0),
     '#options' => array(t('Disabled'), t('Enabled')),
     '#disabled' => !_session443_test_https(),
-    '#description' => '<p>' . t('Force all authenticated users to use HTTPS. Also force non-authenticated users on a login or registration form to use HTTPS.  Otherwise force HTTP. If your site becomes unusable after enabling, please read the README.txt file.') . '</p><p>' .
+    '#description' => '<p>' . t('Force all authenticated users to use HTTPS. Also force non-authenticated users on a login or registration page to use HTTPS. If your site becomes unusable after enabling, please read the README.txt file.') . '</p><p>' .
       t('This setting can only be changed if the web server has been configured properly for HTTPS. If this test has failed then you may attempt to override it <a href="!url">here</a>.', array('!url' => _session443_modify_url_scheme(url($_GET['q'], array('absolute' => TRUE))))) .'</p>',
   );
 
@@ -50,6 +50,14 @@ function session443_settings_form(&$form
     '#default_value' => variable_get('session443_ignore_pages', "*/autocomplete/*\n*/ajax/*\n*/ahah/*"),
   );
 
+  $form['session443_force_anon_http'] = array(
+    '#type' => 'radios',
+    '#title' => t('Force HTTP for anonymous users'),
+    '#default_value' => variable_get('session443_force_anon_http', 0),
+    '#options' => array(t('Disabled'), t('Enabled')),
+    '#description' => t('Force non-authenticated users to use HTTP, with the exception of above and login/registration pages.'),
+  );
+
   return system_settings_form($form);
 }
 

=== modified file 'sites/all/modules/session443/session443.module'
--- session443.module	2011-05-11 21:38:48 +0000
+++ session443.module	2011-05-11 22:10:16 +0000
@@ -101,7 +101,10 @@ function session443_preprocess_page() {
 
   // Force authenticated users to be secure, and the inverse, but don't
   // override previous (form-based) rules.
-  session443_set_page_should_be_secure((bool) $user->uid, FALSE);
+  $should_be_secure = (bool) $user->uid;
+  if ($should_be_secure || variable_get('session443_force_anon_http', 0)) {
+    session443_set_page_should_be_secure($should_be_secure, FALSE);
+  }
 
   _session443_redirect_access_denied_user_login();
 

