-
Демо © (30.10.09 14:22) [20]
> Polevi © (30.10.09 14:20) [19]
> Я использую его модуль, проблем не было
Проблема возникла при реализации WSAAccept с LPCONDITIONPROC. -
Сергей М. © (30.10.09 14:25) [21]
> Возможно ли на этом уровне уменьшить угрозу от SYN-атак?
Нет.
Этим должен заниматься файрвол. -
Демо © (30.10.09 14:26) [22]В winsock2.pas:function WSAAccept( s : TSocket; addr : TSockAddr; addrlen : PInteger; lpfnCondition : LPCONDITIONPROC; dwCallbackData : DWORD ): TSocket; stdcall;TSockAddrIn = packed record
case Integer of
0: (sin_family : u_short;
sin_port : u_short;
sin_addr : TInAddr;
sin_zero : array[0..7] of Char);
1: (sa_family : u_short;
sa_data : array[0..13] of Char)
end;
PSockAddrIn = ^TSockAddrIn;
TSockAddr = TSockAddrIn;
PSockAddr = ^TSockAddr;
SOCKADDR = TSockAddr;
SOCKADDR_IN = TSockAddrIn;
Вот так работает:function WSAAccept(
s: TSocket;
addr:PSockAddr;
addrlen: PInteger;
lpfnCondition: LPCONDITIONPROC;
dwCallbackData: DWORD): TSocket; stdcall; external 'ws2_32.dll';
А описание структур взял из стандартного winsock.pas. -
Демо © (30.10.09 14:27) [23]Всего-то один параметр...
-
Демо © (30.10.09 14:29) [24]
> Сергей М. © (30.10.09 14:25) [21]
> > Возможно ли на этом уровне уменьшить угрозу от SYN-атак?
> Нет.Этим должен заниматься файрвол.
Понятно. Значит не буду этим заморачиваться... -
Сергей М. © (30.10.09 14:29) [25]
> Всего-то один параметр
Ну бывают маленькие неприятности, куда ж без них) -
Демо © (30.10.09 14:29) [26]
> > Всего-то один параметрНу бывают маленькие неприятности,
> куда ж без них)
Ага... а я полдня бился над WSAAccept -)) -
Демо © (30.10.09 14:30) [27]Эх, если бы знать, что это единственный недочёт...
-
Сергей М. © (30.10.09 14:36) [28]
> я полдня бился над WSAAccept
Я встроил его в TIdCustomTCPServer за час.
Лажа с параметром всплыла и была исправлена при первом же тестовом прогоне) -
Демо © (30.10.09 14:39) [29]
> Сергей М. © (30.10.09 14:36) [28]
> > я полдня бился над WSAAcceptЯ встроил его в TIdCustomTCPServer
> за час.Лажа с параметром всплыла и была исправлена при первом
> же тестовом прогоне)
А я, к сожалению, впервые использовал WSAAccept и понадеялся на портированный модуль, искал у себя ошибки. -
Сергей М. © (30.10.09 14:43) [30]Ну выскажи Коншину своё "фи", если тебе от этого полегчает)