Closed GoogleCodeExporter closed 9 years ago
Commented by blaze@nixdev.net on 2009-12-23 23:55:05:
Огромное спасибо за баг репорт. Очень
подробное и качественное описание
проблемы.
Проблему воспроизвести удалось, очень
надеюсь что сможем решить её до выпуска
версии 1.0.5
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:06
Commented by blaze@nixdev.net on 2010-01-18 15:41:20:
Столкнулся с такой же проблемой.
FreeBSD7.2+squid-2.7.6+rejik-3.2.1+sams-1.0.5.
В ожидании sams-1.1.0 пришлось подставить
костыль:
1. Создаем скриптик
{{{
#!/usr/local/bin/bash
CONF="/usr/local/etc/squid/squid.conf"
OUT="/tmp/squid.conf"
sed -n '1,/TAG: http_access/p' $CONF > $OUT
grep _sams_ $CONF | grep http_access | awk '{FS="
";OFS="";split($NF,a,"_");print($1," ",$2," _",a[2],"_",a[3]," ",$NF)}' >> $OUT
sed -n '/##ENDOFTAG/,$p' $CONF >> $OUT
cp -p $OUT $CONF
}}}
2. Добавляем в squid.conf сроку "##ENDOFTAG" сразу
после строк
"http_access allow _sams_4831439d52dcd _sams_4831439d52dcd_time
_sams_483162ae0e07b_time"
и перед "Allowing or Denying access"
3. Добавляем запуск этого скрипта в демон
самса. Для этого в исходнике samsdaemon.c правим
строку 3003 (в моем случае скрипт лежит по
адресу /usr/local/etc/squid/reconf.sh):
{{{
sprintf(&str[0],"/usr/local/etc/squid/reconf.sh && %s/squid -f %s/squid.conf -k
reconfigure",conf.squidpath,conf.squidrootdir);
}}}
4. Собираем новый samsdaemon, кладем его вместо
оригинального.
5. На всякий случай сохраняем последнюю
редакцию squid.conf в безопасном месте и
запускаем демон самса. Теперь пробуем
сделать реконфигурацию через
вэб-интерфейс и визуально проверяем
правильность конфига.
Существуют более элегантные решения, но я
ничего другого не придумал. Такие
изменения помогают только в описанной выше
ситуации.
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:06
Commented by blaze@nixdev.net on 2010-09-06 10:45:49:
Milestone sams-1.1.0 deleted
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:06
Commented by blaze@nixdev.net on 2011-02-28 16:51:07:
Система FreeBSD7.2+squid-2.7.6+rejik-3.2.5+sams-1.1.0[[BR]]
оказалось что в версии 1.1.0 эта проблема
осталась, решил ее вот так. [[BR]]
В файле samsdaemon.c строке 988 поменял
{{{
printf("%d users found in the template %s (%s), create access
rights\n",count,row[0],row[1]);
if(count>0)
{
acount=atoi(row[14]);
if(acount>0)
{
if(RSQUID==1||RNONE==1)
{
sprintf(&outstr[0],"http_access deny _sams_%s ",row[0]);
}
== Эту строку меняем ==> if(RSAMS==1||RGUARD==1)
{
sprintf(&outstr[0],"http_access allow _sams_%s ",row[0]);
}
}
}}}
на
{{{
if(RSAMS==1||RGUARD==1||RREJIK==1)
}}}
два дня полет нормальный :)[[BR]]
Может кому пригодится.
Original comment by bl...@nixdev.net
on 5 Jun 2011 at 8:06
Close all sams-1.0.x deprecated bugs.
This bugs not fixed, but we no longer provide support for 1.0.x tree.
Original comment by bl...@nixdev.net
on 10 Jun 2011 at 10:06
Original issue reported on code.google.com by
bl...@nixdev.net
on 5 Jun 2011 at 8:06