^TipsAnd...
?TableOfContents
cgi configuration
ns_param map "GET /squirrelmail/src /usr/share/squirrelmail/src"
ns_param map "POST /squirrelmail/src /usr/share/squirrelmail/src"
foreach plugin {tmdatools mail_fetch abook_group translate calendar} {
ns_param map "GET /squirrelmail/plugins/$plugin /usr/share/squirrelmail/plugins/$plugin"
ns_param map "POST /squirrelmail/plugins/$plugin /usr/share/squirrelmail/plugins/$plugin"
}
sqm_baseuri
Squirrelmail calculates the location in the directory tree via the PHP_SELF variable, which is not present in CGI-Mode. Patch the strings.php file in the squirrelmail/functions directory with the following:
--- strings.php 2006-08-11 13:15:43.000000000 +0200
+++ /usr/share/squirrelmail/functions/strings.php 2006-09-05 22:50:13.000000000 +0200
@@ -227,6 +227,12 @@
return $php_self;
}
+ $php_self = $_SERVER['SCRIPT_NAME'];
+ if ( sqgetGlobalVar('QUERY_STRING', $query_string, SQ_SERVER) && !empty($query_string) ) {
+ $php_self .= '?' . $query_string;
+ }
+ return $php_self;
+
return '';
}
@@ -249,6 +255,9 @@
}
$dirs = array('|src/.*|', '|plugins/.*|', '|functions/.*|');
$repl = array('', '', '');
+ if (empty($PHP_SELF)) {
+ $PHP_SELF = $_SERVER['SCRIPT_NAME'];
+ }
$base_uri = preg_replace($dirs, $repl, $PHP_SELF);
return $base_uri;
}
redirection to login
https://www.at.anteris.net/squirrelmail/ will show the directory, or a not-found if directory listings are not allowed. The index.php is not executed (with the above cgi-setup).
put a file: index.adp with the following contents in this directory:
<% ns_returnredirect https://www.at.anteris.net/squirrelmail/src/login.php %>
Then edit src/index.php to show like:
header('Location: ../index.adp');
instead of index.php in the Location.
Prevent Debian updates
% dpkg-divert /usr/share/squirrelmail/src/index.php % dpkg-divert /usr/share/squirrelmail/functions/strings.php