leakage when Firefox does DNS prefetching for URLs contained in emails.
- Added the ability to configure Google Mail (Gmail) as the mail server
behind SquirrelMail.
- - Explicitly disable caching for left_main and right_main pages (#2983134).
- Fix error with SpamCop reporting plugin not being able to send report as
emails (#1795310).
- Fix typo in SpamCop plugin.
* @param string xtra extra HTML to insert into the header
* @param bool do_hook whether to execute hooks, default true
* @param bool frames generate html frameset doctype (since 1.5.1)
+ * @param bool $browser_cache_ok When TRUE, it's OK to leave out the
+ * no-cache browser headers (OPTIONAL;
+ * default = FALSE, send no-cache headers)
* @return void
*/
-function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE, $frames = FALSE ) {
+function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE, $frames = FALSE, $browser_cache_ok=FALSE ) {
global $squirrelmail_language, $sTemplateID, $oErrorHandler, $oTemplate;
if ( !sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION) ) {
$default_fontset, $chosen_fontset, $default_fontsize, $chosen_fontsize,
$chosen_theme, $chosen_theme_path, $user_themes, $user_theme_default;
- /* add no cache headers here */
+ // add no cache headers here
+ //
+ if (!$browser_cache_ok) {
//FIXME: should change all header() calls in SM core to use $oTemplate->header()!!
- $oTemplate->header('Pragma: no-cache'); // http 1.0 (rfc1945)
- $oTemplate->header('Cache-Control: private, no-cache, no-store'); // http 1.1 (rfc2616)
+ $oTemplate->header('Pragma: no-cache'); // http 1.0 (rfc1945)
+ $oTemplate->header('Cache-Control: private, no-cache, no-store, must-revalidate, max-age=0'); // http 1.1 (rfc2616)
+ $oTemplate->header('Expires: Sat, 1 Jan 2000 00:00:00 GMT');
+//TODO: is this needed? $oTemplate->header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT');
+ }
/* prevent information leakage about read emails by forbidding Firefox
* to do preemptive DNS requests for any links in the message body. */
$oTemplate->header('X-DNS-Prefetch-Control: off');
/** This is the left_main page */
define('PAGE_NAME', 'left_main');
-/* Disable browser caching */
-header('Cache-Control: no-cache, no-store, must-revalidate');
-header('Pragma: no-cache');
-header('Expires: ' . gmdate(DATE_RFC1123, time()-1));
-
/**
* Include the SquirrelMail initialization file.
*/
$compose_only = FALSE;
+// Disable browser caching
+//
+header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
header('Pragma: no-cache');
+header('Expires: Sat, 1 Jan 2000 00:00:00 GMT');
$trtable = array('cc' => 'cc',
'bcc' => 'bcc',
require_once(SM_PATH . 'functions/imap_general.php');
require_once(SM_PATH . 'functions/strings.php');
+// Disable browser caching
+//
+header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
header('Pragma: no-cache');
+header('Expires: Sat, 1 Jan 2000 00:00:00 GMT');
$location = get_location();
// session_set_cookie_params (0, $base_uri);
//xdebug_start_profiling("/var/spool/xdebug/right_main.txt");
-/* Disable browser caching */
-header('Cache-Control: no-cache, no-store, must-revalidate');
-header('Pragma: no-cache');
-header('Expires: ' . gmdate(DATE_RFC1123, time()-1));
-
/**
* Include the SquirrelMail initialization file.
*/
*/
$oTemplate->header('Content-Type: text/xml');
$oTemplate->header('Content-Type: application/xml'); // required by IE
-//FIXME: which anti-cache headers do we want to use?
-$oTemplate->header('Cache-Control: no-cache');
-// $oTemplate->header("Expires: Sat, 1 Jan 2000 00:00:00 GMT");
-// $oTemplate->header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
-// $oTemplate->header("Cache-Control: no-cache, must-revalidate");
-// $oTemplate->header("Pragma: no-cache");
+$oTemplate->header('Pragma: no-cache');
+$oTemplate->header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
+$oTemplate->header('Expires: Sat, 1 Jan 2000 00:00:00 GMT');
+//TODO: is this needed? $oTemplate->header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT');