<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>17406</bug_id>
          
          <creation_ts>2008-10-01 20:19:14 +0400</creation_ts>
          <short_desc>В eGroupWare перестал работать php5-imap для коннекта к courier-imap</short_desc>
          <delta_ts>2009-02-19 20:43:16 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>php5-imap</component>
          <version>unstable</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>qawanted</keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>18215</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Василий Терешко">tolmi</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>gray_graff</cc>
    
    <cc>lav</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>79053</commentid>
    <comment_count>0</comment_count>
    <who name="Василий Терешко">tolmi</who>
    <bug_when>2008-10-01 20:19:14 +0400</bug_when>
    <thetext>После сегодняшнего обновления
php5-imap_5.2.7.20080920-alt1_i586.rpm перестал работать с IMAP сервером на основе Courier-IMAP, всё из текущего сизифа.
Пока откатился на php5-5.2.5 ( с соответствующими модулями), в такой связке всё работает. ( т.е. это не Courier виноват)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79058</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-10-01 21:44:57 +0400</bug_when>
    <thetext>Что в error.log? Какие запросы делаются через этот модуль? Какие модули были установлены? Пробовали ли вы проверить работу модуля простым скриптом?

Нужна дополнительная информация. При данной постановке задачи, ошибку устранить нельзя.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79060</commentid>
    <comment_count>2</comment_count>
    <who name="Василий Терешко">tolmi</who>
    <bug_when>2008-10-01 22:07:52 +0400</bug_when>
    <thetext>
(In reply to comment #1)
&gt; Что в error.log? Какие запросы делаются через этот модуль? Какие модули были
&gt; установлены? Пробовали ли вы проверить работу модуля простым скриптом?
В error.log абсолютно пусто. tcpdump показывает, что соединение проходит, сервер отдает 
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS XMAGICTRASH] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc.  See COPYING for distribution information.
После чего сессия останавливается совсем и отваливается по таймауту. Соответсвенно eGroupWare пишет про &quot;Can&apos;t connect to IMAP server&quot;.
Проверить каким-нибудь скриптом не могу - не писатель я на PHP. Если поделитесь готовым - могу потестировать. До сегодняшнего обновления всё работало.
&gt; Нужна дополнительная информация. При данной постановке задачи, ошибку
&gt; устранить нельзя.
Какая информация ещё нужна?

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79063</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-10-01 23:07:59 +0400</bug_when>
    <thetext>(In reply to comment #2)
&gt; После чего сессия останавливается совсем и отваливается по таймауту.

Какая операция производится в eGroupWare ?

&gt; Какая информация ещё нужна?

В каком значении в php.ini директива error_reporting ?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79092</commentid>
    <comment_count>4</comment_count>
    <who name="Василий Терешко">tolmi</who>
    <bug_when>2008-10-02 17:12:19 +0400</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; После чего сессия останавливается совсем и отваливается по таймауту.
&gt; 
&gt; Какая операция производится в eGroupWare ?

Обращение к почтовому ящику. В eGroupWare для этого есть только один путь - обращение к внешнему IMAP серверу.
&gt; 
&gt; &gt; Какая информация ещё нужна?
&gt; 
&gt; В каком значении в php.ini директива error_reporting ?
&gt; 
[tolmi@serval ~]$ grep error_reporting /etc/php/5.2.7/apache2-mod_php/php.ini
; - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
; error_reporting is a bit-field.  Or each number up to get desired error
;error_reporting = E_ALL &amp; ~E_NOTICE
;error_reporting = E_ALL &amp; ~E_NOTICE | E_STRICT
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
error_reporting  =  E_ALL
[tolmi@serval ~]$       
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79101</commentid>
    <comment_count>5</comment_count>
    <who name="Василий Терешко">tolmi</who>
    <bug_when>2008-10-02 18:53:32 +0400</bug_when>
    <thetext>(In reply to comment #1)
&gt; Что в error.log? Какие запросы делаются через этот модуль? Какие модули были
&gt; установлены? Пробовали ли вы проверить работу модуля простым скриптом?

Моя диагностика была неверной, для работы с IMAP используется своя обертка
--- cut ---
* Provides an implementation of the IMAP protocol using PEAR&apos;s
* Net_Socket:: class.
---- end cut ---
Меня смутило то, что php5-imap прописан в Requirements к eGroupware

Оказывается, в недрах eGroupWare простой скрипт для проверки уже лежит -
---- cut testimapserver.php -----
$startTime = microtime(true);

print &quot;&lt;pre&gt;&quot;;

set_include_path(&apos;../egw-pear&apos;. PATH_SEPARATOR .&apos;/usr/share/php&apos;. PATH_SEPARATOR . get_include_path());

require_once &apos;Net/IMAP.php&apos;;

print &quot;&lt;h1&gt;&lt;span style=&apos;color:red;&apos;&gt;ATTENTION: THIS OUTPUT CONTAINS YOUR USERNAME AND PASSWORD!!!&lt;/span&gt;&lt;/h1&gt;&quot;;

$elapsedTime = microtime(true) - $startTime;
print &quot;&lt;h1&gt; $elapsedTime :: Login as user $username1 &lt;/h1&gt;&quot;;
$imapClient = new Net_IMAP($host, $port, $enableSTARTTLS);
$imapClient-&gt;setDebug(true);
$imapClient-&gt;login($username1, $password1, true, false);
$imapClient-&gt;selectMailbox($testFolder);

if(!empty($username2) &amp;&amp; !empty($password2)) {
        $elapsedTime = microtime(true) - $startTime;
        print &quot;&lt;h1&gt; $elapsedTime :: Login as user $username2 &lt;/h1&gt;&quot;;
        $imapClient2 = new Net_IMAP($host);
        $imapClient2-&gt;setDebug(true);
        $imapClient2-&gt;login($username2, $password2, true, false);
}

$elapsedTime = microtime(true) - $startTime;
print &quot;&lt;h1&gt; $elapsedTime :: Getting hierarchy delimiter &lt;/h1&gt;&quot;;
$delimiter = $imapClient-&gt;getHierarchyDelimiter();
print &quot;delimiter is: $delimiter&lt;br&gt;&quot;;

$elapsedTime = microtime(true) - $startTime;
print &quot;&lt;h1&gt; $elapsedTime :: List all folders &lt;/h1&gt;&quot;;
$imapClient-&gt;getMailboxes();

$elapsedTime = microtime(true) - $startTime;
print &quot;&lt;h1&gt; $elapsedTime :: List all subscribed folders &lt;/h1&gt;&quot;;
$imapClient-&gt;listsubscribedMailboxes();
---------- end cut ----------
Результаты вывода :

ATTENTION: THIS OUTPUT CONTAINS YOUR USERNAME AND PASSWORD!!!
0.034209012985229 :: Login as user tolmi
S: S: S: 
60.056734085083 :: Getting hierarchy delimiter
S: delimiter is: the IMAP Server does not support HIERACHY_DELIMITER!
60.057229995728 :: List all folders
S: 
60.057718992233 :: List all subscribed folders
S: 
-------------
Как я уже упоминал, откат php на 5.2.5 решает проблему.
Прошу перевесить ошибку на что-то более соответствуещее.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79162</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-10-04 18:14:53 +0400</bug_when>
    <thetext>Какой PEAR модуль используется для работы с php5-imap и какой версии ?

Я знаю точно, что напрямую php5-imap работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79183</commentid>
    <comment_count>7</comment_count>
    <who name="Василий Терешко">tolmi</who>
    <bug_when>2008-10-06 04:08:02 +0400</bug_when>
    <thetext>(In reply to comment #6)
&gt; Какой PEAR модуль используется для работы с php5-imap и какой версии ?

А там ставится свой собственный набор eGroupWare-pear. 
Код находится в 
/usr/share/egroupware/egw-pear/Net/IMAP.php
/usr/share/egroupware/egw-pear/Net/IMAPProtocol.php
а там
IMAP.php:require_once &apos;Net/IMAPProtocol.php&apos;;
IMAPProtocol.php:require_once &apos;Net/Socket.php&apos;
Socket.php:require_once &apos;PEAR.php&apos;;
И как-бы всё.

&gt; 
&gt; Я знаю точно, что напрямую php5-imap работает.
&gt; 
В /usr/share/egroupware/felamimail/Changelog :
--------------- cut -------------
2006-12-31 Lars Kneschke  &lt;l.kneschke@metaways.de&gt;
        * major rewrite of the imap backend. php-imap is mostly gone. all imap code
          is now based on the PEAR class Net_IMAP
--------------- cut ---------------


</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79184</commentid>
    <comment_count>8</comment_count>
    <who name="Василий Терешко">tolmi</who>
    <bug_when>2008-10-06 04:12:02 +0400</bug_when>
    <thetext>Ещё раз, выяснилось, что это не ошибка php5-imap, это ошибка чего-то другого. Я пока копаю на тестовой машине. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79185</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-10-06 04:16:04 +0400</bug_when>
    <thetext>У меня подозрение, что сломалась обвязка вокруг php5-imap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79720</commentid>
    <comment_count>10</comment_count>
    <who name="Aeliya Grevnyov">gray_graff</who>
    <bug_when>2008-10-16 10:57:00 +0400</bug_when>
    <thetext>тоже наткнулся на такую большую неприятность на боевам сервере. в итоге после бессонной ночи вернул 5.2.5
буду на тестовом сервере ковырять</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80319</commentid>
    <comment_count>11</comment_count>
    <who name="Aeliya Grevnyov">gray_graff</who>
    <bug_when>2008-10-28 14:15:55 +0300</bug_when>
    <thetext>простите, но решил открыть ошибку. очень уж надо решение. может проблема и не в php5-imap, но...
вот что выдал testimapserver.php (все остально в выводе вроде нормально)
отрабатывал дооолго - минут 10-20

511.15171504021 :: Checking for SORT support: supported
511.15173006058 :: Sorting INBOX by DATE:
C: A0009 SORT (DATE) US-ASCII 
S: A0009 BAD Error in IMAP command SORT: Missing or invalid arguments.

571.15477895737 :: Sorting INBOX by SUBJECT:
C: A00010 SORT (SUBJECT) US-ASCII 
S: A00010 BAD Error in IMAP command SORT: Missing or invalid arguments.

в логах dovecot вот что появилось
dovecot: Oct 28 17:55:15 Info: imap-login: Login: user=&lt;admin&gt;, method=PLAIN, rip=192.168.2.11, lip=192.168.2.2
dovecot: Oct 28 17:56:18 Info: imap-login: Login: user=&lt;admin&gt;, method=LOGIN, rip=192.168.2.11, lip=192.168.2.2
dovecot: Oct 28 17:56:25 Info: imap-login: Login: user=&lt;admin&gt;, method=PLAIN, rip=192.168.2.11, lip=192.168.2.2
Смущает method=PLAIN - быть его не должно. и при php 5.2.5 в логах фигурирует только method=LOGIN

еще из странного, если таки попытаться зайти в felamimail, то минут через 20-30 он таки откроет почту и покажет содержимое имап папок</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82779</commentid>
    <comment_count>12</comment_count>
    <who name="Aeliya Grevnyov">gray_graff</who>
    <bug_when>2008-12-16 08:19:37 +0300</bug_when>
    <thetext>собрал для себя релиз php 5.2.8 с нужными модулями
Проблема просто испарилась(+еще с десяток багов в eGroupWare, на которые я сам наткнулся) :)

так что #18215 очень надо!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85691</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2009-02-10 16:57:28 +0300</bug_when>
    <thetext>Обновлено. php5-imap-5.2.9.20090205-alt1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86172</commentid>
    <comment_count>14</comment_count>
    <who name="Aeliya Grevnyov">gray_graff</who>
    <bug_when>2009-02-19 20:43:16 +0300</bug_when>
    <thetext>радует. спасибо</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>