RCS file: /usr/src/CVS/squid_redirector/redirector,v Working file: redirector head: 1.8 branch: locks: strict access list: symbolic names: start: 1.1.1.1 gosha: 1.1.1 keyword substitution: kv total revisions: 9; selected revisions: 9 description: ---------------------------- revision 1.8 date: 2002/12/08 17:27:39; author: gosha; state: Exp; lines: +16 -25 Теперь Replacement для обозначения '$Default_Url' является также '-' ( или мо старому можно '' ) В Секции __DATA__ пример поправил. ---------------------------- revision 1.7 date: 2002/12/07 18:03:48; author: gosha; state: Exp; lines: +109 -52 Сделал проверку URL на ../ Поменял формат хранения данных теперь в массиве @Rules лежат ссылки на массивы с данными. Так работает несколько быстрее... Поменял имена конфигурационных переменных: $config_file => $Config_File $defaut_url => $Default_Url $alarm_time_out => $Delay При отработке входящих запросов проверяется только URL запоса, т.е. вместо ^(\S*) (\S*)/(\S*) (\S*) (\S*) только ^(\S+) Нормализация запроса сделана теперь только для HTTP и FTP протоколов. Если не меняли URL то отдаем таки сейчас пустую строку. ---------------------------- revision 1.6 date: 2002/12/04 17:56:56; author: gosha; state: Exp; lines: +66 -24 Расширил нормализацию URL: теперь path/././file преобразуется в path/file Поправил регекспы: избавился от /i при поиске, теперь ту же функцианальность решаем uc() - в результате скорость проверки возросла, не смотря на добавленную функциональность... Код в некоторых местах подправил на, чтоб не ругались при -w ---------------------------- revision 1.5 date: 2002/03/10 15:09:05; author: gosha; state: Exp; lines: +23 -17 Теперь правила хранятся в массиве а не в хеше, в связи с этим можно использовать шаблоны под которые попадают несколько URL, это можно использовать для задания приоритета... Т.е. если надо все .gif файлы с машины alisa менять на 333.gif , а все остальные на 444.gif, то надо написать примерно следующее: alisa.*?\.gif$ http://lalala/333.gif .*?\.gif$ http://lalala/444.gif Здесь сначало проверится /alisa.*?\.gif$/ а потом уже /.*?\.gif$/ , короче, что раньше описано то и раньше отрабатывается... Шаблоны описанные в секции __DATA__ не переписываются, т.е. они читаются только при старте и больше не изменяются. Шаблоны описанные в файле конфигурации, каждый раз при чтении конфига удаляются. Зарезервированный ранее специальный 'новый URL' `-' теперь не используется, за не нужностью. Конфиг перечитывается только если он зменился. ( Проверяется по времени модификации ) ---------------------------- revision 1.4 date: 2001/11/15 16:52:22; author: gosha; state: Exp; lines: +61 -37 Больше не падаем в кору... Делаем eval перед использованием регекспов. Ну и ускорил в пару раз, из за замены grep на foreach Добавил обработку навых URL вида : '-' - удалить URL '=' - предыдущий '-' - использовать $default_url ---------------------------- revision 1.3 date: 2001/11/13 23:42:52; author: gosha; state: Exp; lines: +6 -17 Нет динамической подгрузки конфигов... ---------------------------- revision 1.2 date: 2001/11/13 23:38:43; author: gosha; state: Exp; lines: +66 -41 Падает в кору при ^D м нескольких обработок alarma..... ---------------------------- revision 1.1 date: 2001/11/13 17:19:26; author: gosha; state: Exp; branches: 1.1.1; Initial revision ---------------------------- revision 1.1.1.1 date: 2001/11/13 17:19:26; author: gosha; state: Exp; lines: +0 -0 редиректор для squid'а =============================================================================