Leonid Evdokimov (darkk) wrote,
Leonid Evdokimov
darkk

Categories:

Подключаем транспорты к GTalk. Через тернии…

Это кросспост моей записи из хаброблога Jabber, also в сообществе ru_jabber


То там, то здесь в течение последнего полугода возникают сообщения о том, что люди не могут подключить к их jabber-аккаунту на Google Talk новые транспорты. Как показал анализ трафика и несколько обсуждений в списке рассылки jabber-operators, дело в том, что GTalk «не любит» JIDы в формате srv.example.org, а предпочитает исключительно node@example.org и поэтому честные транспорты не могут запросить у пользователя авторизацию.

Если количество ссылок вас еще не утомило, то ниже я в двух словах расскажу, что с этим можно сделать, пока инженеры Google полгода чинят этот лютый баг.

Решение напрашивается само собой — надо сделать транспорт srv.example.org доступным по адресу вида node@example.org. И желательно это сделать не модифицируя код каждого транспорта, т.к. костыль этот явно временный[1]. Также, желательно, чтоб этот мета-транспорт был простым как топор и позволял использовать любой публичный транспорт, а не толко транспорты того сервера, где установлен мета-транспорт. Запутались? Отлично, идём дальше.

[1] — Увы, нет ничего более постоянного, чем временное.

Администраторы публичных сервисов могут взять код pymeta-t на github, если, конечно, они хотят помочь несчастным gmail-юзерам использовать те самые публичные сервисы. Несмотря на свою тривиальность код вполне может быть не без багов, и будет здорово, если бы кто-нибудь с опытом работы с twisted его прокомментирует.

Пользователи публичных jabber-транспортов же могут поступить следующим образом. Допустим, вы ходите подключить к своей учётке на GTalk транспорт srv.remote.org, тогда в service-discovery своего клиента вам следует обозреть сервисы JIDа srv.remote.org@meta.example.org, где meta.example.org — адрес мета-транспорта. Поскольку единственная копия pymeta-t установлена сейчас на meta.darkk.net.ru, то обозревать стоит, соответственно, srv.remote.org@meta.darkk.net.ru, и регистрироваться там же.

Да, и еще. Gajim тоже не особо блюдёт RFC и не предоставляет возможности зарегистрироваться на транспорте с JID вида node@example.org, попросту не отрисовывая соответствующую кнопку в интерфейсе. С Psi всё работает как положено.

Tags: google, gtalk, jabber, pub/habrahabr.ru, pymeta-t, python, transport
Subscribe

  • Мегафон — всё ещё молодцы (6.5 лет спустя)

    Давным давно я уже восторгался глупостью услуги мегафона, позволяющей узнать свой номер — она не была доступна при нулевом балансе. Прошли годы и…

  • Мой ежедневный Android-софт

    aLogcat — иногда отправляю отчёты разработчикам, логи при этом довольно полезны ASTRO — неплохой файл-менеджер, особенно полезен из-за…

  • Nokia E61 & google sync: потери в vCard

    Просто чтоб не забыть. Нормально не синхронизируются у Nokia E61 и google contacts через SyncML следующие поля: Прозвище (вместо него можно…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 11 comments

  • Мегафон — всё ещё молодцы (6.5 лет спустя)

    Давным давно я уже восторгался глупостью услуги мегафона, позволяющей узнать свой номер — она не была доступна при нулевом балансе. Прошли годы и…

  • Мой ежедневный Android-софт

    aLogcat — иногда отправляю отчёты разработчикам, логи при этом довольно полезны ASTRO — неплохой файл-менеджер, особенно полезен из-за…

  • Nokia E61 & google sync: потери в vCard

    Просто чтоб не забыть. Нормально не синхронизируются у Nokia E61 и google contacts через SyncML следующие поля: Прозвище (вместо него можно…