отображать http страницу блокировки из LSP с хромом - PullRequest
0 голосов
/ 20 мая 2011

Я изменил пример Microsoft LSP (Winsosk Layered Service Provider), чтобы сделать приложение веб-фильтра для настольных компьютеров.Я могу заблокировать доступ к сайтам, сравнив хост в заголовке http со списком запрещенных сайтов в файле.Если сеть заблокирована, LSP заполнит буфер HTML-страницей, показывая, что эта страница заблокирована.Я протестировал на Firefox 4, Opera 11 и IE 6, и отображается страница блока.Однако такая страница не отображается в Chrome 11 (последняя версия).

Мне было интересно, обрабатывает ли Chrome LSP иначе.

Это буфер, который я передаю в функцию LSP WSPRecv.

    string strBufferHdr;
    char len[10];
    _itoa_s (strBufferHTML.size(), len, 10);

    strBufferHdr += "HTTP/1.1 200 OK\r\n";
    strBufferHdr += "content-type: text/html; charset=UTF-8\r\n";
    strBufferHdr += "connection: close\r\n";
    strBufferHdr += "content-length: ";
    strBufferHdr += len;
    strBufferHdr += "\r\n\r\n";
    strBufferHdr += strBufferHTML;
    strBufferHdr += "\n\n\n";

strBufferHTML - это содержимое html-страницы.

Спасибо.

1 Ответ

0 голосов
/ 18 июля 2011

Chrome использует перекрывающийся ввод-вывод, поэтому вам нужно поместить свой код, где WSPRecv вызывается в overlap.cpp в дополнение к spi.cpp. (Имена файлов из примера nonifslsp SDK.)

...