ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Должны ли строки в ngx_str_t- >data терминироваться нуле вым байтом?



Hello!

On Sun, Nov 21, 2010 at 04:05:56PM +0300, Валентин Бартенев wrote:

> 
> > Присутствие 0 гарантируется только в некоторых специфических
> > случаях (e.g. при парсинге конфига переданные в обработчик
> > директивы аргументы всегда терминированы 0'м).  В общем случае 0'я
> > нет.
> 
> А случай значений исходящих http заголовков все-таки является специфическим 
> или нет? Я смотрел код fastcgi и wsgi модулей, там в функциях 
> *_process_header 
> явно добавляется \0 в конец. Но, как оказалось, сторонние модули могут не 
> следовать этому. Тут, либо их разработчикам надо сообщить, чтобы исправили, 
> либо учитывать самостоятельно такую вероятность.

В общем случае заголовки не обязаны быть null-terminated.  E.g. 
add_header не терминирует добавляемый заголовок 0'м.

В случае заголовков в модуле upstream (proxy, fastcgi, ...) - 
обязаны, и это используется во внутренних обработчиках в модуле.  
Е.g. ngx_http_upstream_copy_content_type() без терминурющего 0'я 
сломается.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.