<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.mail.squirrelmail.cvs">
    <title>gmane.mail.squirrelmail.cvs</title>
    <link>http://blog.gmane.org/gmane.mail.squirrelmail.cvs</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4310"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4309"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4308"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4307"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4306"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4305"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4304"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4303"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4302"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4301"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4300"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4298"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4297"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4296"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4295"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4294"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4293"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4292"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4290"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4289"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4310">
    <title>SF.net SVN: squirrelmail:[13336] trunk/squirrelmail</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4310</link>
    <description>Revision: 13336
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13336&amp;view=rev
Author:   pdontthink
Date:     2008-11-26 02:56:42 +0000 (Wed, 26 Nov 2008)

Log Message:
-----------
Fix HTTPS detection under Windows IIS (#2318118)

Modified Paths:
--------------
    trunk/squirrelmail/config/conf.pl
    trunk/squirrelmail/config/config_default.php
    trunk/squirrelmail/functions/global.php
    trunk/squirrelmail/functions/strings.php
    trunk/squirrelmail/include/init.php

Modified: trunk/squirrelmail/config/conf.pl
===================================================================
--- trunk/squirrelmail/config/conf.pl2008-11-26 02:54:09 UTC (rev 13335)
+++ trunk/squirrelmail/config/conf.pl2008-11-26 02:56:42 UTC (rev 13336)
&lt; at &gt;&lt; at &gt; -435,6 +435,8 &lt; at &gt;&lt; at &gt;
 $lossy_encoding = 'false'               if ( !$lossy_encoding );
 $allow_remote_configtest = 'false'      if ( !$allow_remote_configtest );
 $secured_config = 'true'                if ( !$secured_config );
+$sq_https_port = 443                    if ( !$sq_https_port );
+$sq_ignore_http_x_forwarded_headers = 'true' if ( !$sq_ignore_http_x_forwarded_headers );
 
 $sm_debug_mode = 'SM_DEBUG_MODE_MODERATE' if ( !$sm_debug_mode );
 #FIXME: When this is STABLE software, remove the line above and uncomment the one below:
&lt; at &gt;&lt; at &gt; -862,6 +864,8 &lt; at &gt;&lt; at &gt;
         print "7.  Allow remote configtest     : $WHT$allow_remote_configtest$NRM\n";
         print "8.  Debug mode                  : $WHT$sm_debug_mode$NRM\n";
         print "9.  Secured configuration mode  : $WHT$secured_config$NRM\n";
+        print "10. HTTPS port                  : $WHT$sq_https_port$NRM\n";
+        print "11. Ignore HTTP_X_FORWARDED headers: $WHT$sq_ignore_http_x_forwarded_headers$NRM\n";
         print "\n";
         print "R   Return to Main Menu\n";
     }
&lt; at &gt;&lt; at &gt; -1040,6 +1044,8 &lt; at &gt;&lt; at &gt;
             elsif ( $command == 7 ) { $allow_remote_configtest = commandB7(); }
             elsif ( $command == 8 ) { $sm_debug_mode = commandB8(); }
             elsif ( $command == 9 ) { $secured_config = commandB9(); }
+            elsif ( $command == 10 ) { $sq_https_port = commandB10(); }
+            elsif ( $command == 11 ) { $sq_ignore_http_x_forwarded_headers = commandB11(); }
         }
     }
 }
&lt; at &gt;&lt; at &gt; -4626,6 +4632,65 &lt; at &gt;&lt; at &gt;
     return $secured_config;
 }
 
+# Set a (non-standard) HTTPS port
+sub commandB10 {
+    print "If you run HTTPS (SSL-secured HTTP) on a non-standard port, you should\n";
+    print "indicate that port here.  Even if you do not, SquirrelMail may still\n";
+    print "auto-detect secure connections, but it is safer and also very useful\n";
+    print "for third party plugins if you specify the port number here.\n";
+    print "\n";
+    print "Most SquirrelMail administrators will not need to use this setting\n";
+    print "because most all web servers use port 443 for HTTPS connections, and\n";
+    print "SquirrelMail assumes 443 unless something else is given here.\n";
+    print "\n";
+
+    print "Enter your HTTPS port [$sq_https_port]: ";
+    my $tmp = &lt;STDIN&gt;;
+    $tmp = trim($tmp);
+    # value is not modified, if user hits Enter or enters space
+    if ($tmp ne '') {
+        # make sure that input is numeric
+        if ($tmp =~ /^\d+$/) {
+            $sq_https_port = $tmp;
+        } else {
+            print "\n";
+            print "--- INPUT ERROR ---\n";
+            print "\n";
+            print "If you want to change this setting, you must enter a number.\n";
+            print "If you want to keep the original value, just press Enter.\n\n";
+            print "Press Enter to continue...";
+            $tmp = &lt;STDIN&gt;;
+        }
+    }
+    return $sq_https_port;
+}
+
+# Ignore HTTP_X_FORWARDED_* headers?
+sub commandB11 {
+
+    if ( lc($sq_ignore_http_x_forwarded_headers) eq 'true' ) {
+        $default_value = "y";
+    } else {
+        $default_value = "n";
+    }
+
+    print "Because HTTP_X_FORWARDED_* headers can be sent by the client and\n";
+    print "therefore possibly exploited by an outsider, SquirrelMail ignores\n";
+    print "them by default. If a proxy server or other machine sits between\n";
+    print "clients and your SquirrelMail server, you can turn this off to\n";
+    print "tell SquirrelMail to use such headers.\n";
+    print "\n";
+
+    print "Ignore HTTP_X_FORWARDED headers? (y/n) [$WHT$default_value$NRM]: $WHT";
+    $sq_ignore_http_x_forwarded_headers = &lt;STDIN&gt;;
+    if ( ( $sq_ignore_http_x_forwarded_headers =~ /^y\n/i ) || ( ( $sq_ignore_http_x_forwarded_headers =~ /^\n/ ) &amp;&amp; ( $default_value eq "y" ) ) ) {
+        $sq_ignore_http_x_forwarded_headers = 'true';
+    } else {
+        $sq_ignore_http_x_forwarded_headers = 'false';
+    }
+    return $sq_ignore_http_x_forwarded_headers;
+}
+
 sub save_data {
     $tab = "    ";
     if ( open( CF, "&gt;config.php" ) ) {
&lt; at &gt;&lt; at &gt; -5035,6 +5100,10 &lt; at &gt;&lt; at &gt;
         # boolean
         print CF "\$allow_remote_configtest = $allow_remote_configtest;\n";
         print CF "\$secured_config = $secured_config;\n";
+        # integer
+        print CF "\$sq_https_port = $sq_https_port;\n";
+        # boolean
+        print CF "\$sq_ignore_http_x_forwarded_headers = $sq_ignore_http_x_forwarded_headers;\n";
         # (binary) integer or constant - convert integer 
         # values to constants before output
         $sm_debug_mode = convert_debug_binary_integer_to_constants($sm_debug_mode);

Modified: trunk/squirrelmail/config/config_default.php
===================================================================
--- trunk/squirrelmail/config/config_default.php2008-11-26 02:54:09 UTC (rev 13335)
+++ trunk/squirrelmail/config/config_default.php2008-11-26 02:56:42 UTC (rev 13336)
&lt; at &gt;&lt; at &gt; -1167,6 +1167,8 &lt; at &gt;&lt; at &gt;
 $buffered_output_handler = '';
 
 /**
+ * Allow Remote configtest Access
+ *
  * Controls remote configuration checks
  * &lt; at &gt;global boolean $allow_remote_configtest
  * &lt; at &gt;since 1.5.1
&lt; at &gt;&lt; at &gt; -1174,6 +1176,43 &lt; at &gt;&lt; at &gt;
 $allow_remote_configtest = false;
 
 /**
+ * SquirrelMail Debug Mode
+ *
+ * Various debugging levels can be enabled using this setting.
+ * More than one mode can be used at once by combining them
+ * with pipes ("|").  See the SM_DEBUG_MODE_* constants in
+ * include/constants.php
+ */
+$sm_debug_mode = SM_DEBUG_MODE_OFF;
+
+/**
+ * "Secured Configuration" Mode
+ *
+ * Enable/disable "Secured Configuration" mode, wherein certain
+ * security-sensitive configuration settings are made immutable
+ * by other code.
+ */
+$secured_config = true;
+
+/**
+ * HTTPS Port
+ *
+ * This is the HTTPS (SSL-secured HTTP) port.  It can be left empty,
+ * in which case SquirrelMail will assume the standard port 443.
+ * Make sure to set this correctly when serving HTTPS on a non-
+ * standard port.
+ */
+$sq_https_port = 443;
+
+/**
+ * Ignore HTTP_X_FORWARDED_* headers?
+ *
+ * Whether or not HTTP_X_FORWARDED_* headers are respected by
+ * SquirrelMail (or plugins).
+ */
+$sq_ignore_http_x_forwarded_headers = true;
+
+/**
  * Subscribe Listing Control
  *
  * this disables listing all of the folders on the IMAP Server to

Modified: trunk/squirrelmail/functions/global.php
===================================================================
--- trunk/squirrelmail/functions/global.php2008-11-26 02:54:09 UTC (rev 13335)
+++ trunk/squirrelmail/functions/global.php2008-11-26 02:56:42 UTC (rev 13336)
&lt; at &gt;&lt; at &gt; -517,9 +517,9 &lt; at &gt;&lt; at &gt;
                      $bSecure=false, $bHttpOnly=true, $bReplace=false) {
  
     // if we have a secure connection then limit the cookies to https only.
-    if ($sName &amp;&amp; isset($_SERVER['HTTPS']) &amp;&amp; $_SERVER['HTTPS']) {
+    global $is_secure_connection;
+    if ($sName &amp;&amp; $is_secure_connection)
         $bSecure = true;
-    }
 
     // admin config can override the restriction of secure-only cookies
     global $only_secure_cookies;
&lt; at &gt;&lt; at &gt; -721,3 +721,51 &lt; at &gt;&lt; at &gt;
 }
 
 
+/**
+ * Detect whether or not we have a SSL secured (HTTPS) connection
+ * connection to the browser
+ *
+ * It is thought to be so if you have 'SSLOptions +StdEnvVars'
+ * in your Apache configuration,
+ *     OR if you have HTTPS set to a non-empty value (except "off")
+ *        in your HTTP_SERVER_VARS,
+ *     OR if you have HTTP_X_FORWARDED_PROTO=https in your HTTP_SERVER_VARS,
+ *     OR if you are on port 443.
+ *
+ * Note: HTTP_X_FORWARDED_PROTO could be sent from the client and
+ *       therefore possibly spoofed/hackable.  Thus, SquirrelMail
+ *       ignores such headers by default.  The administrator
+ *       can tell SM to use such header values by setting
+ *       $sq_ignore_http_x_forwarded_headers to boolean FALSE
+ *       in config/config.php or by using config/conf.pl.
+ *
+ * Note: It is possible to run SSL on a port other than 443, and
+ *       if that is the case, the administrator should set
+ *       $sq_https_port in config/config.php or by using config/conf.pl.
+ *
+ * &lt; at &gt;return boolean TRUE if the current connection is SSL-encrypted;
+ *                 FALSE otherwise.
+ *
+ * &lt; at &gt;since 1.4.17 and 1.5.2
+ *
+ */
+function is_ssl_secured_connection()
+{
+    global $sq_ignore_http_x_forwarded_headers, $sq_https_port;
+    $https_env_var = getenv('HTTPS');
+    if ($sq_ignore_http_x_forwarded_headers
+     || !sqgetGlobalVar('HTTP_X_FORWARDED_PROTO', $forwarded_proto, SQ_SERVER))
+        $forwarded_proto = '';
+    if (empty($sq_https_port)) // won't work with port 0 (zero)
+       $sq_https_port = 443;
+    if ((isset($https_env_var) &amp;&amp; strcasecmp($https_env_var, 'on') === 0)
+     || (sqgetGlobalVar('HTTPS', $https, SQ_SERVER) &amp;&amp; !empty($https)
+      &amp;&amp; strcasecmp($https, 'off') !== 0)
+     || (strcasecmp($forwarded_proto, 'https') === 0)
+     || (sqgetGlobalVar('SERVER_PORT', $server_port, SQ_SERVER)
+      &amp;&amp; $server_port == $sq_https_port))
+        return TRUE;
+    return FALSE;
+}
+
+

Modified: trunk/squirrelmail/functions/strings.php
===================================================================
--- trunk/squirrelmail/functions/strings.php2008-11-26 02:54:09 UTC (rev 13335)
+++ trunk/squirrelmail/functions/strings.php2008-11-26 02:56:42 UTC (rev 13336)
&lt; at &gt;&lt; at &gt; -470,7 +470,8 &lt; at &gt;&lt; at &gt;
  */
 function get_location () {
 
-    global $imap_server_type, $config_location_base;
+    global $imap_server_type, $config_location_base,
+           $is_secure_connection, $sq_ignore_http_x_forwarded_headers;
 
     /* Get the path, handle virtual directories */
     if(strpos(php_self(), '?')) {
&lt; at &gt;&lt; at &gt; -492,25 +493,13 &lt; at &gt;&lt; at &gt;
 
     /* Check if this is a HTTPS or regular HTTP request. */
     $proto = 'http://';
-
-    /*
-     * If you have 'SSLOptions +StdEnvVars' in your apache config
-     *     OR if you have HTTPS=on in your HTTP_SERVER_VARS
-     *     OR if you have HTTP_X_FORWARDED_PROTO=https in your HTTP_SERVER_VARS
-     *     OR if you are on port 443
-     */
-    $getEnvVar = getenv('HTTPS');
-    if (!sqgetGlobalVar('HTTP_X_FORWARDED_PROTO', $forwarded_proto, SQ_SERVER))
-        $forwarded_proto = '';
-    if ((isset($getEnvVar) &amp;&amp; strcasecmp($getEnvVar, 'on') === 0) ||
-        (sqgetGlobalVar('HTTPS', $https_on, SQ_SERVER) &amp;&amp; strcasecmp($https_on, 'on') === 0) ||
-        (strcasecmp($forwarded_proto, 'https') === 0) ||
-        (sqgetGlobalVar('SERVER_PORT', $server_port, SQ_SERVER) &amp;&amp;  $server_port == 443)) {
+    if ($is_secure_connection)
         $proto = 'https://';
-    }
 
     /* Get the hostname from the Host header or server config. */
-    if ( !sqgetGlobalVar('HTTP_X_FORWARDED_HOST', $host, SQ_SERVER) || empty($host) ) {
+    if ($sq_ignore_http_x_forwarded_headers
+     || !sqgetGlobalVar('HTTP_X_FORWARDED_HOST', $host, SQ_SERVER)
+     || empty($host)) {
         if ( !sqgetGlobalVar('HTTP_HOST', $host, SQ_SERVER) || empty($host) ) {
             if ( !sqgetGlobalVar('SERVER_NAME', $host, SQ_SERVER) || empty($host) ) {
                 $host = '';

Modified: trunk/squirrelmail/include/init.php
===================================================================
--- trunk/squirrelmail/include/init.php2008-11-26 02:54:09 UTC (rev 13335)
+++ trunk/squirrelmail/include/init.php2008-11-26 02:56:42 UTC (rev 13336)
&lt; at &gt;&lt; at &gt; -235,6 +235,12 &lt; at &gt;&lt; at &gt;
 error_reporting($error_level);
 
 
+/** 
+ * Detect SSL connections
+ */
+$is_secure_connection = is_ssl_secured_connection();
+ 
+
 require(SM_PATH . 'functions/plugin.php');
 require(SM_PATH . 'include/languages.php');
 require(SM_PATH . 'class/template/Template.class.php');


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-26T02:56:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4309">
    <title>SF.net SVN: squirrelmail:[13335]branches/SM-1_4-STABLE/squirrelmail</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4309</link>
    <description>Revision: 13335
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13335&amp;view=rev
Author:   pdontthink
Date:     2008-11-26 02:54:09 +0000 (Wed, 26 Nov 2008)

Log Message:
-----------
Fix HTTPS detection under Windows IIS (#2318118)

Modified Paths:
--------------
    branches/SM-1_4-STABLE/squirrelmail/ChangeLog
    branches/SM-1_4-STABLE/squirrelmail/functions/global.php
    branches/SM-1_4-STABLE/squirrelmail/functions/strings.php

Modified: branches/SM-1_4-STABLE/squirrelmail/ChangeLog
===================================================================
--- branches/SM-1_4-STABLE/squirrelmail/ChangeLog2008-11-25 11:33:00 UTC (rev 13334)
+++ branches/SM-1_4-STABLE/squirrelmail/ChangeLog2008-11-26 02:54:09 UTC (rev 13335)
&lt; at &gt;&lt; at &gt; -7,6 +7,9 &lt; at &gt;&lt; at &gt;
   - Allow control over white space wrapping of auto-generated
     SquirrelMail option widgets.
   - Fix matching of alternate identities when replying.
+  - Fix HTTPS detection under Windows IIS that was incorrectly
+    setting cookies to be transmitted only over a secure
+    connections when none existed (#2318118).
 
 Version 1.4.16 - 28 September 2008
 ----------------------------------

Modified: branches/SM-1_4-STABLE/squirrelmail/functions/global.php
===================================================================
--- branches/SM-1_4-STABLE/squirrelmail/functions/global.php2008-11-25 11:33:00 UTC (rev 13334)
+++ branches/SM-1_4-STABLE/squirrelmail/functions/global.php2008-11-26 02:54:09 UTC (rev 13335)
&lt; at &gt;&lt; at &gt; -83,6 +83,11 &lt; at &gt;&lt; at &gt;
 require_once(SM_PATH . 'functions/strings.php');
 require_once(SM_PATH . 'config/config.php');
 
+/**
+ * Detect SSL connections
+ */
+$is_secure_connection = is_ssl_secured_connection();
+
 /** set the name of the session cookie */
 if(isset($session_name) &amp;&amp; $session_name) {
     ini_set('session.name' , $session_name);
&lt; at &gt;&lt; at &gt; -425,9 +430,9 &lt; at &gt;&lt; at &gt;
                      $bSecure=false, $bHttpOnly=true, $bReplace=false) {
 
     // if we have a secure connection then limit the cookies to https only.
-    if ($sName &amp;&amp; isset($_SERVER['HTTPS']) &amp;&amp; $_SERVER['HTTPS']) {
+    global $is_secure_connection;
+    if ($sName &amp;&amp; $is_secure_connection)
         $bSecure = true;
-    }
 
     // admin config can override the restriction of secure-only cookies
     //
&lt; at &gt;&lt; at &gt; -466,3 +471,52 &lt; at &gt;&lt; at &gt;
     }
 }
 
+/**
+ * Detect whether or not we have a SSL secured (HTTPS)
+ * connection to the browser
+ *
+ * It is thought to be so if you have 'SSLOptions +StdEnvVars'
+ * in your Apache configuration,
+ *     OR if you have HTTPS set to a non-empty value (except "off")
+ *        in your HTTP_SERVER_VARS,
+ *     OR if you have HTTP_X_FORWARDED_PROTO=https in your HTTP_SERVER_VARS,
+ *     OR if you are on port 443.
+ *
+ * Note: HTTP_X_FORWARDED_PROTO could be sent from the client and
+ *       therefore possibly spoofed/hackable - for now, the
+ *       administrator can tell SM to ignore this value by setting 
+ *       $sq_ignore_http_x_forwarded_headers to boolean TRUE in
+ *       config/config_local.php, but in the future we may
+ *       want to default this to TRUE and make administrators
+ *       who use proxy systems turn it off (see 1.5.2+).
+ *
+ * Note: It is possible to run SSL on a port other than 443, and
+ *       if that is the case, the administrator should set
+ *       $sq_https_port to the applicable port number in
+ *       config/config_local.php
+ *
+ * &lt; at &gt;return boolean TRUE if the current connection is SSL-encrypted;
+ *                 FALSE otherwise.
+ *
+ * &lt; at &gt;since 1.4.17 and 1.5.2 
+ *
+ */
+function is_ssl_secured_connection()
+{ 
+    global $sq_ignore_http_x_forwarded_headers, $sq_https_port;
+    $https_env_var = getenv('HTTPS');
+    if ($sq_ignore_http_x_forwarded_headers
+     || !sqgetGlobalVar('HTTP_X_FORWARDED_PROTO', $forwarded_proto, SQ_SERVER))
+        $forwarded_proto = '';
+    if (empty($sq_https_port)) // won't work with port 0 (zero)
+       $sq_https_port = 443;
+    if ((isset($https_env_var) &amp;&amp; strcasecmp($https_env_var, 'on') === 0)
+     || (sqgetGlobalVar('HTTPS', $https, SQ_SERVER) &amp;&amp; !empty($https)
+      &amp;&amp; strcasecmp($https, 'off') !== 0)
+     || (strcasecmp($forwarded_proto, 'https') === 0)
+     || (sqgetGlobalVar('SERVER_PORT', $server_port, SQ_SERVER)
+      &amp;&amp; $server_port == $sq_https_port))
+        return TRUE;
+    return FALSE;
+}
+

Modified: branches/SM-1_4-STABLE/squirrelmail/functions/strings.php
===================================================================
--- branches/SM-1_4-STABLE/squirrelmail/functions/strings.php2008-11-25 11:33:00 UTC (rev 13334)
+++ branches/SM-1_4-STABLE/squirrelmail/functions/strings.php2008-11-26 02:54:09 UTC (rev 13335)
&lt; at &gt;&lt; at &gt; -275,7 +275,8 &lt; at &gt;&lt; at &gt;
  */
 function get_location () {
 
-    global $imap_server_type, $config_location_base;
+    global $imap_server_type, $config_location_base,
+           $is_secure_connection, $sq_ignore_http_x_forwarded_headers;
 
     /* Get the path, handle virtual directories */
     if(strpos(php_self(), '?')) {
&lt; at &gt;&lt; at &gt; -299,25 +300,13 &lt; at &gt;&lt; at &gt;
 
     /* Check if this is a HTTPS or regular HTTP request. */
     $proto = 'http://';
-
-    /*
-     * If you have 'SSLOptions +StdEnvVars' in your apache config
-     *     OR if you have HTTPS=on in your HTTP_SERVER_VARS
-     *     OR if you have HTTP_X_FORWARDED_PROTO=https in your HTTP_SERVER_VARS
-     *     OR if you are on port 443
-     */
-    $getEnvVar = getenv('HTTPS');
-    if (!sqgetGlobalVar('HTTP_X_FORWARDED_PROTO', $forwarded_proto, SQ_SERVER))
-        $forwarded_proto = '';
-    if ((isset($getEnvVar) &amp;&amp; strcasecmp($getEnvVar, 'on') === 0) ||
-        (sqgetGlobalVar('HTTPS', $https_on, SQ_SERVER) &amp;&amp; strcasecmp($https_on, 'on') === 0) ||
-        (strcasecmp($forwarded_proto, 'https') === 0) ||
-        (sqgetGlobalVar('SERVER_PORT', $server_port, SQ_SERVER) &amp;&amp;  $server_port == 443)) {
+    if ($is_secure_connection)
         $proto = 'https://';
-    }
 
     /* Get the hostname from the Host header or server config. */
-    if ( !sqgetGlobalVar('HTTP_X_FORWARDED_HOST', $host, SQ_SERVER) || empty($host) ) {
+    if ($sq_ignore_http_x_forwarded_headers
+     || !sqgetGlobalVar('HTTP_X_FORWARDED_HOST', $host, SQ_SERVER)
+     || empty($host)) {
         if ( !sqgetGlobalVar('HTTP_HOST', $host, SQ_SERVER) || empty($host) ) {
             if ( !sqgetGlobalVar('SERVER_NAME', $host, SQ_SERVER) || empty($host) ) {
                 $host = '';


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-26T02:54:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4308">
    <title>SF.net SVN: squirrelmail:[13334]trunk/documentation/admin/admin.sgml</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4308</link>
    <description>Revision: 13334
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13334&amp;view=rev
Author:   pdontthink
Date:     2008-11-25 11:33:00 +0000 (Tue, 25 Nov 2008)

Log Message:
-----------
Add configtest section and link to new untranslated special folders section in translator manual

Modified Paths:
--------------
    trunk/documentation/admin/admin.sgml

Modified: trunk/documentation/admin/admin.sgml
===================================================================
--- trunk/documentation/admin/admin.sgml2008-11-25 11:27:20 UTC (rev 13333)
+++ trunk/documentation/admin/admin.sgml2008-11-25 11:33:00 UTC (rev 13334)
&lt; at &gt;&lt; at &gt; -2447,7 +2447,26 &lt; at &gt;&lt; at &gt;
 &lt;sect&gt;Solving problems
 &lt;sect1&gt;Configtest
 &lt;p&gt;
-Using configtest.php as a first diagnose tool.
+When attempting to diagnose any issues with SquirrelMail, the first thing
+to do is load up http://example.org/squirrelmail/src/configtest.php and ensure
+that SquirrelMail can't already tell you what the problem is.
+
+Note that as of SquirrelMail version 1.5.2, you cannot view this page from
+any computer other than the one where SquirrelMail is installed unless you
+have enabled remote computers to view it by using the SquirrelMail
+configuration tool (config/conf.pl, which is usually aliased to "configure"
+in the main SquirrelMail directory) and going to "11. Tweaks" and then chossing
+"7. Allow remote configtest". You can also edit the &lt;tt/$allow_remote_configtest/
+setting directly in &lt;tt&gt;config/config.php&lt;/tt&gt; if you prefer. Before leaving
+this enabled, consider that exposing the kind of information it displays can
+be a security concern, so you are advised to turn it off except when
+specifically needed.
+
+Aside from diagnosing certain problems directly, this tool will also display
+many pieces of information that may be very helpful when asking others to
+help you with problems you cannot fix yourself. Therefore, this should always
+be your first stop when any problems come up.
+
 &lt;sect1&gt;Common PHP error messages
 &lt;sect2&gt;unknown function session_id() call
 &lt;p&gt;
&lt; at &gt;&lt; at &gt; -2620,6 +2639,10 &lt; at &gt;&lt; at &gt;
 Folder Options.
 
 &lt;sect1&gt;Common interface error messages
+&lt;sect2&gt;Special folders (Sent/Drafts/Trash) are not translated
+&lt;p&gt;
+See &lt;url url="http://squirrelmail.org/docs/translator/translator-3.html#ss3.6" name="http://squirrelmail.org/docs/translator/translator-3.html#ss3.6"&gt;
+
 &lt;sect2&gt;Unknown username or password
 &lt;p&gt;
 password is not ********. you need cookies.


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-25T11:33:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4307">
    <title>SF.net SVN: squirrelmail:[13333] trunk/documentation/translator/translator. sgml</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4307</link>
    <description>Revision: 13333
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13333&amp;view=rev
Author:   pdontthink
Date:     2008-11-25 11:27:20 +0000 (Tue, 25 Nov 2008)

Log Message:
-----------
Nothing much here

Modified Paths:
--------------
    trunk/documentation/translator/translator.sgml

Modified: trunk/documentation/translator/translator.sgml
===================================================================
--- trunk/documentation/translator/translator.sgml2008-11-25 11:00:29 UTC (rev 13332)
+++ trunk/documentation/translator/translator.sgml2008-11-25 11:27:20 UTC (rev 13333)
&lt; at &gt;&lt; at &gt; -426,9 +426,9 &lt; at &gt;&lt; at &gt;
 administrator rather than letting users manage their folders themselves.
 
 &lt;itemize&gt;
- &lt;item&gt;The administrator can set what folders to use (for all users - by default) for Trash, Drafts and Sent (you might want to ensure you have a script on the mail server that creates pre-translated folders for this purpose first) by using the SquirrelMail configuration script (config/conf.pl, which is usually aliased to "configure" in the main SquirrelMail directory) and choosing "3. Folder Defaults" and then entering the utf7-imap encoded folder names for "3. Trash Folder", "4. Sent Folder" and "5. Drafts Folder". You can also do the same by directly editing config/config.php and changing the values for $trash_folder, $sent_folder and $draft_folder.
+ &lt;item&gt;The administrator can set what folders to use (for all users - by default) for Trash, Drafts and Sent (you might want to ensure you have a script on the mail server that creates pre-translated folders for this purpose first) by using the SquirrelMail configuration script (&lt;tt&gt;config/conf.pl&lt;/tt&gt;, which is usually aliased to &lt;tt&gt;configure&lt;/tt&gt; in the main SquirrelMail directory) and choosing "3. Folder Defaults" and then entering the utf7-imap encoded folder names for "3. Trash Folder", "4. Sent Folder" and "5. Drafts Folder". You can also do the same by directly editing &lt;tt&gt;config/config.php&lt;/tt&gt; and changing the values for &lt;tt/$trash_folder/, &lt;tt/$sent_folder/ and &lt;tt/$draft_folder/.
  &lt;item&gt;Users can go to Options-&gt;Folder Preferences and select what folders to use for Trash, Drafts and Sent (they can create their own pre-translated folders for this purpose on the Folders page first). These settings will override the administrative settings described in the item above.
- &lt;item&gt;As of SquirrelMail 1.5.2, users can go to Options-&gt;Folder Preferences and enable "Translate Special Folders", and SquirrelMail will try to automatically translate folders named "Trash", Sent" and "Drafts", but, as mentioned above, this can result in unexpected or confusing results if the user has already created similarly-named folders.
+ &lt;item&gt;As of SquirrelMail 1.5.2, users can go to Options-&gt;Folder Preferences and enable "Translate Special Folders", and SquirrelMail will try to automatically translate folders named "Trash", "Sent" and "Drafts", but, as mentioned above, this can result in unexpected or confusing results if the user has already created similarly-named folders.
  &lt;item&gt;The administrator can choose to set default values for (or force the values of) the prior two user settings by using one of the methods explained &lt;url url="http://www.squirrelmail.org/docs/admin/admin-5.html#ss5.6" name="in the Administrator's Manual"&gt;
 &lt;/itemize&gt;
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-25T11:27:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4306">
    <title>SF.net SVN: squirrelmail:[13332] trunk/documentation/translator/translator. sgml</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4306</link>
    <description>Revision: 13332
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13332&amp;view=rev
Author:   pdontthink
Date:     2008-11-25 11:00:29 +0000 (Tue, 25 Nov 2008)

Log Message:
-----------
Grammatical fixes and new section about untranslated special folder names

Modified Paths:
--------------
    trunk/documentation/translator/translator.sgml

Modified: trunk/documentation/translator/translator.sgml
===================================================================
--- trunk/documentation/translator/translator.sgml2008-11-25 04:26:54 UTC (rev 13331)
+++ trunk/documentation/translator/translator.sgml2008-11-25 11:00:29 UTC (rev 13332)
&lt; at &gt;&lt; at &gt; -347,27 +347,28 &lt; at &gt;&lt; at &gt;
 &lt;sect&gt;Common problems
 &lt;sect1&gt;Translations are not working
 &lt;p&gt;
-If you have gettext support in php, translations will work only if you have
-appropriate system locale.
+If you have gettext support in PHP, translations will work only if you
+have the appropriate system locale. You should also restart your web
+server after installing new locale packs.
 
 &lt;sect1&gt;Some words are not translated
 &lt;p&gt;
-This is the way gettext translations work. If translated string is not available
</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-25T11:00:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4305">
    <title>SF.net SVN: squirrelmail:[13331]trunk/documentation/admin/admin.sgml</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4305</link>
    <description>Revision: 13331
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13331&amp;view=rev
Author:   pdontthink
Date:     2008-11-25 04:26:54 +0000 (Tue, 25 Nov 2008)

Log Message:
-----------
Minor wording

Modified Paths:
--------------
    trunk/documentation/admin/admin.sgml

Modified: trunk/documentation/admin/admin.sgml
===================================================================
--- trunk/documentation/admin/admin.sgml2008-11-24 20:24:04 UTC (rev 13330)
+++ trunk/documentation/admin/admin.sgml2008-11-25 04:26:54 UTC (rev 13331)
&lt; at &gt;&lt; at &gt; -1253,8 +1253,10 &lt; at &gt;&lt; at &gt;
 &lt;p&gt;
 On sites with many users you might want to store your user data in a database
 instead of in files. SquirrelMail can be configured to do this. Note, however,
-that some SquirrelMail plugins are designed to use different files for users'
-data storage and won't be able to use database to store users' data.
+that some SquirrelMail plugins are designed to use different files for user
+data storage and won't be able to use the database, so it is strongly
+recommended to make sure you have a correctly configured data directory even
+when using a database as explained here.
 
 Methods for storing both personal address books and user preferences in a
 database is included as a part of the distribution.


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-25T04:26:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4304">
    <title>SF.net SVN: squirrelmail:[13330] trunk/squirrelmail/templates/ default_advanced/read_headers.tpl</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4304</link>
    <description>Revision: 13330
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13330&amp;view=rev
Author:   pdontthink
Date:     2008-11-24 20:24:04 +0000 (Mon, 24 Nov 2008)

Log Message:
-----------
$headers_to_display contains TRANSLATED key values!  Thanks to Stefano Bridi.

Modified Paths:
--------------
    trunk/squirrelmail/templates/default_advanced/read_headers.tpl

Modified: trunk/squirrelmail/templates/default_advanced/read_headers.tpl
===================================================================
--- trunk/squirrelmail/templates/default_advanced/read_headers.tpl2008-11-21 22:39:18 UTC (rev 13329)
+++ trunk/squirrelmail/templates/default_advanced/read_headers.tpl2008-11-24 20:24:04 UTC (rev 13330)
&lt; at &gt;&lt; at &gt; -14,7 +14,7 &lt; at &gt;&lt; at &gt;
  *                          additional templates.
  * 
  *
- * &lt; at &gt;copyright &amp;copy; 1999-2006 The SquirrelMail Project Team
+ * &lt; at &gt;copyright &amp;copy; 1999-2008 The SquirrelMail Project Team
  * &lt; at &gt;license http://opensource.org/licenses/gpl-license.php GNU Public License
  * &lt; at &gt;version $Id: read_headers.tpl 11998 2006-12-10 21:06:24Z pdontthink $
  * &lt; at &gt;package squirrelmail
&lt; at &gt;&lt; at &gt; -56,12 +56,12 &lt; at &gt;&lt; at &gt;
     // show reduced (collapsed) header
     if (!$expand_header) {
 
-        $subject = (!empty($headers_to_display['Subject']) 
-                    ? $headers_to_display['Subject'] : _("(no subject)"));
-        $date = (!empty($headers_to_display['Date']) 
-                 ? $headers_to_display['Date'] : _("Unknown date"));
-        $from = (!empty($headers_to_display['From']) 
-                    ? $headers_to_display['From'] : _("Unknown sender"));
+        $subject = (!empty($headers_to_display[_("Subject")]) 
+                    ? $headers_to_display[_("Subject")] : _("(no subject)"));
+        $date = (!empty($headers_to_display[_("Date")]) 
+                 ? $headers_to_display[_("Date")] : _("Unknown date"));
+        $from = (!empty($headers_to_display[_("From")]) 
+                    ? $headers_to_display[_("From")] : _("Unknown sender"));
         // if available, print "real" name instead of email addr
         if (strpos($from,"&amp;lt;") !== FALSE) {
             list($from, $ignore) = $parts = explode('&amp;lt;', $from);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-24T20:24:04</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4303">
    <title>SF.net SVN: squirrelmail:[13329]trunk/documentation/devel/devel.sgml</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4303</link>
    <description>Revision: 13329
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13329&amp;view=rev
Author:   pdontthink
Date:     2008-11-21 22:39:18 +0000 (Fri, 21 Nov 2008)

Log Message:
-----------
Fix page width

Modified Paths:
--------------
    trunk/documentation/devel/devel.sgml

Modified: trunk/documentation/devel/devel.sgml
===================================================================
--- trunk/documentation/devel/devel.sgml2008-11-21 19:47:11 UTC (rev 13328)
+++ trunk/documentation/devel/devel.sgml2008-11-21 22:39:18 UTC (rev 13329)
&lt; at &gt;&lt; at &gt; -2363,7 +2363,9 &lt; at &gt;&lt; at &gt;
                 ),
              ),
              'summary' =&gt; 'Adds important information above the folder list.',
-             'details' =&gt; 'This plugin automatically sees into the user\'s future and places important details about upcoming events above the folder list.',
+             'details' =&gt; 'This plugin automatically sees into the user\'s '
+                        . 'future and places important details about upcoming '
+                        . 'events above the folder list.',
              'version' =&gt; '2.5.1',
              'required_sm_version' =&gt; '1.2.9',
              'requires_configuration' =&gt; 0,


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-21T22:39:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4302">
    <title>SF.net SVN: squirrelmail:[13328] trunk/squirrelmail/plugins</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4302</link>
    <description>Revision: 13328
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13328&amp;view=rev
Author:   pdontthink
Date:     2008-11-21 19:47:11 +0000 (Fri, 21 Nov 2008)

Log Message:
-----------
This should be everyone

Property Changed:
----------------
    trunk/squirrelmail/plugins/bug_report/templates/default/system_specs.tpl
    trunk/squirrelmail/plugins/bug_report/templates/default/usage.tpl
    trunk/squirrelmail/plugins/listcommands/config_sample.php
    trunk/squirrelmail/plugins/listcommands/options.php


Property changes on: trunk/squirrelmail/plugins/bug_report/templates/default/system_specs.tpl
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/bug_report/templates/default/usage.tpl
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/listcommands/config_sample.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/listcommands/options.php
___________________________________________________________________
Added: svn:keywords
   + Id


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-21T19:47:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4301">
    <title>SF.net SVN: squirrelmail:[13327] trunk/squirrelmail</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4301</link>
    <description>Revision: 13327
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13327&amp;view=rev
Author:   pdontthink
Date:     2008-11-21 19:42:56 +0000 (Fri, 21 Nov 2008)

Log Message:
-----------
Everyone deserves version info

Modified Paths:
--------------
    trunk/squirrelmail/plugins/preview_pane/functions.php

Property Changed:
----------------
    trunk/squirrelmail/functions/template/abook_util.php
    trunk/squirrelmail/plugins/demo/demo.php
    trunk/squirrelmail/plugins/demo/functions.php
    trunk/squirrelmail/plugins/demo/setup.php
    trunk/squirrelmail/plugins/demo/templates/default/demo.tpl
    trunk/squirrelmail/plugins/preview_pane/empty_frame.php
    trunk/squirrelmail/plugins/preview_pane/functions.php
    trunk/squirrelmail/plugins/preview_pane/setup.php
    trunk/squirrelmail/plugins/preview_pane/templates/default_advanced/collapse_buttons.tpl
    trunk/squirrelmail/plugins/preview_pane/templates/default_advanced/empty_frame.tpl
    trunk/squirrelmail/plugins/test/decodeheader.php
    trunk/squirrelmail/plugins/test/functions.php
    trunk/squirrelmail/plugins/test/ngettext.php
    trunk/squirrelmail/plugins/test/setup.php
    trunk/squirrelmail/plugins/test/templates/default/test_menu.tpl
    trunk/squirrelmail/plugins/test/test.php


Property changes on: trunk/squirrelmail/functions/template/abook_util.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/demo/demo.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/demo/functions.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/demo/setup.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/demo/templates/default/demo.tpl
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/preview_pane/empty_frame.php
___________________________________________________________________
Added: svn:keywords
   + Id

Modified: trunk/squirrelmail/plugins/preview_pane/functions.php
===================================================================
--- trunk/squirrelmail/plugins/preview_pane/functions.php2008-11-21 19:32:02 UTC (rev 13326)
+++ trunk/squirrelmail/plugins/preview_pane/functions.php2008-11-21 19:42:56 UTC (rev 13327)
&lt; at &gt;&lt; at &gt; -117,8 +117,8 &lt; at &gt;&lt; at &gt;
    $oTemplate-&gt;assign('previewPane_size', $previewPane_size);
    $oTemplate-&gt;assign('base_uri', $base_uri);
    $oTemplate-&gt;assign('orientation', $orientation);
-   $oTemplate-&gt;assign('down_arrow', $down_arrow);
-   $oTemplate-&gt;assign('up_arrow', $up_arrow);
+   $oTemplate-&gt;assign('down_arrow', $down_arrow, FALSE);
+   $oTemplate-&gt;assign('up_arrow', $up_arrow, FALSE);
 
    $output = $oTemplate-&gt;fetch('plugins/preview_pane/collapse_buttons.tpl');
 


Property changes on: trunk/squirrelmail/plugins/preview_pane/functions.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/preview_pane/setup.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/preview_pane/templates/default_advanced/collapse_buttons.tpl
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/preview_pane/templates/default_advanced/empty_frame.tpl
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/test/decodeheader.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/test/functions.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/test/ngettext.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/test/setup.php
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/test/templates/default/test_menu.tpl
___________________________________________________________________
Added: svn:keywords
   + Id


Property changes on: trunk/squirrelmail/plugins/test/test.php
___________________________________________________________________
Added: svn:keywords
   + Id


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-21T19:42:56</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4300">
    <title>SF.net SVN: squirrelmail:[13326]trunk/squirrelmail/functions/files.php</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4300</link>
    <description>Revision: 13326
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13326&amp;view=rev
Author:   pdontthink
Date:     2008-11-21 19:32:02 +0000 (Fri, 21 Nov 2008)

Log Message:
-----------
Thanks, Thijs: svn propset svn:keywords Id &lt;file&gt;

Modified Paths:
--------------
    trunk/squirrelmail/functions/files.php

Property Changed:
----------------
    trunk/squirrelmail/functions/files.php

Modified: trunk/squirrelmail/functions/files.php
===================================================================
--- trunk/squirrelmail/functions/files.php2008-11-21 02:51:13 UTC (rev 13325)
+++ trunk/squirrelmail/functions/files.php2008-11-21 19:32:02 UTC (rev 13326)
&lt; at &gt;&lt; at &gt; -8,7 +8,7 &lt; at &gt;&lt; at &gt;
  *
  * &lt; at &gt;copyright &amp;copy; 2008-2008 The SquirrelMail Project Team
  * &lt; at &gt;license http://opensource.org/licenses/gpl-license.php GNU Public License
- * &lt; at &gt;version $Id: $
+ * &lt; at &gt;version $Id$
  * &lt; at &gt;package squirrelmail
  */
 


Property changes on: trunk/squirrelmail/functions/files.php
___________________________________________________________________
Added: svn:keywords
   + Id


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-21T19:32:03</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4298">
    <title>SF.net SVN: squirrelmail:[13325] trunk/squirrelmail</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4298</link>
    <description>Revision: 13325
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13325&amp;view=rev
Author:   pdontthink
Date:     2008-11-21 02:51:13 +0000 (Fri, 21 Nov 2008)

Log Message:
-----------
Use sq_is_writable()

Modified Paths:
--------------
    trunk/squirrelmail/functions/abook_local_file.php
    trunk/squirrelmail/src/configtest.php

Modified: trunk/squirrelmail/functions/abook_local_file.php
===================================================================
--- trunk/squirrelmail/functions/abook_local_file.php2008-11-20 22:34:38 UTC (rev 13324)
+++ trunk/squirrelmail/functions/abook_local_file.php2008-11-21 02:51:13 UTC (rev 13325)
&lt; at &gt;&lt; at &gt; -151,7 +151,7 &lt; at &gt;&lt; at &gt;
         $this-&gt;error = '';
         $file   = $this-&gt;filename;
         $create = $this-&gt;create;
-        $fopenmode = (($this-&gt;writeable &amp;&amp; is_writable($file)) ? 'a+' : 'r');
+        $fopenmode = (($this-&gt;writeable &amp;&amp; sq_is_writable($file)) ? 'a+' : 'r');
 
         /* Return true is file is open and $new is unset */
         if($this-&gt;filehandle &amp;&amp; !$new) {

Modified: trunk/squirrelmail/src/configtest.php
===================================================================
--- trunk/squirrelmail/src/configtest.php2008-11-20 22:34:38 UTC (rev 13324)
+++ trunk/squirrelmail/src/configtest.php2008-11-21 02:51:13 UTC (rev 13325)
&lt; at &gt;&lt; at &gt; -342,7 +342,7 &lt; at &gt;&lt; at &gt;
     }
 }
 // datadir should be executable - but no clean way to test on that
-if(!isset($data_dir_error) &amp;&amp; !is_writable($data_dir)) {
+if(!isset($data_dir_error) &amp;&amp; !sq_is_writable($data_dir)) {
     if (!empty($prefs_dsn)) {
         $data_dir_error = "Data dir ($data_dir) is not writable!\n";
         echo $IND . '&lt;font color="red"&gt;&lt;b&gt;ERROR:&lt;/b&gt;&lt;/font&gt; ' . $data_dir_error;
&lt; at &gt;&lt; at &gt; -370,7 +370,7 &lt; at &gt;&lt; at &gt;
     if (!is_dir($attachment_dir)) {
         do_err("Attachment dir ($attachment_dir) is not a directory!");
     }
-    if (!is_writable($attachment_dir)) {
+    if (!sq_is_writable($attachment_dir)) {
         do_err("I cannot write to attachment dir ($attachment_dir)!");
     }
     echo $IND . "Attachment dir OK.&lt;br /&gt;\n";


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-21T02:51:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4297">
    <title>SF.net SVN: squirrelmail:[13324]trunk/squirrelmail/functions/files.php</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4297</link>
    <description>Revision: 13324
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13324&amp;view=rev
Author:   pdontthink
Date:     2008-11-20 22:34:38 +0000 (Thu, 20 Nov 2008)

Log Message:
-----------
How about adding a space

Modified Paths:
--------------
    trunk/squirrelmail/functions/files.php

Modified: trunk/squirrelmail/functions/files.php
===================================================================
--- trunk/squirrelmail/functions/files.php2008-11-20 22:33:34 UTC (rev 13323)
+++ trunk/squirrelmail/functions/files.php2008-11-20 22:34:38 UTC (rev 13324)
&lt; at &gt;&lt; at &gt; -8,7 +8,7 &lt; at &gt;&lt; at &gt;
  *
  * &lt; at &gt;copyright &amp;copy; 2008-2008 The SquirrelMail Project Team
  * &lt; at &gt;license http://opensource.org/licenses/gpl-license.php GNU Public License
- * &lt; at &gt;version $Id:$
+ * &lt; at &gt;version $Id: $
  * &lt; at &gt;package squirrelmail
  */
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-20T22:34:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4296">
    <title>SF.net SVN: squirrelmail:[13323]trunk/squirrelmail/functions/files.php</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4296</link>
    <description>Revision: 13323
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13323&amp;view=rev
Author:   pdontthink
Date:     2008-11-20 22:33:34 +0000 (Thu, 20 Nov 2008)

Log Message:
-----------
Er, is it "Id:"?

Modified Paths:
--------------
    trunk/squirrelmail/functions/files.php

Modified: trunk/squirrelmail/functions/files.php
===================================================================
--- trunk/squirrelmail/functions/files.php2008-11-20 22:32:32 UTC (rev 13322)
+++ trunk/squirrelmail/functions/files.php2008-11-20 22:33:34 UTC (rev 13323)
&lt; at &gt;&lt; at &gt; -8,7 +8,7 &lt; at &gt;&lt; at &gt;
  *
  * &lt; at &gt;copyright &amp;copy; 2008-2008 The SquirrelMail Project Team
  * &lt; at &gt;license http://opensource.org/licenses/gpl-license.php GNU Public License
- * &lt; at &gt;version $Id$
+ * &lt; at &gt;version $Id:$
  * &lt; at &gt;package squirrelmail
  */
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-20T22:33:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4295">
    <title>SF.net SVN: squirrelmail:[13322]trunk/squirrelmail/include/init.php</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4295</link>
    <description>Revision: 13322
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13322&amp;view=rev
Author:   pdontthink
Date:     2008-11-20 22:32:32 +0000 (Thu, 20 Nov 2008)

Log Message:
-----------
The random number seed generator was creating float values that, when fed to mt_srand(), which expects an integer, were seen as zero on some systems because it was such a large number.  This fix takes a sub-string of the seed's MD5 before converting it to an integer in order to fix that problem.

Modified Paths:
--------------
    trunk/squirrelmail/include/init.php

Modified: trunk/squirrelmail/include/init.php
===================================================================
--- trunk/squirrelmail/include/init.php2008-11-20 21:46:12 UTC (rev 13321)
+++ trunk/squirrelmail/include/init.php2008-11-20 22:32:32 UTC (rev 13322)
&lt; at &gt;&lt; at &gt; -120,10 +120,21 &lt; at &gt;&lt; at &gt;
 $seed .= uniqid(mt_rand(),TRUE);
 $seed .= implode( '', stat( __FILE__) );
 
-/** PHP 4.2 and up don't require seeding, but their used seed algorithm
- *  is of questionable quality, so we keep doing it ourselves. */
-mt_srand(hexdec(md5($seed)));
+// mt_srand() uses an integer to seed, so we need to distill our
+// very large seed to something useful (without taking a sub-string,
+// the integer conversion of such a large number is always 0 on
+// many systems, but strangely, 9 hex numbers - even if larger
+// than a signed 32 bit integer - seem to be an acceptable "integer"
+// seed (perhaps it is used as unsigned?)...
+// we may want to revisit this and always force it to be less than
+// 2,147,483,647
+//
+$seed = hexdec(substr(md5($seed), 0, 9));
 
+// PHP 4.2 and up don't require seeding, but their used seed algorithm
+// is of questionable quality, so we keep doing it ourselves. */
+mt_srand($seed);
+
 /**
  * calculate SM_PATH and calculate the base_uri
  * assumptions made: init.php is only called from plugins or from the src dir.


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-20T22:32:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4294">
    <title>SF.net SVN: squirrelmail:[13321] trunk/squirrelmail</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4294</link>
    <description>Revision: 13321
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13321&amp;view=rev
Author:   pdontthink
Date:     2008-11-20 21:46:12 +0000 (Thu, 20 Nov 2008)

Log Message:
-----------
Add a functions file for file utility functions (say that 10 times fast) along with some new file functions

Modified Paths:
--------------
    trunk/squirrelmail/functions/global.php
    trunk/squirrelmail/include/init.php

Added Paths:
-----------
    trunk/squirrelmail/functions/files.php

Added: trunk/squirrelmail/functions/files.php
===================================================================
--- trunk/squirrelmail/functions/files.php                        (rev 0)
+++ trunk/squirrelmail/functions/files.php2008-11-20 21:46:12 UTC (rev 13321)
&lt; at &gt;&lt; at &gt; -0,0 +1,265 &lt; at &gt;&lt; at &gt;
+&lt;?php
+
+/**
+ * files.php
+ *
+ * This file includes various helper functions for working
+ * with the server filesystem.
+ *
+ * &lt; at &gt;copyright &amp;copy; 2008-2008 The SquirrelMail Project Team
+ * &lt; at &gt;license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * &lt; at &gt;version $Id$
+ * &lt; at &gt;package squirrelmail
+ */
+
+
+/**
+ * Generates a unique file in a specific directory and
+ * returns the file name (without the path).
+ *
+ * &lt; at &gt;param directory The directory within which to create the file
+ *
+ * &lt; at &gt;return mixed FALSE when a failure occurs, otherwise a string
+ *               containing the filename of the file only (not
+ *               its full path)
+ *
+ * &lt; at &gt;since 1.5.2
+ *
+ */
+function sq_create_tempfile($directory)
+{
+
+    // give up after 1000 tries
+    $maximum_tries = 1000;
+
+    // using PHP &gt;= 4.3.2 we can be truly atomic here
+    $filemods = check_php_version(4, 3, 2) ? 'x' : 'w';
+
+    for ($try = 0; $try &lt; $maximum_tries; ++$try) {
+
+        $localfilename = GenerateRandomString(32, '', 7);
+        $full_localfilename = $directory . DIRECTORY_SEPARATOR . $localfilename;
+
+        // filename collision. try again
+        if ( file_exists($full_localfilename) ) {
+            continue;
+        }
+
+        // try to open for (binary) writing
+        $fp = &lt; at &gt;fopen( $full_localfilename, $filemods);
+
+        if ($fp !== FALSE) {
+            // success! make sure it's not readable, close and return filename
+            chmod($full_localfilename, 0600);
+            fclose($fp);
+            return $localfilename;
+        }
+
+    }
+
+    // we tried as many times as we could but didn't succeed.
+    return FALSE;
+
+}
+
+
+/**
+  * PHP's is_writable() is broken in some versions due to either
+  * safe_mode or because of problems correctly determining the
+  * actual file permissions under Windows.  Under safe_mode or
+  * Windows, we'll try to actually write something in order to
+  * see for sure...
+  *
+  * &lt; at &gt;param string $path The full path to the file or directory to
+  *                     be tested
+  *
+  * &lt; at &gt;return boolean Whether or not the file or directory exists
+  *                 and is writable
+  *
+  * &lt; at &gt;since 1.5.2
+  *
+  **/
+function sq_is_writable($path) {
+
+   global $server_os;
+
+
+   // under *nix with safe_mode off, use the native is_writable()
+   //
+   if ($server_os == '*nix' &amp;&amp; !(bool)ini_get('safe_mode'))
+      return is_writable($path);
+
+
+   // if it's a directory, that means we have to create a temporary
+   // file therein
+   //
+   $delete_temp_file = FALSE;
+   if (&lt; at &gt;is_dir($path) &amp;&amp; ($temp_filename = &lt; at &gt;sq_create_tempfile($path)))
+   {
+      $path .= DIRECTORY_SEPARATOR . $temp_filename;
+      $delete_temp_file = TRUE;
+   }
+
+
+   // try to open the file for writing (without trying to create it)
+   //
+   if (!&lt; at &gt;is_dir($path) &amp;&amp; ($FILE = &lt; at &gt;fopen($path, 'r+')))
+   {
+      &lt; at &gt;fclose($FILE);
+
+      // delete temp file if needed
+      //
+      if ($delete_temp_file)
+         &lt; at &gt;unlink($path);
+
+      return TRUE;
+   }
+
+
+   // delete temp file if needed
+   //
+   if ($delete_temp_file)
+      &lt; at &gt;unlink($path);
+
+   return FALSE;
+
+}
+
+
+/**
+  * Find files and/or directories in a given directory optionally
+  * limited to only those with the given file extension.  If the
+  * directory is not found or cannot be opened, no error is generated;
+  * only an empty file list is returned.
+FIXME: do we WANT to throw an error or a notice or... or return FALSE?
+  *
+  * &lt; at &gt;param string $directory_path         The path (relative or absolute)
+  *                                       to the desired directory.
+  * &lt; at &gt;param mixed  $extension              The file extension filter - either
+  *                                       an array of desired extension(s),
+  *                                       or a comma-separated list of same
+  *                                       (optional; default is to return 
+  *                                       all files (dirs).
+  * &lt; at &gt;param boolean $return_filenames_only When TRUE, only file/dir names
+  *                                       are returned, otherwise the
+  *                                       $directory_path string is
+  *                                       prepended to each file/dir in
+  *                                       the returned list (optional;
+  *                                       default is filename/dirname only)
+  * &lt; at &gt;param boolean $include_directories   When TRUE, directories are
+  *                                       included (optional; default
+  *                                       DO include directories).
+  * &lt; at &gt;param boolean $directories_only      When TRUE, ONLY directories
+  *                                       are included (optional; default
+  *                                       is to include files too).
+  * &lt; at &gt;param boolean $separate_files_and_directories When TRUE, files and
+  *                                                directories are returned
+  *                                                in separate lists, so
+  *                                                the return value is
+  *                                                formatted as a two-element
+  *                                                array with the two keys
+  *                                                "FILES" and "DIRECTORIES",
+  *                                                where corresponding values
+  *                                                are lists of either all
+  *                                                files or all directories
+  *                                                (optional; default do not
+  *                                                split up return array).
+  * &lt; at &gt;param boolean $only_sm               When TRUE, a security check will
+  *                                       limit directory access to only
+  *                                       paths within the SquirrelMail 
+  *                                       installation currently being used
+  *                                       (optional; default TRUE)
+  *
+  * &lt; at &gt;return array The requested file/directory list(s).
+  *
+  * &lt; at &gt;since 1.5.2
+  *
+  */
+function list_files($directory_path, $extensions='', $return_filenames_only=TRUE,
+                    $include_directories=TRUE, $directories_only=FALSE,
+                    $separate_files_and_directories=FALSE, $only_sm=TRUE) {
+
+    $files = array();
+    $directories = array();
+
+
+    // make sure requested path is under SM_PATH if needed
+    //
+    if ($only_sm) {
+        if (strpos(realpath($directory_path), realpath(SM_PATH)) !== 0) {
+            //plain_error_message(_("Illegal filesystem access was requested"));
+            echo _("Illegal filesystem access was requested");
+            exit;
+        }
+    }
+
+
+    // validate given directory
+    //
+    if (empty($directory_path)
+     || !is_dir($directory_path)
+     || !($DIR = opendir($directory_path))) {
+        return $files;
+    }
+
+
+    // ensure extensions is an array and is properly formatted 
+    //
+    if (!empty($extensions)) {
+        if (!is_array($extensions))
+            $extensions = explode(',', $extensions);
+        $temp_extensions = array();
+        foreach ($extensions as $ext)
+            $temp_extensions[] = '.' . trim(trim($ext), '.');
+        $extensions = $temp_extensions;
+    } else $extensions = array();
+
+
+    $directory_path = rtrim($directory_path, '/');
+
+
+    // parse through the files
+    //
+    while (($file = readdir($DIR)) !== false) {
+
+        if ($file == '.' || $file == '..') continue;
+
+        if (!empty($extensions))
+            foreach ($extensions as $ext)
+                if (strrpos($file, $ext) !== (strlen($file) - strlen($ext)))
+                    continue 2;
+
+        // only use is_dir() if we really need to (be as efficient as possible)
+        //
+        $is_dir = FALSE;
+        if (!$include_directories || $directories_only
+                                  || $separate_files_and_directories) {
+            if (is_dir($directory_path . '/' . $file)) {
+                if (!$include_directories) continue;
+                $is_dir = TRUE;
+                $directories[] = ($return_filenames_only
+                               ? $file
+                               : $directory_path . '/' . $file);
+            }
+            if ($directories_only) continue;
+        }
+
+        if (!$separate_files_and_directories
+         || ($separate_files_and_directories &amp;&amp; !$is_dir)) {
+            $files[] = ($return_filenames_only
+                     ? $file
+                     : $directory_path . '/' . $file);
+        }
+
+    }
+    closedir($DIR);
+
+
+    if ($directories_only) return $directories;
+    if ($separate_files_and_directories) return array('FILES' =&gt; $files,
+                                                      'DIRECTORIES' =&gt; $directories);
+    return $files;
+
+}
+
+

Modified: trunk/squirrelmail/functions/global.php
===================================================================
--- trunk/squirrelmail/functions/global.php2008-11-20 20:08:16 UTC (rev 13320)
+++ trunk/squirrelmail/functions/global.php2008-11-20 21:46:12 UTC (rev 13321)
&lt; at &gt;&lt; at &gt; -624,143 +624,6 &lt; at &gt;&lt; at &gt;
 
 
 /**
-  * Find files and/or directories in a given directory optionally
-  * limited to only those with the given file extension.  If the
-  * directory is not found or cannot be opened, no error is generated;
-  * only an empty file list is returned.
-FIXME: do we WANT to throw an error or a notice or... or return FALSE?
-  *
-  * &lt; at &gt;param string $directory_path         The path (relative or absolute)
-  *                                       to the desired directory.
-  * &lt; at &gt;param mixed  $extension              The file extension filter - either
-  *                                       an array of desired extension(s),
-  *                                       or a comma-separated list of same
-  *                                       (optional; default is to return 
-  *                                       all files (dirs).
-  * &lt; at &gt;param boolean $return_filenames_only When TRUE, only file/dir names
-  *                                       are returned, otherwise the
-  *                                       $directory_path string is
-  *                                       prepended to each file/dir in
-  *                                       the returned list (optional;
-  *                                       default is filename/dirname only)
-  * &lt; at &gt;param boolean $include_directories   When TRUE, directories are
-  *                                       included (optional; default
-  *                                       DO include directories).
-  * &lt; at &gt;param boolean $directories_only      When TRUE, ONLY directories
-  *                                       are included (optional; default
-  *                                       is to include files too).
-  * &lt; at &gt;param boolean $separate_files_and_directories When TRUE, files and
-  *                                                directories are returned
-  *                                                in separate lists, so
-  *                                                the return value is
-  *                                                formatted as a two-element
-  *                                                array with the two keys
-  *                                                "FILES" and "DIRECTORIES",
-  *                                                where corresponding values
-  *                                                are lists of either all
-  *                                                files or all directories
-  *                                                (optional; default do not
-  *                                                split up return array).
-  * &lt; at &gt;param boolean $only_sm               When TRUE, a security check will
-  *                                       limit directory access to only
-  *                                       paths within the SquirrelMail 
-  *                                       installation currently being used
-  *                                       (optional; default TRUE)
-  *
-  * &lt; at &gt;return array The requested file/directory list(s).
-  *
-  * &lt; at &gt;since 1.5.2
-  *
-  */
-function list_files($directory_path, $extensions='', $return_filenames_only=TRUE,
-                    $include_directories=TRUE, $directories_only=FALSE,
-                    $separate_files_and_directories=FALSE, $only_sm=TRUE) {
-
-    $files = array();
-    $directories = array();
-
-
-    // make sure requested path is under SM_PATH if needed
-    //
-    if ($only_sm) {
-        if (strpos(realpath($directory_path), realpath(SM_PATH)) !== 0) {
-            //plain_error_message(_("Illegal filesystem access was requested"));
-            echo _("Illegal filesystem access was requested");
-            exit;
-        }
-    }
-
-
-    // validate given directory
-    //
-    if (empty($directory_path)
-     || !is_dir($directory_path)
-     || !($DIR = opendir($directory_path))) {
-        return $files;
-    }
-
-
-    // ensure extensions is an array and is properly formatted 
-    //
-    if (!empty($extensions)) {
-        if (!is_array($extensions))
-            $extensions = explode(',', $extensions);
-        $temp_extensions = array();
-        foreach ($extensions as $ext)
-            $temp_extensions[] = '.' . trim(trim($ext), '.');
-        $extensions = $temp_extensions;
-    } else $extensions = array();
-
-
-    $directory_path = rtrim($directory_path, '/');
-
-
-    // parse through the files
-    //
-    while (($file = readdir($DIR)) !== false) {
-
-        if ($file == '.' || $file == '..') continue;
-
-        if (!empty($extensions))
-            foreach ($extensions as $ext)
-                if (strrpos($file, $ext) !== (strlen($file) - strlen($ext)))
-                    continue 2;
-
-        // only use is_dir() if we really need to (be as efficient as possible)
-        //
-        $is_dir = FALSE;
-        if (!$include_directories || $directories_only
-                                  || $separate_files_and_directories) {
-            if (is_dir($directory_path . '/' . $file)) {
-                if (!$include_directories) continue;
-                $is_dir = TRUE;
-                $directories[] = ($return_filenames_only
-                               ? $file
-                               : $directory_path . '/' . $file);
-            }
-            if ($directories_only) continue;
-        }
-
-        if (!$separate_files_and_directories
-         || ($separate_files_and_directories &amp;&amp; !$is_dir)) {
-            $files[] = ($return_filenames_only
-                     ? $file
-                     : $directory_path . '/' . $file);
-        }
-
-    }
-    closedir($DIR);
-
-
-    if ($directories_only) return $directories;
-    if ($separate_files_and_directories) return array('FILES' =&gt; $files,
-                                                      'DIRECTORIES' =&gt; $directories);
-    return $files;
-
-}
-
-
-/**
  * Print variable
  *
  * sm_print_r($some_variable, [$some_other_variable [, ...]]);
&lt; at &gt;&lt; at &gt; -856,3 +719,5 &lt; at &gt;&lt; at &gt;
     return $value;
 
 }
+
+

Modified: trunk/squirrelmail/include/init.php
===================================================================
--- trunk/squirrelmail/include/init.php2008-11-20 20:08:16 UTC (rev 13320)
+++ trunk/squirrelmail/include/init.php2008-11-20 21:46:12 UTC (rev 13321)
&lt; at &gt;&lt; at &gt; -190,6 +190,7 &lt; at &gt;&lt; at &gt;
 require(SM_PATH . 'functions/global.php');
 require(SM_PATH . 'functions/strings.php');
 require(SM_PATH . 'functions/arrays.php');
+require(SM_PATH . 'functions/files.php');
 
 /* load default configuration */
 require(SM_PATH . 'config/config_default.php');


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-20T21:46:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4293">
    <title>SF.net SVN: squirrelmail:[13320]trunk/squirrelmail/functions/global.php</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4293</link>
    <description>Revision: 13320
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13320&amp;view=rev
Author:   pdontthink
Date:     2008-11-20 20:08:16 +0000 (Thu, 20 Nov 2008)

Log Message:
-----------
Forgot &lt; at &gt;since info for sqsetcookie

Modified Paths:
--------------
    trunk/squirrelmail/functions/global.php

Modified: trunk/squirrelmail/functions/global.php
===================================================================
--- trunk/squirrelmail/functions/global.php2008-11-20 20:05:35 UTC (rev 13319)
+++ trunk/squirrelmail/functions/global.php2008-11-20 20:08:16 UTC (rev 13320)
&lt; at &gt;&lt; at &gt; -510,6 +510,8 &lt; at &gt;&lt; at &gt;
  *
  * &lt; at &gt;return void
  *
+ * &lt; at &gt;since 1.4.16 and 1.5.1
+ *
  */
 function sqsetcookie($sName, $sValue='deleted', $iExpire=0, $sPath="", $sDomain="",
                      $bSecure=false, $bHttpOnly=true, $bReplace=false) {


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-20T20:08:18</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4292">
    <title>SF.net SVN: squirrelmail:[13319]trunk/squirrelmail/include/init.php</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4292</link>
    <description>Revision: 13319
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13319&amp;view=rev
Author:   pdontthink
Date:     2008-11-20 20:05:35 +0000 (Thu, 20 Nov 2008)

Log Message:
-----------
Add global variable indicating server OS

Modified Paths:
--------------
    trunk/squirrelmail/include/init.php

Modified: trunk/squirrelmail/include/init.php
===================================================================
--- trunk/squirrelmail/include/init.php2008-10-31 02:41:38 UTC (rev 13318)
+++ trunk/squirrelmail/include/init.php2008-11-20 20:05:35 UTC (rev 13319)
&lt; at &gt;&lt; at &gt; -75,6 +75,14 &lt; at &gt;&lt; at &gt;
 $null = NULL;
 
 /**
+ * The global $server_os variable will be "windows" if
+ * we are working in a Windows environment or "*nix"
+ * otherwise.
+ */
+global $server_os;
+if (DIRECTORY_SEPARATOR == '\\') $server_os = 'windows'; else $server_os = '*nix';
+
+/**
  * [#1518885] session.use_cookies = off breaks SquirrelMail
  *
  * When session cookies are not used, all http redirects, meta refreshes,


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-20T20:05:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4290">
    <title>Missing and Empty Folders?</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4290</link>
    <description>    Dear Squirrel Mail Team:

    I was up on SquirrelMail this morning, before 9AM ET, and all seemed
    normal.   I logged back on this afternoon, about 1PM ET, and all of my
    personally-created folders are missing, and the "standard" ones (Drafts,
    Sent, Trash, Old-Messages) are empty!

    Is all this information suddenly gone, or is there a way I can retrieve
    it?   Are you working on a problem affecting many/all users, or is this
    unique to me?

    Thanks in advance for your help with this.

    --Fran
    Francis X. McGuire
    McGuire Media Group, LLC.
    333 Buena Vista Road
    Fairfield, CT 06825-1620
    T: (203) 579-0794
    F: (203) 333-6050
    C: (203) 243-3034
    fran-iV/pAHQvG3g/lw2aP8KBIQC/G2K4zDHf&lt; at &gt;public.gmane.org




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>fran-iV/pAHQvG3g/lw2aP8KBIQC/G2K4zDHf&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-11-11T22:26:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4289">
    <title>SF.net SVN: squirrelmail:[13318] trunk/squirrelmail</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4289</link>
    <description>Revision: 13318
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13318&amp;view=rev
Author:   pdontthink
Date:     2008-10-31 02:41:38 +0000 (Fri, 31 Oct 2008)

Log Message:
-----------
Make login form input fields configurable again (see Password Forget plugin)

Modified Paths:
--------------
    trunk/squirrelmail/src/login.php
    trunk/squirrelmail/templates/default/login.tpl
    trunk/squirrelmail/templates/default_advanced/login.tpl

Modified: trunk/squirrelmail/src/login.php
===================================================================
--- trunk/squirrelmail/src/login.php2008-10-30 21:30:09 UTC (rev 13317)
+++ trunk/squirrelmail/src/login.php2008-10-31 02:41:38 UTC (rev 13318)
&lt; at &gt;&lt; at &gt; -59,6 +59,8 &lt; at &gt;&lt; at &gt;
     }
 }
 
+$username_form_name = 'login_username';
+$password_form_name = 'secretkey';
 do_hook('login_cookie', $null);
 
 $loginname_value = (sqGetGlobalVar('loginname', $loginname) ? htmlspecialchars($loginname) : '');

Modified: trunk/squirrelmail/templates/default/login.tpl
===================================================================
--- trunk/squirrelmail/templates/default/login.tpl2008-10-30 21:30:09 UTC (rev 13317)
+++ trunk/squirrelmail/templates/default/login.tpl2008-10-31 02:41:38 UTC (rev 13318)
&lt; at &gt;&lt; at &gt; -51,7 +51,7 &lt; at &gt;&lt; at &gt;
    &lt;?php echo _("Name:"); ?&gt;
   &lt;/td&gt;
   &lt;td class="sqm_loginFieldInput"&gt;
-   &lt;input type="text" name="login_username" value="&lt;?php echo $login_field_value; ?&gt;" id="login_username" onfocus="alreadyFocused=true;" /&gt;
+   &lt;input type="text" name="&lt;?php global $username_form_name; echo $username_form_name; ?&gt;" value="&lt;?php echo $login_field_value; ?&gt;" id="login_username" onfocus="alreadyFocused=true;" /&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
&lt; at &gt;&lt; at &gt; -59,7 +59,7 &lt; at &gt;&lt; at &gt;
    &lt;?php echo _("Password:"); ?&gt;
   &lt;/td&gt;
   &lt;td class="sqm_loginFieldInput"&gt;
-   &lt;input type="password" name="secretkey" value="" id="secretkey" onfocus="alreadyFocused=true;" /&gt;
+   &lt;input type="password" name="&lt;?php global $password_form_name; echo $password_form_name; ?&gt;" value="" id="secretkey" onfocus="alreadyFocused=true;" /&gt;
    &lt;?php echo $login_extra; ?&gt;
   &lt;/td&gt;
  &lt;/tr&gt;

Modified: trunk/squirrelmail/templates/default_advanced/login.tpl
===================================================================
--- trunk/squirrelmail/templates/default_advanced/login.tpl2008-10-30 21:30:09 UTC (rev 13317)
+++ trunk/squirrelmail/templates/default_advanced/login.tpl2008-10-31 02:41:38 UTC (rev 13318)
&lt; at &gt;&lt; at &gt; -61,7 +61,7 &lt; at &gt;&lt; at &gt;
       &lt;?php echo _("Name:"); ?&gt;
      &lt;/td&gt;
      &lt;td class="fieldInput"&gt;
-      &lt;input type="text" name="login_username" value="&lt;?php echo $login_field_value; ?&gt;" id="login_username" class="input" onfocus="alreadyFocused=true;" /&gt;
+      &lt;input type="text" name="&lt;?php global $username_form_name; echo $username_form_name; ?&gt;" value="&lt;?php echo $login_field_value; ?&gt;" id="login_username" class="input" onfocus="alreadyFocused=true;" /&gt;
      &lt;/td&gt;
     &lt;/tr&gt;
     &lt;tr&gt;
&lt; at &gt;&lt; at &gt; -69,7 +69,7 &lt; at &gt;&lt; at &gt;
       &lt;?php echo _("Password:"); ?&gt;
      &lt;/td&gt;
      &lt;td class="fieldInput"&gt;
-      &lt;input type="password" name="secretkey" value="" id="secretkey" class="input" onfocus="alreadyFocused=true;" /&gt;
+      &lt;input type="password" name="&lt;?php global $password_form_name; echo $password_form_name; ?&gt;" value="" id="secretkey" class="input" onfocus="alreadyFocused=true;" /&gt;
       &lt;?php echo $login_extra; ?&gt;
      &lt;/td&gt;
     &lt;/tr&gt;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-31T02:41:38</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4288">
    <title>SF.net SVN: squirrelmail:[13317]trunk/squirrelmail/functions/options.php</title>
    <link>http://comments.gmane.org/gmane.mail.squirrelmail.cvs/4288</link>
    <description>Revision: 13317
          http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=13317&amp;view=rev
Author:   pdontthink
Date:     2008-10-30 21:30:09 +0000 (Thu, 30 Oct 2008)

Log Message:
-----------
Minor spacing fix

Modified Paths:
--------------
    trunk/squirrelmail/functions/options.php

Modified: trunk/squirrelmail/functions/options.php
===================================================================
--- trunk/squirrelmail/functions/options.php2008-10-30 20:57:38 UTC (rev 13316)
+++ trunk/squirrelmail/functions/options.php2008-10-30 21:30:09 UTC (rev 13317)
&lt; at &gt;&lt; at &gt; -451,7 +451,8 &lt; at &gt;&lt; at &gt;
                 $width = 25;
         }
 
-        return addInput('new_' . $this-&gt;name, $this-&gt;value, $width, 0, $this-&gt;aExtraAttribs) . htmlspecialchars($this-&gt;trailing_text); 
+//TODO: might be better to have a separate template file for all widgets, because then the layout of the widget and the "trailing text" can be customized - they are still hard coded here
+        return addInput('new_' . $this-&gt;name, $this-&gt;value, $width, 0, $this-&gt;aExtraAttribs) . ' ' . htmlspecialchars($this-&gt;trailing_text);
     }
 
     /**


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
-----
squirrelmail-cvs mailing list
List address: squirrelmail-cvs-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
Repository: http://squirrelmail.org/svn

</description>
    <dc:creator>pdontthink-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org</dc:creator>
    <dc:date>2008-10-30T21:30:09</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.mail.squirrelmail.cvs">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.mail.squirrelmail.cvs</link>
  </textinput>
</rdf:RDF>
