myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> PtokaX 0.5.0.1 Mod, Модификация PtokaX от alex82

alex82
сообщение 4.3.2013, 17:39
Сообщение #21


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Поскольку исходники PtokaX нынче доступны в полном
объеме (включая проекты Visual Studio), у многих анонимусов
руки так и чешутся запилить форк сего замечательного хабсофта.
Я оказался в их числе big_smile.gif

PtokaX 0.5.0.1 Mod


Версия: 0.5.0.1
Модификация: mod 11
Операционная система: Windows, Linux

Описание: Решил выложить на всеобщее обозрение свою модификацию PtokaX под кодовым названием PtokaX Mod. Список изменений относительно оригинальной версии выглядит так:
mod 11
Добавлено: Расширение протокола CTM2HUB.
Добавлено: Задержка перед отправкой $Lock (которая якобы помогает при DDoS-атаках).
mod 10
Исправлено: Неверные названия некоторых стран, возвращаемые функцией IP2Country.GetCountryName.
Добавлено: Возможность получения названия страны по коду с помощью функции IP2Country.GetCountryName.
Исправлено: Предупреждения при компиляции версии, хранящей пароли в зашифрованном виде.
Исправлено: Компиляция библиотеки SHA-2 под новыми версиями gcc.
mod 9
Исправлено: Профиль юзера устанавливался до успешной проверки пароля, что представляло собой потенциальную уязвимость (перенесено из тестовой версии).
Исправлено: Неполный IP-адрес отображался как некорректный в тех случаях, когда юзер, использующий IPv6, отправлял адрес IPv4 в команде (перенесено из тестовой версии несмотря на то, что суть бага мне не совсем ясна).
Исправлено: Права доступа для файлов и папок в *nix (перенесено из тестовой версии).
Исправлено: Возможные падения GUI-версии хаба при закрытии окон (перенесено из тестовой версии).
Исправлено: Неверные размеры массивов в коде редактора скриптов (перенесено из тестовой версии).
Исправлено: Невозможность использования в командах адресов IPv6, чья длина превышает 15 символов (перенесено из тестовой версии).
Исправлено: Ошибки в командах !rangeban и !rangeunban.
Добавлено: Автозапуск скрипта locale.lua.
mod 8
Изменено: Отныне юзеры с одинаковыми профилями не смогут банить друг друга. Данное изменение не относится к юзерам с профилем 0 (Master): эти засранцы по-прежнему могут банить кого угодно.
Добавлено: Ограничение продолжительности временных банов. В GUI данная опция находится на вкладке "Настройки банов". ID для SetMan.(G/S)etNumber - 114.
Добавлено: Опция, позволяющая менять интервал между служебными циклами. Уменьшение интервала снижает скорость отклика хаба на действия юзеров, однако это также приводит к некоторому повышению нагрузки на процессор. В GUI данная опция находится на вкладке "Больше настроек". ID для SetMan.(G/S)etNumber - 115.
Исправлено: Ошибка в linux-версии хаба, приводившая к некорректной работе таймеров с интервалом, не кратным одной секунде.
Исправлено: Окончательное решение вопроса локалей. Теперь локаль устанавливается изнутри Ptokax. В связи с этим былы добавлены 2 параметра настроек. ID для SetMan.(G/S)etString - 37 (Windows) и 38 (NIX). В GUI доступна только локаль Windows. Поскольку в Windows локаль устанавливается только для текущего модуля (т.е. выполняем setlocale() в PtokaX.exe - локаль меняется только для PtokaX.exe, выполняем setlocale() в lua.dll - локаль меняется только для lua.dll), необходимость в скрипте locale.lua никуда не делась.
Добавлено: Установка автозапуска хаба при выполнении make install.
Добавлено: Цели uninstall, on и off в makefile. Цели make on и make off позволяют включить и отключить автозагрузку хаба соответственно. Цель make uninstall используется для удаления файлов хаба (при этом удаляются только исполняемые файлы и ссылки автозапуска, рабочую директорию необходимо удалить вручную).
mod 7
Исправлено: Проверка прав доступа при создании банов с помощью команды $Kick.
mod 6
Добавлено: Команда !reloadcountry, позволяющая перезагрузить базы IP-To-Country. Команда доступна юзерам с профилем 0.
Добавлено: Функция Core.BotMyINFO(sBotNick, sBotMyINFO), позволяющая изменить $MyINFO бота, зарегистрированного из скрипта. Полная проверка синтаксиса $MyINFO не производится.
Исправлено: Максимальное значение параметра "Ограничение входа юзеров" в GUI.
Удалено: Бессмысленная опция "Отключать клиенты, отправляющие $Supports с ошибками". При ближайшем рассмотрении выяснилось, что "ошибками" считается лишний пробел в конце команды. Код, отвечающий за определение этой "ошибки" сохранен, поскольку он влияет на обработку магического байта, и в этом, возможно, есть некий смысл.
Добавлено: Опция, позволяющая отключить обработку магического байта. При включении заработает отображение пола в GreylinkDC, но могут появиться ошибки коммуникации между разными клиентами, поскольку при использование старшей половины байта каждый разработчик DC-клиента извращался как мог.
Исправлено: Функция os.clock под Linux. Теперь она работает так же, как под Windows - возвращает время с момента запуска хаба с точностью до миллисекунды. По умолчанию данный костыль включен, отключается в stdinc.h.
Изменено: При корректной остановке хаба всем юзерам рассылается сообщение о перезапуске. Раньше это сообщение отправлялось лишь при выполнении команды !restart.
Изменено: Время последнего входа зарегистрированного юзера обновляется не только при его входе на хаб, но и при выходе.
Добавлено: Переменная iOnlineTime, отображающее время, проведенное зарегистрированным юзером на хабе (в секундах). Переменная обновляется при выходе юзера, а также при вызове RegMan.UpdateTimes() (см. ниже).
Добавлено: Функция RegMan.UpdateTimes(), обновляющая значения iLastEnter и iOnlineTime в профилях зарегистрированных юзеров, находящихся на хабе. iOnlineTime вычисляется с учетом текущего времени и значения iLastEnter, а iLastEnter устанавливается равным текущему времени.
Добавлено: Функция RegMan.SetTimes(sNick, iRegDate, iLastEnter, iOnlineTime), позволяющая вручную установить время регистрации, время последнего входа и время онлайн для указанного зарегистрированного юзера.
Перенесены некоторые изменения из PtokaX 0.5.0.2
mod 5
Исправлено: Падение хаба при загрузке банов. (перенесено из тестовой версии)
Исправлено: Корректное завершение работы при помощи os.exit(). (перенесено из тестовой версии)
Добавлено: В makefile добавлена рекурсия для компиляции tinyxml. Теперь его не нужно собирать отдельно перед сборкой PtokaX (перенесено из тестовой версии)
Исправлено: Ошибка в скрипте init.d
Исправлено: Ошибки в русском языковом файле. Его можно пилить вечно, и все равно будет кривой :(
mod 4
Исправлено: Ошибки в функции Core.HideUserKey
Исправлено: Несколько ошибок в настройках прав доступа для незарегистрированных.
Испорчено: Опция "Не проверять IP в командах DC" в профиле незарегистрированного юзера. Теперь она игнорируется, и, как следствие, IP всегда проверяется. Это не баг, это фича.
Добавлено: Костыль, исправляющий регистрочувствительность кириллических ников в некоторых версиях Linux. По умолчанию отключен, включается в stdinc.h
Исправлено: Команда restart скрипта init.d
mod 3
Добавлено: Обработка ошибок при загрузке XML-файлов. Если в одном из файлов есть синтаксическая ошибка, программа сообщает об этом и аварийно завершает работу вместо того, чтобы втихую загрузить значения по умолчанию.
Исправлено: Кодировка, указанная в заголовках XML-файлов.
Исправлено: Если хаб не смог запуститься (например, по причине занятости всех указанных портов), настройки будут сохранены, что даст возможность исправить их.
Добавлено: Функция Core.HideUserKey(tUser, bHide), позволяющая скрыть ключ юзера.
Исправлено: Добавление/удаление ключей при изменении зарегистрированных юзеров.
Исправлено: Несколько ошибок в настройках прав доступа для незарегистрированных.
Добавлено: Функция Core.IsolateUser(tUser, bState), позволяющая изолировать юзера от главного чата. Изолированный юзер не видит сообщений других юзеров, а они, соответственно, не видят сообщения изолированного юзера.
Добавлено: Функция Core.SendToNonisolated(sData), отправляющая данные всем неизолированным юзерам (см. предыдущий пункт). Используется аналогично Core.SendToAll(sData).
Исправлено: В сборке x64 отключено использование больших адресов. Теперь хаб не падает при запуске скриптов. Как результат - в сборке нельзя использовать библиотеки, предназначенные для оригинальной PtokaX 0.5.0.1.
Исправлено: Компиляция под Debian и Ubuntu различных архитектур. Надеюсь, в этот раз исправил правильно.
Исправлено: В скрипте для init.d исключена возможность повторного запуска демона, а также исправлена передача ему переменных окружения.
mod 2
Изменено: В сборках x86 отключено использование инструкций SSE для совместимости с некоторыми не очень свежими процессорами от AMD.
Исправлено: Установка размеров окон при различных размерах системных шрифтов.
Исправлено: Компиляция под Debian.
Исправлено: Небольшая ошибка в makefile при выполнении цели install.
Исправлено: Скрипт locale.lua
Исправлено: Пропущенные функции и параметры в scripting-interface.txt
mod
Исправлено: При нажатии кнопки "Принять" настройки не сохранялись в файл (подозреваю, что кое-кто считает это фичей, а не багом).
Изменено: К черту бинарный бред. Список зарегистрированных юзеров снова хранится в файле XML.
Изменено: Для 32-разрядной версии метод вызова функций изменен на cdecl, что позволило испльзовать библиотеки, предназначенные для Lua-AIO и RusHub.
Изменено: Положение и размеры кнопок на вкладке "Статистика".
Изменено: Отключено открытие скрипта по двойному клику в списке. Глубокого смысла в этом нет, просто мне так удобнее big_smile.gif.
Исправлено: Доведен до ума файл русской локализации.
Добавлено: В профиль зарегистрированного юзера добавлены дата регистрации, дата последнего входа и один текстовый параметр для хранения произвольных данных. В связи с этим в таблицу зарегистрированного юзера были добавлены поля iRegDate, iLastEnter и sCustom. Для установки поля sCustom используется функция RegMan.SetCustom(sNick, sString). Поле sCustom может отсутствовать.
Изменено: При сохранении настроек в файл записываются все параметры, а не только те, значения которых отличаются от значений по умолчанию.
Добавлено: Проверка прав доступа для команды !stats.
Добавлено: Блокировка неизвестных команд. Отключается на вкладке "Дополнительно".
Добавлено: Возможность отключения приветствия (Этот хаб работает под управлением...). Включается на вкладке "Дополнительно" Имя параметра в настройках - ShowWelcome, ID для SetMan.(S/G)etBool - 57.
Изменено: Отключение проверки ключа вынесено в настройки. В связи с этим был удален ключ командной строки /nokeycheck.
Добавлено: Возможность отключения сжатия zlib. Отключается на вкладке "Больше настроек".
Изменено: Профиль по умолчанию для юзеров, регистрируемых с помощью GUI.
Добавлено: Функция print. В GUI-версии функция выводит текст в окно ошибок скриптов, в консольной - в главный чат юзерам с профилем Master.
Исправлено: Самодеятельность TinyXML, касающаяся обработки пустых символов. Несколько пустых символов подряд заменялись одним пробелом. По непонятной причине неразрывный пробел также считался пустым символом.
Исправлено: При запуске принудительно устанавливается локаль "C" для чисел. Это поможет избежать проблем с сохранением дробных чисел если сервер, на котором работает хаб, настраивали жопой.
Добавлено: Версия PtokaX, хранящая пароли в зашифрованном (SHA-256) виде.
Изменено: Настройки по умолчанию. Строковые параметры переведены на русский.
Изменено: Список стран IP-To-Country: Добавлены коды стран, названия стран переведены на русский.
Добавлено: Сообщения об ошибках скриптов отправляются операторам.
Добавлено: Возможность отключения отображения трассировки стека Lua в ошибках скриптов.
Добавлено: Параметр bZPipe, отображающий поддержку юзером сжатия. Код для Core.GetUserData - 64
Исправлено: Устранено мелькание окна консоли при вызове функций os.execute и io.popen.
Добавлено: Настройка прав доступа для незарегистрированных юзеров.
Добавлено: Альтернативный синтаксис для функции регистрации бота: Core.RegBot(sNick, sMyINFOString, bHaveKey). Полная проверка синтаксиса $MyINFO не производится.
Добавлено: Функция Core.HideUser(tUser, bHide), позволяющая скрыть юзера из списка.
Добавлено: Функции Core.GetDCStats, Core.GetNetStats.
Добавлено: События BadPassArrival и ValidateDenideArrival.
Исправлено: При загрузке настроек из файла строковые настройки заменялись настройками по умолчанию в тех случаях, когда длина сохраненной строки равна нулю, а длина строки по умолчанию больше нуля. По этой причине в предыдущих версиях мода было невозможно переключить язык на английский, а в оригинальной версии - удалить адрес перенаравления.
Исправлено: Изменение паролей зарегистрированных юзеров.
Исправлено: Если длинные MyINFO отправляются только разрешенным профилям, а профиль юзера позволяет ему получать полные MyINFO, то боты, зарегистрированные скриптами, становились видны ему только после переподключения к хабу.
Добавлено: Функция Core.UserNoQuit(tUser, bState), позволяющая подавить команду $Quit при выходе юзера. Кому-то функция может показаться бессмысленной, однако я знаю наверняка, для чего я ее добавил. Возможно, и вы когда-нибудь узнаете big_smile.gif.
Были собраны версии для Windows x86 и x64, однако 64-разрядная версия мной практически не тестировалась. В сборке x86 присутствуют библиотеки Lua на все случаи жизни.
Прикрепленный файл  0.5.0.1_mod11_x86.rar ( 7.36 мегабайт ) Кол-во скачиваний: 65
Прикрепленный файл  0.5.0.1_mod11_x64.rar ( 6.3 мегабайт ) Кол-во скачиваний: 71
Прикрепленный файл  0.5.0.1_mod11_src.zip ( 1.05 мегабайт ) Кол-во скачиваний: 66

Старые версии
Прикрепленный файл  0.5.0.1_mod10_x86.rar ( 7.38 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл  0.5.0.1_mod10_x64.rar ( 6.3 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл  0.5.0.1_mod10_src.zip ( 1.05 мегабайт ) Кол-во скачиваний: 4
Прикрепленный файл  0.5.0.1_mod10_hashpass.rar ( 3.85 мегабайт ) Кол-во скачиваний: 2
Остальные версии можно найти в моей шаре на хабе MyDC

Как правильно обновляться...
...с оригинальной версии на mod:
Первым делом конвертируем базу из бинарного формата в xml. Делать это нужно на оригинальной версии, поскольку скрипт использует для конвертирования API хаба. Затем останавливаем хаб, открываем файл cfg/Profiles.xml, и добавляем профиль для незарегистрированных юзеров:
Длиннокод
Код
    <Profile>
        <Name>Unreg</Name>
        <Permissions>00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0
0000000000000000000</Permissions>
    </Profile>
После этого можно обновлять бинарники и запускать хаб. Новые настройки добавятся в конфиг автоматически при первом же сохранении настроек. Поскольку оригинальная PtokaX имеет весьма подлый алгоритм сохранения настроек, в котором, к тому же, имеется один нехороший баг, рекомендуется после первого же запуска пробежаться по настройкам, и исправить все, что не понравится. И да, не следует забывать, что имена виндовых библиотек в оригинальной версии могут отличаться от таковых в mod.

Если Вы обновляетесь с версии 0.4.x.x, работавшей под Windows, у Вас может возникнуть еще одна проблема: в списке зарегистрированных юзеров обнаружится большое число юзеров с одним и тем же ником, но в разных регистрах. При удалении каждого повторяющегося юзера, GUI-версия PtokaX будет выдавать сообщение. Если Вам лень клацать кнопку "OK" 10500 раз, можете убить птоку диспетчером задач, и использовать для первого запуска консольную версию - она удалит дублирующихся юзеров тихо, а сообщения об удалении сохранит в файл system.log

...с PtokaX 0.5.0.0 mod3 на PtokaX 0.5.0.1 mod:
Останавливаем хаб, добавляем в настройки профиль незарегистрированных юзеров (см. предыдущий пункт), запускаем хаб. Всё big_smile.gif

...с mod на оригинальную версию:
Останавливаем хаб, удаляем из конфига профиль незарегистрированных юзеров. После этого можно обновлять бинарники и запускать хаб - PtokaX сама сконвертирует базу регистраций в бинарный формат, а также удалит все ненужные (и даже некоторые нужные bad_smile.gif ) настройки.

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

...с версии, хеширующей пароли, на обычную версию:
Останавливаем хаб, заменяем бинарники, удаляем базу регистраций, запускаем хаб, и просим всех юзеров зарегистрироваться по-новой. Ну да, а Вы что думали? Расшифровать хешированные пароли невозможно. Именно по этой причине включение хеширования паролей производится таким извращенным способом.


Версия, хранящая пароли в зашифрованном виде:Прикрепленный файл  0.5.0.1_mod11_hashpass.rar ( 3.84 мегабайт ) Кол-во скачиваний: 12

Как это работает
Пароли хранятся в виде
Код
|<Хэш пароля в hexadecimal-формате>
Символ | в начале пароля нужен для того, чтобы PtokaX могла отличить шифрованные пароли от нешифрованных. Если при загрузке базы какие-либо пароли не соответствуют данному формату, они автоматически хешируются. Это позволяет не париться при переходе на шифрованную базу и при добавлении аккаунтов прямо в XML-файл.

Следует помнить, что хешированные пароли расшифровать нельзя. Т.е вы не сможете сконвертировать базу обратно. Никак не сможете. СОВСЕМ никак.

Также следует помнить, что зарегистрированных юзеров теперь нельзя редактировать с помощью PXControl, PRA, и им подобных. И да, если Ваш скрипт регистрации запрашивает старый пароль при его изменении, Вам придется прикрутить к нему библиотеку sha2.

В архиве только exe'шник, все остальное берем из основного дистрибутива.


Скрипт для конвертирования бинарной базы обратно в XML:
Прикрепленный файл  GetBaseBack.lua ( 1.22 килобайт ) Кол-во скачиваний: 102


Если Вы переходите на данную версию с более новой, хранящей настройки и список скриптов в файлах .pxt, то Вам будет полезен конвертер:
Прикрепленный файл  settings_back.lua ( 7.42 килобайт ) Кол-во скачиваний: 27


TODO
По-человечески исправить отрисовку GUI. Думаю, многие заметили, что внешний вид окна оригинальной птоки сильно портится если по нему провести окном другого приложения. Сильнее всего эффект заметен в Windows 7 на упрощенных темах оформления. Связано это с тем, что PPK не до конца осилил создание GUI с помощью чистого WinAPI. Проблема в том, что я знаю WinAPI еще хуже, поэтому я даже не представляю, как это исправить. Поэтому я поступил следующим образом - убрал свойство WS_CLIPCHILDREN главного окна. После этого глюки с перерисовкой дочерних элементов исчезли, но они стали сильно мигать при изменении размеров окна.

Перенести из PtokaX 0.5.0.0 mod 4 (этот мод никогда не выкладывался, поскольку я не закончил его) событие IsRegistered(). Оно используется для хранения аккаунтов во внешних БД, и в вышеназванной модификации вполне себе работало. Но в версии 0.5.0.1 PPK так отрефакторил ту часть кода, что добавить его стало некуда. Возможно, когда-нибудь я таки решусь на переделку.

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

P.S. Не забывайте сообщать о найденных ошибках

Версии, основанные на PtokaX 0.5.0.0
mod 3
Исправлено: При изменении настроек главного бота или ОпЧата из GUI, бот со старым ником оставался в списке юзеров до перезапуска хаба.
Изменено: Профиль по умолчанию для юзеров, регистрируемых с помощью GUI.
Добавлено: Альтернативный синтаксис для функции регистрации бота: Core.RegBot(sNick, sMyINFOString, bHaveKey). Полная проверка синтаксиса $MyINFO не производится.
Добавлено: Возможность отключения сжатия zlib. Отключается на вкладке "Больше настроек".
Изменено: Отключение проверки ключа вынесено в настройки. В связи с этим был удален ключ командной строки /nokeycheck.
Исправлено: Незначительные исправления в языковом файле.

Изменения в библиотеках:
Устранено мелькание окна консоли при вызове функций os.execute и io.popen.
mod 2
Исправлено: Самодеятельность TinyXML, касающаяся обработки пустых символов. Несколько пустых символов подряд заменялись одним пробелом. По непонятной причине неразрывный пробел также считался пустым символом.
Добавлено: Функции Core.GetDCStats, Core.GetNetStats и Core.GetMemStats.
Добавлено: Консольная версия PtokaX, хранящая пароли в зашифрованном (SHA-256) виде.
Добавлено: Функция print. В GUI-версии функция выводит текст в окно ошибок скриптов, в консольной - в главный чат юзерам с профилем Master.
Добавлено: Сообщения об ошибках скриптов отправляются юзерам с профилем Master.
Исправлено: Пропущенные строки в языковом файле.

Изменения в библиотеках:
В библиотеке Lua параметры LUA_PATH_DEFAULT и LUA_CPATH_DEFAULT изменены на более каноничные, что позволит избежать проблем при подключении некоторых библиотек.
Из Lua удалены костыли, добавленные для совместимости с библиотеками Lua-AIO. В связи с этим были удалены библиотеки iup, tcps и udps.
Заменена библиотека iconv.
Добавлены библиотеки sha1 и sha2.
mod 1
Изменено: Для 32-разрядной версии метод вызова функций изменен на cdecl, что позволило испльзовать библиотеки, предназначенные для Lua-AIO и RusHub
Изменено: Положение и размеры кнопок на вкладке "Статистика"
Изменено: Отключено открытие скрипта по двойному клику в списке. Глубокого смысла в этом нет, просто мне так удобнее big_smile.gif
Исправлено: Доведен до ума файл русской локализации
Изменено: Настройки по умолчанию. Строковые параметры переведены на русский
Изменено: Список стран IP-To-Country: Добавлены коды стран, названия стран переведены на русский
Добавлено: В никах запрещены символы от \0 до \31
Добавлено: Блокировка неизвестных команд. Отключается на вкладке "Дополнительно"
Добавлено: Проверка прав доступа для команд !stats и !memstats
Добавлено: События BadPassArrival и ValidateDenideArrival
Добавлено: Параметр bZPipe, отображающий поддержку юзером сжатия. Код для Core.GetUserData - 64
Изменено: При сохранении настроек в файл записываются все параметры, а не только те, значения которых отличаются от значений по умолчанию
Добавлено: Возможность отключения приветствия (Этот хаб работает под управлением...). Включается на вкладке "Дополнительно" Имя параметра в настройках - ShowWelcome, ID для SetMan.(S/G)etBool - 57
Изменено: К черту бинарный бред. Список зарегистрированных юзеров снова хранится в файле XML
Исправлено: Ошибка IPToCountry - первый и последний адрес диапазона не считались его частью
Исправлено: При нажатии кнопки "Принять" настройки не сохранялись в файл (подозреваю, что кое-кто считает это фичей, а не багом big_smile.gif)

Прикрепленный файл  ptokax_0.5.0.0_mod3_x86.rar ( 8.69 мегабайт ) Кол-во скачиваний: 284
Прикрепленный файл  ptokax_0.5.0.0_mod3_x64.rar ( 4.79 мегабайт ) Кол-во скачиваний: 92
Прикрепленный файл  ptokax_0.5.0.0_mod3_src.zip ( 1.06 мегабайт ) Кол-во скачиваний: 52


Консольная версия, хранящая пароли в зашифрованном виде:Прикрепленный файл  ptokax_0.5.0.0_mod3_hashpass_sha2.rar ( 1.79 мегабайт ) Кол-во скачиваний: 7

Предыдущая версия, шифрующая пароли алгоритмом MD5:Прикрепленный файл  PtokaX_console_hashpass.rar ( 278.28 килобайт ) Кол-во скачиваний: 11


Дополнительную информацию можно найти во втором сообщении данной темы
Go to the top of the page
+Quote Post
6 страниц V  < 1 2 3 4 > »   
Начать новую тему
Ответов
KCAHDEP
сообщение 2.9.2013, 15:14
Сообщение #22


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




Где то тут читал что при использовании PtokaX 0.5.0.0 greylink отображает значки всех юзеров в женском роде, в этой сборке есть такое? И вообще это как то исправляется?
Go to the top of the page
+Quote Post
Alexey
сообщение 2.9.2013, 15:58
Сообщение #23


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Есть. Исправляется отключением показа пола в грейлинке.
Go to the top of the page
+Quote Post
marsss
сообщение 7.10.2013, 22:36
Сообщение #24


Абсолютный новичок


Группа: Пользователи
Сообщений: 6
Регистрация: 26.2.2012
Пользователь №: 10 338
Спасибо сказали: 0 раз




В старых версиях Ptokax Такого не было.... Скорее всего это баг какой то
Go to the top of the page
+Quote Post
fabelum
сообщение 15.12.2013, 16:51
Сообщение #25


Абсолютный новичок


Группа: Пользователи
Сообщений: 5
Регистрация: 9.12.2013
Пользователь №: 12 227
Спасибо сказали: 0 раз




Доброго времени суток.
Вышло несколько тестовых и стабильных версий Ptokax с момента публикации шапки. С вниманием слежу за Вашими модами на их основе. Пожалуйста, обновите моды на актуальные версии.
Благодарю.
Go to the top of the page
+Quote Post
Karumo
сообщение 3.3.2014, 8:55
Сообщение #26


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 24.11.2008
Из: Москва
Пользователь №: 1 186
Спасибо сказали: 5 раз




To Alex82: Пора выкладывать Mod 4, он же уже готов!

Ты мне давал дистр, я потестил - норм, единственное, нужно обязательно предупредить что создается новый профиль "UnReg", а то будет как у меня первый раз))
Go to the top of the page
+Quote Post
alex82
сообщение 13.3.2014, 0:11
Сообщение #27


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Выложил PtokaX 0.5.0.1 mod. Список изменений выглядит внушительно, однако большинство из них было перенесено из предыдущих модов.

Обновление заняло чуть больше времени, чем планировалось. Связано это с тем, что PPK - большой любитель рефакторинга. Код версии 0.5.0.1 внешне настолько сильно отличается от предыдущей, что при попытке сравнить код двух версий WinMerge кричал, что это совершенно другая программа, после чего сразу же пытался застрелиться bad_smile.gif . Будем надеяться, что в этой версии PPK таки довел ООПность кода до совершенства, и следующие обновления будут проходить легче.


Спасибо сказали:
Go to the top of the page
+Quote Post
Tsd
сообщение 13.3.2014, 20:01
Сообщение #28


Продвинутый участник
****

Группа: Пользователи
Сообщений: 176
Регистрация: 11.7.2008
Пользователь №: 171
Спасибо сказали: 182 раза




Тестирую новый мод. (Win7- 86-GUI). Всё работает, но. При попытке изменения масштаба окна GUI ловлю крэш PtokaX.
Вылезает такое окно
Лог PtokaX
Go to the top of the page
+Quote Post
Karumo
сообщение 14.3.2014, 10:42
Сообщение #29


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 24.11.2008
Из: Москва
Пользователь №: 1 186
Спасибо сказали: 5 раз




Уже наметил один глюк в GUI x86: в некоторых окнах настроек не умещаются нижние строки параметров, а размер окошка увеличить нельзя.
Например:
"Основные настройки-Больше настроек"
"Дополнительно" - самый нижний параметр "Приветствие"

Проверю на версии x64, если там все нормально то отпишу.

UPDATE Нашел еще одну проблему при компиляции на дебиане 7.0 x32... в результате не компилиться.
Раскрывающийся текст
Код
In file included from /root/ptokax.5mod/core/stdinc.h:85:0,
                 from /root/ptokax.5mod/core/hashRegManager.cpp:21:
/root/ptokax.5mod/core/pxstring.h:42:2: note: string::string(const int64_t&)
/root/ptokax.5mod/core/pxstring.h:41:2: note: string::string(const uint64_t&)
/root/ptokax.5mod/core/pxstring.h:40:2: note: string::string(const int32_t&)
/root/ptokax.5mod/core/pxstring.h:39:2: note: string::string(const uint32_t&)
/root/ptokax.5mod/core/pxstring.h:38:2: note: string::string(const string&)
/root/ptokax.5mod/core/pxstring.h:36:2: note: string::string(const char*) <near match>
/root/ptokax.5mod/core/pxstring.h:36:2: note:   no known conversion for argument 1 from 'time_t {aka long int}' to 'const char*'
/root/ptokax.5mod/core/hashRegManager.cpp:721:69: error: call of overloaded 'string(time_t&)' is ambiguous
/root/ptokax.5mod/core/hashRegManager.cpp:721:69: note: candidates are:
In file included from /root/ptokax.5mod/core/stdinc.h:85:0,
                 from /root/ptokax.5mod/core/hashRegManager.cpp:21:
/root/ptokax.5mod/core/pxstring.h:42:2: note: string::string(const int64_t&)
/root/ptokax.5mod/core/pxstring.h:41:2: note: string::string(const uint64_t&)
/root/ptokax.5mod/core/pxstring.h:40:2: note: string::string(const int32_t&)
/root/ptokax.5mod/core/pxstring.h:39:2: note: string::string(const uint32_t&)
/root/ptokax.5mod/core/pxstring.h:38:2: note: string::string(const string&)
/root/ptokax.5mod/core/pxstring.h:36:2: note: string::string(const char*) <near match>
/root/ptokax.5mod/core/pxstring.h:36:2: note:   no known conversion for argument 1 from 'time_t {aka long int}' to 'const char*'
make: *** [/root/ptokax.5mod/obj/hashRegManager.o] Error 1
Причина редактирования: оверквотинг удалён
Go to the top of the page
+Quote Post
alex82
сообщение 14.3.2014, 20:23
Сообщение #30


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Karumo,
По поводу первого. Настройки совсем не влазят? Скриншот можно?

А насчет второго - линупс не перестает меня удивлять. Компилятор нового дебиана настолько отличается умом и сообразительностью, что не знает, что long int это int32_t (для которого есть соответствующая функция в pxstring.cpp), и пытается преобразовывать его в char beat_brick.gif . Даже не знаю, что тут посоветовать.

Кстати, mod4 собирался под этой же осью? Если да, то я тем более ничего не понимаю - код, на который ругается компилятор, переехал из mod4 без каких-либо изменений.
Go to the top of the page
+Quote Post
Tsd
сообщение 15.3.2014, 11:43
Сообщение #31


Продвинутый участник
****

Группа: Пользователи
Сообщений: 176
Регистрация: 11.7.2008
Пользователь №: 171
Спасибо сказали: 182 раза




To alex82
Вопросы по scripting-interface:
1. Не нашел функцию RegMan.SetCustom(sNick, sString) (забыл дописать?)
2. Не нашел как использовать iRegDate, iLastEnter (согласно добавлению в этом моде)

В GUI при регистрации/изменения параметров зарегистрированного пользователя неплохо бы прикрутить кнопку редактирования доп. информации о пользователе (согласно RegMan.SetCustom(sNick, sString)). Например: если поле пустое (не заполнено), то в RegisteredUsers.xml оно будет отсутствовать.
Go to the top of the page
+Quote Post
alex82
сообщение 15.3.2014, 12:14
Сообщение #32


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Tsd,
1. Ага. Исправлю когда буду пересобирать архивы.
2. Вызвать RegMan.GetReg, и в таблице, которую вернет функция, будут эти два поля. Их значения устанавливаются хабом, и менять их из Lua нельзя.

Цитата
Например: если поле пустое (не заполнено), то в RegisteredUsers.xml оно будет отсутствовать.
Оно так и работает - если вызвать RegMan.SetCustom c пустой строкой, параметр удалится из RegisteredUsers.xml


Спасибо сказали:
Go to the top of the page
+Quote Post
Tsd
сообщение 15.3.2014, 12:32
Сообщение #33


Продвинутый участник
****

Группа: Пользователи
Сообщений: 176
Регистрация: 11.7.2008
Пользователь №: 171
Спасибо сказали: 182 раза




Так?
RegMan.SetCustom(sNick, sString)
Go to the top of the page
+Quote Post
alex82
сообщение 15.3.2014, 12:40
Сообщение #34


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Ну а как же еще? 2 аргумента всего, трудно ошибиться. Если вызвать так:
Код
RegMan.SetCustom("testuser", "Проверяем дополнительное текстовое поле")
то поле установится. Если так -
Код
RegMan.SetCustom("testuser", "")
то удалится


Спасибо сказали:
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 15.3.2014, 13:50
Сообщение #35


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




на debian 6 тоже самое, может на ubuntu 10.10 попробовать?))
Причина редактирования: оверквотинг удалён
Go to the top of the page
+Quote Post
Karumo
сообщение 15.3.2014, 19:09
Сообщение #36


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 24.11.2008
Из: Москва
Пользователь №: 1 186
Спасибо сказали: 5 раз




Цитата(alex82 @ 14.3.2014, 20:23) *
Karumo,
По поводу первого. Настройки совсем не влазят? Скриншот можно?

А насчет второго - линупс не перестает меня удивлять. Компилятор нового дебиана настолько отличается умом и сообразительностью, что не знает, что long int это int32_t (для которого есть соответствующая функция в pxstring.cpp), и пытается преобразовывать его в char beat_brick.gif . Даже не знаю, что тут посоветовать.

Кстати, mod4 собирался под этой же осью? Если да, то я тем более ничего не понимаю - код, на который ругается компилятор, переехал из mod4 без каких-либо изменений.

Вот скрины про глюки, о которые я писал:
Скриншоты



Мод4 я как-то не успел опробовать на линуксе... в понедельник попробую собрать новый мод на debian 6 x64... может прокатит...
P.S. Инструкции в readme-ru.txt выполнял, все пакеты скомпелились, но как доходит до make птохи: уже писал что пишет. До этого, месяц назад ставил mod3 вообще без проблем скомпелился...
Go to the top of the page
+Quote Post
alex82
сообщение 16.3.2014, 7:30
Сообщение #37


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Выоложил mod2. Список изменений в первом посте.


Спасибо сказали:
Go to the top of the page
+Quote Post
Karumo
сообщение 16.3.2014, 13:51
Сообщение #38


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 24.11.2008
Из: Москва
Пользователь №: 1 186
Спасибо сказали: 5 раз




Цитата(alex82 @ 16.3.2014, 7:30) *
Выоложил mod2. Список изменений в первом посте.


Благодарю! В винде все теперь нормально с окошками и под дебиан нормально компилится.
Будем тестить дальше.
Go to the top of the page
+Quote Post
alex82
сообщение 18.3.2014, 14:46
Сообщение #39


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Снова вылезли глюки с локалями. Если на сервере по умолчанию стоит локаль UTF-8, а затем с помощью скрипта переключить ее на однобайтовую (например ru_RU.CP1251), hashRegManager перестанет видеть зарегистрированных юзеров с кириллическими никами. Чтобы этого избежать, нужно переключать локаль не скриптом lua, а тем скриптом, что отвечает за запуск хаба (control_script в дистрибутиве или файл /etc/init.d/ptokax, когда хаб уже установлен на сервер). Для этого нужно добавить в скрипт следующее:
Код
LANG=ru_RU.CP1251

а затем удалить нафиг скрипт locale.lua, и перезапустить хаб.

Для Windows все вышесказанное неактуально, поскольку там приложения при запуске всегда получают локаль "C".

Перезалил архив с исходниками, предварительно поправив control_script и удалив locale.lua.


Спасибо сказали:
Go to the top of the page
+Quote Post
alex82
сообщение 19.3.2014, 5:30
Сообщение #40


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Вылез еще один косяк. Теперь, когда исходники нормально компилятся под Debian, они перестали компилиться под Ubuntu laughing.gif .

Компилятор ругается на функцию string::string(const long int & i32Number), которая была добавлена по той причине, что Debian не знает, что long int это int32_t и пытается преобразовать его в char *. Ubuntu же знает как правильно преобразовать типы, и ему не нравится, что в коде присутствует как string::string(const int64_t & i64Number) так и string::string(const long int & i32Number):
Код
/root/ptokax51/core/pxstring.h:44:2: ошибка: <string::string(const int64_t&)> cannot be overloaded with <string::string(const long int
&)>

Вопрос к знатокам: как правильно разрулить данную ситуацию? Можно ли при сборке исходников определить, под каким именно дистрибутивом оно собирается? Чтобы потом сделать что-то типа #ifdef DEBIAN #endif.

И еще один косяк. Установка локали, описанная в предыдущем посте, не работает в Ubuntu 12 - вне зависимости от значения переменной LANG, присваиваемого в скрипте запуска, PtokaX запускается с локалью по умолчанию (в моем случае это ru_UA.UTF-8). Единственное решение, которое я вижу - установить локаль непосредственно из PtokaX. Для этого открываем файл core/ServerManager.cpp и заменяем
Код
setlocale(LC_ALL, "");
на
Код
setlocale(LC_ALL, "ru_RU.CP1251");

P. S. Все эти пляски с бубном уже начинают сказочно доставлять, и скоро, по видимому, я начну отпускать сальные шутки про rm -rf /* и последующую установку туда шindoшs.
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 19.3.2014, 10:43
Сообщение #41


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




debian 7 64 bits
Код
~/ptokax# make
mkdir -p /root/ptokax/obj
g++ -Wall -Wno-unknown-pragmas -Wno-format -O2 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -pipe -fstack-protector -Itinyxml -I/usr/include -I/usr/include/lua5.1 -c /root/ptokax/core/colUsers.cpp -o /root/ptokax/obj/colUsers.o
In file included from /root/ptokax/core/stdinc.h:85:0,
                 from /root/ptokax/core/colUsers.cpp:21:
/root/ptokax/core/pxstring.h:44:2: error: 'string::string(const int64_t&)' cannot be overloaded
/root/ptokax/core/pxstring.h:42:2: error: with 'string::string(const long int&)'
make: *** [/root/ptokax/obj/colUsers.o] Ошибка 1

electric_shock.gif
Go to the top of the page
+Quote Post

6 страниц V  < 1 2 3 4 > » 
Ответить в данную темуНачать новую тему
11 чел. читают эту тему (гостей: 11, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Перехват выполнения бана(ов) PtokaX
Возможно ли?
0 MIKHAIL 1 198 1.8.2022, 10:31 Посл. сообщение: MIKHAIL
No new Topic has attachmentsУстановка хаба PtokaX 0.5.2.2 на роутер под прошивкой LEDE 2017
DC++ сервер в роутере
15 мамин_парень 18 159 29.1.2021, 8:02 Посл. сообщение: мамин_парень
No new Topic has attachmentsPtokaX 0.5.2.1 Mod
Модификация PtokaX от alex82
17 alex82 22 176 22.8.2019, 12:27 Посл. сообщение: SergSat
No New Posts Ptokax 0.5.0.2
Crash-14.11.2014-01.11.48.log
8 Drakula 13 342 6.6.2019, 15:09 Посл. сообщение: avalon
No New Posts Topic has attachmentsПрошивка LEDE 17.01.4 для 740n v4,v5 c PtokaX 0.5.0.1
Готовая прошивка с поддержкой сервера DC++, все влезло в 4мб ))
1 мамин_парень 6 376 10.3.2018, 15:29 Посл. сообщение: мамин_парень
No New Posts Ptokax, opendchub (DC++) - Сборка пакета для OpenWRT, LEDE 2017
Пакеты хабов для прошивки роутера
0 мамин_парень 5 557 29.8.2017, 7:00 Посл. сообщение: мамин_парень
No new Topic has attachmentsАнтиреклама для PtokaX
API1, API2 | Скрипт антирекламы для чата и лички
39 Damaks 56 610 9.8.2017, 14:26 Посл. сообщение: Ksan
No new ВАЖНО: Topic has attachmentsPtokaX
Описание. Публикация новых версий
94 Svyat 186 096 11.4.2017, 23:08 Посл. сообщение: Alexey
No new Topic has attachmentsPtokaX в OpenWrt (Linux)
Ребята как собрать под эту систему?
21 мамин_парень 29 451 10.4.2017, 15:19 Посл. сообщение: мамин_парень
No New Posts Автозапуск PtokaX на Rassberry Pi?
Не могу запустить
13 Sezam 15 483 7.11.2016, 9:14 Посл. сообщение: Saymon21
No New Posts Доска обьявлений для Ptokax 0.5.0.x
3 NightmareUA 8 450 11.8.2016, 16:22 Посл. сообщение: Ksan
No New Posts FreeBSD 11.0 & PtokaX
Проблема подключения в клиенте PtokaX по имени
5 nsd7 8 925 22.4.2016, 3:47 Посл. сообщение: Saymon21
No New Posts От: PtokaX 0.5.2.1 Mod
От темы с ID: 5784
0 Alexey 4 525 21.4.2016, 18:16 Посл. сообщение: Alexey
No New Posts Перенос базы пользователей с RusHub на PtokaX
3 Angel_D 8 871 5.12.2015, 2:11 Посл. сообщение: Saymon21
No new ВАЖНО: Topic has attachmentsСборка Ptokax 0.4.1.1 В Debian & Ubuntu
Руководство по установке
248 mariner 242 127 16.5.2015, 18:39 Посл. сообщение: KT315

 



RSS Сейчас: 23.11.2024, 0:41