Страница 1 из 1

Проблемы с pcre.

Добавлено: Ср июн 23, 2004 12:31
kear
Не отрабатывает конструкция вида \test([\W]|$) Режик падает на созднии кэша. PCRE 4.5.

Добавлено: Ср июн 23, 2004 12:46
Slava
Был такой глюк в 3.0.0, исправлено в 3.1.0

Проявлялось при добавление в urls файл регулярных выражений, начинающихся с /

Если это Ваша ситуация, то:
1. Обновитесь до 3.1.0
2. Не нужно писать регулярные выражения в urls, для этого есть pcre
3. Что Вы хотите заблокировать правилом \test([\W]|$) ?

Если у Вас другая ситуация, то опишите подробнее:
версия редиректора, куда добавляли, что пишет в логи, покажите redirector.conf

Добавлено: Ср июн 23, 2004 13:44
kear
Slava писал(а):Был такой глюк в 3.0.0, исправлено в 3.1.0

Проявлялось при добавление в urls файл регулярных выражений, начинающихся с /

Если это Ваша ситуация, то:
1. Обновитесь до 3.1.0
2. Не нужно писать регулярные выражения в urls, для этого есть pcre
3. Что Вы хотите заблокировать правилом \test([\W]|$) ?

Если у Вас другая ситуация, то опишите подробнее:
версия редиректора, куда добавляли, что пишет в логи, покажите redirector.conf
1. Версия 3.1.0
2. Выражения описаны в pcre
3. Все url'ы в которых встречается слово test.

redirector.conf
error_log /usr/local/squid/rejik/redirector.err
change_log /usr/local/squid/rejik/redirector.log
make-cache /usr/local/squid/rejik/make-cache
#allow_urls /usr/local/squid/rejik/banlists/allow_urls

allow_id user

<BANNER>
ban_dir /usr/local/squid/rejik/banlists/banners
url http://10.10.1.1/banlist/1x1.gif
#log off

allow_id user2

<PORNO>
ban_dir /usr/local/squid/rejik/banlists/porno
url http://10.10.1.1/banlist/porno.html

<MP3>
ban_dir /usr/local/squid/rejik/banlists/mp3
url http://10.10.1.1/banlist/mp3.html

<OTHER>
ban_dir /usr/local/squid/rejik/banlists/other
url http://10.10.1.1/banlist/other.html

<GRP>
ban_dir /usr/local/squid/rejik/banlists/grp
url http://10.10.1.1/banlist/other.html

redirector.err

2004-06-23 13:14:39 [8271] Make-cache finished
2004-06-23 13:14:39 [8271] Load 658 rules from /usr/local/squid/rejik/banlists/banners/urls.cache
2004-06-23 13:14:39 [8271] Load 8 pattern from BANNER pcre
2004-06-23 13:14:39 [8271] Load 22296 rules from /usr/local/squid/rejik/banlists/porno/urls.cache
2004-06-23 13:14:39 [8271] ERROR: Can't compile pattern in /usr/local/squid/rejik/banlists/porno/pcre line:1 PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X

В banlists/porno/pcre прописано \porno([\W]|$)

В версии 3.0.0 все работало, обновил pcre и rejik пошли глюки.

Добавлено: Ср июн 23, 2004 13:53
Slava
Собственно pcre ругается на неправильное выражение:
2004-06-23 13:14:39 [8271] ERROR: Can't compile pattern in /usr/local/squid/rejik/banlists/porno/pcre line:1 PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X
Он не может откомпилить регулярное выражение, поскольку не поддерживает \p
В banlists/porno/pcre прописано \porno([\W]|$)
Если вы блокируете слово porno, то не нужно ставить слешь перед первой буквой.

man pcrepattern

Добавлено: Ср июн 23, 2004 14:06
kear
Спасибо, торможу чуток :)

Добавлено: Чт окт 21, 2004 17:24
Goblin Shi'k L'Grubbr
А где взять список всех метасимволов для pcre, которые можно использовать с РЕЖИКом?

Добавлено: Чт окт 21, 2004 17:25
Buzzer
почитайте любую доку по регулярным выражениям

Добавлено: Пн окт 25, 2004 18:30
Goblin Shi'k L'Grubbr
Он не может откомпилить регулярное выражение, поскольку не поддерживает \p
а \w? Почему-то у меня выражение "\..*\." -- любые символы от точки до точки -- проходит нормально, а "\.\w*\." нет.
Хотя я могу и ошибаться...

Добавлено: Чт окт 28, 2004 19:25
Goblin Shi'k L'Grubbr
Еще прикол. (Хотя может просто версия РЕЖИКА немного устарела?)
Создал для проверки секцию <MINIPORN>, в ней записал в pcre только одно правило: "porno"
Правило работает, но в лог режика пишет что porno.ru "забанила" секция <JS>...

Проверил redirector.err -- там pcre секции JS (5 штук) вообще пререстали загружаться...

???????

Версия РЕЖИКА 3.1.0 Beta. Жду релиз, потом обновлю -- проверю.

Добавлено: Вт ноя 02, 2004 18:33
Goblin Shi'k L'Grubbr
Прикол оказался липовым. Секцию я создал, скопировав ее из имеющейся, при этом название секции оказалось "за решеткой" :)
#<MINIPORN>
Естественно, она не срабатывала. А предыдущая была <JS>... Поэтому в лог записывалась она.