информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяВсе любят медАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Линуксовый ботнет, распространяющийся... 
 Конец поддержки Internet Explorer 
 Рекордное число уязвимостей в 2021 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Несколько вопросов по Layered Service Provider 01.10.06 17:28  Число просмотров: 2080
Автор: makeworld Статус: Member
<"чистая" ссылка>
Кто работал с LSP, подскажите..

1. Принцип работы заключается в том, что при получении/отправки пакета, callback-ом вызываются WSPRecv/WSPSend ? Если так, в буфере весь пакет или только данные (payload)? Или вызов этих функций привязан к какому-то внутреннему буферу, накапливающему данные, к которому периодически предоставляется доступ через эти функции?

2. LSP работает в режиме пользователя? При разработке можно использовать функции WinAPI, CryptoAPI?

3. Есть ли какой-нибудь таймаут при обработке данных в WSPRecv/WSPSend? Например, при ожидании семафора или выполнения трудоемкой операции, через какой-нибудь фиксированный промежуток времени пакет отправляется/сбрасывается? Или можно сколько угодно пакет "удерживать"?

4. При изменении пакета нужно самому пересчитывать контрольные суммы? Или все автоматом пересчитывается? Как увеличить размер полезной нагрузки пакета? Вот например функция WSPSend:

int WSPAPI
WSPSend(
        SOCKET          s,
        LPWSABUF        lpBuffers,
        DWORD           dwBufferCount,
        LPDWORD         lpNumberOfBytesSent,
        DWORD           dwFlags,
        LPWSAOVERLAPPED lpOverlapped,
        LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
        LPWSATHREADID   lpThreadId,
        LPINT           lpErrno
       )

---

Как я понимаю пакет находится в буфере на который указывает lpBuffers. Если я хочу переписать буффер мне нужно писать по этому указателю? При превышении dwBufferCount это должно по идее вызвать переполнение. Или это по другому делается?
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach