You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(96) |
Feb
(124) |
Mar
(196) |
Apr
(169) |
May
(63) |
Jun
(230) |
Jul
(182) |
Aug
(247) |
Sep
(143) |
Oct
(153) |
Nov
(156) |
Dec
(162) |
2001 |
Jan
(399) |
Feb
(206) |
Mar
(50) |
Apr
(115) |
May
(111) |
Jun
(139) |
Jul
(153) |
Aug
(149) |
Sep
(225) |
Oct
(263) |
Nov
(90) |
Dec
(344) |
2002 |
Jan
(475) |
Feb
(303) |
Mar
(278) |
Apr
(339) |
May
(188) |
Jun
(95) |
Jul
(145) |
Aug
(277) |
Sep
(277) |
Oct
(306) |
Nov
(190) |
Dec
(153) |
2003 |
Jan
(179) |
Feb
(213) |
Mar
(126) |
Apr
(201) |
May
(85) |
Jun
(207) |
Jul
(205) |
Aug
(175) |
Sep
(226) |
Oct
(176) |
Nov
(79) |
Dec
(115) |
2004 |
Jan
(86) |
Feb
(112) |
Mar
(129) |
Apr
(185) |
May
(153) |
Jun
(157) |
Jul
(89) |
Aug
(182) |
Sep
(98) |
Oct
(105) |
Nov
(115) |
Dec
(90) |
2005 |
Jan
(61) |
Feb
(154) |
Mar
(239) |
Apr
(265) |
May
(80) |
Jun
(96) |
Jul
(118) |
Aug
(129) |
Sep
(74) |
Oct
(81) |
Nov
(261) |
Dec
(121) |
2006 |
Jan
(137) |
Feb
(204) |
Mar
(99) |
Apr
(45) |
May
(68) |
Jun
(51) |
Jul
(109) |
Aug
(56) |
Sep
(146) |
Oct
(229) |
Nov
(93) |
Dec
(47) |
2007 |
Jan
(127) |
Feb
(102) |
Mar
(89) |
Apr
(60) |
May
(41) |
Jun
(56) |
Jul
(139) |
Aug
(51) |
Sep
(51) |
Oct
(52) |
Nov
(110) |
Dec
(57) |
2008 |
Jan
(91) |
Feb
(53) |
Mar
(80) |
Apr
(57) |
May
(69) |
Jun
(36) |
Jul
(33) |
Aug
(29) |
Sep
(15) |
Oct
(13) |
Nov
(19) |
Dec
(18) |
2009 |
Jan
(15) |
Feb
(10) |
Mar
(16) |
Apr
(3) |
May
(15) |
Jun
(29) |
Jul
(30) |
Aug
(24) |
Sep
(27) |
Oct
(8) |
Nov
(14) |
Dec
(34) |
2010 |
Jan
(31) |
Feb
(34) |
Mar
(19) |
Apr
(16) |
May
(6) |
Jun
(17) |
Jul
(2) |
Aug
|
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(2) |
2011 |
Jan
(7) |
Feb
(4) |
Mar
|
Apr
(14) |
May
(1) |
Jun
(1) |
Jul
(6) |
Aug
(2) |
Sep
(8) |
Oct
(4) |
Nov
(3) |
Dec
(10) |
2012 |
Jan
(18) |
Feb
(27) |
Mar
(11) |
Apr
|
May
(2) |
Jun
|
Jul
(2) |
Aug
(21) |
Sep
(4) |
Oct
(10) |
Nov
(7) |
Dec
(2) |
2013 |
Jan
(1) |
Feb
(7) |
Mar
(4) |
Apr
(1) |
May
(3) |
Jun
(11) |
Jul
|
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(2) |
Dec
(8) |
2014 |
Jan
(10) |
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
|
2015 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(3) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(34) |
2017 |
Jan
(1) |
Feb
(2) |
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(3) |
Jun
|
Jul
(5) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(11) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(3) |
Dec
|
From: Dave A. <da...@zi...> - 2023-11-25 01:09:18
|
On Fri, November 24, 2023 11:03 am, Paul Lesniewski wrote: > Hello Dave, > > >> Upgrade from Squirrelmail 1.5.2 build 14986 to 14998 resulted in a blank >> right pane. > > Thank you for reporting this. > > >> diff -bur squirrelmail/functions/imap_messages.php @@ -117,7 +117,7 @@ >> // some broken IMAP servers do not return UID elements on UID STORE >> // if this is the case, then we need to do a UID FETCH >> if (!empty($parseFetchResults) - && !isset(reset($parseFetchResults)['UID'])) { >> + && !isset($parseFetchResults)['UID']) { >> $aResponse = sqimap_run_command_list($imap_stream, "FETCH >> $msgs_id (FLAGS)", >> $handle_errors, $response, $message, TRUE); >> $parseFetchResults = parseFetch($aResponse,$aMessageList); >> } >> > > The problem is simply a mismatch of parenthesis, nothing more. Fix is > here and will be included in our next nightly build: > https://sourceforge.net/p/squirrelmail/code/14999 > > > -- > Paul Lesniewski > SquirrelMail Team > Please support Open Source Software by donating to SquirrelMail! > http://squirrelmail.org/donate_paul_lesniewski.php > > > > > > ----- > squirrelmail-devel mailing list Posting guidelines: http://squirrelmail.org/postingguidelines > List address: squ...@li... > List archives: http://news.gmane.org/gmane.mail.squirrelmail.devel > List info (subscribe/unsubscribe/change options): > https://lists.sourceforge.net/lists/listinfo/squirrelmail-devel > > Hi Paul, That makes so much more sense. :) Thanks, Dave |
From: Paul L. <pa...@sq...> - 2023-11-24 19:42:24
|
Hello Dave, > Upgrade from Squirrelmail 1.5.2 build 14986 to 14998 resulted in a blank > right pane. Thank you for reporting this. > diff -bur squirrelmail/functions/imap_messages.php > @@ -117,7 +117,7 @@ > // some broken IMAP servers do not return UID elements on UID STORE > // if this is the case, then we need to do a UID FETCH > if (!empty($parseFetchResults) > - && !isset(reset($parseFetchResults)['UID'])) { > + && !isset($parseFetchResults)['UID']) { > $aResponse = sqimap_run_command_list($imap_stream, "FETCH > $msgs_id (FLAGS)", > $handle_errors, $response, $message, TRUE); > $parseFetchResults = parseFetch($aResponse,$aMessageList); > } The problem is simply a mismatch of parenthesis, nothing more. Fix is here and will be included in our next nightly build: https://sourceforge.net/p/squirrelmail/code/14999 -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php |
From: Dave A. <da...@zi...> - 2023-11-24 07:39:31
|
Hello, Long time user of Squirrelmail. I can't live without it! Upgrade from Squirrelmail 1.5.2 build 14986 to 14998 resulted in a blank right pane. Browser developer tools console indicated an Internal server error 500 on file /src/right_main.php. I could not debug the problem using /var/log/apache2/error.log since no errors were reported. I tried configuring PHP to display errors but no luck. My configuration: SquirrelMail version 1.5.2 [SVN] svn "Checked out revision 14998" External email server - dnchosting.com Squirrelmail installed on Debian 11 droplet, up to date Server version: Apache/2.4.56 (Debian) PHP 7.4.33 Accessed from Windows 10 with latest Firefox browser Troubleshooting: Used diff to find all file differences between working email client files and failing email client files. Copied working client files one at a time to the failing client directory until Squirrelmail displayed the right pane normally. Here's the diff causing the error: diff -bur squirrelmail/functions/imap_messages.php squirrelmail-svn/functions/imap_messages.php --- squirrelmail/functions/imap_messages.php 2023-01-02 18:11:29.000000000 -0800 +++ squirrelmail-svn/functions/imap_messages.php 2023-11-23 17:00:09.868665851 -0800 @@ -8,7 +8,7 @@ * * @copyright 1999-2023 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License - * @version $Id: imap_messages.php 14986 2023-01-03 02:11:29Z pdontthink $ + * @version $Id: imap_messages.php 14995 2023-08-24 22:06:59Z pdontthink $ * @package squirrelmail * @subpackage imap */ @@ -117,7 +117,7 @@ // some broken IMAP servers do not return UID elements on UID STORE // if this is the case, then we need to do a UID FETCH if (!empty($parseFetchResults) - && !isset(reset($parseFetchResults)['UID'])) { + && !isset($parseFetchResults)['UID']) { $aResponse = sqimap_run_command_list($imap_stream, "FETCH $msgs_id (FLAGS)", $handle_errors, $response, $message, TRUE); $parseFetchResults = parseFetch($aResponse,$aMessageList); } Further troubleshooting found that removing the "reset" command on line 120 caused the error. When I inserted it back the error was gone. I'm at a loss as to why this is the case since the pointer seems like it should be at the start of the array since it seems nothing has moved it forward. I'm not sure what the reason for this error is but I wouldn't mind understanding this error more. Maybe when an array is created the pointer is left at the end??? Maybe this could be PHP misbehaving, I don't know. Sorry if this report is not properly submitted or not clear. Thanks, Dave |
From: David C R. <dr...@su...> - 2023-09-01 04:43:08
|
sqmail devs, Server: Running on Archlinux: 6.4.12-arch1-1 Apache/2.4.57 (Unix) OpenSSL/3.1.2 mod_fcgid/2.3.9 PHP/8.1.22 postfix 3.8.1-3 dovecot 2.3.20-2 Squirrelmail: 1.5.2-dev svn 2023-08-30 update On login, I'm presented with the following error with the INBOX displayed: SquirrelMail notice messages Category: PHP Message: Trying to access array offset on value of type bool FILE: /srv/http/htdocs/squirrelmail/functions/mailbox_display.php LINE: 254 I've looked at the line: $aMailbox['THREAD_INDENT'] = $aCachedMailbox['THREAD_INDENT']; and it mush be considering 'THREAD_INDENT' type bool and it's unhappy trying to index 'true'` or 'false'. It goes away after I select another view and come back to inbox. There is another issue with the "Options/Display Preferences" settings not being remembered and displayed as they are currently set. This results in some set of defaults displaying, which enables javascript (don't like the look at all) and sets the [x] Split preview vertically. This causes the: up-arrow[space]X[space]down-arrow to display in the top-right (the <td> expanding and collapsing the preview). This is awkward and takes an entire row to display. All of this is cured by setting use javascript to "Never" (back to normal) I thought I would pass along the error. It appears on load there is an if() else that results in 'THREAD_INDENT' being considered a bool. But just looking though the first 250 lines, it wasn't apparent where that came from. -- David C. Rankin, J.D.,P.E. |
From: David C R. <dr...@su...> - 2023-09-01 01:54:25
|
Hello sqmail devs, Happy to find the update squirrelmail that I can run on PHP8! (had been building 5.6 every time ICU changed for a while...). Normal setup, but I encountered a warning during src/conftest.php check that I thought I would pass on. Server: Running on Archlinux: 6.4.12-arch1-1 Apache/2.4.57 (Unix) OpenSSL/3.1.2 mod_fcgid/2.3.9 PHP/8.1.22 postfix 3.8.1-3 dovecot 2.3.20-2 The PHP/8.1.22 is from the Archlinux php-legacy packages specifically held back to the 8.1 release to avoid nextcloud breakage. Arch packages 8.2 as php. conftest.php warning: <snip> Warning: Undefined variable $verify_peer in /srv/http/htdocs/squirrelmail/src/configtest.php on line 746 verify_peer : IMAP server ready (* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot ready.) Capabilities: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH=LOGIN Checking internationalization (i18n) settings... gettext - Gettext functions are unavailable. SquirrelMail will use slower internal gettext functions. mbstring - Mbstring functions are available. recode - Recode functions are unavailable. iconv - Iconv functions are available. timezone - Webmail users can change their time zone settings. Current time zone is UTC. Checking database functions... not using database functionality. Checking LDAP functions... not using LDAP functionality. Summary Congratulations, your SquirrelMail setup looks fine to me! Login now Login works fine, but the normal area where the heading controls and messages are displayed is blank. The only error logged is: [Thu Aug 31 20:43:42.072929 2023] [fcgid:warn] [pid 12712] [client 192.168.6.104:56166] mod_fcgid: stderr: PHP Parse error: syntax error, unexpected token "[" in /srv/http/htdocs/squirrelmail/functions/imap_messages.php on line 120, referer: https://2pi.3111skyline.com/squirrelmail/src/left_main.php That corresponds to the following line in sqimap_toggle_flag(): /** * Set a flag on the provided uid list * @param resource imap connection * @param mixed $id Normally an array which is a list with message UIDs to be flagged * or a string range such as "1:*" or a simple integer * @param string $flag Flags to set/unset flags can be i.e.'\Seen', '\Answered', '\Seen \Answered' * @param bool $set add (true) or remove (false) the provided flag * @param bool $handle_errors Show error messages in case of a NO, BAD or BYE response * @return array $aMessageList array with messages containing the new flags and UID @see parseFetch */ function sqimap_toggle_flag($imap_stream, $id, $flag, $set, $handle_errors) { $msgs_id = sqimap_message_list_squisher($id); $set_string = ($set ? '+' : '-'); /* * We need to return the data in the same order as the caller supplied * in $id, but IMAP servers are free to return responses in * whatever order they wish... So we need to re-sort manually */ $aMessageList = array(); if (is_array($id)) { for ($i=0; $i<count($id); $i++) { $aMessageList[$id[$i]] = array(); } } $aResponse = sqimap_run_command_list($imap_stream, "STORE $msgs_id ".$set_string."FLAGS ($flag)", $handle_error s, $response, $message, TRUE); // parse the fetch response $parseFetchResults=parseFetch($aResponse,$aMessageList); // some broken IMAP servers do not return UID elements on UID STORE // if this is the case, then we need to do a UID FETCH if (!empty($parseFetchResults) && !isset($parseFetchResults)['UID']) { 120 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ $aResponse = sqimap_run_command_list($imap_stream, "FETCH $msgs_id (FLAGS)", $handle_errors, $response, $me ssage, TRUE); $parseFetchResults = parseFetch($aResponse,$aMessageList); } return ($parseFetchResults); } The problem is the index ['UID'] is applied to !isset($parseFetchResults)['UID'] where it should be applied as !isset(($parseFetchResults)['UID'])) Adding the paren solves that issue. Let me know on the warning. -- David C. Rankin, J.D.,P.E. |
From: Paul L. <pa...@sq...> - 2021-12-21 18:35:38
|
Peter, On Tue, December 21, 2021 3:03 pm, pe...@ca... wrote: > Please can you tell me how I submit a patch to squirrelmail? > Kind regards, > Peter Cardoe. You can submit here on the mailing list, to me personally, or use the SourceForge.net tracker to do so. If it's a security fix, please contact us through the email address you can find on the security page on the SquirrelMail website. Thanks for your help making SquirrelMail a little bit better! -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php |
From: <pe...@ca...> - 2021-12-21 15:19:19
|
Please can you tell me how I submit a patch to squirrelmail? Kind regards, Peter Cardoe. |
From: Paul L. <pa...@sq...> - 2021-08-11 07:05:15
|
On Wed, August 11, 2021 4:56 am, Bill Shirley wrote: > I have a few patches for avelsieve 1.9.9 that I created about nine years > ago to > eliminate error messages. Would this list be a place to post them? Generally you want to do that by contacting the author or posting them to the squirrelmail-plugins mailing list > There's another bug we've encountered that I have yet to patch. It's when > a users clicks 'disable' without have checked any rule checkboxes. I just > throws > two error messages. I personally recommend the Server Side Filters plugin with Sieve backend (which is actively maintained by myself), though I think avelsieve may provide more open-ended rule editing for advanced users(?) -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php |
From: Bill S. <bill@ShirleyFamily.net> - 2021-08-11 04:56:43
|
I have a few patches for avelsieve 1.9.9 that I created about nine years ago to eliminate error messages. Would this list be a place to post them? There's another bug we've encountered that I have yet to patch. It's when a users clicks 'disable' without have checked any rule checkboxes. I just throws two error messages. Bill |
From: Paul L. <pa...@sq...> - 2021-08-10 06:46:51
|
On Tue, August 10, 2021 5:47 am, Bill Shirley wrote: > [0 10:06:35 root@yoda33 functions 1]$ rpm -q httpd dovecot postfix php > httpd-2.4.46-9.fc33.x86_64 > dovecot-2.3.14-1.fc33.x86_64 > postfix-3.5.10-1.fc33.x86_64 > php-7.4.19-1.fc33.x86_64 > > Some strings: Ok, so the problem is with some unknown mailer creating odd date headers. I've committed the fix. Thanks for your contribution! -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php > 27-Jun-2019 00:23:10 -0700 Wed, 26 Jun 2019 21:40 -0700 ========== > 28-May-2020 09:14:19 -0700 THURSDAY MAY 28 2020 16:14 > ========== 23-Jun-2020 14:50:20 -0700 TUESDAY JUNE 23 2020 21:50 > ========== 24-Jul-2020 11:36:48 -0700 FRIDAY JULY 24 2020 18:36 > ========== 01-Sep-2020 10:55:49 -0700 TUESDAY SEPTEMBER 01 2020 17:55 > ========== > Bill > > > On 8/10/2021 1:32 AM, Paul Lesniewski wrote: >> Bill, >> >> On Tue, August 10, 2021 5:15 am, Bill Shirley wrote: >>> You were right. I commented out my two line patch in date.php >>> getTimeStamp (so the errors would resume) and >>> added the preg_replace statements in imap_messages.php: >>> <snip> >>> Some of the strings did have multiple spaces between words. No errors >>> now. >> Can you provide the actual errant date strings? What kind of IMAP >> server/setup/configuration is this from? >> > ----- > squirrelmail-devel mailing list > Posting guidelines: http://squirrelmail.org/postingguidelines > List address: squ...@li... > List archives: http://news.gmane.org/gmane.mail.squirrelmail.devel > List info (subscribe/unsubscribe/change options): > https://lists.sourceforge.net/lists/listinfo/squirrelmail-devel |
From: Bill S. <bill@ShirleyFamily.net> - 2021-08-10 05:47:29
|
[0 10:06:35 root@yoda33 functions 1]$ rpm -q httpd dovecot postfix php httpd-2.4.46-9.fc33.x86_64 dovecot-2.3.14-1.fc33.x86_64 postfix-3.5.10-1.fc33.x86_64 php-7.4.19-1.fc33.x86_64 Some strings: 27-Jun-2019 00:23:10 -0700 Wed, 26 Jun 2019 21:40 -0700 ========== 28-May-2020 09:14:19 -0700 THURSDAY MAY 28 2020 16:14 ========== 23-Jun-2020 14:50:20 -0700 TUESDAY JUNE 23 2020 21:50 ========== 24-Jul-2020 11:36:48 -0700 FRIDAY JULY 24 2020 18:36 ========== 01-Sep-2020 10:55:49 -0700 TUESDAY SEPTEMBER 01 2020 17:55 ========== Bill On 8/10/2021 1:32 AM, Paul Lesniewski wrote: > Bill, > > On Tue, August 10, 2021 5:15 am, Bill Shirley wrote: >> You were right. I commented out my two line patch in date.php >> getTimeStamp (so the errors would resume) and >> added the preg_replace statements in imap_messages.php: >> <snip> >> Some of the strings did have multiple spaces between words. No errors >> now. > Can you provide the actual errant date strings? What kind of IMAP > server/setup/configuration is this from? > |
From: Paul L. <pa...@sq...> - 2021-08-10 05:33:13
|
Bill, On Tue, August 10, 2021 5:15 am, Bill Shirley wrote: > You were right. I commented out my two line patch in date.php > getTimeStamp (so the errors would resume) and > added the preg_replace statements in imap_messages.php: > <snip> > Some of the strings did have multiple spaces between words. No errors > now. Can you provide the actual errant date strings? What kind of IMAP server/setup/configuration is this from? -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php > On 8/9/2021 6:33 PM, Paul Lesniewski wrote: >> Bill, >> >> We need to see the origin of the problem, which in this case might be a >> strange date string from the IMAP server and/or in a date header. Your >> best place to debug is in functions/imap_messages.php around line 911. >> Can try doing: >> sm_print_r($internal_date, $date, '=========='); >> And you can make it conditional on the username if you know who is >> having >> the trouble. >> >> There are two lines with str_replace(' ', ' ', $internal_date); just >> below that which may need to be changed to use a regex: >> preg_replace('/\s+/', ' ', $internal_date); >> >> You can also use the info plugin and test some of your IMAP server >> responses. >> > > > ----- > squirrelmail-devel mailing list > Posting guidelines: http://squirrelmail.org/postingguidelines > List address: squ...@li... > List archives: http://news.gmane.org/gmane.mail.squirrelmail.devel > List info (subscribe/unsubscribe/change options): > https://lists.sourceforge.net/lists/listinfo/squirrelmail-devel |
From: Bill S. <bill@ShirleyFamily.net> - 2021-08-10 05:15:41
|
You were right. I commented out my two line patch in date.php getTimeStamp (so the errors would resume) and added the preg_replace statements in imap_messages.php: --- imap_messages.php.orig 2021-02-05 16:49:08.000000000 -0800 +++ imap_messages.php 2021-08-09 22:06:09.000000000 -0700 @@ -910,7 +910,8 @@ } if (isset($date) || isset($internal_date)) { if (isset($internal_date)) { - $internal_date = str_replace(' ', ' ', $internal_date); + // $internal_date = str_replace(' ', ' ', $internal_date); + $internal_date = preg_replace('/\s+/', ' ', $internal_date); $tmpinternal_date = explode(' ', trim($internal_date)); if (!isset($date)) { $date = $internal_date; @@ -918,7 +919,8 @@ } } if (isset($date)) { - $date = str_replace(' ', ' ', $date); + // $date = str_replace(' ', ' ', $date); + $date = preg_replace('/\s+/', ' ', $date); $tmpdate = explode(' ', trim($date)); if (!isset($internal_date)) { $internal_date = $date; @@ -928,6 +930,7 @@ } else { $internal_date = $tmpinternal_date = $tmpdate = $date = array(); } +// if ($username == 'kermit') sm_print_r($internal_date, $date, '=========='); if ($uid_support) { $msgi ="$unique_id"; $messages[$msgi]['ID'] = $unique_id; Some of the strings did have multiple spaces between words. No errors now. Bill On 8/9/2021 6:33 PM, Paul Lesniewski wrote: > Bill, > > We need to see the origin of the problem, which in this case might be a > strange date string from the IMAP server and/or in a date header. Your > best place to debug is in functions/imap_messages.php around line 911. > Can try doing: > sm_print_r($internal_date, $date, '=========='); > And you can make it conditional on the username if you know who is having > the trouble. > > There are two lines with str_replace(' ', ' ', $internal_date); just > below that which may need to be changed to use a regex: > preg_replace('/\s+/', ' ', $internal_date); > > You can also use the info plugin and test some of your IMAP server responses. > |
From: Paul L. <pa...@sq...> - 2021-08-09 22:33:39
|
Bill, We need to see the origin of the problem, which in this case might be a strange date string from the IMAP server and/or in a date header. Your best place to debug is in functions/imap_messages.php around line 911. Can try doing: sm_print_r($internal_date, $date, '=========='); And you can make it conditional on the username if you know who is having the trouble. There are two lines with str_replace(' ', ' ', $internal_date); just below that which may need to be changed to use a regex: preg_replace('/\s+/', ' ', $internal_date); You can also use the info plugin and test some of your IMAP server responses. -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php On Mon, August 9, 2021 8:25 am, Bill Shirley wrote: > I left the line number off the error message because since I've added > code, the > line numbers won't be accurate. > > Two files are attached: date.php is the patched program. date.php.patch is > the > 'diff -u'; diff -u date.php.orig date.php > date.php.patch > > [0 12:47:56 root@yoda33 functions]$ cat /etc/redhat-release > Fedora release 33 (Thirty Three) > [0 12:51:13 root@yoda33 functions]$ rpm -q httpd dovecot postfix php > httpd-2.4.46-9.fc33.x86_64 > dovecot-2.3.14-1.fc33.x86_64 > postfix-3.5.10-1.fc33.x86_64 > php-7.4.19-1.fc33.x86_64 > > I added some debugging code in function getGMTSeconds starting at line 91 > to see > what the problem is (I've changed the username): > [02-Aug-2021 06:49:56 America/Los_Angeles] Unrecognized time zone=+22:27 > username=kermit > [02-Aug-2021 06:49:56 America/Los_Angeles] PHP Warning: A non-numeric > value encountered in > /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php on > line 96 > [02-Aug-2021 06:49:57 America/Los_Angeles] Unrecognized time zone=+28 > username=kermit > [02-Aug-2021 06:49:57 America/Los_Angeles] PHP Warning: A non-numeric > value encountered in > /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php on > line 96 > [02-Aug-2021 06:49:57 America/Los_Angeles] Unrecognized time zone=+JULY > username=kermit > [02-Aug-2021 06:49:57 America/Los_Angeles] PHP Warning: A non-numeric > value encountered in > /usr/local/src/squirrelmail-20210707_0200-SVN.sta > I realized something has gone wrong before getGMTSeconds is called. > > I added debugging code to function getTimeStamp starting at line 427: > [05-Aug-2021 18:02:29 America/Los_Angeles] saveDateParts= > Array > ( > [0] => TUESDAY > [1] => > [2] => > [3] => > [4] => JUNE > [5] => 23 > [6] => 2020 > [7] => 21:50 > ) > Some of the array entries are empty. Added two lines of code to correct > this; > lines 428 & 429. It removes the empty array entries. > [05-Aug-2021 19:09:41 America/Los_Angeles] saveDateParts= > Array > ( > [0] => WEDNESDAY > [1] => > [2] => > [3] => JUNE > [4] => 17 > [5] => 2020 > [6] => 16:32 > ) > dateParts= > Array > ( > [0] => WEDNESDAY > [1] => JUNE > [2] => 17 > [3] => 2020 > [4] => 16:32 > ) > The errors are gone now. > > I'm thinking this has something to do with this user's display > preferences: > > > Bill > > > On 8/9/2021 12:49 AM, Paul Lesniewski wrote: >> Hi Bill, >> >> On Mon, August 9, 2021 3:02 am, Bill Shirley wrote: >>> I have a patch that fixes some invalid dates in date.php. Is this the >>> place to post it? >> Sure, thanks! >> >>> [02-Aug-2021 06:49:56 America/Los_Angeles] PHP Warning: A non-numeric >>> value encountered in >>> /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php >> The error message should also say what the line number is, can you share >> that? Also, what is the date string that caused this? >> >> Thanks! >> > ----- > squirrelmail-devel mailing list > Posting guidelines: http://squirrelmail.org/postingguidelines > List address: squ...@li... > List archives: http://news.gmane.org/gmane.mail.squirrelmail.devel > List info (subscribe/unsubscribe/change options): > https://lists.sourceforge.net/lists/listinfo/squirrelmail-devel |
From: Bill S. <bill@ShirleyFamily.net> - 2021-08-09 08:25:49
|
I left the line number off the error message because since I've added code, the line numbers won't be accurate. Two files are attached: date.php is the patched program. date.php.patch is the 'diff -u'; diff -u date.php.orig date.php > date.php.patch [0 12:47:56 root@yoda33 functions]$ cat /etc/redhat-release Fedora release 33 (Thirty Three) [0 12:51:13 root@yoda33 functions]$ rpm -q httpd dovecot postfix php httpd-2.4.46-9.fc33.x86_64 dovecot-2.3.14-1.fc33.x86_64 postfix-3.5.10-1.fc33.x86_64 php-7.4.19-1.fc33.x86_64 I added some debugging code in function getGMTSeconds starting at line 91 to see what the problem is (I've changed the username): [02-Aug-2021 06:49:56 America/Los_Angeles] Unrecognized time zone=+22:27 username=kermit [02-Aug-2021 06:49:56 America/Los_Angeles] PHP Warning: A non-numeric value encountered in /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php on line 96 [02-Aug-2021 06:49:57 America/Los_Angeles] Unrecognized time zone=+28 username=kermit [02-Aug-2021 06:49:57 America/Los_Angeles] PHP Warning: A non-numeric value encountered in /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php on line 96 [02-Aug-2021 06:49:57 America/Los_Angeles] Unrecognized time zone=+JULY username=kermit [02-Aug-2021 06:49:57 America/Los_Angeles] PHP Warning: A non-numeric value encountered in /usr/local/src/squirrelmail-20210707_0200-SVN.sta I realized something has gone wrong before getGMTSeconds is called. I added debugging code to function getTimeStamp starting at line 427: [05-Aug-2021 18:02:29 America/Los_Angeles] saveDateParts= Array ( [0] => TUESDAY [1] => [2] => [3] => [4] => JUNE [5] => 23 [6] => 2020 [7] => 21:50 ) Some of the array entries are empty. Added two lines of code to correct this; lines 428 & 429. It removes the empty array entries. [05-Aug-2021 19:09:41 America/Los_Angeles] saveDateParts= Array ( [0] => WEDNESDAY [1] => [2] => [3] => JUNE [4] => 17 [5] => 2020 [6] => 16:32 ) dateParts= Array ( [0] => WEDNESDAY [1] => JUNE [2] => 17 [3] => 2020 [4] => 16:32 ) The errors are gone now. I'm thinking this has something to do with this user's display preferences: Bill On 8/9/2021 12:49 AM, Paul Lesniewski wrote: > Hi Bill, > > On Mon, August 9, 2021 3:02 am, Bill Shirley wrote: >> I have a patch that fixes some invalid dates in date.php. Is this the >> place to post it? > Sure, thanks! > >> [02-Aug-2021 06:49:56 America/Los_Angeles] PHP Warning: A non-numeric >> value encountered in >> /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php > The error message should also say what the line number is, can you share > that? Also, what is the date string that caused this? > > Thanks! > |
From: Paul L. <pa...@sq...> - 2021-08-09 05:14:35
|
Hi Bill, On Mon, August 9, 2021 3:02 am, Bill Shirley wrote: > I have a patch that fixes some invalid dates in date.php. Is this the > place to post it? Sure, thanks! > [02-Aug-2021 06:49:56 America/Los_Angeles] PHP Warning: A non-numeric > value encountered in > /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php The error message should also say what the line number is, can you share that? Also, what is the date string that caused this? Thanks! -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php |
From: Bill S. <bill@ShirleyFamily.net> - 2021-08-09 03:02:18
|
I have a patch that fixes some invalid dates in date.php. Is this the place to post it? [02-Aug-2021 06:49:56 America/Los_Angeles] PHP Warning: A non-numeric value encountered in /usr/local/src/squirrelmail-20210707_0200-SVN.stable/functions/date.php Bill |
From: Bill S. <bill@ShirleyFamily.net> - 2021-08-06 03:20:59
|
I just subscribed to this mailing list. Testing to see if I have the right posting address. Bill |
From: Alexey S. <al...@sh...> - 2021-05-27 15:10:43
|
Thanks! Yes, indeed that patch solves my issue. I can confirm that it applies clearly on top of today's stable version snapshot (1.4.23-svn), and the issue is gone. I only wonder why it's not added to SVN :) But it's not a problem for me - I can just use the patch file. Also, there is a small typo in the patch file: the $htmlspecialchars_charsets array has 'koi8-R' with uppercase R, while code below expects all values in this array to be in lowercase. And thanks for all your hard work on squirrelmail! Alexey. On Thu, May 27, 2021 03:31, Paul Lesniewski wrote: > > > On Wed, May 26, 2021 11:50 pm, Alexey Shpakovsky via squirrelmail-devel > wrote: >> Hi SquirrelMail devs, >> >> Today investigating a decoding failure on one of spam messages I found >> an >> unexpected behaviour of htmlspecialchars function which affects >> SquirrelMail. > > I didn't read your mail in detail, because I believe this issue is solved > by the patch you can find here: > > https://sourceforge.net/p/squirrelmail/bugs/2806/?page=3 > > Patch for 1.4.x: quoted_printable_fix-1.4.x-version_3.diff > > If not, please make sure you're using the newest 1.4.23-svn snapshot with > this patch. > > Cheers, |
From: Paul L. <pa...@sq...> - 2021-05-27 01:32:08
|
On Wed, May 26, 2021 11:50 pm, Alexey Shpakovsky via squirrelmail-devel wrote: > Hi SquirrelMail devs, > > Today investigating a decoding failure on one of spam messages I found an > unexpected behaviour of htmlspecialchars function which affects > SquirrelMail. I didn't read your mail in detail, because I believe this issue is solved by the patch you can find here: https://sourceforge.net/p/squirrelmail/bugs/2806/?page=3 Patch for 1.4.x: quoted_printable_fix-1.4.x-version_3.diff If not, please make sure you're using the newest 1.4.23-svn snapshot with this patch. Cheers, -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php > Consider this sample code (you can paste it into w3schools > php tryit editor if don't want to run it on your machine): > > <?php > $str=base64_decode('1OXk5fDg6/zt4P8g8evz5uHgIO/uIPLw8+TzIOgg5+Dt//Lu8fLo'); > echo 'before: ' . bin2hex($str) . '<br>'; > $esc=htmlspecialchars($str, ENT_COMPAT | ENT_SUBSTITUTE, 'utf-8'); > echo 'after: ' . bin2hex($esc) . '<br>'; > ?> > > The "before" and "after" lines show hex representations of the same string > (each byte of the string is encoded with two characters) before and after > it get processed by the htmlspecialchars function. And they are vastly > different: > > before: d4e5e4e5f0e0ebfc... > after: efbfbdefbfbdefbfbd... > > The base64-decoded string is a valid cp1251 string, you can see some > Cyrillic letters by adding this line to the code above: > > echo 'actual: ' . iconv('cp1251', 'utf-8', $str) . '<br>'; > > No HTML special characters present in that string. However, because of > ENT_SUBSTITUTE flag and the last 'utf-8' argument, htmlspecialchars > function replaces all byte sequences which are invalid in utf-8 with a > Unicode Replacement Character. And a valid cp1251 string is full of them! > > To fix it, in the code above one should specify 'cp1251' instead of > 'utf-8' as the last argument to htmlspecialchars function. > > > > How this affects SquirrelMail? > > > > In version 1.4, function charset_decode calls sm_encode_html_special_chars > without passing any character encoding to it: > > https://sourceforge.net/p/squirrelmail/code/HEAD/tree/branches/SM-1_4-STABLE/squirrelmail/functions/i18n.php#l187 > > what makes sm_encode_html_special_chars function default to > $default_encoding which is, I believe, utf-8 in most cases, and later gets > passed to htmlspecialchars: > > https://sourceforge.net/p/squirrelmail/code/HEAD/tree/branches/SM-1_4-STABLE/squirrelmail/functions/strings.php#l1559 > > And charset_decode is called by decodeHeader when it encounters a > base64-encoded header: > > https://sourceforge.net/p/squirrelmail/code/HEAD/tree/branches/SM-1_4-STABLE/squirrelmail/functions/mime.php#l727 > > Example of the affected header (spammer's email redacted): > > From: > "=?windows-1251?B?1OXk5fDg6/zt4P8g8evz5uHgIO/uIPLw8+TzIOgg5+Dt//Lu8fLo?=" > <sp...@ex...> > > > > I believe this can be fixed by function charset_decode passing some > encoding argument to sm_encode_html_special_chars - either some hardcoded > "ISO-8859-1" which is likely to have all characters allowed, or actual > charset passed to charset_decode by its caller - but note that it looks > like htmlspecialchars supports less encodings than charset_decode does, > hence probably first approach is better. > > > Thanks for reading so far! > > Any thoughts? > > Alexey. |
From: Alexey S. <al...@sh...> - 2021-05-27 00:08:48
|
Hi SquirrelMail devs, Today investigating a decoding failure on one of spam messages I found an unexpected behaviour of htmlspecialchars function which affects SquirrelMail. Consider this sample code (you can paste it into w3schools php tryit editor if don't want to run it on your machine): <?php $str=base64_decode('1OXk5fDg6/zt4P8g8evz5uHgIO/uIPLw8+TzIOgg5+Dt//Lu8fLo'); echo 'before: ' . bin2hex($str) . '<br>'; $esc=htmlspecialchars($str, ENT_COMPAT | ENT_SUBSTITUTE, 'utf-8'); echo 'after: ' . bin2hex($esc) . '<br>'; ?> The "before" and "after" lines show hex representations of the same string (each byte of the string is encoded with two characters) before and after it get processed by the htmlspecialchars function. And they are vastly different: before: d4e5e4e5f0e0ebfc... after: efbfbdefbfbdefbfbd... The base64-decoded string is a valid cp1251 string, you can see some Cyrillic letters by adding this line to the code above: echo 'actual: ' . iconv('cp1251', 'utf-8', $str) . '<br>'; No HTML special characters present in that string. However, because of ENT_SUBSTITUTE flag and the last 'utf-8' argument, htmlspecialchars function replaces all byte sequences which are invalid in utf-8 with a Unicode Replacement Character. And a valid cp1251 string is full of them! To fix it, in the code above one should specify 'cp1251' instead of 'utf-8' as the last argument to htmlspecialchars function. How this affects SquirrelMail? In version 1.4, function charset_decode calls sm_encode_html_special_chars without passing any character encoding to it: https://sourceforge.net/p/squirrelmail/code/HEAD/tree/branches/SM-1_4-STABLE/squirrelmail/functions/i18n.php#l187 what makes sm_encode_html_special_chars function default to $default_encoding which is, I believe, utf-8 in most cases, and later gets passed to htmlspecialchars: https://sourceforge.net/p/squirrelmail/code/HEAD/tree/branches/SM-1_4-STABLE/squirrelmail/functions/strings.php#l1559 And charset_decode is called by decodeHeader when it encounters a base64-encoded header: https://sourceforge.net/p/squirrelmail/code/HEAD/tree/branches/SM-1_4-STABLE/squirrelmail/functions/mime.php#l727 Example of the affected header (spammer's email redacted): From: "=?windows-1251?B?1OXk5fDg6/zt4P8g8evz5uHgIO/uIPLw8+TzIOgg5+Dt//Lu8fLo?=" <sp...@ex...> I believe this can be fixed by function charset_decode passing some encoding argument to sm_encode_html_special_chars - either some hardcoded "ISO-8859-1" which is likely to have all characters allowed, or actual charset passed to charset_decode by its caller - but note that it looks like htmlspecialchars supports less encodings than charset_decode does, hence probably first approach is better. Thanks for reading so far! Any thoughts? Alexey. |
From: Paul L. <pa...@sq...> - 2021-03-29 20:55:33
|
On Mon, March 29, 2021 12:24 am, Robert Hardy wrote: > The solution to this warning that was happening on every message sent > was incredibly trivial. > If someone who has rights to commit this wants to commit it where > appropriate that would be appreciated. Yep, thanks for seeing this. It's been fixed. -- Paul Lesniewski SquirrelMail Team Please support Open Source Software by donating to SquirrelMail! http://squirrelmail.org/donate_paul_lesniewski.php |
From: Robert H. <rh...@we...> - 2021-03-29 00:24:57
|
The solution to this warning that was happening on every message sent was incredibly trivial. If someone who has rights to commit this wants to commit it where appropriate that would be appreciated. Regards, Rob --- squirrelmail/class/deliver/Deliver_IMAP.class.php.dist 2021-02-05 14:29:03.000000000 -0500 +++ squirrelmail/class/deliver/Deliver_IMAP.class.php 2021-03-28 20:14:59.266759084 -0400 @@ -52,7 +52,7 @@ * */ function send_mail($message, $header, $boundary, $stream=false, - &$raw_length, $folder=NULL) { + &$raw_length=0, $folder=NULL) { if (is_null($folder)) die('Internal error. Cannot pass NULL folder name to Deliver_IMAP::send_mail()'); On 2021-03-28 7:38 p.m., Robert Hardy wrote: > I'm trying to work my way from a packaged version of 1.5.2 SVN > 20160723 to get an upgraded packaged version of squirrelmail 1.5.2 SVN > 20210328 that will work on Ubuntu 20.04. > > I'm getting close but have ran into some new warnings when sending a > simple test message to myself I get the following at the bottom of the > page: > > SquirrelMail notice messages > Category: PHP, Delayed > Message: Declaration of Deliver_IMAP::send_mail($message, $header, > $boundary, $stream, &$raw_length, $folder = NULL) should be compatible > with Deliver::send_mail($message, $header, $boundary, $stream = false, > &$raw_length = 0, $extra = NULL) > FILE: /usr/share/squirrelmail/class/deliver/Deliver_IMAP.class.php > LINE: 0 > |
From: Robert H. <rh...@we...> - 2021-03-28 23:55:18
|
I'm trying to work my way from a packaged version of 1.5.2 SVN 20160723 to get an upgraded packaged version of squirrelmail 1.5.2 SVN 20210328 that will work on Ubuntu 20.04. I'm getting close but have ran into some new warnings when sending a simple test message to myself I get the following at the bottom of the page: SquirrelMail notice messages Category: PHP, Delayed Message: Declaration of Deliver_IMAP::send_mail($message, $header, $boundary, $stream, &$raw_length, $folder = NULL) should be compatible with Deliver::send_mail($message, $header, $boundary, $stream = false, &$raw_length = 0, $extra = NULL) FILE: /usr/share/squirrelmail/class/deliver/Deliver_IMAP.class.php LINE: 0 I'm not 100% clear on what it is complaining about. The warning happens with several versions of php. I've checked php7.0 and php7.2 so far. Would someone familiar with the code be able to commit fixes to Trunk which would make the warnings go away? This diff below showed what changed but I didn't send a mountain of output in a 1st message to the mailing list. I'm happy to send the output if someone wants it. > diff -urN squirrelmail-1.5.2~svn20160723/class/deliver/ squirrelmail-1.5.2~svn20210328/class/deliver/ Thanks, Rob |
From: <tsc...@am...> - 2021-03-22 10:38:17
|
Guten Tag Paul Lesniewski, am Sonntag, 21. März 2021 um 21:17 schrieben Sie: > Yes, as with most any software, running some old version of SquirrelMail > won't work on newer systems. There are also potential security > vulnerabilities related to running out-of-date software. Thanks for the fast answer and just to be sure, it wasn't my attention to critize your work in any way. I didn't have time to test all things before the upgrade myself and just need to deal with what I have now. :-) Looks like I'm simply giving "1.4.23-svn" or "SM-1_4-STABLE" a try. Mit freundlichen Grüßen Thorsten Schöning -- AM-SoFT IT-Service - Bitstore Hameln GmbH i.G. Mitglied der Bitstore Gruppe - Ihr Full-Service-Dienstleister für IT und TK E-Mail: Thorsten.Schoening@AM-SoFT.de Web: http://www.AM-SoFT.de/ Tel: 05151- 9468- 0 Tel: 05151- 9468-55 Fax: 05151- 9468-88 Mobil: 0178-8 9468-04 AM-SoFT IT-Service - Bitstore Hameln GmbH i.G., Brandenburger Str. 7c, 31789 Hameln AG Hannover HRB neu - Geschäftsführer: Janine Galonska Für Rückfragen stehe ich Ihnen sehr gerne zur Verfügung. Mit freundlichen Grüßen Thorsten Schöning Tel: 05151 9468 0 Fax: 05151 9468 88 Mobil: Webseite: https://www.am-soft.de AM-Soft IT-Service - Bitstore Hameln GmbH i.G. ist ein Mitglied der Bitstore Gruppe - Ihr Full-Service-Dienstleister für IT und TK AM-Soft IT-Service - Bitstore Hameln GmbH i.G. Brandenburger Str. 7c 31789 Hameln Tel: 05151 9468 0 Bitstore IT-Consulting GmbH Zentrale - Berlin Lichtenberg Frankfurter Allee 285 10317 Berlin Tel: 030 453 087 80 CBS IT-Service - Bitstore Kaulsdorf UG Tel: 030 453 087 880 1 Büro Dallgow-Döberitz Tel: 03322 507 020 Büro Kloster Lehnin Tel: 033207 566 530 PCE IT-Service - Bitstore Darmstadt UG Darmstadt Tel: 06151 392 973 0 Büro Neuruppin Tel: 033932 606 090 ACI EDV Systemhaus Dresden GmbH Dresden Tel: 0351 254 410 Das Systemhaus - Bitstore Magdeburg GmbH Magdeburg Tel: 0391 636 651 0 Allerdata.IT - Bitstore Wittenberg GmbH Wittenberg Tel: 03491 876 735 7 Büro Liebenwalde Tel: 033054 810 00 HSA - das Büro - Bitstore Altenburg UG Altenburg Tel: 0344 784 390 97 Bitstore IT – Consulting GmbH NL Piesteritz Piesteritz Tel: 03491 644 868 6 Solltec IT-Services - Bitstore Braunschweig UG Braunschweig Tel: 0531 206 068 0 MF Computer Service - Bitstore Gütersloh GmbH Gütersloh Tel: 05245 920 809 3 Firmensitz: AM-Soft IT-Service - Bitstore Hameln GmbH i.G. , Brandenburger Str. 7c , 31789 Hameln Geschäftsführer Janine Galonska |