<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Miranda IM Russian Community &#187; gpl</title>
	<atom:link href="http://miranda.im/tag/gpl/feed/" rel="self" type="application/rss+xml" />
	<link>http://miranda.im</link>
	<description>Красочный мир Miranda IM на русском языке</description>
	<lastBuildDate>Thu, 25 Jun 2009 17:00:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Очередное покушение на наш код: Mail.Ru Agent?</title>
		<link>http://miranda.im/2009/02/04/mailru-our-jabber/</link>
		<comments>http://miranda.im/2009/02/04/mailru-our-jabber/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:25:09 +0000</pubDate>
		<dc:creator>persei</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[mail.ru]]></category>
		<category><![CDATA[miranda]]></category>
		<category><![CDATA[код]]></category>
		<category><![CDATA[мобильный агент]]></category>

		<guid isPermaLink="false">http://miranda.im/?p=57</guid>
		<description><![CDATA[Не успел я проснуться, как ко мне стукнул mlu с новостью о том что вышел Mail.ru Агент с поддержкой жаббера. А дальше стало интересно…
Внимание! Я ни в коем случае не хочу сказать что в коде Мобильного Мейл.ру Агента используются наработки из GPL проектов. Эта статья всего лишь является сравнением работы агента
Он рассказал, что первым делом [...]]]></description>
			<content:encoded><![CDATA[<p>Не успел я проснуться, как ко мне стукнул <a class="user_link" href="http://mlu.habrahabr.ru/">mlu</a> с новостью о том что вышел Mail.ru Агент с поддержкой жаббера. А дальше стало интересно…</p>
<p>Внимание! Я ни в коем случае не хочу сказать что в коде Мобильного Мейл.ру Агента используются наработки из GPL проектов. Эта статья всего лишь является сравнением работы агента</p>
<p>Он рассказал, что первым делом заглянул в xml консоль и увидел вот такую вещь:</p>
<pre>&lt;presence from="test1234@vke.ru/MobileAgent" to="jabber@vke.ru/Notebook" xml:lang="en"&gt;
&lt;priority&gt;5&lt;/priority&gt;
&lt;c xmlns="http://jabber.org/protocol/caps" node="http://miranda-im.org/caps" ver="1.x"
/&gt;
&lt;status&gt;I'm online!&lt;/status&gt;
&lt;status&gt;Custom status&lt;/status&gt;
&lt;/presence&gt;</pre>
<p><span id="more-57"></span><br />
Посмеявшись над двойным статусом и вилдкардовой версией, заметили node. Неужели кто-то решил использовать капсы миранды?</p>
<p>Дальше мы решили сравнить работу с сервером через открытый протокол XMPP сразу после логина (пакеты от сервера вырезаны за ненадобностью)</p>
<table border="0">
<tbody>
<tr>
<th>Miranda IM Jabber</th>
<th>Мобильный Агент v1.15</th>
</tr>
<tr>
<td>
<pre>&lt;iq type="set" id="mir_0"&gt;
&lt;bind
xmlns="urn:ietf:params:xml:ns:xmpp-bind"&gt;
&lt;resource&gt;Miranda&lt;/resource&gt;
&lt;/bind&gt;
&lt;/iq&gt;</pre>
</td>
<td>
<pre>&lt;iq type='set' id='seq_10'&gt;
&lt;bind
xmlns='urn:ietf:params:xml:ns:xmpp-bind'&gt;
&lt;resource&gt;MobileAgent&lt;/resource&gt;
&lt;/bind&gt;
&lt;/iq&gt;</pre>
</td>
</tr>
<tr>
<td>
<pre>&lt;iq type="set" id="mir_1"&gt;
&lt;session
xmlns="urn:ietf:params:
xml:ns:xmpp-session" /&gt;
&lt;/iq&gt;</pre>
</td>
<td>
<pre>&lt;iq type='set' id='seq_11'&gt;
&lt;session
xmlns='urn:ietf:params:
xml:ns:xmpp-session'/&gt;
&lt;/iq&gt;</pre>
</td>
</tr>
<tr>
<td>
<pre>&lt;iq type="get" id="mir_2"&gt;
&lt;query xmlns="jabber:iq:private"&gt;
&lt;roster xmlns="roster:delimiter" /&gt;
&lt;/query&gt;
&lt;/iq&gt;</pre>
</td>
<td>
<pre>&lt;iq type='get' id='seq_12'&gt;
&lt;query xmlns='jabber:iq:private'&gt;
&lt;roster xmlns='roster:delimiter'/&gt;
&lt;/query&gt;
&lt;/iq&gt;</pre>
</td>
</tr>
<tr>
<td>
<pre>&lt;iq type="get" id="mir_3"&gt;
&lt;query xmlns="jabber:iq:private"&gt;
&lt;storage xmlns="storage:bookmarks" /&gt;
&lt;/query&gt;
&lt;/iq&gt;</pre>
<p>­</td>
<td>
<pre>&lt;iq type='get' id='seq_13'&gt;
&lt;query xmlns='jabber:iq:private'&gt;
&lt;storage xmlns='storage:bookmarks'/&gt;
&lt;/query&gt;
&lt;/iq&gt;</pre>
</td>
</tr>
<tr>
<td>
<pre>&lt;iq type="get" to="vke.ru" id="mir_4"&gt;
&lt;query xmlns="
http://jabber.org/protocol/disco#info" /&gt;
&lt;/iq&gt;</pre>
</td>
<td>
<pre>&lt;iq type='get' to='vke.ru' id='seq_14'&gt;
&lt;query xmlns='
http://jabber.org/protocol/disco#info'/&gt;
&lt;/iq&gt;</pre>
</td>
</tr>
</tbody>
</table>
<h1>Небольшой анализ:</h1>
<p>Закроем глаза на то что id пакетов выглядят сходно. В случае с мирандой они формируются начиная с нуля, здесь с 10. Кстати, если вдруг аол будет реализовывать жаббер сервер то им стоит это взять на заметку — есть возможность банить хоть один клиент =). Каждый пакет соответствует мирандовскому. Можно было бы списать это на простое совпадение, если бы не несколько забавных вещей, а именно:</p>
<ul>
<li>Пакет mir_2 в миранде используется для того чтобы запросить с сервера разделитель групп, у нас подгруппы хранятся в виде «Group\Subgroup\Subsubgroup\etc», насколько мне известно такой способ используется только Мирандой и tkabber`ом, в агенте правильного отображения вложенных групп мы не обнаружили</li>
<li>Агент зачем то запрашивает с сервера букмарки, хотя они в интерфейсе не реализованы</li>
<li>Запрос mir_4 (seq_14) — диско сервера — у нас при входе делается для проверки есть ли на сервере PEP, чтобы показать меню выбора Mood &amp; Activity. В агенте нет ни того, ни другого.</li>
<li>Непонятно, зачем вообще в презенсах шлется капсовый тег, ибо капсы агент тоже не поддерживает</li>
</ul>
<p>Вообще у нас сложилось стойкое ощущение, что разработчик <strong>не читал</strong> описание стандарта протокола, и не знает что там и зачем.</p>
<p>Стоит отметить что совпадает не все. Например вход на сервер производится с использованием метода авторизации PLAIN, в то время как у миранды — DIGEST-MD5</p>
<p>Плюс тут мне сейчас наши коллеги кинули вот такой лог:</p>
<blockquote><p>JasFas0la (21:50:44 26/04/2008)<br />
Jabber есть в миранде… что заранее обуславливает его благополучную интеграцию в программу.</p>
<p>JasFas0la (21:52:11 26/04/2008)<br />
а про миранду я вспомнил потому… Вы не против, если в проекте используются наработки из opensource источников? т.к. в новом клиенте я уже не руками пишу… а доверяю исходникам из миранды.<br />
­</p></blockquote>
<div class="content">Это один из разработчиков бывшего смапера, который, как известно, был куплен mail.ru.   </p>
<p>Не знаю, действительно ли разработчики использовали наш код. Я лишь привел вам факты. Исходный код клиента кстати естественно нигде не находится</p>
<p><a href="http://habrahabr.ru/blogs/im/51041/#comment_1347339">официальная позиция компании Mail.ru</a></div>
<div class="content">Кросспост моей <a href="http://habrahabr.ru/blogs/im/51041/" target="_blank">статьи </a>с <a href="http://habrahabr.ru">Хабрахабра</a></div>
]]></content:encoded>
			<wfw:commentRss>http://miranda.im/2009/02/04/mailru-our-jabber/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
