Leonid Evdokimov ([info]darkk) wrote,
@ 2009-03-13 13:21:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:google, gtalk, icq, jabber, transport

gmail issues with msn, icq and other jabber-transport

В данный пост будут отправляться все, кто жалуются на работу jabber-транспорта icq.darkk.net.ru с учётными записями на gmail.com. Проблеме уже несколько месяцев и, судя по всё еще живому треду на форме саппорта, она до сих пор не исправлена. Со своей стороны я, кажется, сделал почти всё, что мог — остаётся разве что отослать резюме в Google. :-)

Если у кого-то относительно этого бага есть идеи получше — welcome!

From: Leonid Evdokimov <l...@darkk.net.ru>
Date: Thu, 19 Feb 2009 22:08:47 +0600
Subject: gmail issues with msn, icq and other jabber-transport

There are numerous topics at google support forum about impossibility to
register as a transport user using gtalk account.

Here is[1] one of them that is a month and a half old, but there are
much more topics on the issue.

[1] http://google.com/support/forum/p/Talk/thread?tid=0697c2950e983d95

I've just tested and I've found out that it's still impossible to
register as a transport user using google account.

I attached XML dumps of session from transport side (gmail-pyicqt.xml)
and from jabber client side (gmail-psi.xml).
The dumps were passed through `xmllint --format` to ease reading of the
dumps.

As you can see presence stanza is sent by pyicqt but it's not received
by jabber client, so transport can't subscribe to user's presence and so
it can't operate properly. Moreover, no error is returned to transport.

I can also provide pyicqt logs, full session dumps for jabber client and
pcap-formatted dumps, I don't attach them as they have no relevant
information.

-- 
WBRBW, Leonid Evdokimov

======> gmail-pyicqt.xml <======
<?xml version="1.0" encoding="utf-8"?>
<root>
  <iq from="mathem...@gmail.com/main597AD7D8" to="icq.darkk.net.ru" type="get" id="aadfa">
    <query xmlns="http://jabber.org/protocol/disco#info"/>
  </iq>
  <iq from="mathem...@gmail.com/main597AD7D8" to="icq.darkk.net.ru" type="get" id="aae0a">
    <query xmlns="http://jabber.org/protocol/disco#items"/>
  </iq>
  <iq from="icq.darkk.net.ru" type="result" id="aadfa" to="mathem...@gmail.com/main597AD7D8">
    <query xmlns="http://jabber.org/protocol/disco#info">
      <identity category="gateway" type="icq" name="ICQ Transport"/>
      <feature var="http://jabber.org/protocol/disco"/>
      <feature var="jabber:x:delay"/>
      <feature var="urn:xmpp:receipts"/>
      <feature var="jabber:x:conference"/>
      <feature var="http://jabber.org/protocol/commands"/>
      <feature var="jabber:iq:register"/>
      <feature var="jabber:iq:gateway"/>
      <feature var="urn:xmpp:time"/>
      <feature var="jabber:iq:last"/>
      <feature var="vcard-temp"/>
      <feature var="jabber:iq:version"/>
      <feature var="urn:xmpp:ping"/>
    </query>
  </iq>
  <iq from="icq.darkk.net.ru" type="result" id="aae0a" to="mathem...@gmail.com/main597AD7D8">
    <query xmlns="http://jabber.org/protocol/disco#items">
      <item node="http://jabber.org/protocol/commands" jid="icq.darkk.net.ru" name="Команды PyICQt"/>
    </query>
  </iq>
  <iq from="mathem...@gmail.com/main597AD7D8" to="icq.darkk.net.ru" type="get" id="aae1a">
    <query xmlns="jabber:iq:register"/>
  </iq>
  <iq to="mathem...@gmail.com/main597AD7D8" from="icq.darkk.net.ru" id="aae1a" type="result">
    <query xmlns="jabber:iq:register">
      <instructions>Напишите ICQ-номер в поле &lt;Имя пользователя&gt; и пароль.</instructions>
      <username>30...01</username>
      <password/>
      <registered/>
    </query>
  </iq>
  <iq from="mathem...@gmail.com/main597AD7D8" to="icq.darkk.net.ru" type="set" id="aae2a">
    <query xmlns="jabber:iq:register">
      <username>30...01</username>
      <password>********</password>
    </query>
  </iq>
  <iq from="icq.darkk.net.ru" type="result" id="aae2a" to="mathem...@gmail.com/main597AD7D8"/>
  <presence to="mathem...@gmail.com" from="icq.darkk.net.ru" type="subscribe"/>
</root>

======> gmail-psi.xml <======
<?xml version="1.0" encoding="utf-8"?>
<root>
  <iq type="get" to="icq.darkk.net.ru" id="aadfa">
    <query xmlns="http://jabber.org/protocol/disco#info"/>
  </iq>
  <iq type="get" to="icq.darkk.net.ru" id="aae0a">
    <query xmlns="http://jabber.org/protocol/disco#items"/>
  </iq>
  <iq from="icq.darkk.net.ru" type="result" to="mathem...@gmail.com/main597AD7D8" id="aadfa">
    <query xmlns="http://jabber.org/protocol/disco#info">
      <identity category="gateway" type="icq" name="ICQ Transport"/>
      <feature var="http://jabber.org/protocol/disco"/>
      <feature var="jabber:x:delay"/>
      <feature var="urn:xmpp:receipts"/>
      <feature var="jabber:x:conference"/>
      <feature var="http://jabber.org/protocol/commands"/>
      <feature var="jabber:iq:register"/>
      <feature var="jabber:iq:gateway"/>
      <feature var="urn:xmpp:time"/>
      <feature var="jabber:iq:last"/>
      <feature var="vcard-temp"/>
      <feature var="jabber:iq:version"/>
      <feature var="urn:xmpp:ping"/>
    </query>
  </iq>
  <iq from="icq.darkk.net.ru" type="result" to="mathem...@gmail.com/main597AD7D8" id="aae0a">
    <query xmlns="http://jabber.org/protocol/disco#items">
      <item node="http://jabber.org/protocol/commands" name="Команды PyICQt" jid="icq.darkk.net.ru"/>
    </query>
  </iq>
  <iq type="get" to="icq.darkk.net.ru" id="aae1a">
    <query xmlns="jabber:iq:register"/>
  </iq>
  <iq from="icq.darkk.net.ru" type="result" to="mathem...@gmail.com/main597AD7D8" id="aae1a">
    <query xmlns="jabber:iq:register">
      <instructions>Напишите ICQ-номер в поле &lt;Имя пользователя&gt; и пароль.</instructions>
      <username>30...01</username>
      <password/>
      <registered/>
    </query>
  </iq>
  <iq type="set" to="icq.darkk.net.ru" id="aae2a">
    <query xmlns="jabber:iq:register">
      <username>30...01</username>
      <password>********</password>
    </query>
  </iq>
  <iq from="icq.darkk.net.ru" type="result" to="mathem...@gmail.com/main597AD7D8" id="aae2a"/>
</root>



(14 comments) - (Post a new comment)


[info]snusmumrikkk
2009-03-13 12:38 pm UTC (link)
Нифига себе, они совсем охренели, чтоб так терять станцу... А если совсем извратиться и подписать какой-нибудь левый JID, типа ifuckgoogle@darkk.net.ru, а сервер заставить пересылать его presence транспорту?

(Reply to this) (Thread)


[info]darkk
2009-03-13 01:48 pm UTC (link)
Извратиться, конечно, можно — но зачем? Меня текущая ситуация устраивает в меру, я от gtalk/gmail/gdocuments использую только почту, она действительно хороша и я бы даже не обломался 50$/год платить за ящик, пожалуй.

Сделать аськотранспорт для пользователей gmail? Я думаю, они не просто так пользователям транспортов палки в колёса вставляют (раньше же работало), возможно, в этом какая-то бизнес-идея есть.

Меня бесит другая проблема — привязал я свой ящик на своём домене к @gmail-аккаунту, а вот теперь отвязать не могу — в гуглегруппах предупреждают, что при таком раскладе граблей можно много собрать, а закрыть ненужный @gmail ящик или сменить primary адрес в аккаунте не получается. Вот такая беда.

(Reply to this) (Parent)(Thread)


[info]snusmumrikkk
2009-03-13 02:13 pm UTC (link)
> не просто так пользователям транспортов палки в колёса вставляют
они все равно не правы! )) тем более сами заявляют о своем уважении к стандартам.

А проблему с ящиком не понял. У меня стоит GMail for domain. Вся почта с него редиректится на cyril7-at-gmailcom. Захочу перевести домен на другую почту — поменяю MX запись и будет почта в другое место приходить. А все письма IMAP'ом выну и вставлю. Не так ли?

(Reply to this) (Parent)(Thread)


[info]darkk
2009-03-13 02:29 pm UTC (link)
Ну не правы. Я багрепорт отправил — сделал, считаю, почти всё, что мог... Ну разве что сформулировать можно было бы получше :-)

Проблема не в почте а в google-аккаунте (которым авторизация идет в google reader, гуглегруппах, пикассе и т.п.) — у меня там два ящика прописано :-(

(Reply to this) (Parent)(Thread)


[info]snusmumrikkk
2009-03-13 02:36 pm UTC (link)
А-а, понятно.

(Reply to this) (Parent)


[info]darkk
2009-05-03 08:16 pm UTC (link)
Вообщем, сделал я подобный костыль, даже в несколько более общей форме. Простое пересылание презенса имело бы проблемы с доставкой сообщений об ошибках от транспорта.

(Reply to this) (Parent)


[info]ivanzoid
2009-03-13 05:44 pm UTC (link)
Интересно, я какое-то время назад пробовал пользоваться транспортами icq (разными) через гугловый jabber — не работало (точнее работало, но криво). Потом они это вроде починили, и у меня заработало, но я решил отказался от гугловского джаббера, потому что он портит строку с resource =). И вот теперь, видимо, как я понимаю, они опять что-то нахимичили... ;)

(Reply to this) (Thread)


[info]darkk
2009-03-13 05:52 pm UTC (link)
Вообщем, гуглежаббер своеобразен чуть менее чем полностью — оно и понятно, на таких-то нагрузках. :-)

(Reply to this) (Parent)


[info]darkk
2009-05-03 08:17 pm UTC (link)
Кстати, товарищь [info]dev_hands умеет как-то обходить эту порчу resource.

(Reply to this) (Parent)(Thread)


[info]ivanzoid
2009-05-04 10:06 am UTC (link)
О. Ну я его спрошу :)

(Reply to this) (Parent)


[info]ivanzoid
2009-05-04 10:30 am UTC (link)
По-моему, он наврал :))

(Reply to this) (Parent)(Thread)


[info]darkk
2009-05-04 10:32 am UTC (link)
У него это с клиента из KDE4 как-то получается, а KDE4 у него на десктопе.

(Reply to this) (Parent)


[info]darkk
2009-05-04 10:43 am UTC (link)
не наврал

(Reply to this) (Parent)(Thread)


[info]ivanzoid
2009-05-04 11:10 am UTC (link)
Да, точно. Зря я наехал :)

(Reply to this) (Parent)


(14 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…