ПРОЕКТЫ 


  АРХИВ 


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: знак '$' в директиве set $var "value"



Hello!

On Wed, Mar 24, 2010 at 12:03:01PM -0400, zuborg wrote:

> Нужно задать переменную $salt2 с таким вот значением '$1$EgMajByp$' (три 
> знака '$' внутри)
> 
> set $salt2 '$1$EgMajByp$';
> 
> Но парсер упорно считает знак '$' за начало имени переменной и никак не могу 
> найти возможности этого избежать ;(
> Искейпы через '\' не работают, разные виды кавычек не помогают...
> В сорцах парсинг зарыт слишком глубого для меня - не нашел где пропатчить ;(

Патчить - в ngx_http_script.c.  В качестве workaround'а можно 
засунуть значение в какой-нибудь map (ну или символ '$' в 
какой-нибудь map).

> Вариантов решения вижу три (для патча):
> 1 - прикрутить искейп через '\'
> 2 - сделать спец переменную $$ в которой будет храниться символ '$', тогда 
> достаточно будет продублировать $ чтоб в значении оказался этот символ
> 3 - отключить парсинг для значения, заключенного в одинарные кавычки (как в 
> перле)

1 или 2.

Кавычки обрабатываются на уровне парсинга конфига и в нужное место 
просто не доберутся, так что это совсем не вариант.

Но вообще там в этом месте много чего хорошо бы переделать.

Maxim Dounin

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


 




Copyright © Lexa Software, 1996-2009.