LINUX.ORG.RU

Плагин вконтакте для libpurple


0

0

Предлагаю вашему вниманию плагин для libpurple-клиентов, а-ля Pidgin и прочие.

http://pidgin-vk.googlecode.com/svn/wiki/libvk.png

На сегодняшний момент доступны основные функции:

  • прием/отправка сообщений
  • получение списка друзей с сервера
  • отображение контактов в онлайн

Планируется:

  • создание удобных инсталляторов для популярных платформ
  • загрузка фотографии пользователя
  • получение статусов
  • поиск контактов
  • добавление друзей

Доступны сборки для win и linux платформ, так же вы можете собрать под любимую платформу т.к. библиотека выпущена под лицензией GPL v2.

Качать здесь!


> Доступны сборки для win

обойдутся. отдай сырцы, нехай сами собирают

anonymous
()

Следите за обновлениями, с каждой версией библиотека приближается к стабильному релизу!

zaff
() автор топика
Ответ на: комментарий от Deleted

ИМХО, один из самых удобных мессенджеров под свободные ОС. Но, соглашусь, жрет ресурсов много.

zaff
() автор топика

Если кто-нибудь ебилд напишет, посмотрю. А так лень...

xorik ★★★★★
()

От качества кода работы со строками и количества DoS уязвимостей в расчете на строчку кода глаза лезут на лоб.

Deleted
()

Скопировал libvk.so в /usr/lib/purple-2/, но ничего похожего на «вконтакте» в списке протоколов не появилось. ЧЯДНТ?

Demon37 ★★★★
()
Ответ на: комментарий от Deleted

качества кода работы со строками

Использую расово безопасный g_strstr_len. Ествественно, код писался за два дня, в основном подгонкой оного от плагина facebookchat и соответсвующего плагина для миранды и содержит большое количетсо хаков, но даже сейчас, будучи в полной альфе работает достаточно стабильно.

количества DoS уязвимостей

Пример, пожалуйста.

zaff
() автор топика
Ответ на: комментарий от Demon37

Скопировал libvk.so в /usr/lib/purple-2/, но ничего похожего на «вконтакте» в списке протоколов не появилось. ЧЯДНТ?

Иконки в папку «/usr/share/pixmaps/pidgin/protocols» скопировали? Какая у вас версия pidgin?

zaff
() автор топика
Ответ на: комментарий от zaff

Решил проблему: у Вас libvk динамически слинкована с libjson-glib, которой у меня не было. Укажите на странице проекта, что эта библиотека необходима. :)

Demon37 ★★★★
()
Ответ на: комментарий от zaff

Пример, пожалуйста.

При визуальном осмотре кода разбора html, пришедшего, как я понимаю от сервера вконтакта, в глаза бросаются конструкции вида:

while(*idTmp!='"') idTmp++; // vkmessages.c +174
while(*dateTmp!='<') dateTmp++; // vkmessages.c +186

Если в строке не встретится ожидаемый символ, мы перескочим завершающий 0 (если он там вообще есть) и продолжим рано или поздно читать из неинициализированной страницы памяти. Еще не везде проверяется на NULL значение, возвращенное strstr/strchr (vkmessages.c +197). Да и g_strstr_len вы используете как-то странно — на вход подаете указатель с начальным смещением, а от длины сообщения это смещение не вычитаете. Не понимаю логики.

Выше то, что я заметил в одной только функции vk_read_letter_cb.

Возможно, код работает стабильно, только пока сервер отдает html в ожидаемом формате, и при желании завалить ваш клиент вконкактерам не составит особого труда (а может, удастся и произвольный код выполнить где-нибудь).

Deleted
()

давно пора бы дурову сделать jabber-интерфейс к вконтакту.

а сам вконтакте не нужен.

jeuta ★★★★
()
Ответ на: комментарий от jeuta

А я не думаю что оно светит нам в ближайшие год-два. ВК давно стал большой ямой денег, которые выгребает только Дуров.

tia
()
Ответ на: комментарий от Deleted

Если в строке не встретится ожидаемый символ, мы перескочим завершающий 0 (если он там вообще есть) и продолжим рано или поздно читать из неинициализированной страницы памяти.

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

Большое спасибо за проведенный аудит!

zaff
() автор топика
Ответ на: комментарий от jeuta

давно пора бы дурову сделать jabber-интерфейс к вконтакту.

Кто тогда будет заходить вконтакт и смотреть рекламу? ))

zaff
() автор топика
Ответ на: комментарий от Demon37

Решил проблему: у Вас libvk динамически слинкована с libjson-glib, которой у меня не было. Укажите на странице проекта, что эта библиотека необходима. :)

Спасибо! Убрал библиотеку из списка линковщика.

zaff
() автор топика
Ответ на: комментарий от tia

> ВК давно стал большой ямой денег, которые выгребает только Дуров.

А шо, завидно? :)

sidor ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.