понедельник, 28 февраля 2011 г.

Обновление mediainfo часть3

[mediainfo]  Исправлено падение на некоторых mpg файлах

FlylinkDC-x64-r500-beta90-build-6310-28-Feb-2011-23-04.zip
FlylinkDC-x86-r500-beta90-build-6310-28-Feb-2011-22-49.zip 
FlylinkDC-src-r500-beta90-build-6310-28-Feb-2011-22-51.zip

FlylinkDC-src-r403-beta7-build-6310-28-Feb-2011-23-40.zip
FlylinkDC-x64-r403-beta7-build-6310-28-Feb-2011-23-56.zip
FlylinkDC-x86-r403-beta7-build-6310-28-Feb-2011-23-39.zip


strongdc-242-sqlite-x86-r6310-bin.rar
strongdc-242-sqlite-src-r6310-src.rar
strongdc-242-sqlite-x64-r6310-bin.rar

[mediainfo] Исправлено зависание на некоторых файлах ogg
FlylinkDC-x64-r500-beta89-build-6305-28-Feb-2011-20-10.zip
FlylinkDC-x86-r500-beta89-build-6305-28-Feb-2011-19-55.zip

FlylinkDC-src-r500-beta89-build-6305-28-Feb-2011-19-57.zip
 
------------------------------------------------------------------------
r6303 | lime.telecom@gmail.com | 2011-02-28 13:07:12 +0300 (Пн, 28 фев 2011) | 4 lines
* Окончательно обработал напильником фрейм отправки сообщения (отступы, размеры).
* Сделал иконку смайла более оранжевой в стиль программы.
* Увеличил высоту вкладок (по умолчанию) на 2px для корректного отображения иконок.
* Добавил функции выравнивания иконки во вкладке по центру (вертикаль), в зависимости от размера шрифта.
------------------------------------------------------------------------
r6302 | lime.telecom@gmail.com | 2011-02-28 07:08:45 +0300 (Пн, 28 фев 2011) | 1 line
* Поправил фрейм написания сообщения в чат. Теперь всё ровно и красиво (требуется тестирование в 7-ке).


воскресенье, 27 февраля 2011 г.

Обновление mediainfo часть2

* Исправлено переполнение стека при анализе некоторых mp3 файлов на x64 версии (http://narod.ru/disk/6445698001/Archive.zip.html)
   данные файлы очень мелкие (~300k) и содержат странные короткие диалоги (вероятно из какой-то восточной игры)
   в следующей версии  будет введен фильтр на анализ мелких файлов и если media-файл будет меньше 1Mb - он не будет анализироваться

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

strongdc-242-sqlite-x64-r6283-bin.rar
strongdc-242-sqlite-x86-r6283-bin.rar
strongdc-242-sqlite-src-r6283-src.rar

FlylinkDC-x64-r500-beta88-build-6293-27-Feb-2011-23-35.zip
FlylinkDC-x86-r500-beta88-build-6293-27-Feb-2011-23-14.zip
FlylinkDC-src-r500-beta88-build-6293-27-Feb-2011-23-15.zip

FlylinkDC-x86-r403-beta7-build-6289-27-Feb-2011-20-20.zip
FlylinkDC-src-r403-beta7-build-6289-27-Feb-2011-20-20.zip

FlylinkDC-x64-r403-beta7-build-6289-27-Feb-2011-20-32.zip

SetupFlylinkDC-x64-r403-beta7-build-6289.exe
SetupFlylinkDC-x86-r403-beta7-build-6289.exe

StrongDC++ 2.42 sqlite r6279

SetupStrongDC-sqlite-x86-r6279.exe
SetupStrongDC-sqlite-x64-r6279.exe

strongdc-242-sqlite-x86-r6279-bin.rar
strongdc-242-sqlite-x64-r6279-bin.rar
strongdc-242-sqlite-src-r6279-src.rar


* Исправлено зависание при хешировании файлов в x64 версии
* Обновление базы данных провайдеров
   http://www.assembla.com/spaces/customlocations-greylink
   Сборка на базе 20110224-1072, создана 24.02.2011 23:15 +0500
   Итого в базе:
    - Провайдеров - 1312
    - Провайдерских лого - 1311
    - Диапазонов адресов - 4926
   Archive CustomLocations.rar created by LazyBadger
 

среда, 23 февраля 2011 г.

StrongDC++ 2.42 sqlite r6243

SetupStrongDC-sqlite-x64-r6243.exeSetupStrongDC-sqlite-x86-r6243.exe
 
strongdc-242-sqlite-x64-r6244-bin.rar
strongdc-242-sqlite-x86-r6244-bin.rar
strongdc-242-sqlite-src-r6244-src.rar

strongdc-trtkdc-r6243.exe
strongdc-mgn-adelaida-r6243.exe
strongdc-lanta-edition-r6243.exe
strongdc-saturn-r6243.exe



* Исправлено падение на некоторых mov файлах.
* Обновление базы данных провайдеров
   http://www.assembla.com/spaces/customlocations-greylink
   Сборка на базе 20110223-1071, создана 23.02.2011 13:32 +0500
   Итого в базе:
    - Провайдеров - 1311
    - Провайдерских лого - 1310
   Archive CustomLocations.rar created by LazyBadger

воскресенье, 20 февраля 2011 г.

FlylinkDC++ r403 beta3

SetupFlylinkDC-x86-r403-beta3-build-6217.exe
SetupFlylinkDC-x64-r403-beta3-build-6217.exe


FlylinkDC-src-r403-beta3-build-6217-20-Feb-2011-16-27.zip
FlylinkDC-x64-r403-beta3-build-6217-20-Feb-2011-16-40.zip

FlylinkDC-x86-r403-beta3-build-6217-20-Feb-2011-16-26.zip


------------------------------------------------------------------------
r6217 | pavel.pimenov | 2011-02-20 16:08:25 +0300 (Вс, 20 фев 2011) | 1 line
* Включаем защиту от DoS атаки старых версий - http://www.flylinkdc.ru/2011/01/flylinkdc-dos.html
------------------------------------------------------------------------
r6214 | pavel.pimenov | 2011-02-20 15:23:35 +0300 (Вс, 20 фев 2011) | 15 lines
* [mediainfo] Исправлены падения на анализе некоторых видов файлов mediainfo Version 0.7.42, 2011-
--------------
+ AES3: bit depth of AES3, bit depth of compressed audio stream, endianess
+ Id3v2 and MP4 tags: better mapping with iTunes fields
+ Tags: removal of technical only fields
+ MPEG Video: intra_dc_precision information (in advanced mode)
x #3171468, ADIF: crash in some cases
x #3169916, IFO: crash in some cases
x #3173391, Id3v2: was using local encoding instead of ISO-8859-1
x MPEG Video, discarding bad (always 0) group_start
x AVC: crash with file having big log2_max_pic_order_cnt_lsb_minus4 value
x AVC: wrong GOP information in some cases
x Ut Video: Color space information was wrong
x MPEG-4 Visual: Advanced Simple@L0 was detected as Advanced Simple@L1
------------------------------------------------------------------------
r6213 | pavel.pimenov | 2011-02-20 15:20:35 +0300 (Вс, 20 фев 2011) | 6 lines

* [merge] Исправлено зависание процесса при завершении http://www.flylinkdc.ru/2011/02/wine.html
* [merge r5xx] Оптимизирована скорость закрытия приложения и расчет рейтинга (CFlyRatioItem CFlylinkDBManager::LoadRatio)
* [merge r5xx] Оптимизация работы с FlylinkDC_log.sqlite (используется attach database)
* [merge r5xx] [mediainfo] Исключил из анализа файлы изображений "tiff","tif","jpg","ico","jpeg","gif","bmp","png","pcx","tga"
* [merge r5xx] Width x Height -> Resolution
------------------------------------------------------------------------
r6189 | tret2003 | 2011-02-17 19:58:29 +0300 (Чт, 17 фев 2011) | 1 line
* Поправил проект mediainfo и манифест для x64
------------------------------------------------------------------------
r6173 | pavel.pimenov | 2011-02-16 23:17:02 +0300 (Ср, 16 фев 2011) | 1 line
* Запрет сборки под VC++ 2008 (пока не работает релиз)
------------------------------------------------------------------------
* г.Архангельск (АТК)
* г.Выборг (Cabelina Plus)
* г.Муром (Информтек)
* г.Москва (ServiceLine ООО Цифра один)
* г.Брест (ТвСат)
------------------------------------------------------------------------
r6030 | skazochnik97 | 2011-01-28 11:37:58 +0300 (Пт, 28 янв 2011) | 1 line
[vip] Поправил для г.Воронеж: заменил имя хаба на правильное.

пятница, 11 февраля 2011 г.

StrongDC++ 2.42 sqlite r6155

SetupStrongDC-sqlite-x64-r6155.exe
SetupStrongDC-sqlite-x86-r6155.exe
  


strongdc-242-sqlite-src-r6155-src.rar
strongdc-242-sqlite-x86-r6155-bin.rar
strongdc-242-sqlite-x64-r6155-bin.rar
 


* sqlite 3.7.5
* InnoSetup 5.4.1
* [merge] Исправлена ошибка в логировании MATCHED_FILES в базу данных (дописывались до 16 лишних двоичных нулей) 

* [merge] Запрет от запуска при битой базе данных sqlite (исключает попытку создания DoS http://www.flylinkdc.ru/2011/01/flylinkdc-dos.html)
* [merge] Исключил дополнительное соединение к FlylinkDC_log.sqlite
* [merge] http://bazaar.launchpad.net/~dcplusplus-team/dcplusplus/trunk/revision/2414

   Исправлено зависание при выходе под  WINE; https://bugs.launchpad.net/dcplusplus/+bug/704743
* [merge] DC++ http://bazaar.launchpad.net/~dcplusplus-team/dcplusplus/trunk/revision/2398
* Обновление базы данных провайдеров http://www.assembla.com/spaces/customlocations-greylink
   Сборка на базе 20110124-1067, создана 24.01.2011 09:22 +0500
   Итого в базе:
    - Провайдеров - 1311
    - Провайдерских лого - 1310


вторник, 8 февраля 2011 г.

Правильное завершение работы под wine

Многие пользователи linux рады бы использовать FlylinkDC++, но работа с ним под wine связана с рядом сложностей. С версий wine 1.1.42 появилась проблема нормального завершения работы FlylinkDC++ (и других на движке DC++, например, StrongDC++). После исчезновения главного окна процессы FlylinkDC.exe и wineserver продолжают работать и грузить процессор.

Причиной зависания является блокирование сокета UDP. Это известная ошибка wine, уходящая корнями в linux.

Чтобы повторить зависание нужно:
  1. Переключить FlylinkDC++ в активный режим работы
  2. Выйти из FlylinkDC++ через меню Файл->Выход
Результат будет такой: 
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12329 skazochn 40 0 1587m 24m 9176 S 37.5 1.6 0:07.03 FlylinkDC.exe
12332 skazochn 40 0 18192 15m 672 S 31.6 1.0 0:07.13 wineserver


Завершить повисшие приложения можно командой wineserver -k.


Ревизией 6132 ошибка была исправлена. Проверена нормальная работа под wine 1.3.13.


Здесь можно скачать и протестировать работу под wine у себя:
FlylinkDC-x86-r500-beta80-build-6134-07-Feb-2011-22-33.zip (16.95 МБ)

В комментариях интересуют опыты запуска и завершения приложения. Указывайте версию wine, чтобы можно было повторить испытание.


P.S.: На ранних версиях wine (например, 1.1.8) ошибка не возникает.

воскресенье, 6 февраля 2011 г.

Как правильно пользоваться баг-трекером

Запомни, товарищ! Правильно оформленный баг — 50% работ по его ликвидации.

Напоминаем адрес баг-трекера — http://code.google.com/p/flylinkdc/issues

Для начала следует воспользоваться поиском: для этого в поле «Search» выбрать «All issues», в поле «for» указать ключевые слова вашего бага/улучшения и нажать кнопку «Search».

Что-то нашлось? Можете проголосовать за эту issue и/или оставить свой комментарий, например, с уточнением.

Нашлась похожая issue, но она помечена как решённая и закрытая? А баг появился опять? Не стеснятесь оставить в ней свой комментарий, мы это увидим и откроем её заново.

Если же ничего похожего не нашлось, то заводим новую issue:
— по возможности, кратко, несколькими словами пишем суть в поле «Summary»
— чётко и подробно описываем проблему/пожелание в поле «Description», указав ветку — r4xx или r500
— прикладываем скриншоты, если есть

Если баг присутствует в обеих ветках, указываем это отдельно.
Баги, которые есть в r4xx и отсутствуют в r500 будут закрываться сразу с пометкой «Исправленно обновлением ядра».
Баги одинаковые в обеих ветках будут исправляться сперва в r500, затем сливаться патчем в r4хх.

В комментария пишем только по делу, не надо еще и там начинать холивары и срачи.

Ну и если вы владеете С++ и разбираетесь в проекте, или делаете сборку под свою сеть сами и нашли и исправили ошибку, то мы будем рады, если вы приложите патч в архиве или текст исправления ошибки в коментарии к issue.

четверг, 3 февраля 2011 г.

Предпятничный пост добра и радости

Hi there :)

Во-первых, напоминаем, что у проекта есть баг-трекер — http://code.google.com/p/flylinkdc/issues.
Любой, имеющий аккаунт на сервисах Google, может оставлять там свои предложения/улучшения, а так же баг-репорты, к чему мы вас усиленно и призываем. Еще раз — все хотелки и замечания крайне рекомендуется писать туда, а не в комментарии к постам — больше шансов, что они будут услышаны.

Во-вторых, на почту пришло очередное письмо с предложением сделать голосование за починку багов/внедрение фич. Хотели? Получите!
Всё в том же баг-трекере теперь есть колонка «Stars», которая показывает, сколько людей проголосовало за этот баг/фичу.
При наличии аккаунта на сервисах Google достаточно залогиниться, и в списке проблем кликнуть на голубую контурную звёздочку в начале строки, которая сразу же станет жёлтой - голос засчитан. Если кликнуть еще раз — голос снимается.

вторник, 1 февраля 2011 г.

FlylinkDC + битая база = DoS атака

Привет.

Нам удалось найти базу данных клиента, который выполняет
бесконечный цикл запросов TTH
и повторить это в лабораторных условиях.

Данная ошибка происходит из-за разрушенной базы данных на той стороне.

C:\777777777777777777771>echo PRAGMA integrity_check; | sqlite3.exe FlylinkDC.sqlite
*** in database main ***
Main freelist: freelist leaf count too big on page 50621
Page 51783: btreeInitPage() returns error code 11
On tree page 21791 cell 14: Rowid 10 out of order (previous was 197822)
On tree page 21791 cell 14: invalid page number 1768300021
On page 50828 at right child: invalid page number 51787
Fragmentation of 9 bytes reported as 0 on page 3020
On tree page 50994 cell 79: 2nd reference to page 50621
On tree page 50994 cell 79: Child page depth differs
On tree page 50994 cell 80: Child page depth differs
Page 51784: btreeInitPage() returns error code 11
Error: near line 1: database disk image is malformed



В версии выше r401 это исправлено и приводит к завершению работы приложения в случае любого исключения при работе с базой данных.
В версии 403 и выше к сообщению будет добавлена краткая инструкция как в этих случаях поступать пользователю.

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

Рабочая версия такая
1. в bool UploadManager::prepareFile(UserConnection& aSource, const string& aType, const string& aFile, int64_t aStartPos, int64_t& aBytes, bool listRecursive)

При помощи map-контейнера ведем счетчик загрузок по ключу Юзер + aFile когда aFile имеет тип: TTH/
2. Если счетчик по паре превышает N раз - то
- зовем aSource.disconnect() и убиваем соединение.
- баним aSource.error("Вы забанены т.к. у вас старая версия клиента - обновитесь");
Возможно, дополнительно шлем сообщение личкой

кто что скажет?

повторить DoS атаку можно так:.
1. на клиенте А старой версии r398 нужно поставить битую базу данных
FlylinkDC-sqlite-corrupt.rar

2. на клиенте В расшарить 21.Одеяло.avi
это мультик с TTH - HDWK5FVECXJDLTECQ6TY435WWEE7RU25RSQYYWY
через некоторое время А начнет досить В