Re[2]: TDI Firewall отложенная обработка TDI_EVENT_CONNECT
От: ratix Киргизия  
Дата: 30.03.12 22:07
Оценка:
Здравствуйте, okman, Вы писали:

O>Подскажу один из вариантов — посмотрите на последний аргумент ClientEventConnect.

O>Для этого IRP можно установить completion routine, и в ней отложить завершение,
O>отправив сигнал в user-mode. Получив ответ, завершение IRP возобновляется с
O>подходящим кодом, разрешая или запрещая прием соединения (TDI_ACCEPT).

в целом — это вроде бы работает, но есть недочет: Если в completion routine принимается решение о блокировке соединения, то соединение разрывается. А хотелось бы чтобы эффект был такой, как будто соединение и не устанавливалось вовсе. Т.е. в текущей реализации, если я телнетом лезу на машину на которой работает фильтр, и соединение блокируется — telnet говорит "Connection lost", а хотелось бы чтобы он говорил, что Connection failed или timed out..

я так понимаю, всетаки предложенный вариант решения проблемы слишком поздно принимает решение о блокировке (когда TCP сессия уже завязана). Есть ли еще какие способы решения проблемы?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.