Author Topic: портирование обновлённых протоколов (из ночных сборок) в miranda-ng 0.95.3  (Read 7087 times)

0 Members and 1 Guest are viewing this topic.

Offline lokapal

Добрый день, джентельмены!

Если (что вполне допустимо) протоколы из 0.95.3 в ночную версию не перетащишь, тогда встречный вопрос - как с минимальными усилиями сделать backport, то есть втащить в 0.95.3 последние "ночнушки", в частности, icq.dll? Можно и jabber, не помешает, но icq обязательно. Это не делается малой кровью типа заменить файлы protocol.cpp и/или protocol.h в директории? Или, скажем, заменить все файлы КРОМЕ? Я бы сам занялся экспериментами, но в директории icq ровно 50 .cpp файлов. Эксперименты могу неоправданно подзатянуться :)
Мне необходимо чтобы сменилась только логика работы с серверами, а интерфейс работы с ядром миранды остался старый. Дело в том, что миранда
0.95.3 ОЧЕНЬ часто крашится в модуле icq.dll, и совершенно точно виноват в этом майлру, потому что pidgin, конечно, не крашится, но сообщает о "неизвестной команде" и соединяться с серверами просто отказывается. Перейти на последнюю "ночную" или "стабильную" миранду, увы, не могу.
Диагностика от pidgin: "Received unexpected response from https://api.icq.net/aim/startOSCARSession: Invalid Request.  statusDetailCode 1015"
 

Offline Mikalair

lokapal, а почему именно 0.95.3 ? Насколько я помню аську не меняли уже ооочень давно.
If you like my work, you can donate to me via Bitcoin: 1CHAseNjVFfLQViLWAhh1fe6fGTiR6p1UM
 

Offline lokapal

Потому что в 0.95.3 чудесно работает skype.dll
Который был ДО classic, и ДО web  ::)
 

Offline Elzor

lokapal, единственный реальный способ адаптировать протоколы для работы в 0.95.3 - это взять исходники протоколов на момент релиза 0.95.3 и выборочно накатывать на них коммиты из свн и гит, которые были сделаны за это время (2 года и 9 месяцев, между прочим). Каждый коммит придется оценивать для чего он - для совместимости с ядром или это правка багов/изменение функционала самого протокола. Не исключено, что некоторые коммиты делались и с той и с другой целью, тогда придется руками отделять одно от другого. Не исключено, что какие-то изменения в ядре/других плагинах сделаны были из-за изменений в протоколах. Короче, нетривиальная работа. За это время в ICQ было сделано 144 коммита, в Jabber - 344. Сами решайте, реально ли адаптировать текущие версии плагинов к старому ядру.
 

Offline lokapal

По поводу ручного накатывания коммитов я понял, спасибо. Просто как вариант меня интересовало - не структурирован ли для удобства код протоколов по файлам. То есть "файлы типа А отвечают за общение с базой", "файлы типа B отвечают за UI", "файлы типа C отвечают за общение с серверами". Видимо, ничего такого нет, придётся ковырять вручную, как будет время.
 

Offline dartraiden

По-моему, проще и правильнее адаптировать этот один плагин к текущей стабильной версии, которая вышла буквально неделю назад, чем плагины с транка к той древней версии ядра.
 

Offline lokapal

исходники SkypeKit дадите?  8) Без него skype.dll не соберётся.