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

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

    <bug>
          <bug_id>22813</bug_id>
          
          <creation_ts>2010-01-23 20:04:45 +0300</creation_ts>
          <short_desc>can&apos;t print to samba shared printers</short_desc>
          <delta_ts>2010-02-18 23:43:42 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>Distributions</classification>
          <product>Branch 5.1</product>
          <component>libcups</component>
          <version>unspecified</version>
          <rep_platform>all</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></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="viy">viy</reporter>
          <assigned_to name="inger@altlinux.org">inger</assigned_to>
          <cc>ab</cc>
    
    <cc>inger</cc>
    
    <cc>mike</cc>
          
          <qa_contact name="QA 5.1">qa-5.1</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>105860</commentid>
    <comment_count>0</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-01-23 20:04:45 +0300</bug_when>
    <thetext>После обновления до 5.1 сломалась печать через cups.

[2010/01/23 18:26:37, 0] printing/print_cups.c:cups_connect(69)
  Unable to connect to CUPS server /var/run/cups/cups.sock:631 - Permission denied
Странный URL /var/run/cups/cups.sock:631 в логах
напоминает такой из
http://bugs.kde.org/show_bug.cgi?id=115891

rpm -q samba cups
samba-3.0.37-alt1
cups-1.4.2-alt1.M51.1
uname -a
Linux breeze.localdomain 2.6.30-std-def-alt15 #1 SMP Mon Dec 14 08:46:35 UTC 2009 x86_64 GNU/Linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105861</commentid>
    <comment_count>1</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-01-23 20:10:17 +0300</bug_when>
    <thetext>Станислав, не встречались с такой бякой
 Unable to connect to CUPS server /var/run/cups/cups.sock:631 - Permission
denied
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105862</commentid>
    <comment_count>2</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-01-23 20:29:23 +0300</bug_when>
    <thetext>в cups.conf
Listen localhost:631
Listen /var/run/cups/cups.sock

Если последнюю строчку закоментировать, то печатать будет (hackaround есть)
но это есть в cups.conf.default
Listen localhost:631
Listen /var/run/cups/cups.sock
и по идее в свежеустановленной системе.

Т.е. похоже, сборка samba некорректно работает с libcups.so
может, ее просто пересобрать? или это samba слишком старая для cups 1.4.2 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105865</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Bokovoy">ab</who>
    <bug_when>2010-01-23 23:16:37 +0300</bug_when>
    <thetext>Пересборка не особенно поможет, права доступа к сокету все же хотелось бы увидеть, скорее всего изменились они.

Реальная попытка соединения выполняется в CUPS, в httpAddrConnect -- смотрите http://svn.easysw.com/public/cups/trunk/cups/http-addrlist.c 

httpAddrConnect() перебирает все возможные адреса для соединения, которые прождаются посредством httpAddrGetList() оттуда же (вызывается из httpConnectEncrypt() c AF_UNSPEC).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105868</commentid>
    <comment_count>4</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-01-24 00:29:06 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; Пересборка не особенно поможет, права доступа к сокету все же хотелось бы
&gt; увидеть, скорее всего изменились они.

права к сокету здесь не при чем (root:lp 660), 
/var/run/cups/cups.sock:631 -- это попытка связаться с хостом /var/run/cups/cups.sock портом 631 -- т.е. путь воспринят как hostname.

&gt; Реальная попытка соединения выполняется в CUPS, в httpAddrConnect -- смотрите
&gt; http://svn.easysw.com/public/cups/trunk/cups/http-addrlist.c 
&gt; httpAddrConnect() перебирает все возможные адреса для соединения, которые
&gt; прождаются посредством httpAddrGetList() оттуда же (вызывается из
&gt; httpConnectEncrypt() c AF_UNSPEC).

Т.е. это похоже на ошибку внутри libcups.
Что Станислав (inger@) скажет?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105869</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Bokovoy">ab</who>
    <bug_when>2010-01-24 01:10:35 +0300</bug_when>
    <thetext>Странный урл никакого отношения к проблеме не имеет, его безусловно печатает Самба, потому что она его передает в libcups, как того требует API CUPS, а  libcups правильно разбирается в httpAddrGetList() в том, что для URL, начинающихся с /, не нужен порт.

Сбой (невозможность открытия сокета) в libcups происходит скорее всего от того, что процесс smbd, который выполняет печать, работает под пользователем, который не имеет доступа к сокету, то есть, он не root и не в ходит в группу lp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105870</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Bokovoy">ab</who>
    <bug_when>2010-01-24 01:13:36 +0300</bug_when>
    <thetext>Можно настроить отладку уровня 10 в самбе и прислать мне отладочную информацию? Если дело в правах, то это сразу будет видно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105875</commentid>
    <comment_count>7</comment_count>
    <who name="inger@altlinux.org">inger</who>
    <bug_when>2010-01-24 13:21:31 +0300</bug_when>
    <thetext>Скорее всего это проблема в libcups из-за нашего &quot;izvrat&quot; патча. В версии 1.3.1 я лечил это. В 1.4.1 тоже пытался, но видимо не получилось.

Сейчас я совершенно не успеваю заниматься пакетом cups. Чтобы убедиться что проблема именно в нашей дополнительной паранойи можно попробовать пересобрать cups без этого патча.

(В ответ на комментарий №5)
&gt; Странный урл никакого отношения к проблеме не имеет, его безусловно печатает
&gt; Самба, потому что она его передает в libcups, как того требует API CUPS, а 
&gt; libcups правильно разбирается в httpAddrGetList() в том, что для URL,
&gt; начинающихся с /, не нужен порт.
&gt; 
&gt; Сбой (невозможность открытия сокета) в libcups происходит скорее всего от того,
&gt; что процесс smbd, который выполняет печать, работает под пользователем, который
&gt; не имеет доступа к сокету, то есть, он не root и не в ходит в группу lp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105900</commentid>
    <comment_count>8</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-01-24 23:37:54 +0300</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; Скорее всего это проблема в libcups из-за нашего &quot;izvrat&quot; патча. В версии 1.3.1
&gt; я лечил это. В 1.4.1 тоже пытался, но видимо не получилось.
&gt; 
&gt; Сейчас я совершенно не успеваю заниматься пакетом cups. Чтобы убедиться что
&gt; проблема именно в нашей дополнительной паранойи можно попробовать пересобрать
&gt; cups без этого патча.

Станислав, спасибо вам за диагностику!
Да, действительно, пересборка cups без hardened patch помогла.
восстановил 
$ grep Listen /etc/cups/cupsd.conf                
Listen localhost:631
Listen /var/run/cups/cups.sock
передернул cupsd и smb,
печать прошла успешно.

похоже, надо перевестить баг на libcups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105901</commentid>
    <comment_count>9</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-01-24 23:39:08 +0300</bug_when>
    <thetext>соответственно просьба пересобрать в 5.1 без hardened</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>105902</commentid>
    <comment_count>10</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-01-24 23:39:55 +0300</bug_when>
    <thetext>если что, можете выдать acl, я могу пересобрать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106363</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2010-02-05 00:56:07 +0300</bug_when>
    <thetext>Выдал ACL на cups в 5.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106402</commentid>
    <comment_count>12</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-02-05 19:05:38 +0300</bug_when>
    <thetext>(В ответ на комментарий №11)
&gt; Выдал ACL на cups в 5.1.

Станислав, что вы посоветуете? Выкладывать в 5.1 без
hardened патча? или на этот патч у нас что-то завязано?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106855</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2010-02-18 19:20:16 +0300</bug_when>
    <thetext>Выкладывай -- на него было завязано понижение привилегий ещё со времён работы над Castle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106863</commentid>
    <comment_count>14</comment_count>
    <who name="viy">viy</who>
    <bug_when>2010-02-18 23:43:42 +0300</bug_when>
    <thetext>(В ответ на комментарий №13)
&gt; Выкладывай -- на него было завязано понижение привилегий ещё со времён работы
&gt; над Castle.

done
new task #20376: owner=viy repo=5.1</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>