Иконка ресурса

[CS:S v34] ProtectCMDS 1.0.10

gladiatorteam

Участник
Сообщения
21
Реакции
18
Hi,

Clientmod increased the size of packet voice and it's a big problem for servers that use protectcmds

🚫Errore Message : [ProtectCMDS] buffer overflow in net message


PS : there is no such problem for cs:source old version
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
Hi,

Clientmod increased the size of packet voice and it's a big problem for servers that use protectcmds

🚫Errore Message : [ProtectCMDS] buffer overflow in net message


PS : there is no such problem for cs:source old version
Вчера узнал об этом, в новой версии 1.0.6 - такой проблемы уже нет
 

Reg1oxeN

Участник
Сообщения
399
Реакции
314
@WeSTMan, очень плохая идея в ProcessVoiceDataClass::ProcessVoiceData и остальных подобных функциях возвращать false, поскольку это отбрасывает всю оставшуюся очередь пакетов, где так же могут содержаться полезные нагрузки вроде CreateMove и тд.
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
@WeSTMan, очень плохая идея в ProcessVoiceDataClass::ProcessVoiceData и остальных подобных функциях возвращать false, поскольку это отбрасывает всю оставшуюся очередь пакетов, где так же могут содержаться полезные нагрузки вроде CreateMove и тд.
Спасибо, посмотрю попозже. У вас есть альтернативный способ решения проблемы с буфером?
 

Reg1oxeN

Участник
Сообщения
399
Реакции
314
У вас есть альтернативный способ решения проблемы с буфером?
что вообще есть проблема переполнения буфера на клиенте?
это когда клиент пытается считать данных больше, чем ему отправил сервер.
клиенту приходит пакет, в котором содержится различное множество сообщений, которые клиент читает один за другим.
если клиенту по каким-то причинам не удается прочитать одно из таких сообщений, то он отбрасывает весь пакет.

почему клиент пытается прочитать больше чем доступно?
потому что сервер изначально отправил такие данные.

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

искать решение на мой взгляд стоит в функции CNetChan::SendNetMsg
достаточно просто не писать в буфер сообщение, если для него не хватает места.

полный стек вызовов:
bool CNetChan::SendNetMsg
void SV_BroadcastVoiceData
bool CGameClient::ProcessVoiceData
 

Max Rhine

Участник
Сообщения
172
Реакции
29
Всем привет.. Заметил ещё один прикол на 1.0.4
[ProtectCMDS] buffer overflow in net message

Быдлокод)):
 RegConsoleCmd("gg", xzBlock);

public Action xzBlock(client, args)
{
   FakeClientCommand(client, "gg");
}
Сообщения автоматически склеены:

Интересно, будет фикс в будущих версиях ProtectCMDS??
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
Всем привет.. Заметил ещё один прикол на 1.0.4
[ProtectCMDS] buffer overflow in net message

Быдлокод)):
 RegConsoleCmd("gg", xzBlock);

public Action xzBlock(client, args)
{
   FakeClientCommand(client, "gg");
}
Сообщения автоматически склеены:

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

Max Rhine

Участник
Сообщения
172
Реакции
29
Видимо, что-то не то курил, перед написанием кода.. всё верно.. Попробую добавить проверку
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
WeSTMan обновил(а) ресурс [CS:S v34] ProtectCMDS новой записью:

[ProtectCMDS] 1.0.6

1. Исправление голосового чата для ClientMod пользователей (buffer overflow in net message);
2. Дополнительный фикс голосового чата, спасибо @Reg1oxeN ;
3. Исправление загрузки файлов (могло привести к крашу сервера) Спасибо @InFro ;
4. Исправление ранее заданного хешированного стима в конфиге;
5. Убран forward OnClientPreConnect. Плагин [ProtectCMDS] AntiBot не работает на версии 1.0.0 и...

Узнать больше об этом обновлении...
 

Max Rhine

Участник
Сообщения
172
Реакции
29
Добрый вечер. Баги с зависанием сервера устранены?? Кто подскажет?
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
Добрый вечер. Баги с зависанием сервера устранены?? Кто подскажет?
Добрый вечер, какой баг с зависанием? Если такая проблема имеется, то её надо устранить, у вас вдс?
 

Max Rhine

Участник
Сообщения
172
Реакции
29
На 1.0.5 была такая проблема. vds. Новую версию не ставил, поэтому спрашиваю)
 

РАМАЗАН

Участник
Сообщения
215
Реакции
14
Добрый вечер. Баги с зависанием сервера устранены?? Кто подскажет?
ты на какой версии сейчас сидишь:? если на 1.0.6 я пока у себя тестю, пока не могу сказать..
На 1.0.5 была такая проблема. vds. Новую версию не ставил, поэтому спрашиваю)
нет там такого нет!) ну ты 1.0.6 поставь) посмотрим как будет работать) но я сейчас у себя тестю , не могу точно сказать.
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
Сейчас 1.0.4 Она работает без проблем. С 1.0.5 были проблемы через 15-20 часов, после рестарта(возможно меньше). Человек не мог присоединиться к команде.
Версия 1.0.4 является устаревшей, в ней есть уязвимости, которые могут привести к крашу сервера, недоработка, которая связана с ClientMod , утечка памяти и ещё по мелочи, рекомендую 1.0.6, а лучше получить от меня 1.0.7 experimental, где устранена утечка, новые фиксы и автообновление
 

РАМАЗАН

Участник
Сообщения
215
Реакции
14
Версия 1.0.4 является устаревшей, в ней есть уязвимости, которые могут привести к крашу сервера, недоработка, которая связана с ClientMod , утечка памяти и ещё по мелочи, рекомендую 1.0.6, а лучше получить от меня 1.0.7 experimental, где устранена утечка, новые фиксы и автообновление
а как же 1.6.0.1??
 

Слава156

Участник
Сообщения
44
Реакции
11
Версия 1.0.4 является устаревшей, в ней есть уязвимости, которые могут привести к крашу сервера, недоработка, которая связана с ClientMod , утечка памяти и ещё по мелочи, рекомендую 1.0.6, а лучше получить от меня 1.0.7 experimental, где устранена утечка, новые фиксы и автообновление
В 1.0.6 тоже утечка?
 
Сверху Снизу